Aujourd'hui, j'ai mis à jour GlusterFS sur les serveurs et les clients. Malgré que cette techno soit génial, on ne peut pas mettre à jour GlusterFS n'importe comment: il faut impérativement que les clients et les serveurs aient exactement la même version, même mineure ! Sinon, on obtient cette erreur, et le client ne se connecte pas :

SETVOLUME on remote-host failed: Version mismatch: client(2.0.0rc7) Vs server (2.0.0rc4)

Voici donc la procédure pour mettre à jour GlusterFS dans une architecture de type AFR client side, et en partant du principe que vous avez 2 serveurs.

1/ mettre à jour glusterfs sur le 1er serveur. Au restart, les clients ne pourront plus se connecter sur ce serveur. Vérifier dans les logs qu'il a bien démarré et qu'il n'y a pas eut de changement dans les paramètres.

2/ mettre à jour les clients, en arrêtant au préalable les services utilisant les montages glusterfs: il faut démonter puis remonter chaque partition pour avoir la dernière version du client. Les clients changent de serveurs au passage et se connecte au 1er serveur, qui a la même version.

3/ mettre à jour le 2ème serveur. Les clients vont automatiquement se connecter dessus.

4/ resynchroniser les données. Normalement la version 2.0 gère bien la synchro des données grâce à sa feature "self-healing". Dans le doute, on peut forcer, en faisant depuis un client connecté aux 2 nodes:

nice -20 find /glusterfs >/dev/null

That's all folks !