11.15.4. レプリケーションボリュームでのセルフ取得のトリガー
複製されたボリュームの場合、ブリックがオフラインになりオンラインに戻ると、すべてのレプリカを再同期するには自己修復が必要になります。バックグラウンドで実行され、修復が必要なファイルで 10 分ごとに自己修復を自動的に開始する自己修復デーモンがあります。
マルチスレッドの自己修復
自己修復デーモンには、複数の修復を並行して処理できる機能があり、Replicate および Distribute-replicate ボリュームでサポートされます。ただし、ヒューズの数が増えると I/O パフォーマンスに影響が及ぶため、以下のオプションが提供されます。cluster.shd-max-threads
ボリュームオプションは、自己修復デーモンにより各レプリカで並行して自己修復できるエントリーの数を制御します。cluster.shd-wait-qlength
ボリュームオプションを使用して、自己修復デーモンスレッドが修復された状態ですぐに起動できるように、キューに格納する必要があるエントリーの数を設定できます。
ボリュームおよびファイルの修復ステータスの確認に使用できるコマンドや、手動で修復を開始するのに使用できるコマンドは複数あります。
- 修復が必要なファイルの一覧を表示するには、次のコマンドを実行します。
# gluster volume heal VOLNAME info
たとえば、修復が必要な test-volume 上のファイルの一覧を表示するには、以下を実行します。# gluster volume heal test-volume info Brick server1:/gfs/test-volume_0 Number of entries: 0 Brick server2:/gfs/test-volume_1 /95.txt /32.txt /66.txt /35.txt /18.txt /26.txt - Possibly undergoing heal /47.txt /55.txt /85.txt - Possibly undergoing heal ... Number of entries: 101
- 修復が必要なファイルでのみ自己修復をトリガーするには、以下を実行します。
# gluster volume heal VOLNAME
たとえば、test-volume で修復が必要なファイルで自己修復をトリガーするには、以下を実行します。# gluster volume heal test-volume Heal operation on volume test-volume has been successful
- ボリューム上のすべてのファイルで自己修復をトリガーするには、以下を実行します。
# gluster volume heal VOLNAME full
たとえば、test-volume のすべてのファイルで自己修復をトリガーするには、以下を実行します。# gluster volume heal test-volume full Heal operation on volume test-volume has been successful
- スプリットブレイン状態にあるボリュームのファイルの一覧を表示するには、以下を実行します。
# gluster volume heal VOLNAME info split-brain
たとえば、スプリットブレイン状態にある test-volume 上のファイルの一覧を表示するには、以下を実行します。# gluster volume heal test-volume info split-brain Brick server1:/gfs/test-volume_2 Number of entries: 12 at path on brick ---------------------------------- 2012-06-13 04:02:05 /dir/file.83 2012-06-13 04:02:05 /dir/file.28 2012-06-13 04:02:05 /dir/file.69 Brick server2:/gfs/test-volume_2 Number of entries: 12 at path on brick ---------------------------------- 2012-06-13 04:02:05 /dir/file.83 2012-06-13 04:02:05 /dir/file.28 2012-06-13 04:02:05 /dir/file.69 ...