第13章 自己修復が完了しない

自己修復操作が完了しない場合、Gluster ファイル ID (GFID) の不一致が原因である可能性があります。

13.1. Gluster ファイル ID の不一致

診断

  1. 自己修復状態を確認します。

    次のコマンドを数分間にわたって数回実行します。表示されるエントリーに注意してください。

    # gluster volume heal <volname> info

    毎回同じエントリーが表示される場合は、これらのエントリーに GFID の不一致がある可能性があります。

  2. 各ホストの各エントリーの GFID を確認します。

    各ホストで、エントリーごとに次のコマンドを実行します。

    # getfattr -d -m. -ehex <backend_path> -h

    エントリーの <backend_path> は、ブリックパスとエントリーで設定されます。たとえば、engine ボリュームのブリックに /gluster_bricks/engine/engine のパスがあり、修復情報に表示されるエントリーが 58d392a6-e5b1-4aed-9bbc-952210a7137d/ha_agent/hosted-engine.metadata である場合、使用する backend_path/gluster_bricks/engine/engine/58d392a6-e5b1-4aed-9bbc-952210a7137d/ha_agent/hosted-engine.metadata です。

  3. 各ホストからの出力を比較します。

    エントリーの trusted.gfid がすべてのホストで同じでない場合、GFID の不一致があります。

解決方法

  1. 最新の変更時刻を持つ GFID を優先して不一致を解決します。

    # gluster volume heal <volume> split-brain latest-mtime <entry>

    以下に例を示します。

    # gluster volume heal engine split-brain latest-mtime /58d392a6-e5b1-4aed-9bbc-952210a7137d/ha_agent/hosted-engine.metadata
  2. 手動でボリュームの回復をトリガーします。

    # gluster volume heal <volname>