Windows Server 2012 R2提升了在線遷移性能
管理員希望虛擬機(jī)的在線遷移過(guò)程越快完成越好。Windows Server 2008 R2以及Windows Server 2012沒(méi)有提供優(yōu)化在線遷移的方式,但是Windows Server 2012 R2對(duì)在線遷移過(guò)程進(jìn)行了優(yōu)化。
要了解如何優(yōu)化在線遷移,必須先了解在線遷移的工作機(jī)制。當(dāng)管理員啟動(dòng)在線遷移時(shí),Hyper-V會(huì)建立與目標(biāo)主機(jī)的連接并創(chuàng)建一個(gè)空白虛擬機(jī)。然后hypervisor給新創(chuàng)建的虛擬機(jī)分配硬件,分配的硬件資源與源虛擬機(jī)一致。
接下來(lái),Hyper-V通過(guò)網(wǎng)絡(luò)將虛擬機(jī)的內(nèi)存拷貝至新創(chuàng)建的虛擬機(jī)。內(nèi)存塊的拷貝單位是4KB。因?yàn)樘摂M機(jī)一直在運(yùn)行,所以在整個(gè)拷貝過(guò)程中虛擬機(jī)的工作集內(nèi)存一直在不斷變化。因此,Hyper-V會(huì)記錄哪些內(nèi)存塊被修改了并按需拷貝這些變化的內(nèi)存塊。整個(gè)過(guò)程涉及一些不同的內(nèi)存拷貝傳送。一旦內(nèi)存內(nèi)容傳送完成,底層存儲(chǔ)將轉(zhuǎn)由目標(biāo)主機(jī)控制,虛擬機(jī)會(huì)在目標(biāo)主機(jī)被置于在線狀態(tài)。***,進(jìn)入虛擬機(jī)的網(wǎng)絡(luò)流量被重新路由至目標(biāo)主機(jī)的網(wǎng)絡(luò)適配器。
虛擬機(jī)在線遷移速度
虛擬機(jī)在線遷移速度受兩大因素的影響。
首先,虛擬機(jī)內(nèi)存的變化數(shù)量將影響在線遷移性能。整個(gè)內(nèi)存內(nèi)容必須被復(fù)制到目標(biāo)主機(jī),這意味著在復(fù)制過(guò)程中內(nèi)存變化的內(nèi)容越多,在初始拷貝操作完成后,將會(huì)產(chǎn)生更多的內(nèi)存復(fù)制操作。虛擬機(jī)內(nèi)存變化的內(nèi)容越多,完成在線遷移所需要的時(shí)間就越長(zhǎng)。
其次,Hyper-V主機(jī)通過(guò)網(wǎng)絡(luò)傳輸內(nèi)存內(nèi)容的速度將影響在線遷移進(jìn)度。拷貝過(guò)程越快,完成在線遷移所需要的時(shí)間也就越短。這一概念構(gòu)成了新在線遷移性能選項(xiàng)的基礎(chǔ)。
性能優(yōu)化
打開(kāi)Hyper-V Manager,右鍵單擊主機(jī)服務(wù)器并在彈出的快捷菜單中選擇Hyper-V設(shè)置選項(xiàng)就可以訪問(wèn)Windows Server 2012 R2 Hyper-V在線遷移性能選項(xiàng)了。如圖1所示,打開(kāi)Hyper-V設(shè)置對(duì)話框后,展開(kāi)在線遷移標(biāo)簽并單擊高級(jí)選項(xiàng)。

圖1. 在線遷移性能設(shè)置位于高級(jí)特性容器內(nèi)。
在Windows Server 2008 R2和Windows Server 2012中,Hyper-V使用基本的TCP/IP連接簡(jiǎn)化在線遷移過(guò)程。正如圖1所示,TCP/IP遷移仍舊是一種選擇,但應(yīng)經(jīng)不再是默認(rèn)選擇了。
在Windows Server 2012 R2中,Hyper-V在對(duì)虛擬機(jī)進(jìn)行在線遷移時(shí)默認(rèn)使用壓縮。這一特性在將虛擬機(jī)的內(nèi)存?zhèn)鬏數(shù)侥繕?biāo)主機(jī)之前先進(jìn)行壓縮。壓縮降低了帶寬消耗,減少了在線遷移時(shí)間。
然而,壓縮的缺點(diǎn)是會(huì)消耗CPU資源。幸運(yùn)的是,Hyper-V主機(jī)很少受CPU的約束,受限制最多的往往是物理內(nèi)存。即使是這樣,Hyper-V會(huì)在執(zhí)行在線遷移之前先檢查CPU負(fù)載。如果沒(méi)有足夠多的CPU資源,Hyper-V將自動(dòng)轉(zhuǎn)換為使用標(biāo)準(zhǔn)的、基于TCP/IP的非壓縮在線遷移。
除壓縮外,進(jìn)行在線遷移時(shí)你還可以使用SMB(服務(wù)器消息塊)。該遷移技術(shù)源于硬件卸載。正在被遷移的虛擬機(jī)的內(nèi)存通過(guò)SMB連接傳輸?shù)侥繕?biāo)主機(jī)。 SMB提供了更好的在線遷移性能,但是它并非默認(rèn)選項(xiàng)因?yàn)橹挥性炊酥鳈C(jī)和目標(biāo)主機(jī)的網(wǎng)絡(luò)適配器都支持遠(yuǎn)程直接內(nèi)存訪問(wèn)(RDMA)時(shí)才能啟用SMB。直到2013年10月,社區(qū)硬件適配器沒(méi)有提供RDMA支持。
微軟已經(jīng)在提升在線遷移性能方面取得了很大進(jìn)展。如果所有Hyper-V主機(jī)都配置了兼容RDMA的網(wǎng)絡(luò)適配器,啟用SMB選項(xiàng)就可以達(dá)到***的性能。如果Hyper-V主機(jī)適配器不支持RDMA,那么你應(yīng)該使用壓縮選項(xiàng)—除非你的Hyper-V主機(jī)性能受CPU限制。