5.7.6. 判別ボリュームを 3 方向の複製ボリュームに変換
判別ボリュームを、3 方向の複製ボリューム、または 3 方向の複製複製ボリュームに変換することができます。そのためには、複製された各サブボリュームの完全なブリックに arbiter ブリックを置き換えます。
警告
geo レプリケーションが設定されている場合には、このプロセスを実行しないでください。Bug 1683893 で追跡されている競合状態があります。これは、geo レプリケーションが有効な場合にボリュームを変換する際にデータが失われます。
手順5.3 レプリカ 3 ボリュームへの判別ボリュームの変換
修復中ではないことを確認します。
# gluster volume heal VOLNAME info
保留中の修復エントリーが0
になるまで待ってから続行します。ボリュームからの arbiter ブックの削除
どのブリックが(arbiter)
と一覧表示されているかを確認し、ボリュームからそのブリックを削除します。# gluster volume info VOLNAME
# gluster volume remove-brick VOLNAME replica 2 HOST:arbiter-brick-path force
自己修復の無効化と停止
以下のコマンドを実行して、データ、メタデータ、エントリー自己修復デーモン、および自己修復デーモンを無効にします。# gluster volume set VOLNAME cluster.data-self-heal off # gluster volume set VOLNAME cluster.metadata-self-heal off # gluster volume set VOLNAME cluster.entry-self-heal off # gluster volume set VOLNAME self-heal-daemon off
ボリュームへの完全なブリックの追加
複製した各サブボリュームにブリックを追加して、ボリュームを変換します。# gluster volume add-brick VOLNAME replica 3 HOST:brick-path
たとえば、既存の Arbitrated Replicated ボリュームがある場合には、以下のコマンドを実行します。# gluster volume add-brick testvol replica 3 server:/bricks/brick
既存の判別分散複製ボリュームがある場合は、以下を実行します。# gluster volume add-brick testvol replica 3 server1:/bricks/brick1 server2:/bricks/brick2
クライアントの volfiles が更新するまで待ちます。
これには約 5 分かかります。ブリックが正常に追加されたことを確認します。
# gluster volume info VOLNAME # gluster volume status VOLNAME
自己修復を再度有効化
以下のコマンドを実行して、サーバーで自己修復を再度有効にします。# gluster volume set VOLNAME cluster.data-self-heal on # gluster volume set VOLNAME cluster.metadata-self-heal on # gluster volume set VOLNAME cluster.entry-self-heal on # gluster volume set VOLNAME self-heal-daemon on
すべてのエントリーが修復されていることを確認
# gluster volume heal VOLNAME info
保留中の秀句エントリーが0
になるまで待機して、すべての修復が正常に実行されるようにします。