5.5. 2 番目のゾーンの確立

ゾーングループ内のゾーンはすべてのデータを複製し、各ゾーンが同じデータを持つようにします。セカンダリーゾーンを作成するときは、セカンダリーゾーンにサービスを提供するように識別されたホストで すべてradosgw-admin zone 操作を実行します。

注記

ゾーンを追加するには、セカンダリーゾーンの追加と同じ手順に従います。別のゾーン名を使用してください。

重要

マスターゾーングループのマスターゾーン内のホストで、ユーザーの作成やクォータなどのメタデータ操作を実行する必要があります。マスターゾーンとセカンダリーゾーンは RESTful API からバケット操作を受け取ることができますが、セカンダリーゾーンはバケット操作をマスターゾーンにリダイレクトします。マスターゾーンがダウンすると、バケット操作は失敗します。radosgw-admin CLI を使用してバケットを作成する場合は、マスターゾーングループのマスターゾーン内のホストでバケットを実行する必要があります。そうしないと、バケットは他のゾーングループおよびゾーンに同期されません。

5.5.1. レルムのプル

URL パスを使用して、マスターゾーングループ内のマスターゾーンのキーおよびシークレットにアクセスし、レルムをホストにプルします。デフォルト以外のレルムをプルするには、--rgw-realm 設定または --realm-id 設定オプションを使用してレルムを指定します。

# radosgw-admin realm pull --url={url-to-master-zone-gateway} --access-key={access-key} --secret={secret}

このレルムがデフォルトのレルムまたは唯一のレルムである場合は、レルムをデフォルトのレルムにします。

# radosgw-admin realm default --rgw-realm={realm-name}

5.5.2. 周期のプル

URL パスを使用して、マスターゾーングループ内のマスターゾーンのアクセスキーおよびシークレットを使用して、期間をホストにプルします。デフォルト以外のレルムから期間をプルするには、--rgw-realm または --realm-id 構成オプションを使用してレルムを指定します。

# radosgw-admin period pull --url={url-to-master-zone-gateway} --access-key={access-key} --secret={secret}
注記

期間をプルすると、レルムのゾーングループおよびゾーン設定の最新バージョンを取得します。

5.5.3. 2 番目のゾーンの作成

重要

ゾーン内の Ceph Object Gateway ノードにゾーンを作成する必要があります。

セカンダリーゾーンを提供するように特定されたホストでコマンドラインインターフェースを開くことにより、マルチサイト設定のセカンダリーゾーンを作成します。ゾーングループ ID、新しいゾーン名、およびゾーンのエンドポイントを指定します。--master フラグまたは --default フラグを使用 しないでください。すべてのゾーンはデフォルトでアクティブ/アクティブ設定で実行されるので、ゲートウェイクライアントは任意のゾーンにデータを書き込むことができ、ゾーンはゾーングループ内の他のすべてのゾーンにデータを複製します。セカンダリゾーンが書き込み操作を受け入れない場合は、--read-only フラグを指定して、マスターゾーンとセカンダリゾーンの間にアクティブ-パッシブ構成を作成します。さらに、マスターゾーングループのマスターゾーンに格納されている、生成されたシステムユーザーの access_key および secret_key を指定します。以下のコマンドを実行します。

構文

[root@second-zone]# radosgw-admin zone create \
                           --rgw-zonegroup={zone-group-name}\
                           --rgw-zone={zone-name} \
                           --access-key={system-key} --secret={secret}\
                           --endpoints=http://{fqdn}:80 \
                           [--read-only]

[root@second-zone]# radosgw-admin zone create
                            --rgw-zonegroup=us \
                            --rgw-zone=us-west \
                            --access-key={system-key} --secret={secret} \
                            --endpoints=http://rgw2:80

重要

以下の手順は、データを保存していない新規インストールシステムを使用した複数サイト構成を前提としています。default ゾーンとそのプールをすでにデータの保存に使用している場合は、削除しないでください。削除すると、データが失われ、回復できなくなります。

必要に応じてデフォルトゾーンを削除します。

[root@second-zone]# radosgw-admin zone delete --rgw-zone=default

最後に、Ceph Storage クラスターのデフォルトのプール(必要な場合)を削除します。

# ceph osd pool delete default.rgw.control default.rgw.control --yes-i-really-really-mean-it
# ceph osd pool delete default.rgw.data.root default.rgw.data.root --yes-i-really-really-mean-it
# ceph osd pool delete default.rgw.log default.rgw.log --yes-i-really-really-mean-it
# ceph osd pool delete default.rgw.users.uid default.rgw.users.uid --yes-i-really-really-mean-it

5.5.4. 周期の更新

マスターゾーン設定を更新したら、期間を更新します。

# radosgw-admin period update --commit
注記

エポックを更新すると、エポックが変更され、他のゾーンが更新された設定を受け取るようになります。

5.5.5. Ceph 設定ファイルを更新します。

インスタンスエントリーに rgw_zone 構成オプションとセカンダリーゾーンの名前を追加して、セカンダリゾーンホストの Ceph 構成ファイルを更新します。

[client.rgw.{instance-name}]
...
rgw_zone={zone-name}

以下に例を示します。

[client.rgw.rgw2.rgw0]
host = rgw2
rgw frontends = "civetweb port=80"
rgw_zone=us-west

5.5.6. ゲートウェイの起動

オブジェクトゲートウェイホストで、Ceph Object Gateway サービスを起動して有効にします。

# systemctl start ceph-radosgw@rgw.`hostname -s`
# systemctl enable ceph-radosgw@rgw.`hostname -s`

サービスがすでに実行中の場合は、サービスを起動して有効にする代わりにサービスを再起動します。

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