レプリケート(= 6)モードで6台のサーバー(node01-node06)を使用してglusterfs(6.1)クラスターを作成しましたが、障害が発生したサーバー(node01、このvmはリセット/再構築されましたが、ホスト名/ IPを保持したい)を回復できません。チュートリアル( https://support.rackspace.com/how-to/recover-from-a-failed-server-in-a-glusterfs-array/ ):
実行中のサーバーからUUIDを取得し(glusterピアステータス)、「/ var/lib/glusterd/glusterd.info」ファイル(node01)を更新することで、node01をクラスターに戻すことができます。
次に、node01ディレクトリの拡張属性(trusted.glusterfs.volume-id)を更新し、glusterサービスを再起動しました。
Sudo setfattr -n Trusted.glusterfs.volume-id -vhash/ data/brick1/vol
Sudo systemctl restart glusterd
須藤グルスターボリュームヒールボリュームフル
須藤グルスターボリュームヒールボリューム情報
須藤グルスターのボリュームステータス
Brick node01:/data/brick1/volr N/A N/A N N/A
Brick node02:/data/brick1/volr 49152 0 Y 5734
Brick node03:/data/brick1/volr 49152 0 Y 5733
Brick node04:/data/brick1/volr 49152 0 Y 5691
Brick node05:/data/brick1/volr 49152 0 Y 5721
Brick node06:/data/brick1/volr 49152 0 Y 5723
須藤グルスターボリュームヒールボリュームフル
Launching heal operation to perform full self heal on volume volr has been successful
Use heal info commands to check status.
須藤グルスターボリュームヒールボリューム情報
Brick node01:/data/brick1/volr
Status: Transport endpoint is not connected
Number of entries: -
Brick node02:/data/brick1/volr
Status: Connected
Number of entries: 0
Brick node03:/data/brick1/volr
Status: Connected
Number of entries: 0
Brick node04:/data/brick1/volr
Status: Connected
Number of entries: 0
Brick node05:/data/brick1/volr
Status: Connected
Number of entries: 0
Brick node06:/data/brick1/volr
Status: Connected
Number of entries: 0
どんな助けでも大歓迎です。
まったく同じ症状であなたの問題を再現することができました。
再インストールされたノードnode01
を正しくピアリングしましたが、ブリックの交換手順は十分に文書化されていません。
公式ドキュメント には、障害のあるブリックを別の名前の新しいブリックに交換するための奇妙な指示がいくつかあります。不必要に複雑なので、同じブリック名を使いたいと思います。
交換用ブリックに必要なメタデータがnode1:/data/brick1/volr/.glusterfs
に格納されていなかったため、ブリックを実行できませんでした。
これが私がレンガを交換するためにしたことです:
仮定して:
node01
は、すでにピアリングされている再構築されたサーバーです。vol
というボリュームがあり、node01:/data/brick1/volr
です以下をせよ:
node01
で、GlusterFSをシャットダウンします。
Sudo killall -9 glusterd glusterfsd glusterfs
レンガを取り除き、きれいな状態にします。
Sudo rm -rfv /data/brick1/volr
ブリックフォルダを再度作成します。
Sudo mkdir -pv /data/brick1/volr
再起動glusterd.service
:
Sudo systemctl restart glusterd.service
れんがをリセットします。
Sudo gluster volume reset-brick vol node01:/data/brick1/volr node01:/data/brick1/volr commit
修復プロセスがまだ開始されていない場合は、開始します。
Sudo gluster volume heal vol full