2013年5月25日 星期六

如何秕次轉移Windows 2008R2上的Hyper-V至Windows 2012

        最近由於個人的設備升級,所以想說也同時將我的OS也一同升級,從 2008R2升級到2012,但由於我的電腦中有使用到許多的VM,所以在轉移前一直在找是否有比較好的方式進行轉移,在與我的同事Aska Su與Felix Hu討論後,所以我決定透過語法的方式批次轉移,主要是由於因為透過介紹一次選擇多個VM視窗匯出時,系統會以平行處理的方式進行,此時坦白說不會比較快(可能會更慢),所以大部份都是建議逐一選擇後再匯出,但我不太喜歡這種方式,後來終於透過PowerShell,終於可以批次匯出,底下我就來介紹這個方法。

轉移程序:
1、請手動將目前的所有VM進行關機的動作,請記錄如果VM的狀態為 [已儲存] 的狀態時,也請將VM啟動後進行關閉的動作,以免轉移後 [可能] 發生問題。

2、請至下列的網址進行 PowerShell for Hyper-V的Library的安裝。

PowerShell Management Library for Hyper-V
http://pshyperv.codeplex.com/

下載後解壓縮並執行 install.cmd之後即可進行安裝,如下圖。



3、安裝完成後即會出現下列的PowerShell畫面,此時請輸入下列的語法,即可逐一的將VM進行匯出。

get-vm | Export-VM  -path G:\vm -copystate -wait -force

上述中紅色的區塊指的是你的匯出位址。


4、在匯入前請先確認在新舊兩台機器上的 [虛擬交換器管理員] 是否相同,如果你在舊機器上有新增交換器時,也請新增相同的名稱於新機器上。

5、最後請手動匯入虛擬機器,如果您在執行手動匯入時,發現在跳出提醒,代表你的VM在匯出時,狀態已儲存,所以才會有這種情況,這時候你可以嘗試忽略錯誤繼續進行,但有時候會匯入失敗,需特別的注意,如此即可完成轉換的步驟。

參考網址:
PowerShell Management Library for Hyper-V
http://pshyperv.codeplex.com/
How to batch export virtual machines in Windows Server 2012 (PowerShell)
http://gallery.technet.microsoft.com/scriptcenter/How-to-batch-export-84c13ee2


關鍵字:Hyper-VGet-VMExport-VM、Windows 2012

沒有留言:

張貼留言