虛擬機(jī)配置版本號(hào)決定了虛擬機(jī)能夠運(yùn)行在哪些類型的主機(jī)上,以及特性集合。下面的步驟可以幫助管理員升級(jí)版本號(hào)或者創(chuàng)建向后兼容的虛擬機(jī)。
幾乎對(duì)于任何類型的應(yīng)用程序來(lái)說(shuō),都有一個(gè)和Hyper-V虛擬機(jī)相關(guān)聯(lián)的版本號(hào)。過(guò)去,這個(gè)版本號(hào)并沒(méi)有太大實(shí)際意義。但是現(xiàn)在,Hyper-V管理員會(huì)發(fā)現(xiàn)這個(gè)虛擬機(jī)配置版本號(hào)正在變得越來(lái)越重要。
微軟開(kāi)始逐漸重視虛擬機(jī)配置版本號(hào),這一點(diǎn)在最近發(fā)布的Windows 10 Anniversary Update當(dāng)中得到印證??赡芎芏嗵摂M化管理員都已經(jīng)知道,某些版本的Windows10已經(jīng)能夠在桌面操作系統(tǒng)當(dāng)中運(yùn)行Hyper-V。如果用戶在微軟發(fā)布Windows 10 Anniversary Update之前創(chuàng)建Hyper-V虛擬機(jī),那么只需要右鍵單擊某臺(tái)虛擬機(jī),就會(huì)發(fā)現(xiàn)一個(gè)全新的快捷方式菜單選項(xiàng),允許對(duì)配置版本號(hào)進(jìn)行更新。
與此同時(shí)這種“全新”概念也引發(fā)了管理員的諸多問(wèn)題。首先,配置版本號(hào)究竟是如何升級(jí)的?其次,更改配置版本號(hào)將會(huì)帶來(lái)哪些影響?
在升級(jí)虛擬機(jī)的配置版本號(hào)之前,可以使用下面的PowerShell命令查詢虛擬機(jī)的現(xiàn)有配置版本號(hào)信息:
Get-VM * | Select-Object Name, Version
這條命令會(huì)顯示所有虛擬機(jī)的主機(jī)名和配置版本號(hào)信息,如圖A所示,
圖A.這臺(tái)虛擬機(jī)的配置版本號(hào)為7.0
回到Hyper-V Manager,右鍵單擊虛擬機(jī),在彈出的快捷菜單中選擇“Upgrade Configuration Version”,Windows將會(huì)顯示一個(gè)對(duì)話框,允許管理員終止當(dāng)前操作。根據(jù)虛擬機(jī)當(dāng)前狀態(tài)的不同,對(duì)話框中可能包含一些警告信息。比如,Windows會(huì)警告繼續(xù)操作可能會(huì)造成虛擬機(jī)保存的狀態(tài)數(shù)據(jù)和檢查點(diǎn)丟失。
而真正的升級(jí)過(guò)程實(shí)際上非常簡(jiǎn)單。完成之后系統(tǒng)并不會(huì)顯示任何提示信息。管理員可以通過(guò)PowerShell檢查版本信息,確認(rèn)虛擬機(jī)是否已經(jīng)獲得全新配置版本號(hào)。
而整個(gè)版本升級(jí)過(guò)程究竟完成了哪些事情,為什么必須要進(jìn)行升級(jí)?配置版本號(hào)非常重要的主要原因之一在于其直接影響虛擬機(jī)能夠運(yùn)行在哪些目標(biāo)主機(jī)上。
桌面Hyper-V的潛在用途之一就是其允許在工作站上創(chuàng)建和測(cè)試虛擬機(jī),當(dāng)虛擬機(jī)被證明能夠應(yīng)用在生產(chǎn)環(huán)境當(dāng)中之后,再將其遷移到服務(wù)器環(huán)境。而這種方式的問(wèn)題在于Windows Server 2012 R2 Hyper-V所支持的最高虛擬機(jī)配置版本號(hào)為5.0。具有更高版本號(hào)的虛擬機(jī)不能運(yùn)行在Windows Server 2012 R2 Hyper-V當(dāng)中。其所支持的配置版本號(hào)信息如下:
Windows 8.1/Windows Server 2012 R2 5.0
Windows 10 (pre-10565) 5.0, 6.2
Windows 10 (10565 and later) 5.0, 6.2, 7.0
Windows Server 2016 Technical Preview 5.0, 6.2, 7.0, 7.1
Windows 10 Anniversary Update 5.0, 6.2, 7.0, 7.1, 8.0
如果管理員需要在Windows 10上創(chuàng)建一臺(tái)虛擬機(jī),之后遷移到Windows Server上,應(yīng)該怎樣做呢?這種情況下,管理員首先需要做的就是查詢服務(wù)器能夠支持哪些虛擬機(jī)配置版本號(hào)。盡管管理員也可以使用上面的列表,但是有時(shí)候微軟會(huì)進(jìn)行更改,因此最好使用PowerShell檢查當(dāng)前系統(tǒng)支持哪些配置版本號(hào)。下面這條命令可以幫助實(shí)現(xiàn)這項(xiàng)任務(wù):
Get-VMHostSupportedVersion
不幸的是,并非所有版本的Windows都支持這條命令。如果執(zhí)行這條命令之后收到錯(cuò)誤提示信息,那么最好檢查現(xiàn)有虛擬機(jī)的配置版本號(hào)。圖B顯示W(wǎng)indows Server 2012 R2并不支持這條命令,但是我們可以看到現(xiàn)有虛擬機(jī)的配置版本號(hào)為5.0。
圖B. Windows Server 2012 R2虛擬機(jī)使用的配置版本號(hào)為5.0
而在Windows 10上運(yùn)行這條命令會(huì)顯示其支持的所有版本號(hào)。如果后面加上”-Default”這個(gè)參數(shù),那么會(huì)顯示虛擬機(jī)默認(rèn)使用8.0的配置版本號(hào),如圖C所示,
圖C.Windows 10所支持的配置版本號(hào)
如果管理員希望使用Windows 10創(chuàng)建虛擬機(jī),并且向后兼容Windows Server 2012 R2,那么必須使用PowerShell的全新虛擬機(jī)cmdlet指定希望使用的版本號(hào),如圖D所示,
圖D.管理員可以使用PowerShell來(lái)創(chuàng)建過(guò)時(shí)虛擬機(jī)