正常状态:
![](https://i-blog.csdnimg.cn/blog_migrate/3535c14e891e8b391610bed09c287f6b.png)
故障状态:
![](https://i-blog.csdnimg.cn/blog_migrate/e5bd525d42783f8b3599e8754d620c90.png)
![](https://i-blog.csdnimg.cn/blog_migrate/077ee2c87bfab013a32840775229938c.png)
实施更换步骤:
(1)关闭ceph集群数据迁移:
osd硬盘故障,状态变为down。在经过mod osd down out interval 设定的时间间隔后,ceph将其标记为out,并开始进行数据迁移恢复。为了降低ceph进行数据恢复或scrub等操作对性能的影响,可以先将其暂时关闭,待硬盘更换完成且osd恢复后再开启:
for i in noout nobackfill norecover noscrub nodeep-scrub;do ceph osd set $i;done
(2)定位故障osd
ceph osd tree | grep -i down
(3)进入osd故障的节点,卸载osd挂载目录
[root@node3 ~]# umount /var/lib/ceph/osd/ceph-5
(4)从crush map 中移除osd
[root@node1 ~]# ceph osd crush remove osd.5
removed item id 5 name 'osd.5' from crush map
![](https://i-blog.csdnimg.cn/blog_migrate/317910b295d7436232b34941ec05223d.png)
(5)删除故障osd的密钥
[root@node1 ~]# ceph auth del osd.5
updated
(6)删除故障osd
[root@node1 ~]# ceph osd rm 5
removed osd.5
![](https://i-blog.csdnimg.cn/blog_migrate/b8f625a2e52b77b12c233d967b5b6d74.png)
(7)更换完新硬盘后,注意新硬盘的盘符,并创建osd
![](https://i-blog.csdnimg.cn/blog_migrate/612801bca6176a62d1f937ac4fabe7db.png)
(8)在部署节点,切换为cent用户,添加新的osd
[cent@deploy ceph]$ ceph-deploy osd create --data /dev/sdd node3
![](https://i-blog.csdnimg.cn/blog_migrate/e811ab70d6885a43ea91199331f25bb7.png)
(9)待新osd添加crush map后,重新开启集群禁用标志
for i in noout nobackfill norecover noscrub nodeep-scrub;do ceph osd unset $i;done
ceph集群经过一段时间的数据迁移后,恢复active+clean状态
![](https://i-blog.csdnimg.cn/blog_migrate/7be2ce868aeec04cbbcc38d7f5f0c281.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7c449a841521204929616c8653c7b2f6.png)