5.8. マルチサイト同期ポリシーの使用


ストレージ管理者は、バケットレベルでマルチサイト同期ポリシーを使用して、異なるゾーンのバケット間のデータ移動を制御できます。このようなポリシーは、バケット粒度同期ポリシーと呼ばれます。これまでは、ゾーン内のすべてのバケットが対称的に扱われていました。これは、各ゾーンに指定のバケットのミラーコピーが含まれ、バケットのコピーはすべてのゾーンで同一であることを意味します。同期プロセスでは、バケット同期ソースとバケット同期宛先が同じバケットを参照していることが前提となっています。

重要

バケット同期ポリシーはデータのみに適用され、バケット同期ポリシーの存在に関係なく、マルチサイト内のすべてのゾーンでメタデータが同期されます。バケット同期ポリシーが allowed または forbidden の場合に作成、変更、または削除されたオブジェクトは、ポリシーが有効になったときに自動的に同期されません。これらのオブジェクトを同期するには、bucket sync run コマンドを実行します。

重要

ゾーングループレベルで複数の同期ポリシーが定義されている場合、同時に有効な状態にできるポリシーは 1 つだけです。必要に応じてポリシーを切り替えることができます。

同期ポリシーは、古いゾーングループ設定 (sync_from*) よりも優先されます。同期ポリシーは、ゾーングループレベルで設定できます。これが設定されていると、ゾーングループレベルで旧スタイルの設定を置き換えますが、バケットレベルでも設定できます。

前提条件

  • Red Hat Ceph Storage クラスターが実行されている。
  • Ceph Monitor ノードへの root レベルのアクセス。
  • Ceph Object Gateway ソフトウェアのインストール。

5.8.1. マルチサイト同期ポリシーグループの状態

同期ポリシーでは、データフロー設定のリストを含む複数のグループと、パイプ設定のリストを定義することができます。データフローは、異なるゾーン間のデータの流れを定義します。複数のゾーンが互いにデータを同期する対称的なデータフローを定義でき、データが 1 つのゾーンから別のゾーンに一方向に移動する指向性データフローを定義できます。

パイプは、これらのデータフローを使用することができる実際のバケットと、それに関連付けられるプロパティーを定義します (例: ソースオブジェクト接頭辞)。

同期ポリシーグループには 3 つの状態があります。

  • enabled - 同期が許可され、有効になっています。
  • allowed - 同期が許可されています。
  • forbidden - このグループで定義されている同期は、許可されません。

ゾーンがレプリケートされる場合、同期ポリシーを使用して特定のバケットのレプリケーションを無効にすることができます。ポリシーの競合を解決するには、次のセマンティクスに従う必要があります。

ZonegroupBucket結果

enabled

enabled

enabled

enabled

allowed

enabled

enabled

forbidden

disabled

allowed

enabled

enabled

allowed

allowed

disabled

allowed

forbidden

disabled

forbidden

enabled

disabled

forbidden

allowed

disabled

forbidden

forbidden

disabled

任意の同期ペア (SOURCE_ZONESOURCE_BUCKET)、(DESTINATION_ZONEDESTINATION_BUCKET) を反映するように設定されている複数のグループポリシーの場合、次のルールが次の順序で適用されます。

  • 1 つの同期ポリシーが forbidden の場合でも、同期は disabled になります。
  • 同期を allowed にするには、少なくとも 1 つのポリシーを enabled にする必要があります。

このグループの同期状態は、他のグループよりも優先されます。

ポリシーはバケットレベルで定義できます。バケットレベルの同期ポリシーはゾーングループポリシーのデータフローを継承するため、ゾーングループで許可されるもののサブセットのみを定義できます。

ワイルドカードゾーンおよびポリシーのワイルドカードバケットパラメーターは、すべての関連するゾーンまたは関連するバケットをすべて定義します。バケットポリシーのコンテキストでは、現在のバケットインスタンスを意味します。ゾーン全体がミラーリングされている障害復旧設定では、バケットに何も設定する必要がありません。ただし、きめ細かいバケット同期の場合は、ゾーングループレベルで (たとえば、ワイルドカードを使用して) パイプを許可 (status=allowed) して同期するように設定することを推奨します。ただし、特定の同期はバケットレベル (status=enabled) でのみ有効にします。必要に応じて、バケットレベルのポリシーで、データの移動を特定の関連ゾーンに制限することができます。

