Ceph添加、刪除osd及故障硬盤更換


添加或刪除osd均在ceph部署節點的cent用戶下的ceph目錄進行。

1. 添加osd

當前ceph集群中有如下osd,現在准備新添加osd:

  (1)選擇一個osd節點,添加好新的硬盤:

  (2)顯示osd節點中的硬盤,並重置新的osd硬盤:

列出節點磁盤:

ceph-deploy disk list rab1

擦凈節點磁盤:

ceph-deploy disk zap rab1 /dev/sbd(或者)ceph-deploy disk zap rab1:/dev/vdb1

  (3)准備Object Storage Daemon:

ceph-deploy osd prepare rab1:/var/lib/ceph/osd1

  (4)激活Object Storage Daemon:

ceph-deploy osd activate rab1:/var/lib/ceph/osd1

2. 刪除osd

現在要將 rab1中的 osd.4 刪除:

(1)把 OSD 踢出集群

ceph osd out osd.4

(2)在相應的節點,停止ceph-osd服務

systemctl stop ceph-osd@4.service
systemctl disable ceph-osd@4.service

(3)刪除 CRUSH 圖的對應 OSD 條目,它就不再接收數據了

ceph osd crush remove osd.4

(4)刪除 OSD 認證密鑰

ceph auth del osd.4

(5)刪除osd.4

ceph osd rm osd.4

3. ceph osd故障硬盤更換

正常狀態:

故障狀態:

實施更換步驟:

(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狀態

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM