2 - 2.30 hours.
0) Bring app servers down.
—MAINT—
1) Stop God and Apache on both app servers.
2) Stop BBB.
3) Backup shared directory on DB Slave.
4) Upgrade GlusterFS Server on DB Slave (steps below, after this section)
5) Upgrade GlusterFS Client on App server 2.
6) Test GlusterFS connectivity - app server 2 to DB Slave.
mkdir /tmp/a mount.glusterfs 10.166.152.13:/site_logos /tmp/a
* At this point, we have covered any potentially unknown issues *
7) Upgrade GlusterFS Client on App Server 1.
8) Upgrade GlusterFS Server on BBB and start BBB.
9) Mount all endpoints.
10) Test.
11) Bring the site up (incl. starting god and apache).
GlusterFS 3.5 is not compatible with current version in production i.e. 3.2.4.
mount # make a note of filesystems umount x
stop glusterd # nfs processes etc. sudo kill `pgrep gluster` sudo portmap stop
add-apt-repository ppa:semiosis/ubuntu-glusterfs-3.5
apt-get install gluster-server gluster-client
mkdir -p /var/lib/glusterd cp -r /etc/glusterd/* /var/lib/glusterd/
killall glusterd glusterd --xlator-option *.upgrade=on -N start glusterd
cd /etc/yum.repos.d/ wget http://download.gluster.org/pub/gluster/glusterfs/3.5/LATEST/CentOS/glusterfs-epel.repo.el5 mv glusterfs-epel.repo.el5 glusterfs-epel.repo yum install glusterfs-client
mkdir /opt/src/glusterfs cd /opt/src/glusterfs wget http://download.gluster.org/pub/gluster/glusterfs/3.5/LATEST/glusterfs-3.5.0.tar.gz tar zxvf glusterfs-3.5.0.tar.gz cd glusterfs-3.5.0 ./autogen.sh #might prompt to install dependencies make and make install
- Set attr for each brick
vol=<VOLNAME> brick=<BRICK_PHSYICAL_PATH> # ex: /usr/share/red5/streams setfattr -n trusted.glusterfs.volume-id \ -v 0x$(grep volume-id /var/lib/glusterd/vols/$vol/info \ | cut -d= -f2 | sed 's/-//g') $brick
gluster volume status
Identifying an exact point where it stops can help.
Append –debug to a mount command.
Example:
mount.glusterfs 10.166.152.13:/styles /mnt/styles
gluster peer status
If it reports “Peer Rejected (Connected)”, execute on the GLUSTER SERVER
gluster peer detach <IPADDRESS_OF_CLIENT>
and then
gluster peer probe <IPADDRESS_OF_CLIENT>
If it still freezes, continue with the removal of metadata.
[2014-02-11 21:49:07.293875] D [glusterd-store.c:2109:glusterd_store_peer_write] 0-: Returning with 0 [2014-02-11 21:49:07.293921] D [glusterd-store.c:2137:glusterd_store_perform_peer_store] 0-: Returning 0 [2014-02-11 21:49:07.293952] D [glusterd-store.c:2158:glusterd_store_peerinfo] 0-: Returning with 0 [2014-02-11 21:49:07.294334] I [glusterd-rpc-ops.c:715:glusterd3_1_friend_update_cbk] 0-glusterd: Received ACC from uuid:
Fix: The directory will be recreated with the next successful sync. Take a backup, if needed in between.
rm /etc/glusterd -rf
ls /mounted/dir #replace with the actual path
Fix: Note mounted directories via gluster
mount #keep a record of the mounted directories #umount them, one by one umount <directory noted earlier>
sudo kill `pgrep gluster` sudo portmap restart sudo glusterd mount -a
Test:
ls /mounted/dir #replace with the actual path
Notes: