4.14. 使用多个备份存储位置配置 OADP


您可以在数据保护应用程序(DPA)中配置一个或多个备份存储位置(BSL)。在创建备份时,您还可以选择要将备份存储到的位置。使用这个配置,您可以使用以下方法存储备份:

  • 到不同的区域
  • 到不同的存储供应商

OADP 支持配置多个凭证来配置多个 BSL,以便您可以指定与任何 BSL 搭配使用的凭证。

4.14.1.1. 使用多个 BSL 配置 DPA

您可以使用多个 BackupStorageLocation (BSL) CR 配置 DataProtectionApplication (DPA) 自定义资源 (CR),并指定云供应商提供的凭证。

例如,在配置了以下两个 BSLs 时:

  • 在 DPA 中配置了一个 BSL,并将它设置为默认的 BSL。
  • 使用 BackupStorageLocation CR 独立创建另一个 BSL。

因为您已通过 DPA 创建 BSL 作为默认值,您无法再次设置独立创建的 BSL 作为默认值。这意味着,在任何给定时间,您只能将一个 BSL 设置为默认的 BSL。

先决条件

  • 您必须安装 OADP Operator。
  • 您必须使用云供应商提供的凭证创建 secret。

流程

  1. 使用多个 BackupStorageLocation CR 配置 DataProtectionApplication CR。请参见以下示例:

    DPA 示例

    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
    
    #...
    Copy to Clipboard Toggle word wrap

    1
    为第一个 BSL 指定名称。
    2
    此参数表示此 BSL 是默认的 BSL。如果没有在 Backup CR 中设置 BSL,则会使用默认的 BSL。您只能将一个 BSL 设置为默认值。
    3
    指定存储桶名称。
    4
    为 Velero 备份指定一个前缀,如 velero
    5
    指定存储桶的 AWS 区域。
    6
    指定您创建的默认 Secret 对象的名称。
    7
    为第二个 BSL 指定名称。
    8
    指定 S3 端点的 URL。
    9
    Secret 指定正确的名称;例如,custom_secret_name_odf。如果没有指定 Secret 名称,则使用默认名称。
  2. 指定要在备份 CR 中使用的 BSL。请参见以下示例。

    备份 CR 示例

    apiVersion: velero.io/v1
    kind: Backup
    # ...
    spec:
      includedNamespaces:
      - <namespace> 
    1
    
      storageLocation: <backup_storage_location> 
    2
    
      defaultVolumesToFsBackup: true
    Copy to Clipboard Toggle word wrap

    1
    指定要备份的命名空间。
    2
    指定存储位置。

4.14.1.2. 两个 BSLs 的 OADP 用例

在这种情况下,您可以使用两个云凭证配置有两个存储位置的 DPA。您可以使用默认 BSL 备份带有数据库的应用程序。OADP 将备份资源存储在默认的 BSL 中。然后,您可以使用第二个 BSL 再次备份应用程序。

先决条件

  • 您必须安装 OADP Operator。
  • 您必须配置两个备份存储位置:AWS S3 和 Multicloud Object Gateway (MCG)。
  • 您必须具有一个应用程序,其数据库部署在 Red Hat OpenShift 集群中。

流程

  1. 运行以下命令,使用默认名称为 AWS S3 存储供应商创建第一个 Secret

    $ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=<aws_credentials_file_name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    指定 AWS S3 的云凭证文件的名称。
  2. 运行以下命令,使用自定义名称为 MCG 创建第二个 Secret

    $ oc create secret generic mcg-secret -n openshift-adp --from-file cloud=<MCG_credentials_file_name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    指定 MCG 的云凭据文件的名称。记录 mcg-secret 自定义 secret 的名称。
  3. 使用两个 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-secret 
    5
    
          objectStorage:
            bucket: <bucket_name_mcg> 
    6
    
            prefix: velero
          provider: aws
      configuration:
        nodeAgent:
          enable: true
          uploaderType: kopia
        velero:
          defaultPlugins:
          - openshift
          - aws
    Copy to Clipboard Toggle word wrap

    1
    指定存储桶的 AWS 区域。
    2
    指定 AWS S3 存储桶名称。
    3
    根据 MCG 文档的命名约定,指定区域。
    4
    指定 MCG 的 S3 端点的 URL。
    5
    指定 MCG 存储的自定义 secret 的名称。
    6
    指定 MCG 存储桶名称。
  4. 运行以下命令来创建 DPA:

    $ oc create -f <dpa_file_name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    指定您配置的 DPA 的文件名。
  5. 运行以下命令验证 DPA 是否已协调:

    $ oc get dpa -o yaml
    Copy to Clipboard Toggle word wrap
  6. 运行以下命令验证 BSLs 是否可用:

    $ oc get bsl
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME   PHASE       LAST VALIDATED   AGE     DEFAULT
    aws    Available   5s               3m28s   true
    mcg    Available   5s               3m28s
    Copy to Clipboard Toggle word wrap

  7. 使用默认 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
    Copy to Clipboard Toggle word wrap

    1
    指定集群中安装的应用程序的命名空间。
  8. 运行以下命令来创建备份:

    $ oc apply -f <backup_file_name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    指定备份 CR 文件的名称。
  9. 运行以下命令,验证使用默认 BSL 的备份是否完成:

    $ oc get backups.velero.io <backup_name> -o yaml 
    1
    Copy to Clipboard Toggle word wrap
    1
    指定备份的名称。
  10. 使用 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: mcg 
    2
    
      defaultVolumesToFsBackup: true
    Copy to Clipboard Toggle word wrap

    1
    指定集群中安装的应用程序的命名空间。
    2
    指定第二个存储位置。
  11. 运行以下命令来创建第二个备份:

    $ oc apply -f <backup_file_name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    指定备份 CR 文件的名称。
  12. 运行以下命令,验证备份是否以 MCG 用户身份完成:

    $ oc get backups.velero.io <backup_name> -o yaml 
    1
    Copy to Clipboard Toggle word wrap
    1
    指定备份的名称。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat