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

索引

说明 若您通过命令行工具使用备份中心,问题排查前,建议您先将备份服务组件migrate-controller升级至最新版本。组件升级不会影响已有的备份。

Flexvolume集群migrate-controller组件无法正常拉起

migrate-controller组件不支持Flexvolume类型的集群。若需使用备份中心功能,您可以通过以下方式将Flexvolume插件迁移至CSI。

备份、恢复或快照转换任务状态为Failed,且提示ack backup location status is not ok: XXX

问题现象

备份、恢复或快照转换任务状态为Failed,且提示ack backup location status is not ok: XXX

问题原因

  • OSS Bucket不存在。
  • 集群OSS权限未配置。
  • OSS Bucket网络访问不通。

解决方案

  1. 登录OSS管理控制台。确认备份仓库绑定的OSS Bucket已存在。
    若OSS Bucket缺失,请创建Bucket并重新绑定。具体操作,请参见控制台创建存储空间
  2. 确认集群OSS权限已配置。
    • ACK Pro版集群:无需配置OSS权限,确认集群备份仓库的名称以cnfs-oss-**命名。
    • ACK专有版集群和注册集群:需配置OSS权限。具体操作,请参见安装备份服务组件并配置权限
    说明 备份仓库不支持同名重建,也不支持绑定非cnfs-oss-**命名的OSS Bucket。若您已绑定过非cnfs-oss-**命名的OSS Bucket,请重新创建非同名的备份仓库,并绑定符合命名的OSS Bucket。
  3. 确认集群相关网络配置。若集群和OSS Bucket不在同一Region,备份仓库将通过公网访问OSS Bucket。

备份、恢复或快照转换任务长期处于Inprogress状态

原因1:csdr命名空间中组件运行异常

确认组件运行状态,并查询组件异常原因。

  1. 执行以下命令,查询csdr命名空间中的组件是否出现重启或无法拉起的情况。
    kubectl get pod -n csdr
  2. 执行以下命令,查询组件重启或无法拉起的原因。
    kubectl describe pod <pod-name> -n csdr
  • 若原因是OOM异常重启

    请执行以下命令,调整对应Deployment的Limit值。其中,csdr-controller-***对应<deploy-name>csdr-controllercsdr-velero-***对应<deploy-name>csdr-velero

    kubectl patch deploy  <deploy-name> -p '{"spec":{"containers":{"resources":{"limits":"<new-limit-memory>"}}}}'
  • 若原因是HBR权限未配置导致拉起失败:请参见以下步骤处理。
    1. 确认集群已开通HBR服务。
      • 未开通:请开通HBR服务。具体操作,请参见混合云备份HBR
      • 已开通:请转下一步。
    2. 确认ACK专有版集群和注册集群已配置HBR权限。
    3. 执行以下命令,确认HBR Client组件所需Token是否存在。
      kubectl describe <hbr-client-***>
      若Event报错提示couldnt find key HBR_TOKEN,表明Token缺失,请参见以下步骤处理。
      1. 执行以下命令,查询对应hbr-client-***所在节点。
        kubectl get pod <hbr-client-***> -n csdr -owide
      2. 执行以下命令,将对应Node的labels: csdr.alibabacloud.com/agent-enabletrue修改为false
        kubectl label node <node-name> csdr.alibabacloud.com/agent-enable=false --overwrite
        重要
        • 重新进行备份恢复时,将自动创建Token并拉起hbr-client。
        • 将其他集群的Token拷贝到本集群,由此拉起的hbr-client不可用。您需要删除已拷贝的Token,以及由此Token拉起的hbr-client-*** Pod后,再执行上述步骤。

原因2:云盘数据备份时,集群快照权限未配置

若您对挂载云盘数据卷的应用使用数据备份功能时,长期处于Inprogress状态。请执行以下命令,查询集群新创建的VolumeSnapshot资源。

kubectl get volumesnapshot -n <backup-namespace>

部分预期输出:

NAME                    READYTOUSE      SOURCEPVC         SOURCESNAPSHOTCONTENT         ...
<volumesnapshot-name>   true                              <volumesnapshotcontent-name>  ...

若所有的volumesnapshotREADYTOUSE长期处于false状态,请参见如下步骤处理。

  1. 登录ECS管理控制台,确认是否已开启云盘快照服务。
    • 未开启:请在对应地域开通云盘快照。具体操作,请参见开通快照
    • 已开启:请转下一步。
  2. 确认是否已配置云盘快照的使用权限。
    1. 登录容器服务管理控制台,在左侧导航栏单击集群
    2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择集群信息
    3. 集群信息页面,单击集群资源页签,然后单击Master RAM角色右侧链接进入权限管理页面。
    4. 权限策略列表,查看云盘快照权限是否正常。
      • k8sMasterRolePolicy-Csi-***权限策略已存在,且已配置k8sMasterRolePolicy-Csi-***k8sMasterRolePolicy-Csi-***权限,表明云盘快照权限正常。请提交工单处理。
      • k8sMasterRolePolicy-Csi-***权限策略缺失,请为Master RAM角色授予如下云盘快照权限策略。具体操作,请参见创建自定义权限策略为RAM角色授权
        {
            "Version": "1",
            "Statement": [
                {
                    "Action": [
                        "ecs:DescribeDisks",
                        "ecs:DescribeInstances",
                        "ecs:DescribeAvailableResource",
                        "ecs:DescribeInstanceTypes",
                        "nas:DescribeFileSystems",
                        "ecs:AttachDisk",
                        "ecs:CreateDisk",
                        "ecs:CreateSnapshot",
                        "ecs:DeleteDisk",
                        "ecs:DeleteSnapshot",
                        "ecs:DetachDisk"
                    ],
                    "Resource": [
                        "*"
                    ],
                    "Effect": "Allow"
                }
            ]
        }
    5. 权限配置完成后,若问题仍未解决,请提交工单处理。

控制台界面提示当前数据拉取失败,请刷新重试!404 page not found

问题现象

控制台界面提示当前数据拉取失败,请刷新重试!404 page not found

问题原因

相关CRD部署失败。

解决方案

跨集群恢复应用时,出现初始化仓库提示,无法选择备份任务进行恢复

问题现象

跨集群恢复应用时,出现初始化仓库提示,无法选择备份任务进行恢复。

问题原因

由于您选择的备份仓库未与当前集群进行关联。初始化仓库操作会将备份仓库的基础信息(OSS Bucket)下发到当前集群中,然后将备份仓库中已成功备份完成的数据在集群中进行初始化。只有初始化操作完成后,才可以在当前集群中选择到该备份仓库中的备份数据进行恢复操作。

解决方案

创建恢复任务页面,单击备份仓库右侧的初始化仓库,待备份仓库初始化完成后,再选择待恢复的任务。

如何修改备份仓库?

备份中心不支持备份仓库修改。备份仓库如需修改,只能删除后重建。

由于备份仓库是共用的,已创建的备份仓库随时可能处于备份恢复状态。此时,修改任意一个参数,都可能导致备份或恢复应用时找不到数据。所以备份仓库不允许修改。

重要
  • 若确认备份仓库未被使用过,您可以通过先删除此备份仓库,然后再创建同名备份仓库的方式间接修改。
  • 若备份仓库已进行过备份或恢复操作,则不允许修改,避免任务备份失败。