Ceph實驗室:第五課:Ceph運維之換盤
在ceph集羣裏,磁碟出故障是不可避免,所以替換故障磁碟成為ceph日常運維不斷重複的任務。本課程演示如何替換一個故障盤。
定位故障磁碟
#MegaCli -PDList -aALL|grep "Media Error"
Enclosure Device ID: 0
Slot Number: 3
Enclosure position: 0
Device Id: 2
Sequence Number: 2
Media Error Count: 227 <- 物理故障
Other Error Count: 2
Enclosure Device ID: 0
定位故障OSD
#lsblk -i|grep /dev/sdc
/dev/sdc1 on /var/lib/ceph/osd/ceph-1
停止故障OSD
systemctl status [email protected]
雖然osd.1的服務已停止,然而他任然被標記為IN(集羣中)狀態。只要他的狀態還是IN,Ceph集羣就不會為他觸發數據恢復。默認情況下,ceph集羣需要5分鐘來將一個DOWN狀態的磁碟標記為OUT狀態,然後開始數據恢復。我們可以手工將故障OSD標記為OUT。一旦該OSD被標記為OUT,ceph集羣會為該OSD上的PG啟動恢復過程。
- 當某個PG對應的OSD set中有一個OSD被標記為down時(假如是Primary被標記為down,則某個Replica會成為新的Primary,並處理所有讀寫 object請求),則該PG處於active+degraded狀態,也就是當前PG有效的副本數是N-1。
- 過了5秒之後,假如還是無法連接該OSD,則它被標記為out,Ceph會重新計算PG到OSD set的映射(當有新的OSD加入到集羣時,也會重新計算所有PG到OSD set的映射),以此保證PG的有效副本數是N。
#ceph osd out osd.1
#ceph status
刪除故障OSD
- 從ceph CRUSH map中移除
#ceph osd crush rm osd.1
- 刪除該osd的祕鑰
#ceph auth del osd.1
- 從ceph集羣中刪除該osd
#ceph osd rm osd.1
重新組建 RAID
[root@hh-yun-ceph-cinder016-128056 ~]# MegaCli -CfgLdAdd -r0 [0:3] WB Direct -a0
Adapter 0: Created VD 2
Adapter 0: Configured the Adapter!!
Exit Code: 0x00
創建OSD,加入集羣
#ceph-deploy disk list ceph-node1
#ceph-deploy disk zap ceph-node2:sdc
#ceph-deploy --overwrite-conf osd create ceph-node1:sdc
閱讀全文:Ceph實驗室:第五課:Ceph運維之換盤
推薦閱讀: