正常状态:

故障状态:

实施更换步骤:

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挂载目录

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

5、删除故障osd的密钥

[root@node1 ~]# ceph auth del osd.5
updated

6、删除故障osd

[root@node1 ~]# ceph osd rm 5
removed osd.5

7、更换完新硬盘后,注意新硬盘的盘符,并创建osd

8、在部署节点,切换为cent用户,添加新的osd

[cent@deploy ceph]$ ceph-deploy osd create --data /dev/sdd node3

9、待新osd添加crush map后,重新开启集群禁用标志

for i in noout nobackfill norecover noscrub nodeep-scrub;do ceph osd unset $i;done

  ceph集群经过一段时间的数据迁移后,恢复active+clean状态

01-16 11:08