常在河邊走,哪有不溼鞋,之前再工作中經常會有熱拔插磁盤的動作,習慣成自然。遇到一般問題都是熱拔插,然鵝有一天發生了一些事情導致這篇文章的誕生,也希望對大家有些幫助
事情是這樣的 :自己四臺服務器都通過raid卡做了raid5,然後有一位同事說三塊盤要寫滿服務器比較耗時,建議減少磁盤數量。減少磁盤數量,還用說?簡單暴力 直接拔盤,當把每臺服務器上的兩塊盤拔下來抱在懷裏準備走的時候懵逼了,我的服務器是做了raid5的,當前插回去順序也忘了,那塊盤在那個服務器上都亂了,怎麼辦?插回去?好!當把磁盤都插回去的時候發現他們相會已經不認識了,raid5爸爸也拒絕認識兄弟的孩子。。。爲了讓他們相認,我決定篡改它們的記憶,具體步驟如下:
一、首先查看磁盤信息,發現磁盤都在
/opt/MegaRAID/MegaCli/MegaCli64 -PDlist -aALL
二、清除原來的raid配置
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdDel -Lall -a0
三、嘗試重做raid(讓它們相認),問題來了
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r5 [65:0,65:1,65:2] WB Direct -a0
Mix of configured and unconfigured drives are not possible.
Exit Code: 0x0b
嘿,居然拒絕相認!
四、檢查磁盤 Foreign狀態(檢查他們有沒有忘掉原來的事情)
/opt/MegaRAID/MegaCli/MegaCli64 -CfgForeign -Scan -a0
There are 1 foreign configuration(s) on controller 0.
發現有一個不是親生的,那就讓它忘掉過去,忘得徹底點
/opt/MegaRAID/MegaCli/MegaCli64 -CfgForeign -Clear -a0
/opt/MegaRAID/MegaCli/MegaCli64 -CfgClr -a0
五、修改磁盤狀態(忘記後補補腦子狀態)
/opt/MegaRAID/MegaCli/MegaCli64 -PDMakeGood -PhysDrv[65:1] -a0 # 讓磁盤狀態未good
Adapter: 0: Failed to change PD state at EnclId-65 SlotId-1.
報這個的話說明這會狀態就是good
六、繼續創建raid(繼續相認),成功
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r5 [65:0,65:1,65:2] WB Direct -a0
Adapter 0: Created VD 0
Adapter 0: Configured the Adapter!!
Exit Code: 0x00