Trident Protect 备份失败,storagePrefix 更改后找不到 qtree
适用于
- NetApp Trident Protect
- NetApp Trident
问题
使用 ontap-nas-economy 驱动程序配置的持久卷声明 (PVC) 的 Trident Protect 备份失败
警告 ProvisioningFailed ……在后端 <backend-name> 上创建克隆卷 pvc-<uuid> 失败:无法找到 qtree trident_pvc_<uuid>
- 备份 PVC 保持在
Pending - 应用程序备份失败,错误如下:
PVC is not bound within the specified timeout- VolumeSnapshot 对同一源 PVC 的创建仍然可以成功。
- 在某些环境中,操作员在相关备份或快照活动期间也会看到存储快照限制错误:
Failed to create Snapshot copy ... Reason: cannot exceed maximum number of snapshot copies, code: 135原因
|
警告
|
storagePrefix 在应用程序 PVC 已配置完成后,在现有 Trident 后端上进行了更改。
重现问题的步骤:
- 已创建后端并设置了
storagePrefix(例如,dev) - 已配置应用程序 PVC;已使用该前缀创建 qtree 和 economy 池 FlexVols
- 稍后通过修补
TridentBackend自定义资源并重启 Trident 控制器来更改storagePrefix(例如,更改为trident)
解决方案
使用以下支持的选项之一。
- 当需要其他前缀时首选
- 使用所需的
storagePrefix创建新的 Trident 后端 - 将工作负载迁移到该后端
- 重新测试受影响应用程序的 Trident Protect 备份
- 如果在不受支持的更改后未创建新卷
- 将
storagePrefix恢复为配置现有 qtree 时使用的原始值 - 如果在使用中的部署方法中重新加载后端需要,请重新启动或滚动 Trident 控制器
- 重新测试 Trident Protect 备份
合作伙伴备注
合作伙伴备注文本
追加信息
- 产品文档说明,
storagePrefix在设置后无法更新。现有的 qtree 和池 FlexVols 保留原始命名,在前缀更改时不会重命名。后端配置选项 - Trident Protect Kopia 备份会创建临时只读克隆 PVC。在克隆配置期间,Trident 使用当前后端前缀和相应的经济池 FlexVol 名称模式查找源 qtree。在不支持的前缀更改后,Trident 在新前缀下搜索,而源 qtree 仍存在于使用原始前缀创建的池下。查找失败,错误为
could not find qtree。 tridentctl update backend拒绝storagePrefix更改。修补TridentBackend可以绕过该验证,但这不是更改已有卷的后端前缀的受支持方式。- VolumeSnapshots 可以继续正常工作,因为它们使用现有的源卷元数据,不依赖于只读克隆路径所使用的 FlexVol 池查找。
- 具有不同 storagePrefix 的 Trident 后端是否会在不同卷中创建 qtree
内部参考
内部参考文本