4.14. 使用多个备份存储位置配置 OADP
4.14.1. 为带有多个备份存储位置的数据保护(OADP)配置 OpenShift API 复制链接链接已复制到粘贴板!
您可以在数据保护应用程序(DPA)中配置一个或多个备份存储位置(BSL)。在创建备份时,您还可以选择要将备份存储到的位置。使用这个配置,您可以使用以下方法存储备份:
- 到不同的区域
- 到不同的存储供应商
OADP 支持配置多个凭证来配置多个 BSL,以便您可以指定与任何 BSL 搭配使用的凭证。
4.14.1.1. 使用多个 BSL 配置 DPA 复制链接链接已复制到粘贴板!
您可以使用多个 BSL 配置 DPA,并指定云供应商提供的凭证。
先决条件
- 您必须安装 OADP Operator。
- 您必须使用云供应商提供的凭证创建 secret。
流程
使用多个 BSL 配置 DPA。请参见以下示例。
DPA 示例
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication #... backupLocations: - name: aws1 velero: provider: aws default: true2 objectStorage: bucket: <bucket_name>3 prefix: <prefix>4 config: region: <region_name>5 profile: "default" credential: key: cloud name: cloud-credentials6 - name: odf7 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 #...指定要在备份 CR 中使用的 BSL。请参见以下示例。
备份 CR 示例
apiVersion: velero.io/v1 kind: Backup # ... spec: includedNamespaces: - <namespace>1 storageLocation: <backup_storage_location>2 defaultVolumesToFsBackup: true
4.14.1.2. 两个 BSLs 的 OADP 用例 复制链接链接已复制到粘贴板!
在这种情况下,您可以使用两个云凭证配置有两个存储位置的 DPA。您可以使用默认 BSL 备份带有数据库的应用程序。OADP 将备份资源存储在默认的 BSL 中。然后,您可以使用第二个 BSL 再次备份应用程序。
先决条件
- 您必须安装 OADP Operator。
- 您必须配置两个备份存储位置:AWS S3 和 Multicloud Object Gateway (MCG)。
- 您必须具有一个应用程序,其数据库部署在 Red Hat OpenShift 集群中。
流程
运行以下命令,使用默认名称为 AWS S3 存储供应商创建第一个
Secret:$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=<aws_credentials_file_name>1 - 1
- 指定 AWS S3 的云凭证文件的名称。
运行以下命令,使用自定义名称为 MCG 创建第二个
Secret:$ oc create secret generic mcg-secret -n openshift-adp --from-file cloud=<MCG_credentials_file_name>1 - 1
- 指定 MCG 的云凭据文件的名称。记录
mcg-secret自定义 secret 的名称。
使用两个 BSLs 配置 DPA,如下例所示。
DPA 示例
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-secret5 objectStorage: bucket: <bucket_name_mcg>6 prefix: velero provider: aws configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - openshift - aws运行以下命令来创建 DPA:
$ oc create -f <dpa_file_name>1 - 1
- 指定您配置的 DPA 的文件名。
运行以下命令验证 DPA 是否已协调:
$ oc get dpa -o yaml运行以下命令验证 BSLs 是否可用:
$ oc get bsl输出示例
NAME PHASE LAST VALIDATED AGE DEFAULT aws Available 5s 3m28s true mcg Available 5s 3m28s使用默认 BSL 创建备份 CR。
注意在以下示例中,在 backup CR 中没有指定
storageLocation字段。备份 CR 示例
apiVersion: velero.io/v1 kind: Backup metadata: name: test-backup1 namespace: openshift-adp spec: includedNamespaces: - <mysql_namespace>1 defaultVolumesToFsBackup: true- 1
- 指定集群中安装的应用程序的命名空间。
运行以下命令来创建备份:
$ oc apply -f <backup_file_name>1 - 1
- 指定备份 CR 文件的名称。
运行以下命令,验证使用默认 BSL 的备份是否完成:
$ oc get backups.velero.io <backup_name> -o yaml1 - 1
- 指定备份的名称。
使用 MCG 作为 BSL 创建备份 CR。在以下示例中,请注意,在创建备份 CR 时指定了第二个
storageLocation值。备份
CR示例apiVersion: velero.io/v1 kind: Backup metadata: name: test-backup1 namespace: openshift-adp spec: includedNamespaces: - <mysql_namespace>1 storageLocation: mcg2 defaultVolumesToFsBackup: true运行以下命令来创建第二个备份:
$ oc apply -f <backup_file_name>1 - 1
- 指定备份 CR 文件的名称。
运行以下命令,验证备份是否以 MCG 用户身份完成:
$ oc get backups.velero.io <backup_name> -o yaml1 - 1
- 指定备份的名称。