Upgrading to GlusterFS 3.3.0
Now that GlusterFS 3.3.0 is out, here is a quick primer on upgrading from earlier installed versions of GlusterFS. This howto covers upgrades from 3.1.x and 3.2.x versions of GlusterFS.
1) GlusterFS 3.3.0 is not compatible with any earlier released versions. Please make sure that you schedule a downtime before you upgrade.
2) Stop all glusterd, glusterfs and glusterfsd processes running in all your servers and clients.
3) Take a backup of glusterd’s working directory on all servers – usually glusterd’s working directory is /etc/glusterd.
4) Install GlusterFS 3.3.0 on all your servers and clients. With 3.3.0, the default working directory has been changed to /var/lib/glusterd. RPM and source installations move all content under /etc/glusterd to /var/lib/glusterd. On all servers, ensure that the directory structure remains consistent with the backup obtained in 3). New files are created as part of the upgrade process and hence you may see some additional files. However, ensure all files backed up in 3) are present in /var/lib/glusterd.
5) If you have installed from RPM, goto 6). Else, start glusterd in upgrade mode. glusterd terminates after it performs the necessary steps for upgrade. Re-start glusterd normally after this termination. Essentially this process boils down to:
a) killall glusterd
b) glusterd --xlator-option *.upgrade=on -N
This will re-generate volume files with the new ‘index’ translator which is needed for features like pro-active self heal in 3.3.0.
c) Start glusterd
Ensure that you repeat a), b) and c) on all servers.
6) All your gluster services on the servers should be back online now. Mount your native clients with GlusterFS 3.3.0 to access your volumes.
Please note that this may not work for all installations & upgrades. If you notice anything amiss and would like to see it covered here, please leave a comment and I will try to incorporate your findings.