作者:田逸([email protected])
剛躺下,就收到proxmox虛擬機集羣報警的郵件,順便瞧了一眼,發現問題。
磁盤空間滿了,導致備份失敗。仔細一看,備份目錄爲/var/lib/vz/dump,這個是本地文件系統的目錄,但我以前設定的備份目錄是外掛的nfs,空間大得很啊!
擔心proxmox集羣因系統根分區被塞滿而影響整個集羣的服務,畢竟所有的業務都從阿里雲回遷到該超融合私有云集羣上。趕緊爬起來,***撥號,登錄到四個物理節點。執行指令:
root@pve10:~# ceph osd tree
半天沒反應,其它幾個機器皆然。大概等待了數分鐘,輸出提示連接超時。再從proxmox集羣web管理界面查看,crush map 沒有輸出。
繼續點菜單“監視器”,quorum列的值全部爲否。
再點擊管理界面下部任務日誌信息,確實是備份錯誤所引起。
再雙擊錯誤信息,可看到更詳細而有用的信息。
幸運的是,雖然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管理界面,選中某個物理節點,強制啓動監視器。
啓動後,“quorum”列的值由“否“變成”是“。
再點左側菜單OSD,磁盤都出來了!
切換到宿主機系統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共享村存儲,收回系統權限,以絕後患!