1. 程式人生 > >系統崩潰、重灌後 Hyper-V 虛擬機器配置的恢復

系統崩潰、重灌後 Hyper-V 虛擬機器配置的恢復

  公司伺服器可能因為打的8月補丁有問題,重啟後藍屏,又沒做備份還原只能重灌(懶的錯啊,曾經有一次要搞備份,發現沒有桌面系統的系統還原點功能,Windows Server Backup又覺得麻煩還要重啟就擱置一直沒弄,這次自食苦果了)

  當然了,硬碟資料本身是正常的,也因為我在這之前也一直沒深入接觸過Hyper-V(虛擬機器也是以前的同事搭的),對他的儲存配置資訊的結構不瞭解,那麼首先肯定是先備份原始系統盤的資料,分割槽備份我用開習慣了用Symantec ghost,這個就隨看官的習慣了。

  重灌完系統,研究了Hyper-V對虛擬機器配置的儲存方式,最後成功完全恢復虛擬機器環境(除了執行狀態,也就是不能從“已儲存”狀態恢復)

廢話說完了,直接切重點:

1、裝完系統,在伺服器管理安裝Hyper-V並重啟系統;

2、在原來備份的系統分割槽資料裡,找到Hyper-V的配置檔案預設儲存路徑 “ProgramData\Microsoft\Windows\Hyper-V”,將此資料夾複製到任意路徑;PS:可以,但不建議複製回Hyper-V的預設路徑(或系統盤下),你懂的。如果是我自己搭建的一開始就不會把配置檔案放在系統盤。

PS:如果是使用Symantec Ghost備份,可以使用 Ghost Explorer 檢視 gho 檔案,直接匯出。

插入:解釋下Hyper-V配置目錄裡,2個關鍵資料夾的作用:

—— Virtual Machines

資料夾:

儲存的是虛擬機器的基本配置檔案:如:EECE9A99-1009-4330-ACD4-F8D2DE2C551C.xml,此目錄下還有對應的以每個虛擬機器的GUID命名的子資料夾,是儲存執行狀態(虛擬機器記憶體)的檔案,裡面有同樣是以虛擬機器GUID命名的 xxx.bin 和 xxx.vsv  共2個檔案。

—— Snapshots 資料夾:

儲存的是虛擬機器建立的快照配置檔案,但和上面不同的是,虛擬機器每一次建立快照都會生成不同的GUID,且名稱不包含對應虛擬機器的GUID。需要分析xml檔案或在Hyper-V 的介面裡提供的功能檢視對應關係。此目錄同樣有儲存執行狀態的子資料夾,但這裡儲存的是建立快照時的虛擬機器系統記憶體,以實現恢復快照建立時完整的現場狀態。因此也只在“開機”執行狀態時建立的快照才會存在這個東西。


3、在複製出來的檔案中,將Virtual Machines資料夾裡所有的執行狀態資料夾(也就是此目錄下的所有子資料夾)刪除(在我操作中無法恢復儲存狀態,所以只能刪除,也可以在匯入後在管理器中刪除虛擬機器的儲存狀態,沒有深入研究是否和檔案許可權有關,因為對硬碟資料沒有影響,限於時間【其實還是懶】我沒深入研究,如必須恢復原始執行狀態請自行研究)

4、在Hyper-V 管理器中,在左側伺服器樹點選右鍵,選擇“匯入虛擬機器” ;定位資料夾選擇剛才的Hyper-V資料夾路徑,其他依提示操作即可。

PS:有一點想不明白的,明明配置檔案有儲存虛擬磁碟檔案的路徑,但每次匯入都要你重新選擇一次路徑,不知為何。


5、此時Hyper-V的虛擬交換機配置很可能會無效,需要在虛擬交換機管理器重新配置,也因此每個虛擬機器也需要重新配置虛擬網絡卡。


Tips :

強烈建議配置檔案不要放在系統盤,萬一下次再出現如此情況,只需從第3步開始操作即可。當然還更應該使用Windows Server Backup等工具對系統或全盤做定期備份到一個獨立硬碟,這才能基本保障伺服器的安全。

如果配置檔案不是儲存於預設路徑,Hyper-V的實現方式是在配置檔案預設路徑:%ProgramData%\Microsoft\Windows\Hyper-V 下,建立對應的Virtual Machines 和 snapshot 配置檔案的symlink