[Gluster-users] Upgrading from 3.5.3

Christian Affolter c.affolter at stepping-stone.ch
Mon Mar 20 15:42:08 UTC 2017


Dear Matt,

we went the same route a couple of weeks ago and managed to upgrade a 
legacy 3.5 installation to 3.8 on Gentoo Linux. Most of the upgrade 
steps were pretty straight forward, a few needed some special attention 
(such as op-code and volume parameter adaptions).

Foremost, we did the upgrade in offline mode, which means that there was 
no GlusterFS client running during the upgrade - I would definitely 
recommend you to do the same.

We basically performed the following steps:

Stopped all GlusterFS clients (those were QEMU/KVM VMs with FUSE and 
gfapi storage backends, some Linux GlusterFS FUSE clients and Windows 
NFS clients in our case).

Saved the existing GlusterFS quotas with the help of the 
pre-upgrade-script for quota:
https://github.com/gluster/glusterfs/blob/master/extras/pre-upgrade-script-for-quota.sh

Stopped all GlusterFS daemon on all involved nodes.

Created LVM snapshots of all existing bricks

Upgraded the GlusterFS software to 3.8

Run post-upgrade steps to adjust the vol-files:
glusterd --xlator-option *.upgrade=on -N
According to: https://bugzilla.redhat.com/show_bug.cgi?id=1191176

Started the GlusterFS daemon on all nodes

Checked the status of the cluster with the usual commands
gluster peer status
gluster volume list
gluster volume status
gluster volume info
gluster volume heal "<VOL-NAME>" info
gluster volume heal "<VOL-NAME>" info split-brain
tail -f /var/log/glusterfs/*.log /var/log/glusterfs/bricks/*.log


Updated the op-version:
gluster volume set all cluster.op-version 30800
gluster volume get "<VOL-NAME>" op-version


We then took the chance to add an arbiter node (switching to a "replica 
3 arbiter 1" configuration).

Adapted the volume configuration to the new quorum and virtualisation 
options (for the KVM/QEMU GlusterFS backend volumes) according to 
https://access.redhat.com/documentation/en-US/Red_Hat_Storage/3.1/html/Configuring_Red_Hat_Enterprise_Virtualization_with_Red_Hat_Gluster_Storage/chap-Hosting_Virtual_Machine_Images_on_Red_Hat_Storage_volumes.html

note, that we intentionally didn't activate sharding, as it wasn't 
regarded stable at the time we started to plan and test the upgrade 
path. This shouldn't be the case anymore, but I don't know how the 
upgrade path looks like.


Restored the quota value with the help of the post-upgrade script for quota:
https://github.com/gluster/glusterfs/blob/master/extras/post-upgrade-script-for-quota.sh


And finally upgraded all clients to 3.8 and re-enabled all services.


Important: Make sure to test the upgrade on a test environment which is 
as close as possible to your live environment in order to avoid risks 
and unpleasant surprises. As usual, make sure to have backups available 
and be prepared to use them.

Also check the upgrade guides available at:
https://gluster.readthedocs.io/en/latest/Upgrade-Guide/README/


Cheers and good luck with the upgrade
Chris


On 20.03.2017 15:27, Matthew Kettlewell wrote:
> Hello -
>
> We have several
> ​G​
> luster clusters, with both clients and servers running 3.5.3.
>
> Each cluster can have several hundred clients
> ​​
> ( so client updates will be particularly difficult )
>
> We are looking at potential upgrade paths
> ​ ​
> that would minimize our impact,
> ​ ​
> and give us some of the benefits of more recent versions
> ( most notably we've seen self-heal issues when re-adding nodes )
>
> Is the 3.5.3 client backwards compatible with future versions, and
> ​ ​
> if so
> ​ ​
> how far ahead?
> ( ie, will the 3.5.3 client work with 3.7.x server?
> ​ ​
> 3.8? 3.9 ?)
>
> Are there any best practices guides out there or
> recommendations/suggestions for
> ​ ​
> upgrading from 3.5.3 to a more recent version?
>
>
> ​Any guidance on this matter would be greatly appreciated.
>
> Matt


More information about the Gluster-users mailing list