4.13. 使用 Ansible 删除 Ceph 文件系统
您可以使用 ceph-ansible
删除 Ceph 文件系统(CephFS)。在进行此操作前,请考虑备份所有数据并验证所有客户端是否已在本地卸载该文件系统。
此操作具有破坏性,将使 Ceph 文件系统上存储的数据永久无法访问。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 数据的良好备份。
- 所有客户端都已卸载 Ceph 文件系统。
- 访问 Ansible 管理节点.
- Ceph 监控节点的根级别访问权限.
流程
进入
/usr/share/ceph-ansible/
目录:cd /usr/share/ceph-ansible
[admin@admin ~]$ cd /usr/share/ceph-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过查看 Ansible 清单文件中的
[mds]
部分来识别 Ceph 元数据服务器(MDS)节点。在 Ansible 管理节点上,打开/usr/share/ceph-ansible/hosts
:示例
[mdss] cluster1-node5 cluster1-node6
[mdss] cluster1-node5 cluster1-node6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在示例中,
cluster1-node5
和cluster1-node6
是 MDS 节点。将
max_mds
参数设置为1
:语法
ceph fs set NAME max_mds NUMBER
ceph fs set NAME max_mds NUMBER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph fs set cephfs max_mds 1
[root@mon ~]# ceph fs set cephfs max_mds 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
shrink-mds.yml
playbook,指定要删除的元数据服务器(MDS):语法
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=MDS_NODE -i hosts
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=MDS_NODE -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 MDS_NODE 替换为您要删除的元数据服务器节点。Ansible playbook 将询问您是否要缩小集群。键入
yes
,然后按 enter 键。示例
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=cluster1-node6 -i hosts
[admin@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=cluster1-node6 -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:重复任何额外 MDS 节点的进程:
语法
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=MDS_NODE -i hosts
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=MDS_NODE -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 MDS_NODE 替换为您要删除的元数据服务器节点。Ansible playbook 将询问您是否要缩小集群。键入
yes
,然后按 enter 键。示例
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=cluster1-node5 -i hosts
[admin@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=cluster1-node5 -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查 CephFS 的状态:
语法
ceph fs status
ceph fs status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 Ansible 清单文件中删除
[mdss]
部分及其节点,以便它们不会重新置备为以后在site.yml
或site-container.yml
playbook 上运行的元数据服务器。打开以编辑 Ansible 清单文件/usr/share/ceph-ansible/hosts
:示例
[mdss] cluster1-node5 cluster1-node6
[mdss] cluster1-node5 cluster1-node6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除
[mdss]
部分及其下所有节点。移除 CephFS:
语法
ceph fs rm FS_NAME --yes-i-really-mean-it
ceph fs rm FS_NAME --yes-i-really-mean-it
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 FS_NAME 替换为您要删除的 Ceph 文件系统的名称。
示例
ceph fs rm cephfs --yes-i-really-mean-it
[root@mon]# ceph fs rm cephfs --yes-i-really-mean-it
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:删除 CephFS 使用的池。
在 Ceph 监控节点上,列出池:
语法
ceph osd pool ls
ceph osd pool ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查找 CephFS 使用的池。
示例
ceph osd pool ls
[root@mon ~]# ceph osd pool ls rbd cephfs_data cephfs_metadata
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在示例输出中,
cephfs_metadata
和cephfs_data
是 CephFS 使用的池。删除元数据池:
语法
ceph osd pool delete CEPH_METADATA_POOL CEPH_METADATA_POOL --yes-i-really-really-mean-it
ceph osd pool delete CEPH_METADATA_POOL CEPH_METADATA_POOL --yes-i-really-really-mean-it
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过包含池名称两次,将 CEPH_METADATA_POOL 替换为用于元数据存储的池 CephFS。
示例
ceph osd pool delete cephfs_metadata cephfs_metadata --yes-i-really-really-mean-it
[root@mon ~]# ceph osd pool delete cephfs_metadata cephfs_metadata --yes-i-really-really-mean-it pool 'cephfs_metadata' removed
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除数据池:
语法
ceph osd pool delete CEPH_DATA_POOL CEPH_DATA_POOL --yes-i-really-really-mean-it
ceph osd pool delete CEPH_DATA_POOL CEPH_DATA_POOL --yes-i-really-really-mean-it
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过包含池名称两次,将 CEPH_METADATA_POOL 替换为用于元数据存储的池 CephFS。
示例
ceph osd pool delete cephfs_data cephfs_data --yes-i-really-really-mean-it
[root@mon ~]# ceph osd pool delete cephfs_data cephfs_data --yes-i-really-really-mean-it pool 'cephfs_data' removed
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证池不再存在:
示例
ceph osd pool ls
[root@mon ~]# ceph osd pool ls rbd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephfs_metadata
和cephfs_data
池不再被列出。