重要

ゾーングループポリシーの変更は、ゾーングループマスターゾーンに適用する必要があり、期間更新とコミットが必要です。バケットポリシーへの変更は、ゾーングループマスターゾーンに適用する必要があります。Ceph Object Gateway はこれらの変更を動的に処理します。

5.8.2. 現在のポリシーの取得

get コマンドを使用して、現在のゾーングループ同期ポリシーまたは特定のバケットポリシーを取得できます。

前提条件

  • Red Hat Ceph Storage クラスターが実行されている。
  • root または sudo アクセス。
  • Ceph Object Gateway がインストールされている。

手順

  • 現在のゾーングループ同期ポリシーまたはバケットポリシーを取得します。特定のバケットポリシーを取得するには、--bucket オプションを使用します。

    構文

    radosgw-admin sync policy get --bucket=BUCKET_NAME

    [ceph: root@host01 /]# radosgw-admin sync policy get --bucket=mybucket

5.8.3. 同期ポリシーグループの作成

現在のゾーングループまたは特定のバケットの同期ポリシーグループを作成できます。

前提条件

  • Red Hat Ceph Storage クラスターが実行されている。
  • root または sudo アクセス。
  • Ceph Object Gateway がインストールされている。

手順

  • 同期ポリシーグループまたはバケットポリシーを作成します。バケットポリシーを作成するには、--bucket オプションを使用します。

    構文

    radosgw-admin sync group create --bucket=BUCKET_NAME --group-id=GROUP_ID --status=enabled | allowed | forbidden

    [ceph: root@host01 /]# radosgw-admin sync group create --group-id=mygroup1 --status=enabled

5.8.4. 同期ポリシーグループの変更

現在のゾーングループの既存の同期ポリシーグループまたは特定のバケットに対して変更できます。

前提条件

  • Red Hat Ceph Storage クラスターが実行されている。
  • root または sudo アクセス。
  • Ceph Object Gateway がインストールされている。

手順

  • 同期ポリシーグループまたはバケットポリシーを変更します。バケットポリシーを変更するには、--bucket オプションを使用します。

    構文

    radosgw-admin sync group modify --bucket=BUCKET_NAME --group-id=GROUP_ID --status=enabled | allowed | forbidden

    [ceph: root@host01 /]# radosgw-admin sync group modify --group-id=mygroup1 --status=forbidden

5.8.5. 同期ポリシーグループの表示

group get コマンドを使用して、グループ ID で現在の同期ポリシーグループを表示するか、特定のバケットポリシーを表示できます。

前提条件

  • Red Hat Ceph Storage クラスターが実行されている。
  • root または sudo アクセス。
  • Ceph Object Gateway がインストールされている。

手順

  • 現在の同期ポリシーグループまたはバケットポリシーを表示します。特定のバケットポリシーを表示するには、--bucket オプションを使用します。

    構文

    radosgw-admin sync group get --bucket=BUCKET_NAME --group-id=GROUP_ID

    [ceph: root@host01 /]# radosgw-admin sync group get --group-id=mygroup

5.8.6. 同期ポリシーグループの削除

group remove コマンドを使用して、グループ ID で現在の同期ポリシーグループを削除したり、特定のバケットポリシーを削除したりできます。

前提条件

  • Red Hat Ceph Storage クラスターが実行されている。
  • root または sudo アクセス。
  • Ceph Object Gateway がインストールされている。

手順

  • 現在の同期ポリシーグループまたはバケットポリシーを削除します。特定のバケットポリシーを削除するには、--bucket オプションを使用します。

    構文

    radosgw-admin sync group remove --bucket=BUCKET_NAME --group-id=GROUP_ID

    [ceph: root@host01 /]# radosgw-admin sync group remove --group-id=mygroup

5.8.7. 同期フローの作成

同期ポリシーグループまたは特定のバケットに、異なるタイプのフローを作成できます。

  • 指向性同期フロー
  • 対称同期フロー

group flow create コマンドは、同期フローを作成します。すでに同期フローがある同期ポリシーグループまたはバケットに対して group flow create コマンドを発行すると、コマンドは同期フローの既存の設定を上書きし、指定した設定を適用します。

オプション説明必須/オプション

--bucket

同期ポリシーを設定する必要があるバケットの名前。バケットレベルの同期ポリシーでのみ使用されます。

任意

--group-id

同期グループの ID。

必須

--flow-id

フローの ID。

必須

--flow-type

同期ポリシーグループまたは特定のバケットのフロータイプ (指向性または対称性)。

必須

--source-zone

同期元となるソースゾーンを指定します。同期グループにデータを送信するゾーンです。同期グループのフロータイプが指向性である場合は必須です。

任意

--dest-zone

同期先となる宛先ゾーンを指定します。同期グループからデータを受信するゾーンです。同期グループのフロータイプが指向性である場合は必須です。

任意

--zones

同期グループの一部であるゾーン。ゾーンは、送信側ゾーンと受信側ゾーンの両方に言及します。ゾーンは "," で区切って指定します。同期グループのフロータイプが対称の場合は必須です。

任意

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • root または sudo アクセス。
  • Ceph Object Gateway がインストールされている。

手順

  1. 指向性同期フローを作成または更新します。特定のバケットへの指向性同期フローを作成または更新するには、--bucket オプションを使用します。

    構文

    radosgw-admin sync group flow create --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=directional --source-zone=SOURCE_ZONE --dest-zone=DESTINATION_ZONE

  2. 対称同期フローを作成または更新します。対称フロータイプに複数のゾーンを指定するには、--zones オプションにコンマ区切りのリストを使用します。

    構文

    radosgw-admin sync group flow create --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME

5.8.8. 同期フローおよびゾーンの削除

group flow remove コマンドは、同期ポリシーグループまたはバケットから同期フローまたはゾーンを削除します。

指向性フローを使用する同期ポリシーグループまたはバケットの場合は、group flow remove コマンドによりフローが削除されます。対称フローを使用した同期ポリシーグループまたはバケットについては、group flow remove コマンドを使用してフローから指定されたゾーンを削除したり、フローを削除したりできます。

前提条件

  • Red Hat Ceph Storage クラスターが実行されている。
  • root または sudo アクセス。
  • Ceph Object Gateway がインストールされている。

手順

  1. 指向性同期フローを削除します。特定のバケットの指向性同期フローを削除するには、--bucket オプションを使用します。

    構文

    radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=directional --source-zone=SOURCE_ZONE --dest-zone=DESTINATION_ZONE

  2. 対称同期フローから特定のゾーンを削除します。対称フローから複数のゾーンを削除するには、--zones オプションにコンマ区切りのリストを使用します。

    構文

    radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME

  3. 対称同期フローを削除します。バケットから同期フローを削除するには、--bucket オプションを使用します。

    構文

    radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME

5.8.9. 同期グループパイプの作成または変更

ストレージ管理者は、パイプを定義して、設定したデータフローと、これらのデータフローに関連するプロパティーを使用できるバケットを指定できます。

sync group pipe create コマンドを使用すると、パイプを作成できます。パイプは、特定のバケットまたはバケットのグループ間、または特定のゾーンまたはゾーンのグループ間のカスタム同期グループデータフローです。

コマンドは、以下のオプションを使用します。

オプション説明必須/オプション

--bucket

同期ポリシーを設定する必要があるバケットの名前。バケットレベルの同期ポリシーでのみ使用されます。

任意

--group-id

同期グループの ID

必須

--pipe-id

パイプの ID

必須

--source-zones

