4.14. 複数のバックアップストレージ場所を含む OADP の設定
4.14.1. 複数の Backup Storage Location を使用した OpenShift API for Data Protection (OADP) の設定
Data Protection Application (DPA) では、1 つ以上の Backup Storage Location (BSL) を設定できます。また、バックアップを作成するときに、バックアップを保存する場所を選択できます。この設定では、次の方法でバックアップを保存できます。
- さまざまなリージョンへのバックアップ
- 別のストレージプロバイダーへのバックアップ
OADP は、複数の BSL を設定できるように、複数の認証情報をサポートしています。そのため、どの BSL でも使用する認証情報を指定できます。
4.14.1.1. 複数の BSL を使用した DPA の設定
複数の BackupStorageLocation
(BSL) CR を使用して DataProtectionApplication
(DPA) カスタムリソース (CR) を設定し、クラウドプロバイダーによって提供される認証情報を指定できます。
たとえば、次の 2 つの BSL を設定したとします。
- DPA に 1 つの BSL を設定し、それをデフォルトの BSL として設定した。
-
BackupStorageLocation
CR を使用して、別の BSL を別途作成した。
DPA を通じて作成された BSL をすでにデフォルトとして設定しているため、別途作成した BSL を再度デフォルトとして設定することはできません。つまり、任意の時点において、デフォルトの BSL として設定できる BSL は 1 つだけです。
前提条件
- OADP Operator をインストールする。
- クラウドプロバイダーによって提供される認証情報を使用してシークレットを作成する。
手順
複数の
BackupStorageLocation
CR を使用してDataProtectionApplication
CR を設定します。以下の例を参照してください。DPA の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication #... backupLocations: - name: aws velero: provider: aws default: true objectStorage: bucket: <bucket_name> prefix: <prefix> config: region: <region_name> profile: "default" credential: key: cloud name: cloud-credentials - name: odf velero: provider: aws default: false objectStorage: bucket: <bucket_name> prefix: <prefix> config: profile: "default" region: <region_name> s3Url: <url> insecureSkipTLSVerify: "true" s3ForcePathStyle: "true" credential: key: cloud name: <custom_secret_name_odf> #...
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication #... backupLocations: - name: aws
1 velero: provider: aws default: true
2 objectStorage: bucket: <bucket_name>
3 prefix: <prefix>
4 config: region: <region_name>
5 profile: "default" credential: key: cloud name: cloud-credentials
6 - name: odf
7 velero: provider: aws default: false objectStorage: bucket: <bucket_name> prefix: <prefix> config: profile: "default" region: <region_name> s3Url: <url>
8 insecureSkipTLSVerify: "true" s3ForcePathStyle: "true" credential: key: cloud name: <custom_secret_name_odf>
9 #...
- 1
- 最初の BSL の名前を指定します。
- 2
- このパラメーターは、この BSL がデフォルトの BSL であることを示します。
Backup CR
に BSL が設定されていない場合は、デフォルトの BSL が使用されます。デフォルトとして設定できる BSL は 1 つだけです。 - 3
- バケット名を指定します。
- 4
- Velero バックアップの接頭辞を指定します (例:
velero
)。 - 5
- バケットの AWS リージョンを指定します。
- 6
- 作成したデフォルトの
Secret
オブジェクトの名前を指定します。 - 7
- 2 番目の BSL の名前を指定します。
- 8
- S3 エンドポイントの URL を指定します。
- 9
Secret
の正しい名前を指定します。たとえば、custom_secret_name_odf
です。Secret
名を指定しない場合は、デフォルトの名前が使用されます。
バックアップ CR で使用する BSL を指定します。以下の例を参照してください。
バックアップ CR の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: velero.io/v1 kind: Backup # ... spec: includedNamespaces: - <namespace> storageLocation: <backup_storage_location> defaultVolumesToFsBackup: true
apiVersion: velero.io/v1 kind: Backup # ... spec: includedNamespaces: - <namespace>
1 storageLocation: <backup_storage_location>
2 defaultVolumesToFsBackup: true
4.14.1.2. 2 つの BSL を使用する OADP ユースケース
このユースケースでは、2 つのクラウド認証情報を使用して、2 つの保存場所で DPA を設定します。デフォルトの BSL を使用して、データベースとともにアプリケーションをバックアップします。OADP は、バックアップリソースをデフォルトの BSL に保存します。その後、2 番目の BSL を使用してアプリケーションを再度バックアップします。
前提条件
- OADP Operator をインストールする。
- Backup Storage Location として、AWS S3 と Multicloud Object Gateway (MCG) の 2 つを設定する。
- Red Hat OpenShift クラスターにデータベースがデプロイされたアプリケーションがある。
手順
次のコマンドを実行して、AWS S3 ストレージプロバイダー用の最初の
Secret
をデフォルト名で作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=<aws_credentials_file_name>
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=<aws_credentials_file_name>
1 - 1
- AWS S3 のクラウド認証情報ファイルの名前を指定します。
次のコマンドを実行して、カスタム名を持つ MCG 用の 2 番目の
Secret
を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret generic mcg-secret -n openshift-adp --from-file cloud=<MCG_credentials_file_name>
$ oc create secret generic mcg-secret -n openshift-adp --from-file cloud=<MCG_credentials_file_name>
1 - 1
- MCG のクラウド認証情報ファイルの名前を指定します。
mcg-secret
カスタムシークレットの名前をメモします。
次の例に示すように、2 つの BSL を使用して DPA を設定します。
DPA の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: two-bsl-dpa namespace: openshift-adp spec: backupLocations: - name: aws velero: config: profile: default region: <region_name> credential: key: cloud name: cloud-credentials default: true objectStorage: bucket: <bucket_name> prefix: velero provider: aws - name: mcg velero: config: insecureSkipTLSVerify: "true" profile: noobaa region: <region_name> s3ForcePathStyle: "true" s3Url: <s3_url> credential: key: cloud name: mcg-secret objectStorage: bucket: <bucket_name_mcg> prefix: velero provider: aws configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - openshift - aws
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: two-bsl-dpa namespace: openshift-adp spec: backupLocations: - name: aws velero: config: profile: default region: <region_name>
1 credential: key: cloud name: cloud-credentials default: true objectStorage: bucket: <bucket_name>
2 prefix: velero provider: aws - name: mcg velero: config: insecureSkipTLSVerify: "true" profile: noobaa region: <region_name>
3 s3ForcePathStyle: "true" s3Url: <s3_url>
4 credential: key: cloud name: mcg-secret
5 objectStorage: bucket: <bucket_name_mcg>
6 prefix: velero provider: aws configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - openshift - aws
次のコマンドを実行して DPA を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f <dpa_file_name>
$ oc create -f <dpa_file_name>
1 - 1
- 設定した DPA のファイル名を指定します。
次のコマンドを実行して、DPA が調整されたことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get dpa -o yaml
$ oc get dpa -o yaml
次のコマンドを実行して、BSL が使用可能であることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get bsl
$ oc get bsl
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME PHASE LAST VALIDATED AGE DEFAULT aws Available 5s 3m28s true mcg Available 5s 3m28s
NAME PHASE LAST VALIDATED AGE DEFAULT aws Available 5s 3m28s true mcg Available 5s 3m28s
デフォルトの BSL を使用してバックアップ CR を作成します。
注記次の例では、バックアップ CR で
storageLocation
フィールドが指定されていません。バックアップ CR の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: velero.io/v1 kind: Backup metadata: name: test-backup1 namespace: openshift-adp spec: includedNamespaces: - <mysql_namespace> defaultVolumesToFsBackup: true
apiVersion: velero.io/v1 kind: Backup metadata: name: test-backup1 namespace: openshift-adp spec: includedNamespaces: - <mysql_namespace>
1 defaultVolumesToFsBackup: true
- 1
- クラスターにインストールされているアプリケーションの namespace を指定します。
次のコマンドを実行してバックアップを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <backup_file_name>
$ oc apply -f <backup_file_name>
1 - 1
- バックアップ CR ファイルの名前を指定します。
次のコマンドを実行して、デフォルトの BSL を使用したバックアップが完了したことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backups.velero.io <backup_name> -o yaml
$ oc get backups.velero.io <backup_name> -o yaml
1 - 1
- バックアップの名前を指定します。
MCG を BSL として使用してバックアップ CR を作成します。次の例では、2 番目の
storageLocation
値をバックアップ CR の作成時に指定していることに注意してください。バックアップ
CR
の例Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: velero.io/v1 kind: Backup metadata: name: test-backup1 namespace: openshift-adp spec: includedNamespaces: - <mysql_namespace> storageLocation: mcg defaultVolumesToFsBackup: true
apiVersion: velero.io/v1 kind: Backup metadata: name: test-backup1 namespace: openshift-adp spec: includedNamespaces: - <mysql_namespace>
1 storageLocation: mcg
2 defaultVolumesToFsBackup: true
次のコマンドを実行して、2 番目のバックアップを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f <backup_file_name>
$ oc apply -f <backup_file_name>
1 - 1
- バックアップ CR ファイルの名前を指定します。
次のコマンドを実行して、保存場所が MCG であるバックアップが完了したことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get backups.velero.io <backup_name> -o yaml
$ oc get backups.velero.io <backup_name> -o yaml
1 - 1
- バックアップの名前を指定します。
関連情報