本文介绍备份中心使用过程中一些常见问题的解决方法。
索引
Flexvolume集群migrate-controller组件无法正常拉起
migrate-controller组件不支持Flexvolume类型的集群。若需使用备份中心功能,您可以通过以下方式将Flexvolume插件迁移至CSI。
- 将无存储集群的Flexvolume迁移至CSI
- 将Flexvolume类型的NAS静态存储卷迁移至CSI
- 将Flexvolume类型的OSS静态存储卷迁移至CSI
- 其他情况,请加入钉钉用户群(钉钉群号:35532895)咨询。
备份、恢复或快照转换任务状态为Failed,且提示ack backup location status is not ok: XXX
问题现象
备份、恢复或快照转换任务状态为Failed,且提示ack backup location status is not ok: XXX。
问题原因
- OSS Bucket不存在。
- 集群OSS权限未配置。
- OSS Bucket网络访问不通。
解决方案
- 登录OSS管理控制台。确认备份仓库绑定的OSS Bucket已存在。若OSS Bucket缺失,请创建Bucket并重新绑定。具体操作,请参见控制台创建存储空间。
- 确认集群OSS权限已配置。
- ACK Pro版集群:无需配置OSS权限,确认集群备份仓库的名称以cnfs-oss-**命名。
- ACK专有版集群和注册集群:需配置OSS权限。具体操作,请参见安装备份服务组件并配置权限。
说明 备份仓库不支持同名重建,也不支持绑定非cnfs-oss-**命名的OSS Bucket。若您已绑定过非cnfs-oss-**命名的OSS Bucket,请重新创建非同名的备份仓库,并绑定符合命名的OSS Bucket。 - 确认集群相关网络配置。若集群和OSS Bucket不在同一Region,备份仓库将通过公网访问OSS Bucket。
备份、恢复或快照转换任务长期处于Inprogress状态
原因1:csdr命名空间中组件运行异常
确认组件运行状态,并查询组件异常原因。
- 执行以下命令,查询csdr命名空间中的组件是否出现重启或无法拉起的情况。
kubectl get pod -n csdr
- 执行以下命令,查询组件重启或无法拉起的原因。
kubectl describe pod <pod-name> -n csdr
- 若原因是OOM异常重启:
请执行以下命令,调整对应Deployment的Limit值。其中,
csdr-controller-***
对应<deploy-name>
为csdr-controller
;csdr-velero-***
对应<deploy-name>
为csdr-velero
。kubectl patch deploy <deploy-name> -p '{"spec":{"containers":{"resources":{"limits":"<new-limit-memory>"}}}}'
- 若原因是HBR权限未配置导致拉起失败:请参见以下步骤处理。
- 确认集群已开通HBR服务。
- 未开通:请开通HBR服务。具体操作,请参见混合云备份HBR。
- 已开通:请转下一步。
- 确认ACK专有版集群和注册集群已配置HBR权限。
- 未配置:请配置HBR权限。具体操作,请参见安装备份服务组件并配置权限。
- 已配置:请转下一步。
- 执行以下命令,确认HBR Client组件所需Token是否存在。
若Event报错提示couldnt find key HBR_TOKEN,表明Token缺失,请参见以下步骤处理。kubectl describe <hbr-client-***>
- 执行以下命令,查询对应
hbr-client-***
所在节点。kubectl get pod <hbr-client-***> -n csdr -owide
- 执行以下命令,将对应Node的
labels: csdr.alibabacloud.com/agent-enable
由true
修改为false
。kubectl label node <node-name> csdr.alibabacloud.com/agent-enable=false --overwrite
重要- 重新进行备份恢复时,将自动创建Token并拉起hbr-client。
- 将其他集群的Token拷贝到本集群,由此拉起的hbr-client不可用。您需要删除已拷贝的Token,以及由此Token拉起的
hbr-client-*** Pod
后,再执行上述步骤。
- 执行以下命令,查询对应
- 确认集群已开通HBR服务。
原因2:云盘数据备份时,集群快照权限未配置
若您对挂载云盘数据卷的应用使用数据备份功能时,长期处于Inprogress状态。请执行以下命令,查询集群新创建的VolumeSnapshot资源。
kubectl get volumesnapshot -n <backup-namespace>
部分预期输出:
NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT ...
<volumesnapshot-name> true <volumesnapshotcontent-name> ...
若所有的volumesnapshot
的READYTOUSE
长期处于false
状态,请参见如下步骤处理。
- 登录ECS管理控制台,确认是否已开启云盘快照服务。
- 未开启:请在对应地域开通云盘快照。具体操作,请参见开通快照。
- 已开启:请转下一步。
- 确认是否已配置云盘快照的使用权限。
- 登录容器服务管理控制台,在左侧导航栏单击集群。
- 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择集群信息。
- 在集群信息页面,单击集群资源页签,然后单击Master RAM角色右侧链接进入权限管理页面。
- 在权限策略列表,查看云盘快照权限是否正常。
- 若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" } ] }
- 若k8sMasterRolePolicy-Csi-***权限策略已存在,且已配置
- 权限配置完成后,若问题仍未解决,请提交工单处理。
控制台界面提示当前数据拉取失败,请刷新重试!404 page not found
问题现象
控制台界面提示当前数据拉取失败,请刷新重试!404 page not found。
问题原因
相关CRD部署失败。
解决方案
- 检查集群中的节点是否存在。若不存在,备份中心将无法部署。
- 确认集群是否使用Flexvolume存储插件。若集群使用Flexvolume存储插件,请将集群的Flexvolume插件迁移至CSI插件。具体操作,请参见Flexvolume集群migrate-controller组件无法正常拉起。
- 若您通过命令行工具使用备份中心,请检查相关YAML配置是否有误。具体操作,请参见通过命令行工具实现备份和恢复。
跨集群恢复应用时,出现初始化仓库提示,无法选择备份任务进行恢复
问题现象
跨集群恢复应用时,出现初始化仓库提示,无法选择备份任务进行恢复。
问题原因
由于您选择的备份仓库未与当前集群进行关联。初始化仓库操作会将备份仓库的基础信息(OSS Bucket)下发到当前集群中,然后将备份仓库中已成功备份完成的数据在集群中进行初始化。只有初始化操作完成后,才可以在当前集群中选择到该备份仓库中的备份数据进行恢复操作。
解决方案
在创建恢复任务页面,单击备份仓库右侧的初始化仓库,待备份仓库初始化完成后,再选择待恢复的任务。
如何修改备份仓库?
备份中心不支持备份仓库修改。备份仓库如需修改,只能删除后重建。
由于备份仓库是共用的,已创建的备份仓库随时可能处于备份或恢复状态。此时,修改任意一个参数,都可能导致备份或恢复应用时找不到数据。所以备份仓库不允许修改。
- 若确认备份仓库未被使用过,您可以通过先删除此备份仓库,然后再创建同名备份仓库的方式间接修改。
- 若备份仓库已进行过备份或恢复操作,则不允许修改,避免任务备份失败。