10.8.2. フェイルバック: Master と Slave を元の状態に戻す

元のプライマリーがオンラインに戻ると、元のセカンダリーで以下の手順を実行し、元のプライマリーとの違いを同期できます。
  1. 以下のコマンドを使用して、既存の geo-rep セッションを元のプライマリーから組織セカンダリーに停止します。
    # gluster volume geo-replication  ORIGINAL_MASTER_VOL ORIGINAL_SLAVE_HOST::ORIGINAL_SLAVE_VOL stop force
    以下に例を示します。
    # gluster volume geo-replication  Volume1 storage.backup.com::slave-vol stop force
    Stopping geo-replication session between Volume1 and storage.backup.com::slave-vol has been successful
  2. 新しいマスターとして、元のスレーブで新しいジオレプリケーションセッションを作成し、元のマスターを新しいスレーブとして force オプションを指定して作成します。geo レプリケーションセッションの作成に関する詳細は、以下を参照してください。
  3. 特別な同期モードを開始し、セカンダリーからのデータ復旧を迅速化します。このオプションは、indexing オプションを有効にする前に作成したファイルを無視する geo レプリケーションに機能を追加します。このオプションを使用すると、geo レプリケーションは、Slave ボリュームをプライマリーボリュームとして作成した後に作成されたファイルのみを同期します。
    # gluster volume geo-replication ORIGINAL_SLAVE_VOL ORIGINAL_MASTER_HOST::ORIGINAL_MASTER_VOL config special-sync-mode recover
    以下に例を示します。
    # gluster volume geo-replication  slave-vol master.com::Volume1 config special-sync-mode recover
    geo-replication config updated successfully
    
  4. gfid-conflict-resolution オプションを無効にします。
    # gluster volume geo-replication ORIGINAL_SLAVE_VOL ORIGINAL_MASTER_HOST::ORIGINAL_MASTER_VOL config gfid-conflict-resolution false
    以下に例を示します。
    # gluster volume geo-replication slave-vol master.com::Volume1 config gfid-conflict-resolution false
    geo-replication config updated successfully
    
  5. 以下のコマンドを使用して、新しい geo レプリケーションセッションを開始します。
    # gluster volume geo-replication ORIGINAL_SLAVE_VOL ORIGINAL_MASTER_HOST::ORIGINAL_MASTER_VOL start
    以下に例を示します。
    # gluster volume geo-replication slave-vol master.com::Volume1 start
    Starting geo-replication session between slave-vol and master.com::Volume1 has been successful
    
  6. 元のセカンダリーで I/O 操作を停止し、チェックポイントを設定します。チェックポイントを設定することで、その時点でプライマリー上にあるデータがセカンダリーに複製されているかどうかを同期情報が利用できます。
    # gluster volume geo-replication ORIGINAL_SLAVE_VOL ORIGINAL_MASTER_HOST::ORIGINAL_MASTER_VOL config checkpoint now
    以下に例を示します。
    # gluster volume geo-replication slave-vol master.com::Volume1 config checkpoint now
    geo-replication config updated successfully
    
  7. チェックポイントの完了により、元のセカンダリーからのデータが元のプライマリーに復元されます。しかし、チェックポイントを設定する前に、セカンダリーで IO を停止したため、チェックポイントを完了するためにセカンダリーマウントを変更する必要があります。
    # touch orginial_slave_mount 
    # gluster volume geo-replication ORIGINAL_SLAVE_VOL ORIGINAL_MASTER_HOST::ORIGINAL_MASTER_VOL status detail
    以下に例を示します。
    # touch /mnt/gluster/slavevol
    # gluster volume geo-replication slave-vol master.com::Volume1 status detail
    
  8. チェックポイントが完了したら、元のセカンダリーと元のプライマリーとの間で現在の ge レプリケーションセッションを停止して削除します。
    # gluster volume geo-replication ORIGINAL_SLAVE_VOL ORIGINAL_MASTER_HOST::ORIGINAL_MASTER_VOL stop
    # gluster volume geo-replication ORIGINAL_SLAVE_VOL ORIGINAL_MASTER_HOST::ORIGINAL_MASTER_VOL delete
    以下に例を示します。
    # gluster volume geo-replication slave-vol master.com::Volume1 stop
    Stopping geo-replication session between slave-vol and master.com::Volume1 has been successful
    
    # gluster volume geo-replication slave-vol master.com::Volume1 delete
    geo-replication command executed successfully
    
  9. 以下のコマンドを実行して、プライマリーボリュームで読み取り専用を無効にします。
    # gluster volume set VOLNAME features.read-only off
  10. 以下のコマンドを実行して、セカンダリーボリュームをプライマリーボリュームとしてプロモートするように設定したオプションをリセットします。
    # gluster volume reset ORIGINAL_SLAVE_VOL geo-replication.indexing force
    # gluster volume reset ORIGINAL_SLAVE_VOL changelog
    以下に例を示します。
    # gluster volume reset slave-vol geo-replication.indexing force
    volume set: success
    
    # gluster volume reset slave-vol changelog
    volume set: success
    
  11. 以下のコマンドを使用して、元のプライマリーから geo-rep セッションを開始し、元のロールを再開します。
    # gluster volume geo-replication ORIGINAL_MASTER_VOL ORIGINAL_SLAVE_HOST::ORIGINAL_SLAVE_VOL start 
    # gluster volume geo-replication Volume1 storage.backup.com::slave-vol start
    Starting geo-replication session between slave-vol  and master.com::Volume1 been successful