清理分布式存储
如果需要删除 rook-ceph 集群并重新部署新的集群,应按照本文档依次清理分布式存储服务相关资源。
目录
注意事项
在清理 rook-ceph 之前,请确保所有使用 Ceph 存储的 PVC 和 PV 资源已被删除。
操作步骤
删除 VolumeSnapshotClasses
-
删除 VolumeSnapshotClasses。
-
验证 VolumeSnapshotClasses 是否已清理。
当这些命令无输出时,表示清理完成。
删除 StorageClasses
-
进入 Administrator。
-
在左侧导航栏点击 Storage Management > Storage Classes。
-
点击 ⋮ > Delete,删除所有使用 Ceph 存储方案的 StorageClasses。
删除存储池
此步骤应在完成上一步后执行。
-
进入 Administrator。
-
在左侧导航栏点击 Storage Management > Distributed Storage。
-
在 Storage Pool Area,点击 ⋮ > Delete,逐个删除所有存储池。当存储池区域显示 No Storage Pools 时,表示存储池已成功删除。
-
(可选)如果集群模式为 Extended,还需在集群的 Master 节点执行以下命令,删除创建的内置存储池。
响应:
删除 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列为空时,表示清理完成。