×

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

  • 到不同的区域

  • 到不同的存储提供商

OADP 支持多个凭据以配置多个 BSL,以便您可以指定要与任何 BSL 一起使用的凭据。

使用多个 BSL 配置 DPA

您可以使用多个 BSL 配置 DPA 并指定云提供商提供的凭据。

先决条件
  • 您必须安装 OADP 运算符。

  • 您必须使用云提供商提供的凭据创建密钥。

步骤
  1. 使用多个 BSL 配置 DPA。请参阅以下示例。

    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)
    #...
    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
    1 指定要备份的命名空间。
    2 指定存储位置。

两个 BSL 的 OADP 使用案例

在此用例中,您使用两个云凭据配置 DPA,其中包含两个存储位置。您使用默认 BSL 备份具有数据库的应用程序。OADP 将备份资源存储在默认 BSL 中。然后,您可以使用第二个 BSL 再次备份应用程序。

先决条件
  • 您必须安装 OADP 运算符。

  • 您必须配置两个备份存储位置:AWS S3 和多云对象网关 (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)
    1 指定 AWS S3 的云凭据文件名称。
  2. 通过运行以下命令创建 MCG 的第二个具有自定义名称的Secret

    $ oc create secret generic mcg-secret -n openshift-adp --from-file cloud=<MCG_credentials_file_name> (1)
    1 指定 MCG 的云凭据文件名称。注意mcg-secret自定义密钥的名称。
  3. 按照以下示例配置具有两个 BSL 的 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
    1 指定存储桶的 AWS 区域。
    2 指定 AWS S3 存储桶名称。
    3 指定区域,遵循 MCG 文档的命名约定。
    4 指定 MCG 的 S3 端点的 URL。
    5 指定 MCG 存储的自定义密钥的名称。
    6 指定 MCG 存储桶名称。
  4. 通过运行以下命令创建 DPA:

    $ oc create -f <dpa_file_name> (1)
    1 指定您配置的 DPA 的文件名。
  5. 通过运行以下命令验证 DPA 是否已协调:

    $ oc get dpa -o yaml
  6. 通过运行以下命令验证 BSL 是否可用:

    $ oc get bsl
    示例输出
    NAME   PHASE       LAST VALIDATED   AGE     DEFAULT
    aws    Available   5s               3m28s   true
    mcg    Available   5s               3m28s
  7. 创建具有默认 BSL 的备份 CR。

    在以下示例中,备份 CR 中未指定storageLocation字段。

    备份 CR 示例
    apiVersion: velero.io/v1
    kind: Backup
    metadata:
      name: test-backup1
      namespace: openshift-adp
    spec:
      includedNamespaces:
      - <mysql_namespace> (1)
      defaultVolumesToFsBackup: true
    1 指定安装在集群中的应用程序的命名空间。
  8. 通过运行以下命令创建备份:

    $ oc apply -f <backup_file_name> (1)
    1 指定备份 CR 文件的名称。
  9. 通过运行以下命令验证备份是否已使用默认 BSL 完成:

    $ oc get backups.velero.io <backup_name> -o yaml (1)
    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
    1 指定安装在集群中的应用程序的命名空间。
    2 指定第二个存储位置。
  11. 通过运行以下命令创建第二个备份:

    $ oc apply -f <backup_file_name> (1)
    1 指定备份 CR 文件的名称。
  12. 通过运行以下命令验证备份是否已使用 MCG 作为存储位置完成:

    $ oc get backups.velero.io <backup_name> -o yaml (1)
    1 指定备份的名称。