データを同期グループに送信するゾーン。値には一重引用符 (') を使用します。複数のゾーンを分離する場合はコンマで区切ります。データフロールールに一致するすべてのゾーンに、ワイルドカード * を使用します。

必須

--source-bucket

データを同期グループに追加する 1 つまたは複数のバケット。バケット名を指定しない場合は、* (ワイルドカード) がデフォルト値として使用されます。バケットレベルでは、同期グループが作成されたバケットがソースバケットとなり、ゾーングループレベルでは、すべてのバケットがソースバケットとなります。

任意

--source-bucket-id

ソースバケットの ID。

任意

--dest-zones

同期データを受け取る 1 つまたは複数のゾーン。値には一重引用符 (') を使用します。複数のゾーンを分離する場合はコンマで区切ります。データフロールールに一致するすべてのゾーンに、ワイルドカード * を使用します。

必須

--dest-bucket

同期データを受け取る 1 つまたは複数のバケット。バケット名を指定しない場合は、* (ワイルドカード) がデフォルト値として使用されます。バケットレベルでは、同期グループが作成されたバケットが宛先バケットとなり、ゾーングループレベルでは、すべてのバケットが宛先バケットとなります。

任意

--dest-bucket-id

宛先バケットの ID。

任意

--prefix

バケットの接頭辞。ワイルドカード * を使用してソースオブジェクトをフィルターします。

任意

--prefix-rm

フィルタリングにバケット接頭辞を使用しないでください。

任意

--tags-add

key=value ペアのコンマ区切りリスト。

任意

--tags-rm

タグの 1 つ以上の key=value ペアを削除します。

任意

--dest-owner

ソースからオブジェクトの宛先所有者。

任意

--storage-class

ソースからのオブジェクトのための宛先ストレージクラス。

任意

--mode

システムモードまたはユーザーモードで それぞれ system または user を使用します。

任意

--uid

ユーザーモードでパーミッションの検証に使用されます。同期操作を発行するユーザー ID を指定します。

任意

注記

特定のバケットのゾーングループレベルで同期を有効または無効にするには、ゾーングループレベルの同期ポリシーをそれぞれ状態を 有効 または 無効に 設定し、--source-bucket および --dest-bucket とそのバケット名または バケットを 使用して各バケットのパイプを作成します。-id、つまり --source-bucket-id および --dest-bucket-id

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • root または sudo アクセス。
  • Ceph Object Gateway がインストールされている。

手順

  • 同期グループパイプを作成します。

    構文

    radosgw-admin sync group pipe create --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID --source-zones='ZONE_NAME','ZONE_NAME2'... --source-bucket=SOURCE_BUCKET1 --source-bucket-id=SOURCE_BUCKET_ID --dest-zones='ZONE_NAME','ZONE_NAME2'... --dest-bucket=DESTINATION_BUCKET1--dest-bucket-id=DESTINATION_BUCKET_ID --prefix=SOURCE_PREFIX --prefix-rm --tags-add=KEY1=VALUE1, KEY2=VALUE2, ... --tags-rm=KEY1=VALUE1, KEY2=VALUE2, ... --dest-owner=OWNER_ID --storage-class=STORAGE_CLASS --mode=USER --uid=USER_ID

5.8.10. 同期グループパイプの変更または削除

ストレージ管理者は、sync group pipe remove コマンドを使用して、特定のオプションを削除して、同期グループパイプを変更できます。このコマンドを使用して、同期グループパイプを完全に削除することもできます。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • root または sudo アクセス。
  • Ceph Object Gateway がインストールされている。

手順

  • 同期グループのパイプオプションを変更します。

    構文

    radosgw-admin sync group pipe remove --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID --source-zones='ZONE_NAME','ZONE_NAME2'... --source-bucket=SOURCE_BUCKET1 --source-bucket-id=SOURCE_BUCKET_ID --dest-zones='ZONE_NAME','ZONE_NAME2'... --dest-bucket=DESTINATION_BUCKET1 --dest-bucket-id=_DESTINATION_BUCKET-ID

  • 同期グループパイプを削除します。

    構文

    radosgw-admin sync group pipe remove --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID

5.8.11. 同期操作に関する情報の取得

sync info コマンドを使用すると、同期ポリシーで定義されているように、予想される同期のソースとターゲットに関する情報を取得できます。

バケットの同期ポリシーを作成する場合、そのポリシーはそのバケットから異なるゾーンの別のバケットにデータを移動する方法を定義します。ポリシーを作成すると、バケットを別のバケットと同期するたびにヒントとして使用されるバケット依存関係のリストも作成されます。同期はデータフローが同期を許可しているかどうかによって決まるため、あるバケットが別のバケットを参照していても、実際にはそのバケットと同期していないことがあることに注意してください。

--bucket パラメーターおよび effective-zone-name パラメーターはいずれも任意です。オプションを指定せずに sync info コマンドを実行すると、Object Gateway はすべてのゾーンの同期ポリシーによって定義されたすべての同期操作を返します。

前提条件

  • Red Hat Ceph Storage クラスターが実行されている。
  • root または sudo アクセス。
  • Ceph Object Gateway がインストールされている。
  • グループ同期ポリシーが定義されています。

手順

  • 同期操作に関する情報を取得します。

    構文

    radosgw-admin sync info --bucket=BUCKET_NAME --effective-zone-name=ZONE_NAME

5.8.12. バケットの詳細な同期ポリシーの使用

バケットまたはゾーングループの同期ポリシーが無効状態から有効状態に移行すると、次の動作の変化が見られます。

重要

6.1 のバケット詳細同期ポリシーの GA リリースで、合意され、制限されたスコープにより、次の機能がサポートされるようになりました。

  • グリーンフィールドデプロイメント: このリリースでは、新しいマルチサイトデプロイメントのみがサポートされています。バケットの詳細な同期レプリケーションを設定するには、少なくとも新しいゾーングループ/ゾーンを設定する必要があります。このリリースでは、デプロイメント/実行中の RGW マルチサイトレプリケーション設定を、新しく機能する RGW バケット同期ポリシーレプリケーションに移行することはできないことに注意してください。
  • データフロー - 対称: 単方向レプリケーションと双方向/対称レプリケーションの両方を設定できますが、このリリースでは対称レプリケーションフローのみがサポートされています。
  • 1 対 1 バケットのレプリケーション: 現在、同じ名前のバケット間のレプリケーションのみがサポートされています。これは、サイト A のバケットの名前が bucket1 の場合、サイト B のバケット 1 にのみ bucket1 できることを意味します。別のゾーンの bucket1 から bucket2 へのレプリケーションは現在サポートされていません。
重要

次の機能はサポートされていません。

  • Source フィルター
  • ストレージクラス
  • 宛先所有者の翻訳
  • User mode

通常シナリオ:

  • ゾーングループレベル: 同期ポリシーが 無効になっている ときに書き込まれたデータは、追加の手順を行わなくても、有効になる とすぐにキャッチアップします。
  • バケットレベル: 同期ポリシーが 無効な ときに書き込まれたデータは、ポリシーが 有効な ときにはキャッチアップしません。この場合、次の 2 つの回避策のいずれかを適用できます。

    • 新しいデータをバケットに書き込むと、古いデータが再同期されます。
    • Bucket sync run コマンドを実行すると、すべての古いデータが同期されます。
注記

同期ポリシーからレガシーポリシーに切り替える場合は、最初に sync init コマンドを実行し、続いて radosgw-adminbucket sync run コマンドを実行してすべてのオブジェクトを同期する必要があります。

リシャードシナリオ:

  • ゾーングループレベル: ポリシーが 無効に なっているときに発生するリシャードは、後で 有効になった ときの同期には影響しません。
  • バケットレベル: ポリシーが 無効になっている ときにバケットがリシャーディングされると、ポリシーが再度 有効になった 後に同期が停止します。この時点では、新しいオブジェクトも同期しません。この場合、次の回避策に従ってください。

    • bucket sync run コマンドを実行します。
注記

ゾーングループに対してポリシーが enabled に設定され、バケットに対してポリシーが enabled または allowed に設定されている場合、パイプ設定はバケットレベルではなくゾーングループレベルから有効になります。これは既知の問題です (BZ#2240719)。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • root または sudo アクセス。
  • Ceph Object Gateway がインストールされている。

ゾーングループ同期双方向ポリシー

ゾーングループ同期ポリシーは、新しい同期ポリシーエンジンを使用して作成されます。ゾーングループ同期ポリシーを変更するには、期間の更新とコミットが必要です。

次の例では、グループポリシーが作成され、あるゾーングループから別のゾーングループにデータを移動するためのデータフローが定義されています。それに加えて、ゾーングループのパイプは、このデータフローを使用できるバケットを定義するように設定されます。以下の例のシステムには、us-east (マスターゾーン)、us-west、および us-west-2 の 3 つのゾーンが含まれています。

手順

  1. ステータスを allowed に設定して新しい同期グループを作成します。

    [ceph: root@host01 /]# radosgw-admin sync group create --group-id=group1 --status=allowed

    注記

    完全に設定されたゾーングループレプリケーションポリシーが作成されるまでは、レプリケーションが開始されないように --statusallowed に設定することを推奨します。

  2. --flow-typesymmetrical として設定して、新しく作成したグループのフローポリシーを作成し、双方向レプリケーションを有効にします。

    [ceph: root@host01 /]# radosgw-admin sync group flow create --group-id=group1 \
                            --flow-id=flow-mirror --flow-type=symmetrical \
                            --zones=us-east,us-west

  3. pipe という名前の新しいパイプを作成します。

    [ceph: root@host01 /]# radosgw-admin sync group pipe create --group-id=group1 \
                              --pipe-id=pipe1 --source-zones='*' \
                              --source-bucket='*' --dest-zones='*' \
                              --dest-bucket='*'

    注記

    以前のフローポリシーで設定されたすべてのゾーンを含めるにはゾーンに * ワイルドカードを使用し、ゾーン内のすべての既存のバケットを複製するにはバケットに * を使用します。

  4. バケット同期ポリシーを設定した後、--statusEnabled に設定します。

    [ceph: root@host01 /]# radosgw-admin sync group modify --group-id=group1 --status=enabled

  5. 新しい期間を更新してコミットします。

    [ceph: root@host01 /]# radosgw-admin period update --commit

    注記

    期間の更新とコミットは、ゾーングループポリシーでは必須です。

  6. オプション: sync info --bucket=bucket_name コマンドを実行して、特定のバケットの同期元と同期先を確認します。us-east および us-west ゾーン内のすべてのバケットは双方向にレプリケートされます。

    [ceph: root@host01 /]# radosgw-admin sync info --bucket=buck
    {
        "sources": [
            {
                "id": "pipe1",
                "source": {
                    "zone": "us-west",
                    "bucket": "buck:115b12b3-....4409.1"
                },
                "dest": {
                    "zone": "us-east",
                    "bucket": "buck:115b12b3-....4409.1"
                },
                "params": {
    ...
                }
            }
        ],
        "dests": [
            {
                "id": "pipe1",
                "source": {
                    "zone": "us-east",
                    "bucket": "buck:115b12b3-....4409.1"
                },
                "dest": {
                    "zone": "us-west",
                    "bucket": "buck:115b12b3-....4409.1"
                },
               ...
            }
        ],
        ...
    }

    上記の出力の id フィールドは、そのエントリーを生成したパイプルールを反映しています。以下の例に示すように、1 つのルールで複数の同期エントリーを生成できます。

  7. オプション: sync info コマンドを実行して、ポリシーで定義されている、予期されるバケット同期ソースおよびターゲットに関する情報を取得します。
[ceph: root@host01 /]# radosgw-admin sync info --bucket=buck
{
    "sources": [
        {
            "id": "pipe1",
            "source": {
                "zone": "us-east",
                "bucket": "buck:115b12b3-....4409.1"
            },
            "dest": {
                "zone": "us-west",
                "bucket": "buck:115b12b3-....4409.1"
            },
            ...
        }
    ],
    "dests": [
        {
            "id": "pipe1",
            "source": {
                "zone": "us-west",
                "bucket": "buck:115b12b3-....4409.1"
            },
            "dest": {
                "zone": "us-east",
                "bucket": "buck:115b12b3-....4409.1"
            },
           ...
        }
    ],
    ...
}

バケット同期双方向ポリシー

バケットレベルのポリシーのデータフローは、ゾーングループポリシーから継承されます。バケットレベルのポリシーのフローとパイプは、ゾーングループポリシーで定義されたフローのサブセットにすぎないため、バケットレベルのポリシーのデータフローとパイプを変更する必要はありません。

注記
  • バケットレベルのポリシーでは、ゾーングループポリシーで 禁止されている パイプを除き、有効になっていないパイプを 有効にする ことができます。
  • バケットレベルのポリシーでは期間の更新は必要ありません。

手順

  1. ゾーングループポリシー --status をallowed に設定して、バケットごとのレプリケーションを許可します。

    [ceph: root@host01 /]# radosgw-admin sync group modify --group-id=group1 --status=allowed

  2. ゾーングループポリシーを変更した後、期間を更新します。

    [ceph: root@host01 /]# radosgw-admin period update --commit

  3. 同期するバケットの同期グループを作成し、--statusEnabled に設定します。

    [ceph: root@host01 /]# radosgw-admin sync group create --bucket=buck \
                              --group-id=buck-default --status=enabled

  4. 前の手順で作成したグループのパイプを作成します。

    [ceph: root@host01 /]# radosgw-admin sync group pipe create --bucket=buck \
                              --group-id=buck-default --pipe-id=pipe1 \
                              --source-zones='*' --dest-zones='*'

    注記

    ワイルドカード * を使用して、バケットレプリケーションのソースゾーンと宛先ゾーンを指定します。

  5. オプション: 同期ポリシーで定義されている、想定されるバケット同期ソースおよびターゲットに関する情報を取得するには、--bucket フラグを指定して radosgw-admin Bucket sync info コマンドを実行します。

    [ceph: root@host01 /]# radosgw-admin bucket sync info --bucket buck
    realm 33157555-f387-44fc-b4b4-3f9c0b32cd66 (india)
    zonegroup 594f1f63-de6f-4e1e-90b6-105114d7ad55 (shared)
    zone ffaa5ba4-c1bd-4c17-b176-2fe34004b4c5 (primary)
    bucket :buck[ffaa5ba4-c1bd-4c17-b176-2fe34004b4c5.16191.1]
    
    source zone e0e75beb-4e28-45ff-8d48-9710de06dcd0
    bucket :buck[ffaa5ba4-c1bd-4c17-b176-2fe34004b4c5.16191.1]

  6. オプション: 同期ポリシーで定義されている、想定される同期ソースおよびターゲットに関する情報を取得するには、--bucket フラグを指定して radosgw-admin sync info コマンドを実行します。

    [ceph: root@host01 /]# radosgw-admin sync info --bucket buck
    {
        "id": "pipe1",
        "source": {
            "zone": "secondary",
            "bucket": "buck:ffaa5ba4-c1bd-4c17-b176-2fe34004b4c5.16191.1"
        },
        "dest": {
            "zone": "primary",
            "bucket": "buck:ffaa5ba4-c1bd-4c17-b176-2fe34004b4c5.16191.1"
        },
        "params": {
            "source": {
                "filter": {
                    "tags": []
                }
            },
            "dest": {},
            "priority": 0,
            "mode": "system",
            "user": ""
        }
    },
        {
        "id": "pipe1",
        "source": {
            "zone": "primary",
            "bucket": "buck:ffaa5ba4-c1bd-4c17-b176-2fe34004b4c5.16191.1"
        },
        "dest": {
            "zone": "secondary",
            "bucket": "buck:ffaa5ba4-c1bd-4c17-b176-2fe34004b4c5.16191.1"
        },
        "params": {
            "source": {
                "filter": {
                    "tags": []
                }
            },
            "dest": {},
            "priority": 0,
            "mode": "system",
            "user": ""
        }
    }

同期情報とともにポリシーを無効にする

場合によって、2 つのバケット間のレプリケーションを中断するには、バケットのグループポリシーを forbidden に設定します。

手順

  1. sync group modify コマンドを実行してステータスを allowed から forbidden に変更し、us-east ゾーンと us-west ゾーンの間のバケットのレプリケーションを中断します。

    [ceph: root@host01 /]# radosgw-admin sync group modify --group-id  buck-default --status forbidden --bucket buck
    {
        "groups": [
            {
                "id": "buck-default",
                "data_flow": {},
                "pipes": [
                    {
                        "id": "pipe1",
                        "source": {
                            "bucket": "*",
                            "zones": [
                                "*"
                            ]
                        },
                        "dest": {
                            "bucket": "*",
                            "zones": [
                                "*"
                            ]
                        },
                        "params": {
                            "source": {
                                "filter": {
                                    "tags": []
                                }
                            },
                            "dest": {},
                            "priority": 0,
                            "mode": "system",
                        }
                    }
                ],
                "status": "forbidden"
            }
        ]
    }

    注記

    これはバケット同期ポリシーであるため、その期間の更新とコミットは必要ありません。

  2. オプション: sync info command コマンドを実行して、バケット buck の同期のステータスを確認します。

    [ceph: root@host01 /]# radosgw-admin sync info --bucket buck
    {
        "sources": [],
        "dests": [],
        "hints": {
            "sources": [],
            "dests": []
        },
        "resolved-hints-1": {
            "sources": [],
            "dests": []
        },
        "resolved-hints": {
            "sources": [],
            "dests": []
        }
    }
    
    Sync is disabled for bucket buck

    注記

    レプリケーションが中断されているため、ソースおよび宛先のターゲットはありません。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.