Pve叢集節點崩潰處理
問題描述
在現有叢集加入一個物理節點,接著再此節點建立ceph監視器、建立OSD。從宿主機系統執行ceph osd tree檢視狀態,建立起來的幾個OSD狀態都正常(up),從proxmox管理介面看也是這樣。
突然不知道什麼原因,剛加入的節點就突然不能從叢集中失效了。
再進宿主機系統查OSD狀態,居然自己從up變成down。新增節點沒資料,於是就試試重啟,看能不能正常。重啟以後,網路能通,ssh不能連線,web管理介面也不能訪問。接下來,需要先把故障節點從叢集中撤離出來,恢復以後,再加入叢集。
從叢集中刪除故障節點
按操作順序分兩個步驟:從叢集中刪除故障ceph和從叢集中刪除物理節點。
ü 從叢集中刪除故障ceph
1. 登入叢集任意物理正常節點系統,執行如下命令檢視ceph osd狀態:
[email protected]:~# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 18.00357 root default -3 4.91006 host pve48 0 hdd 1.63669 osd.0 up 1.00000 1.00000 1 hdd 1.63669 osd.1 up 1.00000 1.00000 2 hdd 1.63669 osd.2 up 1.00000 1.00000 -5 4.91006 host pve49 3 hdd 1.63669 osd.3 up 1.00000 1.00000 4 hdd 1.63669 osd.4 up 1.00000 1.00000 5 hdd 1.63669 osd.5 up 1.00000 1.00000 -7 4.91006 host pve50 6 hdd 1.63669 osd.6 up 1.00000 1.00000 7 hdd 1.63669 osd.7 up 1.00000 1.00000 8 hdd 1.63669 osd.8 up 1.00000 1.00000 -9 3.27338 host pve51 9 hdd 1.63669 osd.9 down 0 1.00000 10 hdd 1.63669 osd.10 down 0 1.00000 |
從輸出可知物理節點pve51的兩個OSD有問題,需要刪除。
2. 離線有問題的ceph osd,執行的操作如下:
[email protected]:~# ceph osd out osd.9 osd.9 is already out. [email protected]:~# ceph osd out osd.10 osd.10 is already out. |
操作時要仔細,別把正常的osd離線了。
3. 刪除已經離線osd認證資訊,執行的操作如下:
[email protected]:~# ceph auth del osd.9 updated [email protected]:~# ceph auth del osd.10 updated |
4. 徹底刪除故障osd,操作如下:
[email protected]:~# ceph osd rm 9 removed osd.9 [email protected]:~# ceph osd rm 10 removed osd.10 |
注意:此操作ceph最後一列引數與前邊的不同,是純數字格式!!!
5. 檢視叢集osd狀態,操作如下:
[email protected]:~# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 18.00357 root default -3 4.91006 host pve48 0 hdd 1.63669 osd.0 up 1.00000 1.00000 1 hdd 1.63669 osd.1 up 1.00000 1.00000 2 hdd 1.63669 osd.2 up 1.00000 1.00000 -5 4.91006 host pve49 3 hdd 1.63669 osd.3 up 1.00000 1.00000 4 hdd 1.63669 osd.4 up 1.00000 1.00000 5 hdd 1.63669 osd.5 up 1.00000 1.00000 -7 4.91006 host pve50 6 hdd 1.63669 osd.6 up 1.00000 1.00000 7 hdd 1.63669 osd.7 up 1.00000 1.00000 8 hdd 1.63669 osd.8 up 1.00000 1.00000 -9 3.27338 host pve51 9 hdd 1.63669 osd.9 DNE 0 10 hdd 1.63669 osd.10 DNE 0 |
操作完成後,故障節點的osd狀態從down變成了DNE
6. 刪除故障節點的ceph磁碟,操作如下:
[email protected]:~# ceph osd crush rm osd.9 removed item id 9 name 'osd.9' from crush map [email protected]:~# ceph osd crush rm osd.10 removed item id 10 name 'osd.10' from crush map |
7. 從ceph叢集中刪除物理節點,操作如下:
[email protected]:~# ceph osd crush rm pve51 removed item id -9 name 'pve51' from crush map |
8. 執行指令 ceph osd tree 檢視狀態,看是否把故障節點從ceph叢集清理出去。
ü 從叢集中刪除故障節點
Ø 叢集上的操作
登入叢集中任意正常節點,執行如下指令進行驅逐操作:
[email protected]:~# pvecm delnode pve51 Killing node 4 |
Ø 故障機恢復操作
最好全部幹掉,重新安裝系統,並用新的ip地址,加入叢集。