用備份玩死proxmox超融合私有云集羣

作者:田逸([email protected]

 

剛躺下,就收到proxmox虛擬機集羣報警的郵件,順便瞧了一眼,發現問題。

001.jpg

磁盤空間滿了,導致備份失敗。仔細一看,備份目錄爲/var/lib/vz/dump,這個是本地文件系統的目錄,但我以前設定的備份目錄是外掛的nfs,空間大得很啊!

 

擔心proxmox集羣因系統根分區被塞滿而影響整個集羣的服務,畢竟所有的業務都從阿里雲回遷到該超融合私有云集羣上。趕緊爬起來,***撥號,登錄到四個物理節點。執行指令:

root@pve10:~# ceph osd tree


半天沒反應,其它幾個機器皆然。大概等待了數分鐘,輸出提示連接超時。再從proxmox集羣web管理界面查看,crush map 沒有輸出。

 002.jpg

繼續點菜單“監視器”,quorum列的值全部爲否。

003.jpg

 

再點擊管理界面下部任務日誌信息,確實是備份錯誤所引起。

004.jpg

 

再雙擊錯誤信息,可看到更詳細而有用的信息。

005.jpg

 

幸運的是,雖然ceph異常,但運行的其上的虛擬機及應用,居然還能正常訪問,只是速度慢了很多。還好,凌晨沒什麼訪問量了。先嚐試刪掉所有物理節點所有的備份,不管它們是不是被成功的備份。

root@pve10:/var/lib/vz/dump#rm -rf

root@pve10:/var/lib/vz/dump#rm -rf

 

釋放空間,以便ceph相關的服務能向根分區寫入日誌。其中ceph日誌的默認路徑爲/var/log/ceph ,如果資金預算許可,建議單獨用一個物理磁盤來存放ceph日誌。即創建一個分區,掛接到目錄/var。

 

刪除備份文件以後,磁盤空間得以釋放,然後電話詢問其它人,這幾天有沒有人到管理後臺去操作,並強烈建議把集羣的管理權限收回來(非系統管理的技術人員有所有權限)。

 

通知完以後,再切換到宿主機系統查看ceph日誌,主要是ceph.log及ceph-osd.log,發現輸出已經沒有報錯信息。由此判斷,故障已經排除。Proxmox web管理界面,選中某個物理節點,強制啓動監視器。

006.jpg

啓動後,“quorum”列的值由“否“變成”是“。

007.jpg

再點左側菜單OSD,磁盤都出來了!

008.jpg

 

切換到宿主機系統debian,查看osd,也能正常工作了。

root@pve10:/var/log/ceph# ceph osd tree
ID CLASS WEIGHT   TYPE NAME      STATUS REWEIGHT PRI-AFF
-1         34.92139 root default                          
-3        8.73035     host pve10                        
 0     hdd  2.18259         osd.0      up    1.00000 1.00000
 1     hdd  2.18259         osd.1      up    1.00000 1.00000
 2     hdd  2.18259         osd.2      up    1.00000 1.00000
 3     hdd  2.18259         osd.3      up    1.00000 1.00000
-5        8.73035     host pve20                        
 4     hdd  2.18259         osd.4      up    1.00000 1.00000
 5     hdd  2.18259         osd.5      up    1.00000 1.00000
 6     hdd  2.18259         osd.6      up    1.00000 1.00000
 7     hdd  2.18259         osd.7      up    1.00000 1.00000
-7        8.73035     host pve30                        
 8     hdd  2.18259         osd.8      up    1.00000 1.00000
 9     hdd  2.18259         osd.9      up    1.00000 1.00000
10     hdd  2.18259         osd.10     up    1.00000 1.00000
11     hdd  2.18259         osd.11     up    1.00000 1.00000
-9        8.73035     host pve40                        
12     hdd  2.18259         osd.12     up    1.00000 1.00000
13     hdd  2.18259         osd.13     up    1.00000 1.00000
14     hdd  2.18259         osd.14     up    1.00000 1.00000
15     hdd  2.18259         osd.15     up    1.00000 1.00000

root@pve10:/var/log/ceph# ceph osd tree

ID CLASS WEIGHT   TYPE NAME      STATUS REWEIGHT PRI-AFF

-1         34.92139 root default                          

-3        8.73035     host pve10                        

 0     hdd  2.18259         osd.0      up    1.00000 1.00000

 1     hdd  2.18259         osd.1      up    1.00000 1.00000

 2     hdd  2.18259         osd.2      up    1.00000 1.00000

 3     hdd  2.18259         osd.3      up    1.00000 1.00000

-5        8.73035     host pve20                        

 4     hdd  2.18259         osd.4      up    1.00000 1.00000

 5     hdd  2.18259         osd.5      up    1.00000 1.00000

 6     hdd  2.18259         osd.6      up    1.00000 1.00000

 7     hdd  2.18259         osd.7      up    1.00000 1.00000

-7        8.73035     host pve30                        

 8     hdd  2.18259         osd.8      up    1.00000 1.00000

 9     hdd  2.18259         osd.9      up    1.00000 1.00000

10     hdd  2.18259         osd.10     up    1.00000 1.00000

11     hdd  2.18259         osd.11     up    1.00000 1.00000

-9        8.73035     host pve40                        

12     hdd  2.18259         osd.12     up    1.00000 1.00000

13     hdd  2.18259         osd.13     up    1.00000 1.00000

14     hdd  2.18259         osd.14     up    1.00000 1.00000

15     hdd  2.18259         osd.15     up    1.00000 1.00000

假如通過刪除備份釋放空間不能恢復服務,最壞的打算,就是重建集羣,從nfs備份中恢復了。這不會丟失數據,因爲數據庫不在此集羣中。


最後,記得把備份目錄改成nfs共享村存儲,收回系統權限,以絕後患!

009.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章