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

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