使用 Velero 备份和恢复 TopoLVM 文件系统 PVC
Velero 支持对 TopoLVM 文件系统的 Persistent Volume Claims(PVC)和 Persistent Volumes(PV)进行备份和恢复。此功能已集成到平台中。
本指南专门针对 TopoLVM 文件系统的 PVC。
前提条件
- 通过 Marketplace/Cluster Plugins 部署“Alauda Container Platform Data Backup for Velero”。
- 为 Velero 的
BackupStorageLocation配置一个兼容 S3 的存储。可使用平台提供的 Ceph 或 MinIO 对象存储。
限制
- S3 存储必须有足够的剩余空间以存储目标集群中所有 PV 的数据。
- 恢复时,命名空间配额和存储类必须支持所有 PVC 的总容量。
操作步骤
第 1 步:配置备份仓库
- 确保已有兼容 S3 的存储可用。
- 进入 管理员 > 集群管理 > 备份与恢复 > 备份仓库。
- 使用对象存储的凭据创建备份仓库。
第 2 步:执行备份
-
给需要备份的 PVC 和相关 Pod 添加标签:
Velero 需要一个 Pod 来恢复文件系统 PVC。该 Pod 挂载 PVC,Velero 通过它导入数据;如果没有 Pod,PVC 会一直处于 Pending 状态。对于复杂应用,建议暂停应用,将 PVC 挂载到轻量级 Pod(如 Nginx)上进行备份/恢复,恢复完成后再恢复原应用配置。
-
进入 备份与恢复,创建新的备份任务:
-
选择 备份 Kubernetes 资源和 PVC 数据卷。
-
选择包含需要备份数据的命名空间。
-
按照以下配置设置备份:
-
-
备份完成后,验证 S3 存储桶(如 MinIO)中的数据:
示例输出:
第 3 步:恢复集群
- 在目标集群中配置与备份时相同的 S3 存储桶,Velero 会自动识别已有备份。
- 进入 备份与恢复,创建恢复任务:
- 选择需要恢复的命名空间。
- 在高级配置中,如有需要,将原命名空间映射到目标命名空间。
- 执行恢复操作。
- 恢复完成后,确认:
- PVC 名称与原集群一致。
- PVC 中的应用数据完整且可访问。