5.13. 同じストレージクラスターに複数のレルムの設定
このセクションでは、同じストレージクラスターに複数のレルムを設定する方法を説明します。これは、マルチサイトの高度なユースケースです。同一のストレージクラスター内に複数のレルムを設定することで、ローカルの Ceph Object Gateway クライアントのトラフィックを処理するためのローカルレルムと、セカンダリーサイトに複製されるデータ用のレプリケートされたレルムを使用することができます。
Red Hat では、各レルムに独自の Ceph Object Gateway があることを推奨しています。
前提条件
- ストレージクラスター内の各データセンターのアクセスキーおよびシークレットキー。
- ストレージクラスターの 2 つの稼働中の Red Hat Ceph Storage データセンター。
- すべてのノードへの root または sudo アクセス。
- 各データセンターには独自のローカルレルムがあります。両方のサイトでレプリケートするレルムを共有します。
- Ceph Object Gateway ノード上で、Red Hat Ceph Storage インストールガイドの Red Hat Ceph Storage のインストール要件 に記載のタスクを実行します。
- 各 Ceph Object Gateway ノードについて、Red Hat Ceph Storage インストールガイドの Ceph Object Gateway のインストール セクションに記載のステップ 1 から 7 を実施します。
手順
ストレージクラスターの最初のデータセンターにローカルレルムを 1 つ作成します。
構文
radosgw-admin realm create --rgw-realm=REALM_NAME --default
例
[root@rgw1 ~]# radosgw-admin realm create --rgw-realm=ldc1 --default
最初のデータセンター上に、1 つのローカルマスターゾーングループを作成します。
構文
radosgw-admin zonegroup create --rgw-zonegroup=ZONE_GROUP_NAME --endpoints=http://RGW_NODE_NAME:80 --rgw-realm=REALM_NAME --master --default
例
[root@rgw1 ~]# radosgw-admin zonegroup create --rgw-zonegroup=ldc1zg --endpoints=http://rgw1:80 --rgw-realm=ldc1 --master --default
最初のデータセンターに 1 つのローカルゾーンを作成します。
構文
radosgw-admin zone create --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME --master --default --endpoints=HTTP_FQDN[,HTTP_FQDN]
例
[root@rgw1 ~]# radosgw-admin zone create --rgw-zonegroup=ldc1zg --rgw-zone=ldc1z --master --default --endpoints=http://rgw.example.com
期間をコミットします。
例
[root@rgw1 ~]# radosgw-admin period update --commit
ceph.conf
を、rgw_realm
名、rgw_zonegroup
名、およびrgw_zone
名で更新します。構文
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
例
rgw_realm = ldc1 rgw_zonegroup = ldc1zg rgw_zone = ldc1z
RGW デーモンを再起動します。
構文
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
ストレージクラスターの 2 番目のデータセンターに、ローカルレルムを 1 つ作成します。
構文
radosgw-admin realm create --rgw-realm=REALM_NAME --default
例
[root@rgw2 ~]# radosgw-admin realm create --rgw-realm=ldc2 --default
2 番目のデータセンターに、1 つのローカルマスターゾーングループを作成します。
構文
radosgw-admin zonegroup create --rgw-zonegroup=ZONE_GROUP_NAME --endpoints=http://RGW_NODE_NAME:80 --rgw-realm=REALM_NAME --master --default
例
[root@rgw2 ~]# radosgw-admin zonegroup create --rgw-zonegroup=ldc2zg --endpoints=http://rgw2:80 --rgw-realm=ldc2 --master --default
2 番目のデータセンターに 1 つのローカルゾーンを作成します。
構文
radosgw-admin zone create --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME --master --default --endpoints=HTTP_FQDN[, HTTP_FQDN]
例
[root@rgw2 ~]# radosgw-admin zone create --rgw-zonegroup=ldc2zg --rgw-zone=ldc2z --master --default --endpoints=http://rgw.example.com
期間をコミットします。
例
[root@rgw2 ~]# radosgw-admin period update --commit
ceph.conf
を、rgw_realm
名、rgw_zonegroup
名、およびrgw_zone
名で更新します。構文
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
例
rgw_realm = ldc2 rgw_zonegroup = ldc2zg rgw_zone = ldc2z
RGW デーモンを再起動します。
構文
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
ストレージクラスターの最初のデータセンターにレプリケートされたレルムを作成します。
構文
radosgw-admin realm create --rgw-realm=REPLICATED_REALM_1 --default
例
[user@rgw1 ~] radosgw-admin realm create --rgw-realm=rdc1 --default
--default
フラグを使用して、レプリケートされたレルムをプライマリーサイトにデフォルト設定します。最初のデータセンターのマスターゾーングループを作成します。
構文
radosgw-admin zonegroup create --rgw-zonegroup=RGW_ZONE_GROUP --endpoints=http://_RGW_NODE_NAME:80 --rgw-realm=_RGW_REALM_NAME --master --default
例
[root@rgw1 ~]# radosgw-admin zonegroup create --rgw-zonegroup=rdc1zg --endpoints=http://rgw1:80 --rgw-realm=rdc1 --master --default
最初のデータセンターにマスターゾーンを作成します。
構文
radosgw-admin zone create --rgw-zonegroup=RGW_ZONE_GROUP --rgw-zone=_MASTER_RGW_NODE_NAME --master --default --endpoints=HTTP_FQDN[,HTTP_FQDN]
例
[root@rgw1 ~]# radosgw-admin zone create --rgw-zonegroup=rdc1zg --rgw-zone=rdc1z --master --default --endpoints=http://rgw.example.com
レプリケーション/同期ユーザーを作成し、システムユーザーをマルチサイトのマスターゾーンに追加します。
構文
radosgw-admin user create --uid="r_REPLICATION_SYNCHRONIZATION_USER_" --display-name="Replication-Synchronization User" --system radosgw-admin zone modify --rgw-zone=RGW_ZONE --access-key=ACCESS_KEY --secret=SECRET_KEY
例
[root@rgw1 ~]# radosgw-admin zone modify --rgw-zone=rdc1zg --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
期間をコミットします。
構文
radosgw-admin period update --commit
最初のデータセンターの
rgw_realm
名、rgw_zonegroup
名、およびrgw_zone
名でceph.conf
を更新します。構文
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
例
rgw_realm = rdc1 rgw_zonegroup = rdc1zg rgw_zone = rdc1z
RGW デーモンを再起動します。
構文
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
2 番目のデータセンターでレプリケートされたレルムをプルします。
構文
radosgw-admin realm pull --url=https://tower-osd1.cephtips.com --access-key=ACCESS_KEY --secret-key=SECRET_KEY
例
radosgw-admin realm pull --url=https://tower-osd1.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
最初のデータセンターから期間をプルします。
構文
radosgw-admin period pull --url=https://tower-osd1.cephtips.com --access-key=ACCESS_KEY --secret-key=SECRET_KEY
例
radosgw-admin period pull --url=https://tower-osd1.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
2 番目のデータセンターにセカンダリーゾーンを作成します。
構文
radosgw-admin zone create --rgw-zone=RGW_ZONE --rgw-zonegroup=RGW_ZONE_GROUP --endpoints=https://tower-osd4.cephtips.com --access-key=_ACCESS_KEY --secret-key=SECRET_KEY
例
[root@rgw2 ~]# radosgw-admin zone create --rgw-zone=rdc2z --rgw-zonegroup=rdc1zg --endpoints=https://tower-osd4.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8
期間をコミットします。
構文
radosgw-admin period update --commit
2 番目のデータセンターの
rgw_realm
名、rgw_zonegroup
名、およびrgw_zone
名を持つceph.conf
を更新します。構文
rgw_realm = REALM_NAME rgw_zonegroup = ZONE_GROUP_NAME rgw_zone = ZONE_NAME
例
rgw realm = rdc1 rgw zonegroup = rdc1zg rgw zone = rdc2z
Ceph Object Gateway デーモンを再起動します。
構文
systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service
2 番目のデータセンターにログインし、master レルムで同期のステータスを確認します。
構文
radosgw-admin sync status
例
[root@rgw2 ~]# radosgw-admin sync status realm 59762f08-470c-46de-b2b1-d92c50986e67 (ldc2) zonegroup 7cf8daf8-d279-4d5c-b73e-c7fd2af65197 (ldc2zg) zone 034ae8d3-ae0c-4e35-8760-134782cb4196 (ldc2z) metadata sync no sync (zone is master)
最初のデータセンターにログインし、レプリケーション同期レルムで同期ステータスを確認します。
構文
radosgw-admin sync status --rgw-realm RGW_REALM_NAME
例
[root@rgw1 ~]# radosgw-admin sync status --rgw-realm rdc1 realm 73c7b801-3736-4a89-aaf8-e23c96e6e29d (rdc1) zonegroup d67cc9c9-690a-4076-89b8-e8127d868398 (rdc1zg) zone 67584789-375b-4d61-8f12-d1cf71998b38 (rdc2z) metadata sync syncing full sync: 0/64 shards incremental sync: 64/64 shards metadata is caught up with master data sync source: 705ff9b0-68d5-4475-9017-452107cec9a0 (rdc1z) syncing full sync: 0/128 shards incremental sync: 128/128 shards data is caught up with source realm 73c7b801-3736-4a89-aaf8-e23c96e6e29d (rdc1) zonegroup d67cc9c9-690a-4076-89b8-e8127d868398 (rdc1zg) zone 67584789-375b-4d61-8f12-d1cf71998b38 (rdc2z) metadata sync syncing full sync: 0/64 shards incremental sync: 64/64 shards metadata is caught up with master data sync source: 705ff9b0-68d5-4475-9017-452107cec9a0 (rdc1z) syncing full sync: 0/128 shards incremental sync: 128/128 shards data is caught up with source
ローカルサイトにデータを保存およびアクセスするには、ローカルレルムのユーザーを作成します。
構文
radosgw-admin user create --uid="LOCAL_USER" --display-name="Local user" --rgw-realm=_REALM_NAME --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME
例
[root@rgw2 ~]# radosgw-admin user create --uid="local-user" --display-name="Local user" --rgw-realm=ldc1 --rgw-zonegroup=ldc1zg --rgw-zone=ldc1z
デフォルトでは、ユーザーはデフォルトのレルムに作成されます。ユーザーがローカルレルム内のデータにアクセスするには、radosgw-admin
コマンドに --rgw-realm
引数が必要です。