問題描述
在現有集羣加入一個物理節點,接着再此節點創建ceph監視器、創建OSD。從宿主機系統執行ceph osd tree查看狀態,創建起來的幾個OSD狀態都正常(up),從proxmox管理界面看也是這樣。
突然不知道什麼原因,剛加入的節點就突然不能從集羣中失效了。
再進宿主機系統查OSD狀態,居然自己從up變成down。新增節點沒數據,於是就試試重啓,看能不能正常。重啓以後,網絡能通,ssh不能連接,web管理界面也不能訪問。接下來,需要先把故障節點從集羣中撤離出來,恢復以後,再加入集羣。
從集羣中刪除故障節點
按操作順序分兩個步驟:從集羣中刪除故障ceph和從集羣中刪除物理節點。
ü 從集羣中刪除故障ceph
1. 登錄集羣任意物理正常節點系統,執行如下命令查看ceph osd狀態:
root@pve48:~# 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,執行的操作如下:
root@pve48:~# ceph osd out osd.9 osd.9 is already out. root@pve48:~# ceph osd out osd.10 osd.10 is already out. |
操作時要仔細,別把正常的osd離線了。
3. 刪除已經離線osd認證信息,執行的操作如下:
root@pve48:~# ceph auth del osd.9 updated root@pve48:~# ceph auth del osd.10 updated |
4. 徹底刪除故障osd,操作如下:
root@pve48:~# ceph osd rm 9 removed osd.9 root@pve48:~# ceph osd rm 10 removed osd.10 |
注意:此操作ceph最後一列參數與前邊的不同,是純數字格式!!!
5. 查看集羣osd狀態,操作如下:
root@pve48:~# 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磁盤,操作如下:
root@pve48:~# ceph osd crush rm osd.9 removed item id 9 name 'osd.9' from crush map root@pve48:~# ceph osd crush rm osd.10 removed item id 10 name 'osd.10' from crush map |
7. 從ceph集羣中刪除物理節點,操作如下:
root@pve48:~# ceph osd crush rm pve51 removed item id -9 name 'pve51' from crush map |
8. 執行指令 ceph osd tree 查看狀態,看是否把故障節點從ceph集羣清理出去。
ü 從集羣中刪除故障節點
Ø 集羣上的操作
登錄集羣中任意正常節點,執行如下指令進行驅逐操作:
root@pve48:~# pvecm delnode pve51 Killing node 4 |
Ø 故障機恢復操作
最好全部幹掉,重新安裝系統,並用新的ip地址,加入集羣。