OADP 在线恢复失败,因为 PVC 处于非活动状态 Bound

使用该 OADP 实用程序恢复在线备份失败,因为在恢复过程中PVCs未处于状态 Bound

故障现象

在Velero日志文件中,您会看到类似以下示例的错误消息:

time="<timestamp>" level=error msg="err patching dynamic PV using volume info" error="fail to patch dynamic PV, err: context deadline exceeded, 
PVC: <PVC_name>, PV: pvc-dfd0843f-4b3e-453c-b4c2-32dedc6011ed" error.file="/remote-source/velero/app/pkg/controller/restore_finalizer_controller.go:376" 
error.function="github.com/vmware-tanzu/velero/pkg/controller.(*finalizerContext).patchDynamicPVWithVolumeInfo.func1" logSource="/remote-source/velero/app/pkg/controller/restore_finalizer_controller.go:376" restore=oadp-operator/cpd-tenant-vol-r-44d6112d-e239-11ef-be44-22220a112191

环境

此问题发生在存储 OpenShift® Data FoundationIBM® Software Hub 部署时, CephFS 当PVCs较大或包含大量文件时。

诊断问题

通过运行以下命令查看Velero日志文件中的错误:

oc logs -n ${OADP_OPERATOR_PROJECT} $(oc get po -n ${OADP_OPERATOR_PROJECT} -l deploy=velero --no-headers | awk  '{print $1}' | head -1) | grep level=error

解决问题

在恢复过程中,通过更新 (DPA) 自定义 DataProtectionApplication 资源中的参数 resourceTimeoutBound 默认值为 60 分钟)来延长等待 PVC 进入状态的时间。 运行以下命令:

oc patch dpa <dpa_name> -n ${OADP_OPERATOR_PROJECT} --type merge -p '{"spec": {"configuration": {"velero": {"resourceTimeout": "120m"}}}}'

更新数据保护协议后, 清理集群 ,然后重新尝试恢复。