电竞比分网-中国电竞赛事及体育赛事平台

分享

歷經(jīng)艱辛修復(fù)華為服務(wù)器上崩潰的Proxmox虛擬機(jī)

 IT狂人日志 2023-08-25 發(fā)布于江蘇

接到福州的網(wǎng)友求助,華為服務(wù)器,跳電后Proxmox VE里面所有的虛擬機(jī)都起不來了。

         

先遠(yuǎn)程登錄看一下吧,至少PVE的web管理界面還能登錄,看到錯誤提示,有點慌啊,vm-xxx-disk-0都沒了,難怪每臺虛擬機(jī)都無法啟動。

一般來說,PVE的虛擬磁盤,都在/dev/pve路徑下,看到上面的錯誤提示,進(jìn)入shell再確認(rèn)一下,果然一個虛擬磁盤的文件都沒得。

輸入lvscan,看來虛擬機(jī)磁盤都在,只是未激活狀態(tài),所以PVE識別不到了。

輸入vgchange -ay pve嘗試激活,全部失??;嘗試逐個激活,同樣的結(jié)果,郁悶。

好在有iBMC遠(yuǎn)程管理,可以很方便地遠(yuǎn)程操控服務(wù)器,那就來吧。在客戶的電腦上,下載Centos,在iBMC內(nèi)配置為用Centos的ISO文件引導(dǎo)服務(wù)器,進(jìn)入救援模式,輸入vgchange -ay pve嘗試激活,這次全部都成功了,小小地興奮了一下。

重啟服務(wù)器,登錄PVE,結(jié)果還是老樣子,進(jìn)入shell,輸入lvscan,虛擬磁盤又變成inactive狀態(tài)了。

輸入lvconvert --repair /dev/pve/data,修復(fù)失敗,提示磁盤空間不足,可用空間居然為0!怎么可能?

不管它了,創(chuàng)建一個4G的空間,vgextend給它,再次lvconvert --repair /dev/pve/data,還是提示空間不夠,再創(chuàng)建一個8G的空間,繼續(xù)vgextend,又一次執(zhí)行l(wèi)vconvert --repair /dev/pve/data,很好,這次不報空間不足的錯誤了,但是,修復(fù)還是失敗。

懷疑磁盤有邏輯錯誤,再次以centos救援模式啟動服務(wù)器,fsck掃描磁盤,顯示磁盤被占用,無法完成掃描。

下載ubuntu,啟動服務(wù)器,try ubuntu,fsck掃描磁盤,很快就完成了, 肯定不對啊,再次運行,暈,也提示占用中了……

重啟服務(wù)器, 啟動Proxmox,錯誤更多了,汗……

再一看,不用慌,這是我用來擴(kuò)容的那兩個4G和8G的盤沒有設(shè)置自動掛載導(dǎo)致的,這兩個磁盤已經(jīng)被我刪除了, 也沒必要再去設(shè)置自動掛載了。

可是 ,這時候,無論執(zhí)行什么修復(fù)操作,都是提示找不到這兩個盤,無法完成,很招人煩。

vgreduce --removemissing  /dev/pve

我想把這兩個錯誤的盤,從PVE中移除,結(jié)果提示我要加上 --force參數(shù),也就是強(qiáng)制移除。

但是我加上了--force參數(shù),還是失敗。

于是,又一次啟動centos救援模式,vgreduce --removemissing --force /dev/pve

好家伙,把所有的虛擬磁盤都給我remove了,lvscan查看一下,vm-disk一個都沒了,汗……

雖然說,LVM的特性決定了vm-disk是可恢復(fù),但是難免緊張。退一步來講,就算vm-disk沒能恢復(fù),那通過數(shù)據(jù)恢復(fù)手段,至少還能找回vm-disk里面的文件。

所以說,諸如以上的操作,為防萬一,都應(yīng)該事先對硬盤做鏡像后再作處理,只是距離遙遠(yuǎn),沒有條件,所以才小心謹(jǐn)慎地進(jìn)行修復(fù)操作。

