1. 程式人生 > >Pve叢集節點崩潰處理

Pve叢集節點崩潰處理


問題描述

 

在現有叢集加入一個物理節點,接著再此節點建立ceph監視器、建立OSD。從宿主機系統執行ceph osd tree檢視狀態,建立起來的幾個OSD狀態都正常(up),從proxmox管理介面看也是這樣。

 

突然不知道什麼原因,剛加入的節點就突然不能從叢集中失效了。

image.png

再進宿主機系統查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地址,加入叢集。