3.23. 清除 Ceph 存储集群
清除 Ceph 存储集群会清除服务器上以前部署中剩余的任何数据或连接。对于 Red Hat Enterprise Linux 8,这个 Ansible 脚本会从存储集群中的所有主机中删除属于 FSID 的所有守护进程、日志和数据。对于 Red Hat Enterprise Linux 9,使用 cephadm rm-cluster
命令,因为不支持 Ansible。
对于 Red Hat Enterprise Linux 8
Ansible 清单文件列出集群中的所有主机,以及每个主机在 Ceph 存储集群中扮演的角色。清单文件的默认位置为 /usr/share/cephadm-ansible/hosts
,但该文件可以放在任何位置。
只有存储群集中的所有主机上都安装了 cephadm
二进制文件,此过程才能发挥作用。
以下示例显示了清单文件的结构:
示例
host02 host03 host04 [admin] host01 [clients] client01 client02 client03
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- Ansible 2.9 或更高版本安装在 bootstrap 节点上。
- 对 Ansible 管理节点的根级别访问权限.
-
具有 sudo 的 Ansible 用户,对存储集群中所有节点的
ssh
访问和免密码访问。 -
[admin]
组在清单文件中定义,其中有一个节点位于/etc/ceph/ceph.client.admin.keyring
中。
流程
在 bootstrap 节点上作为 Ansible 用户运行清除脚本:
语法
ansible-playbook -i hosts cephadm-purge-cluster.yml -e fsid=FSID -vvv
示例
[ceph-admin@host01 cephadm-ansible]$ ansible-playbook -i hosts cephadm-purge-cluster.yml -e fsid=a6ca415a-cde7-11eb-a41a-002590fc2544 -vvv
注意在清除过程中,需要一个额外的额外变量(
-e ceph_origin=rhcs
)来 zap 磁盘设备。脚本完成后,整个存储集群(包括所有 OSD 磁盘)都将从集群中的所有主机中删除。
对于 Red Hat Enterprise Linux 9
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
流程
禁用
cephadm
来停止所有编配操作,以避免部署新守护进程:示例
[ceph: root#host01 /]# ceph mgr module disable cephadm
获取集群的 FSID :
示例
[ceph: root#host01 /]# ceph fsid
退出 cephadm shell。
示例
[ceph: root@host01 /]# exit
从集群中的所有主机清除 Ceph 守护进程:
语法
cephadm rm-cluster --force --zap-osds --fsid FSID
示例
[root@host01 ~]# cephadm rm-cluster --force --zap-osds --fsid a6ca415a-cde7-11eb-a41a-002590fc2544