正常狀態:
故障狀態:
實施更換步驟:
(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
(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狀態