kevendeng 安装欲使用的新存储系统及其CSI驱动/SC等资源 将所有使用了PVC的Pod删除(将对应Deployment/StatefulSet工作负载的副本数scale到0。为防止副本数被刷新,可先将ks-installer的副本数scale到0,停止其运行) 等待对应的所有PVC都被卸载后,删除它们 重新创建所有PVC对象 将工作负载副本数scale回到初始值,使它们挂载使用新创建的PVC 注意:此操作会导致KS集群的持久化数据清空(不会清空CRD相关的API资源如用户/企业空间/项目等),若想保留数据,可在删除PVC前手动或使用 CDI 等数据导入工具迁移数据,或将NFS对应SC的.parameters.onDelete修改为retain,保留删除PVC/PV后NFS服务器上的数据,并将数据导入对应的新PVC。
willqy kevendeng 话说第四步,如何重新创建所有PVC对象? 看到基杨这篇文章讲的比较详细:https://blog.csdn.net/alex_yangchuansheng/article/details/125353620 不过整个过程还是相当复杂的,有没有更简单的办法呢?比如放弃原有数据的情况下快速更换后端存储。
kevendeng willqy 最简单(但编辑的工作量也不小)的方式:kubectl get pvc -A -o yaml,保存后切换存储,删掉一些元数据,重新创建 基于velero迁移也是个不错的方法,但是要注意别迁移实际的数据,不然也会比较慢。