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 集群。

流程

  1. 禁用 cephadm 来停止所有编配操作,以避免部署新守护进程:

    示例

    [ceph: root#host01 /]# ceph mgr module disable cephadm

  2. 获取集群的 FSID :

    示例

    [ceph: root#host01 /]# ceph fsid

  3. 退出 cephadm shell。

    示例

    [ceph: root@host01 /]# exit

  4. 从集群中的所有主机清除 Ceph 守护进程:

    语法

    cephadm rm-cluster --force --zap-osds  --fsid FSID

    示例

    [root@host01 ~]# cephadm rm-cluster --force --zap-osds  --fsid a6ca415a-cde7-11eb-a41a-002590fc2544