4.3. レプリケーションリポジトリーの設定
オブジェクトストレージをレプリケーションリポジトリーとして使用するように設定する必要があります。MTC (Migration Toolkit for Containers) は、データをソースクラスターからレプリケーションリポジトリーにコピーしてから、レプリケーションリポジトリーからターゲットクラスターにコピーします。
MTC は、ソースクラスターからターゲットクラスターにデータを移行するために、ファイルシステムおよびスナップショットによるデータのコピー方法 をサポートします。ご使用の環境に適した方法で、ストレージプロバイダーでサポートされる方法を選択できます。
すべてのクラスターには、レプリケーションリポジトリーへの中断されないネットワークアクセスが必要です。
内部でホストされるレプリケーションリポジトリーでプロキシーサーバーを使用する場合は、プロキシーがレプリケーションリポジトリーへのアクセスを許可することを確認する必要があります。
以下のストレージプロバイダーがサポートされています。
- Multi-Cloud Object Gateway (MCG)
- Amazon Web Services (AWS) S3
- Google Cloud Platform (GCP)
- Microsoft Azure Blob
- 汎用 S3 オブジェクトストレージ (例: Minio または Ceph S3)
関連情報
4.3.1. Multi-Cloud Object Gateway の設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Storage Operator をインストールし、Multi-Cloud Object Gateway (MCG) ストレージバケットを MTC (Migration Toolkit for Containers) のレプリケーションリポジトリーとして設定できます。
4.3.1.1. OpenShift Container Storage Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Storage Operator は、OperatorHub からインストールできます。
手順
-
OpenShift Container Platform Web コンソールで、Operators
OperatorHub をクリックします。 - Filter by keyword (この場合は、OCS) を使用し、 OpenShift Container Storage Operator を見つけます。
- OpenShift Container Storage Operator を選択し、Install をクリックします。
- Update Channel、Installation Mode、および Approval Strategy を選択します。
Install をクリックします。
Installed Operators ページで、OpenShift Container Storage Operator は、Succeeded のステータスと共に openshift-storage プロジェクトに表示されます。
4.3.1.2. Multi-Cloud Object Gateway ストレージバケットの作成 リンクのコピーリンクがクリップボードにコピーされました!
Multi-Cloud Object Gateway (MCG) ストレージバケットのカスタムリソース (CR) を作成できます。
手順
OpenShift Container Platform クラスターにログインします。
$ oc loginNooBaaCR 設定ファイルnoobaa.ymlを以下の内容で作成します。apiVersion: noobaa.io/v1alpha1 kind: NooBaa metadata: name: <noobaa> namespace: openshift-storage spec: dbResources: requests: cpu: 0.51 memory: 1Gi coreResources: requests: cpu: 0.52 memory: 1GiNooBaaオブジェクトを作成します。$ oc create -f noobaa.yml以下の内容で、
BackingStoreCR 設定ファイルbs.ymlを作成します。apiVersion: noobaa.io/v1alpha1 kind: BackingStore metadata: finalizers: - noobaa.io/finalizer labels: app: noobaa name: <mcg_backing_store> namespace: openshift-storage spec: pvPool: numVolumes: 31 resources: requests: storage: <volume_size>2 storageClass: <storage_class>3 type: pv-poolBackingStoreオブジェクトを作成します。$ oc create -f bs.yml以下の内容で
BucketClassCR 設定ファイルbc.ymlを作成します。apiVersion: noobaa.io/v1alpha1 kind: BucketClass metadata: labels: app: noobaa name: <mcg_bucket_class> namespace: openshift-storage spec: placementPolicy: tiers: - backingStores: - <mcg_backing_store> placement: SpreadBucketClassオブジェクトを作成します。$ oc create -f bc.yml以下の内容で
ObjectBucketClaimCR 設定ファイルobc.ymlを作成します。apiVersion: objectbucket.io/v1alpha1 kind: ObjectBucketClaim metadata: name: <bucket> namespace: openshift-storage spec: bucketName: <bucket>1 storageClassName: <storage_class> additionalConfig: bucketclass: <mcg_bucket_class>- 1
- レプリケーションリポジトリーを MTC の Web コンソールに追加するために使用するバケット名を記録します。
ObjectBucketClaimオブジェクトを作成します。$ oc create -f obc.ymlリソース作成プロセスを監視し、
ObjectBucketClaimステータスがBoundであることを確認します。$ watch -n 30 'oc get -n openshift-storage objectbucketclaim migstorage -o yaml'このプロセスには、5 分から 10 分の時間がかかる場合があります。
以下の値を取得して記録します。この値は、レプリケーションリポジトリーを MTC の Web コンソールに追加する際に必要になります。
S3 エンドポイント:
$ oc get route -n openshift-storage s3S3 プロバイダーアクセスキー:
$ oc get secret -n openshift-storage migstorage \ -o go-template='{{ .data.AWS_ACCESS_KEY_ID }}' | base64 --decodeS3 プロバイダーシークレットアクセスキー:
$ oc get secret -n openshift-storage migstorage \ -o go-template='{{ .data.AWS_SECRET_ACCESS_KEY }}' | base64 --decode