事到如今,就算我馬上遠(yuǎn)程恢復(fù)了LVM的狀態(tài),還是無法修復(fù)PVE的虛擬磁盤,也就無法修復(fù)任何一臺虛擬機(jī),那還不如讓客戶把服務(wù)器發(fā)過來,做了硬盤鏡像再放心地折騰。

第二天早上,與客戶溝通后,暫時沒了聯(lián)系。兩天后,客戶才發(fā)來消息,其實我有些擔(dān)心,這兩天,他們已經(jīng)動了服務(wù)器,也許會造成不可恢復(fù)的尷尬處境。

8月18日中午,服務(wù)器到達(dá)我們辦公室,立即開機(jī),拿了硬盤做鏡像,20:33分,進(jìn)度條已經(jīng)跑滿,顯示為24秒后結(jié)束,可是,等到21多,仍然沒有完成,先放著吧,下班。

8月19早上7點,遠(yuǎn)程登錄iBMC,鏡像還沒完成,肯定不可能完成了,只能到了辦公室后,再換個鏡像軟件重頭再來。

8月20日8:30,終于顯示為鏡像完成,長長地舒了一口氣,把我們的硬盤掛載到我們自己的服務(wù)器上。

Ventoy優(yōu)盤Ubuntu ISO 引導(dǎo)服務(wù)器,try Ubuntu。

vgcfgrestore --file /etc/lvm/archive/pve_001xx-xxxxxxxxx.vg --test pve

根據(jù)備份文件,測試后恢復(fù)LVM狀態(tài)。

命令執(zhí)行完成后,緊接著輸入 lvscan,所有的vm-disk都回來了。

把這些vm-disk全部復(fù)制到另外一塊硬盤……

8月21日早上9點,剛到辦公室5分鐘,復(fù)制過程正好完成。

把這塊硬盤,掛載到我們的Proxmox服務(wù)器上,根據(jù)虛擬機(jī)的配置文件(例如:100.conf)以及之前在原華為服務(wù)器上的Proxmox截圖,創(chuàng)建出對應(yīng)的虛擬機(jī)。

在shell下,刪除自動產(chǎn)生的vm-disk文件,proxmox上添加目錄,路徑為掛載過來的硬盤,逐一修改虛擬機(jī)配置文件,把虛擬磁盤的路徑改為剛才添加的目錄。

啟動所有虛擬機(jī),全部成功,通知客戶遠(yuǎn)程確認(rèn)。

8月22日,計劃給客戶的華為服務(wù)器重裝Proxmox,虛擬磁盤復(fù)制回去。結(jié)果各種報錯,無法安裝。

午飯后,突發(fā)不適,劇烈嘔吐三次,另外一個客戶的freeswitch服務(wù)器出現(xiàn)問題,忍痛分析問題,解決問題。

實在無力加班了,下班前,華為服務(wù)器安裝debian 12,準(zhǔn)備第二天早上在此基礎(chǔ)上安裝Proxmox。

8月23日早上,在debian 12上安裝Proxmox8.0成功,按照配置文件和截圖準(zhǔn)確地創(chuàng)建一遍虛擬機(jī),開始把虛擬磁盤復(fù)制回去。

8月23日晚上19:53,復(fù)制完成,并且每臺虛擬機(jī)啟動測試完成,關(guān)機(jī)。

8月24日中午,客戶遠(yuǎn)程確認(rèn)后,服務(wù)器發(fā)回,至此,華為服務(wù)器上崩潰的Proxmox算是恢復(fù)完成。

華為服務(wù)器無法直接安裝Proxmox,換了多個版本都不行,只能先安裝debian ,然后在此基礎(chǔ)上安裝Proxmox,具體過程,下一篇文章講述;另外freeswitch無法撥打電話、撥通后沒有聲音的問題,后面也會發(fā)文章,有興趣的朋友,可以先關(guān)注一下。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多