清理分布式存储
如果需要删除 rook-ceph 集群并重新部署新的集群,应按照本文档顺序清理分布式存储服务相关资源。
注意事项
在清理 rook-ceph 之前,确保所有使用 Ceph 存储的 PVC 和 PV 资源已被删除。
操作步骤
删除 VolumeSnapshotClasses
-
删除 VolumeSnapshotClasses。
-
验证 VolumeSnapshotClasses 是否已清理。
当这些命令无输出时,表示清理完成。
删除 StorageClasses
-
进入 管理员。
-
在左侧导航栏点击 存储管理 > 存储类。
-
点击 ⋮ > 删除,删除所有使用 Ceph 存储方案的 StorageClasses。
删除存储池
此步骤应在上一步完成后执行。
-
进入 管理员。
-
在左侧导航栏点击 存储管理 > 分布式存储。
-
在 存储池区域,点击 ⋮ > 删除,逐个删除所有存储池。当存储池区域显示 无存储池 时,表示存储池已成功删除。
-
(可选)如果集群模式为 Extended,还需在集群的主节点执行以下命令删除创建的内置存储池。
响应:
删除 ceph-cluster
此步骤应在上一步完成后执行。
-
更新 ceph-cluster 并启用清理策略。
-
删除 ceph-cluster。
-
删除执行清理的 jobs。
-
验证 ceph-cluster 清理是否完成。
当该命令无输出时,表示清理完成。
删除 rook-operator
此步骤应在上一步完成后执行。
-
删除 rook-operator。
-
验证 rook-operator 清理是否完成。
当该命令无输出时,表示清理完成。
-
验证所有 ConfigMaps 是否已清理。
当该命令无输出时,表示清理完成。如有输出结果,执行以下命令清理,替换
<configmap>为实际输出。 -
验证所有 Secrets 是否已清理。
当该命令无输出时,表示清理完成。如有输出结果,执行以下命令清理,替换
<secret>为实际输出。 -
验证 rook-ceph 清理是否完成。
当该命令无输出时,表示清理完成。
执行清理脚本
完成上述步骤后,表示 Kubernetes 和 Ceph 相关资源已清理。接下来需要清理宿主机上 rook-ceph 的残留。
清理脚本
清理脚本 clean-rook.sh 内容如下:
点击查看
注意事项
清理脚本依赖 sgdisk 命令,请确保执行清理脚本前已安装。
- Ubuntu 安装命令:
sudo apt install gdisk - RedHat 或 CentOS 安装命令:
sudo yum install gdisk
操作步骤
-
在业务集群中部署分布式存储的每台机器上执行清理脚本 clean-rook.sh。
示例:
sh clean-rook.sh /dev/vdb执行时会提示确认是否真的清理该设备,确认后输入 yes 开始清理。
-
使用
lsblk -f命令查看分区信息。当该命令输出中FSTYPE列为空时,表示清理完成。