11.9.4. 古いブリックを、Distributed-Dispersed ボリュームまたは分散ボリュームで新しいブログに置き換え
ディスクの障害やサーバーの障害など、ハードウェア障害の発生時に、1 つのブリックを置き換えることができます。置き換える必要のあるブリックは、オンラインまたはオフラインのどちらかですが、その他のすべてのブリックがオンラインである必要があります。
古いブリックを、Distributed ボリュームまたは Distributed-dispersed ボリュームで新しいブログに置き換え
- 古いブリックを置き換える新しいブリックが空であることを確認します。置き換える必要のあるブリックはオフラインの状態にすることができますが、その他のすべてのブリックはオンラインである必要があります。
- replace-brick コマンドを
force
オプションを指定して実行します。# gluster volume replace-brick VOL_NAME old_brick_path new_brick_path commit force
以下に例を示します。# gluster volume replace-brick test-volume server1:/rhgs/brick2 server1:/rhgs/brick2new commit force volume replace-brick: success: replace-brick commit successful
追加する新しいブリックは同じサーバーから表示するか、新しいサーバーを追加してから新しいブリックを追加してください。 - 新しいブリックがオンラインかどうかを確認します。
# gluster volume status Status of volume: test-volume Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick server1:/rhgs/brick1 49187 0 Y 19927 Brick server1:/rhgs/brick2new 49188 0 Y 19946 Brick server2:/rhgs/brick3 49189 0 Y 19965 Brick server2:/rhgs/brick4 49190 0 Y 19984 Brick server3:/rhgs/brick5 49191 0 Y 20003 Brick server3:/rhgs/brick6 49192 0 Y 20022 NFS Server on localhost N/A N/A N N/A Self-heal Daemon on localhost N/A N/A Y 20043 Task Status of Volume test-volume ------------------------------------------------------------------------------ There are no active volume tasks
- 新たに追加したブリックのデータは自動的に修復されます。修復するデータ量によっては、時間がかかる可能性があります。ブリックを置き換えた後に修復情報を確認して、他のブリックを置き換えたり削除する前に、すべてのデータが修復されたことを確認することが推奨されます。
# gluster volume heal VOL_NAME info
以下に例を示します。# gluster volume heal test-volume info Brick server1:/rhgs/brick1 Status: Connected Number of entries: 0 Brick server1:/rhgs/brick2new Status: Connected Number of entries: 0 Brick server2:/rhgs/brick3 Status: Connected Number of entries: 0 Brick server2:/rhgs/brick4 Status: Connected Number of entries: 0 Brick server3:/rhgs/brick5 Status: Connected Number of entries: 0 Brick server3:/rhgs/brick6 Status: Connected Number of entries: 0
修復が完了したら、Number of entries
フィールドの値はゼロとして表示されます。 - Red Hat Gluster Storage 3.4 では、heal info コマンドの
summary
オプションが導入されました。このコマンドは、スプリットブレインで待機しているエントリーの統計と、修復中のエントリーを表示します。このコマンドはエントリー数のみを表示し、実際の file-names または gfids は出力されません。ボリュームの概要を取得するには、以下のコマンドを実行します。# gluster volume heal VOLNAME info summary
以下に例を示します。# gluster volume heal test-volume info summary Command output: Brick 192.168.2.8:/brick/1 Status: Connected Total Number of entries: 363 Number of entries in heal pending: 362 Number of entries in split-brain: 0 Number of entries possibly healing: 1
注記'summary' オプションは、'info' コマンドとは異なり、ブリックに関する詳細情報を提供します。概要情報は、’info’ コマンドと同じように取得されます。--xml パラメーターは、XML 形式の summary オプションの出力を提供します。# gluster volume heal test-volume info summary --xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <cliOutput> <healInfo< <bricks> <brick hostUuid="9105dd4b-eca8-4fdb-85b2-b81cdf77eda3"> <name>192.168.2.8:/brick/1</name> <status>Connected</status> <totalNumberOfEntries>363</totalNumberOfEntries> <numberOfEntriesInHealPending>362</numberOfEntriesInHealPending> <numberOfEntriesInSplitBrain>0</numberOfEntriesInSplitBrain> <numberOfEntriesPossiblyHealing>1</numberOfEntriesPossiblyHealing> </brick> </bricks> </healInfo> <opRet>0</opRet> <opErrno>0</opErrno> <opErrstr/> </cliOutput>