本文介绍备份中心使用过程中的一些常见问题的解决方法。

授权问题

当您备份任务的YMAL出现错误提示backup location is not ok时,则需要您对OSS进行授权或创建特定类型的OSS Bucket。因为备份中心依赖您的OSS资源,需要访问OSS的权限。

ACK托管集群

  • 如果您使用的是ACK托管集群,备份组件默认使用系统权限,可以访问名称为cnfs-oss-开头的Bucket。例如cnfs-oss-backup的Bucket,备份组件默认有使用权限。所以需要提前创建cnfs-oss-****名称的Bucket,便于权限最小化管理及存储备份的模板。
  • 如果您使用的是ACK托管集群,并且想要使用非cnfs-oss-开头的Bucket,则需要进行如下操作:
    1. 在集群信息页面单击集群资源页签,进入Worker RAM 角色页面,为Worker RAM 角色授权OSS访问权限。
    2. 执行kubectl -n csdr edit deploy csdr-velero命令,将其中的USE_ADDON_TOKEN修改为false
    3. 执行kubectl -n csdr edit deploy csdr-controller命令,将其中的USE_ADDON_TOKEN修改为false

ACK专有集群

如果您使用的是ACK专有集群,就需要为集群的Worker RAM角色授权。具体操作,请参见(可选)步骤二:为专有版集群配置OSS权限

PV数据备份支持哪些类型?

如果您使用的是ACK托管集群和ACK专有集群,PV数据备份可支持云盘类型存储(通过快照备份)和文件系统类型(通过HBR来备份)。

如何开启数据备份?

满足以下条件后,只需在创建备份任务时,在创建备份计划面板上选中备份存储卷,默认为您进行数据备份。具体操作,请参见步骤二:创建备份任务

  • 如果您需要使用云盘快照备份数据,集群Kubernetes版本要大于等于1.18,并需要将CSI组件升级到最新版本,升级具体操作,请参见安装与升级CSI组件
  • 如果您的存储卷不是云盘且需要备份数据,则需要登录混合云备份 HBR控制台开通服务。

如何删除备份仓库?

当前全局备份仓库只能通过OpenAPI进行删除。

  1. 登录OpenAPI平台,通过Describe Templates查询编排模板。
  2. template_type 模板类型中输入csdr-location,调用获取该模板ID和Name。
  3. OpenAPI平台删除编排模板界面,输入2获取的模板ID,删除模板。
  4. 执行如下命令,删除备份仓库对象。
    kubectl -n csdr delete backuplocation xxx
    说明 其中xxx代表2返回的模板Name。

如何在K8s集群中手动创建备份仓库对象?

  1. 使用以下内容创建backuplocation.yaml文件。
    apiVersion: csdr.alibabacloud.com/v1beta1
    kind: BackupLocation
    metadata:
      name: csdr-backup
      namespace: csdr
    spec:
      config:
        region: cn-huhehaote
        network: internal
      objectStorage:
        bucket: cnfs-oss-huhehaote
        prefix: yufa-zhuanyou
      provider: alibabacloud
    字段名称 含义 是否可选
    metadata.name 备份仓库的名称。 必选
    metadata.namespace 备份仓库的命名空间,必须使用csdr 必选
    sepc.config.region OSS Bucket所在region。 必选
    spec.config.network 访问OSS的网络类型。其中internal代表走私网,public代表走公网。 可选
    spec.objectStorage.bucket OSS Bucket的名称。 必选
    spec.objectStorage.prefix OSS Bucket的子目录,请使用小写字符串。 可选(建议填写)
    spec.provider 固定字符串为alibabacoud 必选
  2. 执行以下命令,创建备份仓库对象。
    kubectl apply -f backuplocation.yaml
  3. 执行以下命令,验证备份仓库对象是否创建成功。
    kubectl -n csdr get backuplocation.yaml

    预期输出:

    apiVersion: csdr.alibabacloud.com/v1beta1
    kind: BackupLocation
    metadata:
      creationTimestamp: "2021-12-31T07:58:58Z"
      generation: 1
      labels:
        alibabacloud-csdr-cluster-id: cc-000amjsc7o1h9506****
        alibabacloud-csdr-vault: v-000idkfd2o7nbnxz92yd
      name: ack-dr-sub
      namespace: csdr
      resourceVersion: "4699828"
      uid: 302bc74b-ec85-4b77-b4c3-5ceac646e****
    spec:
      config:
        network: public
        region: cn-shenzhen
      objectStorage:
        bucket: cnfs-oss-shenzhen
        prefix: ack-dr-sub
      provider: alibabacloud
    status:
      lastSyncedTime: "2022-01-05T05:59:09Z"
      lastValidationTime: "2022-01-05T05:59:09Z"
      message: backup location is ok
      phase: Available
    说明 查看status.phase的值是Available,说明备份仓库对象创建成功。