3.7. 模拟节点失败
要模拟硬节点故障,请关闭该节点并重新安装操作系统。
先决条件
- 一个正常运行的 Red Hat Ceph Storage 集群。
- 对存储集群中所有节点的 root 级别访问。
流程
检查存储集群的容量,以了解删除节点的影响:
示例
[root@ceph1 ~]# ceph df [root@ceph1 ~]# rados df [root@ceph1 ~]# ceph osd df
(可选)禁用恢复和回填:
示例
[root@ceph1 ~]# ceph osd set noout [root@ceph1 ~]# ceph osd set noscrub [root@ceph1 ~]# ceph osd set nodeep-scrub
- 关闭节点。
如果要更改主机名,请从 CRUSH 映射中删除节点:
示例
[root@ceph1 ~]# ceph osd crush rm ceph3
检查存储集群的状态:
示例
[root@ceph1 ~]# ceph -s
- 在节点上重新安装操作系统。
添加 Ansible 用户并生成 SSH 密钥:
示例
[root@ceph3 ~]# useradd ansible [root@ceph3 ~]# passwd ansible [root@ceph3 ~]# cat << EOF > /etc/sudoers.d/ansible ansible ALL = (root) NOPASSWD:ALL Defaults:ansible !requiretty EOF [root@ceph3 ~]# su - ansible [ansible@ceph3 ~]$ ssh-keygen
在 Ansible 管理节点中,在重新安装的节点上复制
ansible
用户的 SSH 密钥:[ansible@admin ~]$ ssh-copy-id ceph3
在 Ansible 管理节点中,再次运行 Ansible playbook:
示例
[ansible@admin ~]$ cd /usr/share/ceph-ansible [ansible@admin ~]$ ansible-playbook site.yml -i hosts PLAY RECAP ******************************************************************** ceph1 : ok=368 changed=2 unreachable=0 failed=0 ceph2 : ok=284 changed=0 unreachable=0 failed=0 ceph3 : ok=284 changed=15 unreachable=0 failed=0
(可选)启用恢复和回填:
示例
[root@ceph3 ~]# ceph osd unset noout [root@ceph3 ~]# ceph osd unset noscrub [root@ceph3 ~]# ceph osd unset nodeep-scrub
检查 Ceph 的健康状况:
示例
[root@ceph3 ~]# ceph -s cluster 1e0c9c34-901d-4b46-8001-0d1f93ca5f4d health HEALTH_OK monmap e1: 3 mons at {ceph1=192.168.122.81:6789/0,ceph2=192.168.122.82:6789/0,ceph3=192.168.122.83:6789/0} election epoch 36, quorum 0,1,2 ceph1,ceph2,ceph3 osdmap e95: 3 osds: 3 up, 3 in flags sortbitwise pgmap v1190: 152 pgs, 12 pools, 1024 MB data, 441 objects 3197 MB used, 293 GB / 296 GB avail 152 active+clean
其它资源
- Red Hat Ceph Storage 安装指南.
- 如需了解有关 Ansible 清单配置的更多详细信息,请参阅 {storage_product} 安装指南中的配置 Ansible 清单位置部分。