web-dev-qa-db-ja.com

失敗したglusterノードを回復できません

レプリケート(= 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

どんな助けでも大歓迎です。

1
BrianX

まったく同じ症状であなたの問題を再現することができました。

再インストールされたノードnode01を正しくピアリングしましたが、ブリックの交換手順は十分に文書化されていません。

公式ドキュメント には、障害のあるブリックを別の名前の新しいブリックに交換するための奇妙な指示がいくつかあります。不必要に複雑なので、同じブリック名を使いたいと思います。

交換用ブリックに必要なメタデータがnode1:/data/brick1/volr/.glusterfsに格納されていなかったため、ブリックを実行できませんでした。

これが私がレンガを交換するためにしたことです:


仮定して:

  • node01は、すでにピアリングされている再構築されたサーバーです。
  • volというボリュームがあり、
  • 交換するレンガはnode01:/data/brick1/volrです

以下をせよ:

  1. node01で、GlusterFSをシャットダウンします。

    Sudo killall -9 glusterd glusterfsd glusterfs
    
  2. レンガを取り除き、きれいな状態にします。

    Sudo rm -rfv /data/brick1/volr
    
  3. ブリックフォルダを再度作成します。

    Sudo mkdir -pv /data/brick1/volr
    
  4. 再起動glusterd.service

    Sudo systemctl restart glusterd.service
    
  5. れんがをリセットします。

    Sudo gluster volume reset-brick vol node01:/data/brick1/volr node01:/data/brick1/volr commit
    
  6. 修復プロセスがまだ開始されていない場合は、開始します。

    Sudo gluster volume heal vol full
    

追加リソース

1
Deltik