Red Hat Training

A Red Hat training course is available for Red Hat Ceph Storage

5.12. 同じストレージクラスターに複数のレルムの設定

このセクションでは、同じストレージクラスターに複数のレルムを設定する方法を説明します。これは、マルチサイトの高度なユースケースです。同一のストレージクラスター内に複数のレルムを設定することで、ローカルの RGW クライアントのトラフィックを処理するためのローカルレルムと、セカンダリーサイトに複製されるデータ用のレプリケートされたレルムを使用することができます。

注記

Red Hat では、各レルムに独自の Ceph Object Gateway があることを推奨しています。

前提条件

  • ストレージクラスター内の各データセンターのアクセスキーおよびシークレットキー。
  • ストレージクラスター内の 2 つの実行中の {storage-product} データセンター。
  • 各データセンターには独自のローカルレルムがあります。両方のサイトでレプリケートするレルムを共有する。
  • Ceph Object Gateway ノード上で、{storage-product} インストールガイドRed Hat Ceph Storage のインストール要件 に記載のタスクを実行する。
  • 各 Ceph Object Gateway ノードについて、{storage-product} インストールガイドCeph Object Gateway のインストール セクションに記載のステップ 1 から 7 を実施する。

手順

  1. 同期ユーザーを作成します。

    Syntax

    radosgw-admin user create --uid="SYNCHRONIZATION_USER" --display-name="Synchronization User" --system

  2. ストレージクラスターの最初のデータセンターにローカルレルムを 1 つ作成します。

    Syntax

    radosgw-admin realm create --rgw-realm=REALM_NAME --default

    [user@rgw1]$ radosgw-admin realm create --rgw-realm=ldc1 --default

  3. 最初のデータセンター上に、1 つのローカルマスターゾーングループを作成します。

    Syntax

    radosgw-admin zonegroup create --rgw-zonegroup=ZONE_GROUP_NAME --endpoints=http://RGW_NODE_NAME:80 --rgw-realm=REALM_NAME --master --default

    [user@rgw1]$ radosgw-admin zonegroup create --rgw-zonegroup=ldc1zg --endpoints=http://rgw1:80 --rgw-realm=ldc1 --master --default

  4. 最初のデータセンターに 1 つのローカルゾーンを作成します。

    Syntax

    radosgw-admin zone create --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME --master --default --endpoints=HTTP_FQDN[,HTTP_FQDN]

    [user@rgw1]$ radosgw-admin zone create --rgw-zonegroup=ldc1zg --rgw-zone=ldc1z --master --default --endpoints=http://rgw.example.com

  5. 期間をコミットします。

    [user@rgw1]$ radosgw-admin period update --commit

  6. ceph.conf を、rgw_realm 名、rgw_zonegroup 名、および rgw_zone 名で更新します。

    Syntax

    rgw_realm = REALM_NAME
    rgw_zonegroup = ZONE_GROUP_NAME
    rgw_zone = ZONE_NAME

    rgw_realm = ldc1
    rgw_zonegroup = ldc1zg
    rgw_zone = ldc1z

  7. RGW デーモンを再起動します。

    Syntax

    systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service

  8. ストレージクラスターの 2 番目のデータセンターに、ローカルレルムを 1 つ作成します。

    Syntax

    radosgw-admin realm create --rgw-realm=REALM_NAME --default

    [user@rgw2]$ radosgw-admin realm create --rgw-realm=ldc2 --default

  9. 2 番目のデータセンターに、1 つのローカルマスターゾーングループを作成します。

    Syntax

    radosgw-admin zonegroup create --rgw-zonegroup=ZONE_GROUP_NAME --endpoints=http://RGW_NODE_NAME:80 --rgw-realm=REALM_NAME --master --default

    [user@rgw2]$ radosgw-admin zonegroup create --rgw-zonegroup=ldc2zg --endpoints=http://rgw2:80 --rgw-realm=ldc2 --master --default

  10. 2 番目のデータセンターに 1 つのローカルゾーンを作成します。

    Syntax

    radosgw-admin zone create --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME --master --default --endpoints=HTTP_FQDN[, HTTP_FQDN]

    [user@rgw2]$ radosgw-admin zone create --rgw-zonegroup=ldc2zg --rgw-zone=ldc2z --master --default --endpoints=http://rgw.example.com

  11. 期間をコミットします。

    [user@rgw2]$ radosgw-admin period update --commit

  12. ceph.conf を、rgw_realm 名、rgw_zonegroup 名、および rgw_zone 名で更新します。

    Syntax

    rgw_realm = REALM_NAME
    rgw_zonegroup = ZONE_GROUP_NAME
    rgw_zone = ZONE_NAME

    rgw_realm = ldc2
    rgw_zonegroup = ldc2zg
    rgw_zone = ldc2z

  13. RGW デーモンを再起動します。

    Syntax

    systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service

  14. レプリケーション/同期ユーザーを作成します。

    Syntax

    radosgw-admin user create --uid="r_REPLICATION_SYNCHRONIZATION_USER_" --display-name="Replication-Synchronization User" --system

  15. ストレージクラスターの最初のデータセンターにレプリケートされたレルムを作成します。

    Syntax

    radosgw-admin realm create --rgw-realm=REPLICATED_REALM_1

    [user@rgw1] radosgw-admin realm create --rgw-realm=rdc1

  16. 最初のデータセンターのマスターゾーングループを作成します。

    Syntax

    radosgw-admin zonegroup create --rgw-zonegroup=RGW_ZONE_GROUP --endpoints=http://_RGW_NODE_NAME:80 --rgw-realm=_RGW_REALM_NAME --master --default

    [user@rgw1] radosgw-admin zonegroup create --rgw-zonegroup=rdc1zg --endpoints=http://rgw1:80 --rgw-realm=rdc1 --master --default

  17. 最初のデータセンターにマスターゾーンを作成します。

    Syntax

    radosgw-admin zone create --rgw-zonegroup=RGW_ZONE_GROUP --rgw-zone=_MASTER_RGW_NODE_NAME --master --default --endpoints=HTTP_FQDN[,HTTP_FQDN]

    [user@rgw1] radosgw-admin zone create --rgw-zonegroup=rdc1zg --rgw-zone=rdc1z --master --default --endpoints=http://rgw.example.com

  18. 期間をコミットします。

    Syntax

    radosgw-admin period update --commit

  19. 最初のデータセンターの rgw_realm 名、rgw_zonegroup 名、および rgw_zone 名で ceph.conf を更新します。

    Syntax

    rgw_realm = REALM_NAME
    rgw_zonegroup = ZONE_GROUP_NAME
    rgw_zone = ZONE_NAME

    rgw_realm = rdc1
    rgw_zonegroup = rdc1zg
    rgw_zone = rdc1z

  20. RGW デーモンを再起動します。

    Syntax

    systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service

  21. 2 番目のデータセンターでレプリケートされたレルムをプルします。

    Syntax

    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

  22. 最初のデータセンターから期間をプルします。

    Syntax

    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

  23. 2 番目のデータセンターにセカンダリーゾーンを作成します。

    Syntax

    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

    [user@rgw2] radosgw-admin zone create --rgw-zone=rdc2z --rgw-zonegroup=rdc1zg --endpoints=https://tower-osd4.cephtips.com --access-key=3QV0D6ZMMCJZMSCXJ2QJ --secret-key=VpvQWcsfI9OPzUCpR4kynDLAbqa1OIKqRB6WEnH8

  24. 期間をコミットします。

    Syntax

    radosgw-admin period update --commit

  25. 2 番目のデータセンターの rgw_realm 名、rgw_zonegroup 名、および rgw_zone 名を持つ ceph.conf を更新します。

    Syntax

    rgw_realm = REALM_NAME
    rgw_zonegroup = ZONE_GROUP_NAME
    rgw_zone = ZONE_NAME

    rgw realm = rdc1
    rgw zonegroup = rdc1zg
    rgw zone = rdc2z

  26. RGW デーモンを再起動します。

    Syntax

    systemctl restart ceph-radosgw@rgw.$(hostname -s).rgw0.service

  27. 2 番目のデータセンターのエンドポイントに root としてログインします。
  28. マスターレルムで同期のステータスを確認します。

    Syntax

    radosgw-admin sync status

    [root@tower-osd4 ceph-ansible]# 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)

  29. 最初のデータセンターのエンドポイントに root としてログインします。
  30. レプリケーション同期レルムの同期ステータスを確認します。

    Syntax

    radosgw-admin sync status --rgw-realm RGW_REALM_NAME

    以下に例を示します。

    [root@tower-osd4 ceph-ansible]# [root@tower-osd4 ceph-ansible]# 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
  31. ローカルサイトにデータを保存およびアクセスするには、ローカルレルムのユーザーを作成します。

    Syntax

    radosgw-admin user create --uid="LOCAL_USER" --display-name="Local user" --rgw-realm=_REALM_NAME --rgw-zonegroup=ZONE_GROUP_NAME --rgw-zone=ZONE_NAME

    [user@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 引数が必要です。