GlusterFS 3.2.x から 3.3.x へのアップグレード方法

諸事情によりGlusterFS 3.2.x から 3.3.x へのアップグレード方法(英語)を実行することになったので日本語訳を作った。以下の段落は全て元 blog 記事の日本語訳です。日本語としてなるべく自然になるように意訳多めです。括弧()の中の内容は全て訳注です。

1) 3.3.0 以前のバージョンとは互換性がないのでアップグレードする場合にはダウンタイムを覚悟してください。(下のコメント欄にローリングアップグレードも多分できる、サーバー・クライアント間プロトコル後方互換性にはものすごく気を遣って開発している、と書かれている。)
2) glusterd, glusterfs, glusterfsd のプロセスを全てのサーバー・クライアントマシンで止めて下さい。
3) glusterd のワーキングディレクトリのバックアップを取って下さい。ワーキングディレクトリの場所は普通 /etc/glusterd にあります。
4) GlusterFS 3.3.0 を全てのサーバーとクライアントにインストールしてください。3.3.0 ではデフォルトワーキングディレクトリが /var/lib/glusterd に変更されています。(下のコメント欄に質問があるが、「glusterdが生成するユーザーが書き換えてはいけないファイル」が /etc/glusterd にあったのでそれを /var/lib/glusterd に移動し、ユーザーが設定するファイルは従来通り /etc の下に置いているとのこと。)RPMもしくはソースからインストールした場合には /etc/glusterd の全ての中身は(自動的に) /var/lib/glusterd に移動します。すべてのサーバー上で 3) で作ったバックアップと(/var/lib/glusterdの)ディレクトリ構造が同じになっているかどうか確認してください。アップグレード中に追加でファイルが作られるのでファイル数は増えているはずですが、3) で取ったバックアップに存在しているファイルは全て /var/lib/glusterd にもあるはずなので、それを確認してください。
5) RPM でインストールした場合にはこの項目をスキップして 6) へ進んで下さい。RPMを使わなかった場合には、glusterd をアップグレードモードで立ち上げてください。(立ち上げると)必要な処理を行ったのちに glusterd は終了します。このあと glusterd を再度立ち上げて下さい。(コマンドで言うと)要するに
a) kill glusterd
b) glusterd --xlator-option *.upgrade=on -N
とすればよいわけです。この作業では、ボリュームファイルを作り直して"index" トランスレーターを設定します。このトランスレーターは 3.3.0 の予防的セルフヒールのような新しい機能の動作のために必要です。
c) glusterd を立ち上げて下さい

この a), b), c) の作業は全てのサーバー上で行う必要があります。

6) ここまででサーバー上の gluster サービスが全て稼働状態に戻りました。GlusterFS 3.3.0 のネイティブクライアントでボリュームをマウントしてください。

さあ、新しいバージョン 3.3.0 を試して、Freenode の #gluster や bugzilla, c.g.o (訳注:c.g.o ってなんでしょう?) に報告しよう!

この手順では全ての状況には対応できないかもしれないと思っています。だから、もし何か不足している点を見つけたら是非コメントしてほしいです。できるだけコメントを反映して書き換えたいと思います。