5.7.6. 判別ボリュームを 3 方向の複製ボリュームに変換

判別ボリュームを、3 方向の複製ボリューム、または 3 方向の複製複製ボリュームに変換することができます。そのためには、複製された各サブボリュームの完全なブリックに arbiter ブリックを置き換えます。
警告
geo レプリケーションが設定されている場合には、このプロセスを実行しないでください。Bug 1683893 で追跡されている競合状態があります。これは、geo レプリケーションが有効な場合にボリュームを変換する際にデータが失われます。

手順5.3 レプリカ 3 ボリュームへの判別ボリュームの変換

  1. 修復中ではないことを確認します。

    # gluster volume heal VOLNAME info
    保留中の修復エントリーが 0 になるまで待ってから続行します。
  2. ボリュームからの arbiter ブックの削除

    どのブリックが (arbiter) と一覧表示されているかを確認し、ボリュームからそのブリックを削除します。
    # gluster volume info VOLNAME
    # gluster volume remove-brick VOLNAME replica 2 HOST:arbiter-brick-path force
  3. 自己修復の無効化と停止

    以下のコマンドを実行して、データ、メタデータ、エントリー自己修復デーモン、および自己修復デーモンを無効にします。
    # 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
  4. ボリュームへの完全なブリックの追加

    複製した各サブボリュームにブリックを追加して、ボリュームを変換します。
    # 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
  5. クライアントの volfiles が更新するまで待ちます。

    これには約 5 分かかります。
  6. ブリックが正常に追加されたことを確認します。

    # gluster volume info VOLNAME
    # gluster volume status VOLNAME
  7. 自己修復を再度有効化

    以下のコマンドを実行して、サーバーで自己修復を再度有効にします。
    # 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
  8. すべてのエントリーが修復されていることを確認

    # gluster volume heal VOLNAME info
    保留中の秀句エントリーが 0 になるまで待機して、すべての修復が正常に実行されるようにします。