將虛擬機(jī)從一臺微軟Hyper-V主機(jī)移動到另一臺并不是驚天動地的消息,但是你做到了嗎?微軟Server 2012和2012 R2通過圖形Hyper-V管理器就能輕易實現(xiàn)這個遷移過程。如果你像我一樣想加速遷移過程--甚至自動化該過程--PowerShell可以幫助你。你還可以通過使用SMB 3.0文件共享來加速遷移過程。
將虛擬機(jī)從一臺主機(jī)遷移到另一臺主機(jī)的動機(jī)很多,從負(fù)載平衡到老主機(jī)退役。過去的一個挑戰(zhàn)就是在漫長的遷移過程中遭遇停機(jī),但以后再也不會出現(xiàn)了。動態(tài)遷移保障了整個虛擬機(jī)及其存儲的遷移過程順利進(jìn)行。
微軟動態(tài)遷移有三種方式:
無共享實時遷移--在這種遷移過程中,你將虛擬機(jī)及其存儲從一臺服務(wù)器遷移到另一臺服務(wù)器。
動態(tài)存儲遷移--虛擬機(jī)設(shè)置留在當(dāng)前主機(jī)上,但是虛擬機(jī)的存儲(虛擬硬盤)遷移到其他位置。
動態(tài)遷移--允許將虛擬機(jī)從一個集群節(jié)點(diǎn)在線遷移到另一個集群結(jié)點(diǎn)。
本文中,我將重點(diǎn)介紹無共享實時遷移,也是三種類型中最耗費(fèi)時間的一種。雖然你可以使用System Center虛擬機(jī)管理器執(zhí)行此類遷移,但我將通過Server 2012中的Hyper-V cmdlet實現(xiàn)。
Hyper-V cmdlet實現(xiàn)動態(tài)遷移 實驗室準(zhǔn)備
我喜歡在實驗室環(huán)境中嘗試新的想法和技術(shù),在生產(chǎn)之前你也應(yīng)該嘗試一下。我的實驗室環(huán)境由一個域控制器和兩個Hyper-V主機(jī)(名為S1和S2)構(gòu)成。S1上已經(jīng)運(yùn)行了一臺虛擬機(jī)(名為Server1)。我的目標(biāo)是在不影響客戶正常活動下遷移虛擬機(jī)。
簡單地說,無共享實時遷移是指將虛擬機(jī)及其存儲順利從一個Hyper-V主機(jī)遷移到另一個Hyper-V主機(jī),不會產(chǎn)生停機(jī)時間。這是一個復(fù)雜的后臺過程,但微軟已經(jīng)改進(jìn)了方法使之變得相當(dāng)簡單。
我在客戶端計算機(jī)使用PowerShell remoting或RSAT完成所有的管理。如果你的實驗室環(huán)境中沒有執(zhí)行這些任務(wù)的客戶端,可以使用運(yùn)行虛擬機(jī)的Hyper-V主機(jī)。
檢查VM狀態(tài)
快速檢查虛擬機(jī)狀態(tài)以確保一切正常。檢查當(dāng)前Hyper-V主機(jī)的狀態(tài)和存儲位置:
Get-VM -Name server1 | Format-Table -PRoperty Name, Path, State
PS C:> Get-VMHardDiskDrive -VMName Server1 | Format-Table -Property VMName, Path
啟用和執(zhí)行動態(tài)遷移
設(shè)置遷移的基本設(shè)置很簡單。你需要啟用遷移功能并選擇一個移動網(wǎng)絡(luò)。在生產(chǎn)環(huán)境中,最好有多個網(wǎng)絡(luò)接口卡并且在獨(dú)立網(wǎng)絡(luò)中推動遷移進(jìn)程。對于實驗室測試來說,是可以使用現(xiàn)有的網(wǎng)絡(luò)的,因為沒有最終用戶會受到影響。
為了啟動虛擬機(jī)遷移,在兩個Hyper-V服務(wù)器中輸入下面的命令或在客戶端使用PowerShell remoting.
PS C:> Enable-VMMigration
在兩個Hyper-V主機(jī)上添加虛擬機(jī)遷移網(wǎng)絡(luò):
PS C:> Add-VMMigrationNetwork 192.168.3.0/24
將虛擬機(jī)及其存儲遷移到另一個Hyper-V主機(jī)現(xiàn)在只是一個命令。我現(xiàn)在要將虛擬機(jī)移動到S2主機(jī)上并將存儲放到"C:HyperV"這里。為了測試,我在遷移過程中ping到虛擬機(jī)看看通信情況。命令如下:
PS C:> Move-VM –Name Server1 -DestinationHost s2 -DestinationStoragePath c:HyperV
使用SMB 3.0共享執(zhí)行遷移
如果你真的想加速移動過程,不管虛擬機(jī)是在單獨(dú)的還是在集群中,你都可以使用新的SMB 3.0文件共享。我們之前有介紹過SMB 3.0包括很多功能,但最重要的是,它提升了性能。
首先在虛擬機(jī)存儲的目標(biāo)位置設(shè)置SMB 3.0共享和權(quán)限。你需要為管理員和兩臺主機(jī)創(chuàng)建共享權(quán)限,并將這些權(quán)限分配給NTFS.我在兩臺Hyper-V主機(jī)上都創(chuàng)建了,因此我可以來回移動虛擬機(jī)。
PS C:> New-SmbShare -Name Share1 -Path C:hyperv -Fullaccess Companyadministrator, CompanyS1, CompanyS2
PS C:> Set-SmbPathAcl -ShareName Share1
使用SMB共享執(zhí)行遷移的過程和之前相似:
PS C:> Move-VM –Name Server1 -DestinationHost s2 -DestinationStoragePath S2Share1
可能會遇到一些權(quán)限問題,尤其是從客戶端執(zhí)行時。你可以通過啟用主機(jī)和客戶端之間的委托約束解決。
使用動態(tài)遷移來移動虛擬機(jī)設(shè)置非常簡單,而且如果了解PowerShell cmdlet的話會很容易自動化。另外可以考慮使用新的SMB 3.0共享提升你的遷移速度。
新聞熱點(diǎn)
疑難解答