OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
第8章 Multicloud Object Gateway バケットレプリケーション
1 つの MulticloudObject Gateway(MCG) バケットから別の MCG バケットへのデータレプリケーションは、より高い復元力とより優れたコラボレーションオプションを提供します。これらのバケットは、サポート対象のストレージソリューション (S3、Azure など) でサポートされるデータバケットまたは namespace バケットのいずれかになります。
レプリケーションポリシーは、レプリケーションルールの一覧で設定されます。各ルールは宛先バケットを定義し、オブジェクトキーの接頭辞に基づいてフィルターを指定できます。2 番目のバケットで補完的なレプリケーションポリシーを設定すると、双方向レプリケーションが実行されます。
前提条件
- 実行中の OpenShift Data Foundation Platform。
- Multicloud Object Gateway へのアクセスについては、Accessing the Multicloud Object Gateway with your applications を参照してください。
Multicloud Object Gateway (MCG) コマンドラインインターフェイスをダウンロードします。
subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms yum install mcg
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-x86_64-rpms # yum install mcg
Copy to Clipboard Copied! 重要サブスクリプションマネージャーを使用してリポジトリーを有効にするための適切なアーキテクチャーを指定します。たとえば、IBM Power の場合は、次のコマンドを使用します。
subscription-manager repos --enable=rh-odf-4-for-rhel-8-ppc64le-rpms
# subscription-manager repos --enable=rh-odf-4-for-rhel-8-ppc64le-rpms
Copy to Clipboard Copied! または、
mcg
パッケージを、https://access.redhat.com/downloads/content/547/ver=4/rhel---8/4/x86_64/packages にある OpenShift Data Foundation RPM からインストールできます。重要お使いのアーキテクチャーに応じて、正しい製品バリアントを選択します。
注記特定の MCG 機能は特定の MCG バージョンでのみ利用でき、適切な MCG CLI ツールのバージョンを使用して MCG の機能を完全に活用する必要があります。
バケットを複製するには、Replicating a bucket to another bucket を参照してください。
バケットクラスレプリケーションポリシーを設定するには、Setting a bucket class replication policy を参照してください。
8.1. バケットの別のバケットへの複製
バケットレプリケーションポリシーは、次の 2 つの方法で設定できます。
8.1.1. MCG コマンドラインインターフェイスを使用してバケットの別のバケットへの複製
Multicloud Object Gateway (MCG) バケットに特定のレプリケーションポリシーが必要なアプリケーションは、Object Bucket Claim (OBC) を作成し、JSON ファイルで replication policy
パラメーターを定義できます。
手順
MCG コマンドラインインターフェイスから以下のコマンドを実行し、特定のレプリケーションポリシーで OBC を作成します。
noobaa obc create <bucket-claim-name> -n openshift-storage --replication-policy /path/to/json-file.json
noobaa obc create <bucket-claim-name> -n openshift-storage --replication-policy /path/to/json-file.json
Copy to Clipboard Copied! <bucket-claim-name>
- バケットクレームの名前を指定します。
/path/to/json-file.json
- レプリケーションポリシーを定義する JSON ファイルへのパスです。
JSON ファイルの例:
+
[{ "rule_id": "rule-1", "destination_bucket": "first.bucket", "filter": {"prefix": "repl"}}]
[{ "rule_id": "rule-1", "destination_bucket": "first.bucket", "filter": {"prefix": "repl"}}]
Copy to Clipboard Copied! "prefix"
オプション。複製する必要があるのはオブジェクトキーの接頭辞であり、たとえば
{"prefix": ""}
のように、空のままにすることもできます。以下に例を示します。
noobaa obc create my-bucket-claim -n openshift-storage --replication-policy /path/to/json-file.json
noobaa obc create my-bucket-claim -n openshift-storage --replication-policy /path/to/json-file.json
Copy to Clipboard Copied!
8.1.2. YAML を使用してバケットを別のバケットに複製
Multicloud Object Gateway (MCG) データバケットを必要とするアプリケーションは、特定のレプリケーションポリシーを持つことができます。また、Object Bucket Claim (OBC) を作成し、spec.additionalConfig.replication-policy
パラメーターを OBC に追加できます。
手順
以下の YAML を適用します。
apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: <desired-bucket-claim> namespace: <desired-namespace> spec: generateBucketName: <desired-bucket-name> storageClassName: openshift-storage.noobaa.io additionalConfig: replication-policy: [{ "rule_id": "<rule id>", "destination_bucket": "first.bucket", "filter": {"prefix": "<object name prefix>"}}]
apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: <desired-bucket-claim> namespace: <desired-namespace> spec: generateBucketName: <desired-bucket-name> storageClassName: openshift-storage.noobaa.io additionalConfig: replication-policy: [{ "rule_id": "<rule id>", "destination_bucket": "first.bucket", "filter": {"prefix": "<object name prefix>"}}]
Copy to Clipboard Copied! <desired-bucket-claim>
- バケットクレームの名前を指定します。
<desired-namespace>
- namespace を指定します。
<desired-bucket-name>
- バケット名の接頭辞を指定します。
"rule_id"
-
ルールの ID 番号を指定します (例:
{"rule_id": "rule-1"}
)。 "destination_bucket"
-
宛先バケットの名前を指定します (例:
{"destination_bucket": "first.bucket"}
)。 "prefix"
-
オプション。複製する必要があるのはオブジェクトキーの接頭辞であり、たとえば
{"prefix": ""}
のように、空のままにすることもできます。
追加情報
- OBC についての詳細は、Object Bucket Claim を参照してください。