清理分布式存储
如果需要删除 rook-ceph 集群并重新部署一个新集群,请按照本文档依次清理分布式存储服务相关资源。
注意事项
清理 rook-ceph 前,请确保已删除所有使用 Ceph 存储的 PVC 和 PV 资源。
操作步骤
删除 VolumeSnapshotClasses
-
删除 VolumeSnapshotClasses。
-
验证 VolumeSnapshotClasses 是否已清理。
当这些命令没有输出时,表示清理完成。
删除 StorageClasses
-
转到 管理员。
-
在左侧导航栏中,点击 存储管理 > 存储类。
-
点击 ⋮ > 删除,删除所有使用 Ceph 存储解决方案的 StorageClasses。
删除存储池
此步骤应在完成上一步后执行。
-
转到 管理员。
-
在左侧导航栏中,点击 存储管理 > 分布式存储。
-
在存储池区域中,点击 ⋮ > 删除,逐个删除所有存储池。当存储池区域显示 无存储池 时,表示存储池已成功删除。
-
(可选)如果集群模式为 Extended,还需要在集群的一个控制平面节点上执行以下命令,以删除已创建的内置存储池。
响应:
删除 ceph-cluster
此步骤应在完成上一步后执行。
-
更新 ceph-cluster 并启用清理策略。
-
删除 ceph-cluster。
-
删除执行清理的作业。
-
验证 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列为空时,表示清理完成。