接到福州的網友求助,華為服務器,跳電后Proxmox VE里面所有的虛擬機都起不來了。
先遠程登錄看一下吧,至少PVE的web管理界面還能登錄,看到錯誤提示,有點慌啊,vm-xxx-disk-0都沒了,難怪每臺虛擬機都無法啟動。
一般來說,PVE的虛擬磁盤,都在/dev/pve路徑下,看到上面的錯誤提示,進入shell再確認一下,果然一個虛擬磁盤的文件都沒得。
輸入lvscan,看來虛擬機磁盤都在,只是未激活狀態,所以PVE識別不到了。
輸入vgchange -ay pve嘗試激活,全部失?。粐L試逐個激活,同樣的結果,郁悶。
好在有iBMC遠程管理,可以很方便地遠程操控服務器,那就來吧。在客戶的電腦上,下載Centos,在iBMC內配置為用Centos的ISO文件引導服務器,進入救援模式,輸入vgchange -ay pve嘗試激活,這次全部都成功了,小小地興奮了一下。
重啟服務器,登錄PVE,結果還是老樣子,進入shell,輸入lvscan,虛擬磁盤又變成inactive狀態了。
輸入lvconvert --repair /dev/pve/data,修復失敗,提示磁盤空間不足,可用空間居然為0!怎么可能?
不管它了,創建一個4G的空間,vgextend給它,再次lvconvert --repair /dev/pve/data,還是提示空間不夠,再創建一個8G的空間,繼續vgextend,又一次執行lvconvert --repair /dev/pve/data,很好,這次不報空間不足的錯誤了,但是,修復還是失敗。
懷疑磁盤有邏輯錯誤,再次以centos救援模式啟動服務器,fsck掃描磁盤,顯示磁盤被占用,無法完成掃描。
下載ubuntu,啟動服務器,try ubuntu,fsck掃描磁盤,很快就完成了, 肯定不對啊,再次運行,暈,也提示占用中了……
重啟服務器, 啟動Proxmox,錯誤更多了,汗……
再一看,不用慌,這是我用來擴容的那兩個4G和8G的盤沒有設置自動掛載導致的,這兩個磁盤已經被我刪除了, 也沒必要再去設置自動掛載了。
可是 ,這時候,無論執行什么修復操作,都是提示找不到這兩個盤,無法完成,很招人煩。
vgreduce --removemissing /dev/pve
我想把這兩個錯誤的盤,從PVE中移除,結果提示我要加上 --force參數,也就是強制移除。
但是我加上了--force參數,還是失敗。
于是,又一次啟動centos救援模式,vgreduce --removemissing --force /dev/pve
好家伙,把所有的虛擬磁盤都給我remove了,lvscan查看一下,vm-disk一個都沒了,汗……
雖然說,LVM的特性決定了vm-disk是可恢復,但是難免緊張。退一步來講,就算vm-disk沒能恢復,那通過數據恢復手段,至少還能找回vm-disk里面的文件。
所以說,諸如以上的操作,為防萬一,都應該事先對硬盤做鏡像后再作處理,只是距離遙遠,沒有條件,所以才小心謹慎地進行修復操作。
事到如今,就算我馬上遠程恢復了LVM的狀態,還是無法修復PVE的虛擬磁盤,也就無法修復任何一臺虛擬機,那還不如讓客戶把服務器發過來,做了硬盤鏡像再放心地折騰。
第二天早上,與客戶溝通后,暫時沒了聯系。兩天后,客戶才發來消息,其實我有些擔心,這兩天,他們已經動了服務器,也許會造成不可恢復的尷尬處境。
8月18日中午,服務器到達我們辦公室,立即開機,拿了硬盤做鏡像,20:33分,進度條已經跑滿,顯示為24秒后結束,可是,等到21多,仍然沒有完成,先放著吧,下班。
8月19日早上7點,遠程登錄iBMC,鏡像還沒完成,肯定不可能完成了,只能到了辦公室后,再換個鏡像軟件重頭再來。
8月20日8:30,終于顯示為鏡像完成,長長地舒了一口氣,把我們的硬盤掛載到我們自己的服務器上。
Ventoy優盤Ubuntu ISO 引導服務器,try Ubuntu。
vgcfgrestore --file /etc/lvm/archive/pve_001xx-xxxxxxxxx.vg --test pve
根據備份文件,測試后恢復LVM狀態。
命令執行完成后,緊接著輸入 lvscan,所有的vm-disk都回來了。
把這些vm-disk全部復制到另外一塊硬盤……
8月21日早上9點,剛到辦公室5分鐘,復制過程正好完成。
把這塊硬盤,掛載到我們的Proxmox服務器上,根據虛擬機的配置文件(例如:100.conf)以及之前在原華為服務器上的Proxmox截圖,創建出對應的虛擬機。
在shell下,刪除自動產生的vm-disk文件,proxmox上添加目錄,路徑為掛載過來的硬盤,逐一修改虛擬機配置文件,把虛擬磁盤的路徑改為剛才添加的目錄。
啟動所有虛擬機,全部成功,通知客戶遠程確認。
8月22日,計劃給客戶的華為服務器重裝Proxmox,虛擬磁盤復制回去。結果各種報錯,無法安裝。
午飯后,突發不適,劇烈嘔吐三次,另外一個客戶的freeswitch服務器出現問題,忍痛分析問題,解決問題。
實在無力加班了,下班前,華為服務器安裝debian 12,準備第二天早上在此基礎上安裝Proxmox。
8月23日早上,在debian 12上安裝Proxmox8.0成功,按照配置文件和截圖準確地創建一遍虛擬機,開始把虛擬磁盤復制回去。
8月23日晚上19:53,復制完成,并且每臺虛擬機啟動測試完成,關機。
8月24日中午,客戶遠程確認后,服務器發回,至此,華為服務器上崩潰的Proxmox算是恢復完成。
華為服務器無法直接安裝Proxmox,換了多個版本都不行,只能先安裝debian ,然后在此基礎上安裝Proxmox,具體過程,下一篇文章講述;另外freeswitch無法撥打電話、撥通后沒有聲音的問題,后面也會發文章,有興趣的朋友,可以先關注一下。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.