5.7. フェイルオーバーおよび障害復旧

マスターゾーンに障害が発生した場合は、障害復旧のためにセカンダリーゾーンにフェイルオーバーします。

  1. セカンダリーゾーンをマスターおよびデフォルトゾーンにします。以下に例を示します。

    # radosgw-admin zone modify --rgw-zone={zone-name} --master --default

    デフォルトでは、Ceph Object Gateway は active-active 設定で実行されます。クラスターが active-passive 設定で実行されるように設定されている場合、セカンダリーゾーンは読み取り専用ゾーンになります。ゾーンが書き込み操作を受け取れるように --read-only ステータスを削除します。以下に例を示します。

    # radosgw-admin zone modify --rgw-zone={zone-name} --master --default --read-only=false
  2. 期間を更新して、変更を反映します。

    # radosgw-admin period update --commit
  3. Ceph Object Gateway を再起動します。

    # systemctl restart ceph-radosgw@rgw.`hostname -s`.rgw0

以前のマスターゾーンが復旧する場合は、操作を元に戻す。

  1. 復元されたゾーンから、現在のマスターゾーンからレルムをプルします。

    # radosgw-admin realm pull --url={url-to-master-zone-gateway} \
                                --access-key={access-key} --secret={secret}
  2. 復旧したゾーンをマスターおよびデフォルトゾーンにします。

    # radosgw-admin zone modify --rgw-zone={zone-name} --master --default
  3. 期間を更新して、変更を反映します。

    # radosgw-admin period update --commit
  4. 復旧されたゾーンで Ceph Object Gateway を再起動します。

    # systemctl restart ceph-radosgw@rgw.`hostname -s`.rgw0
  5. セカンダリーゾーンを読み取り専用設定を使用する必要がある場合は、セカンダリーゾーンを更新します。

    # radosgw-admin zone modify --rgw-zone={zone-name} --read-only
  6. 期間を更新して、変更を反映します。

    # radosgw-admin period update --commit
  7. セカンダリーゾーンで Ceph Object Gateway を再起動します。

    # systemctl restart ceph-radosgw@rgw.`hostname -s`.rgw0