優化虛擬機實時遷移特性就是在性能和帶寬需求之間進行權衡。
盡管將一臺處于運行狀態的虛擬機從一臺主機服務器移動到另外一臺主機當中的概念曾經是革命性的,但是隨著時間的推移,像微軟Live Migration和VMware vMotion這樣的特性已經成為一種普遍使用的技術?,F在,只需要通過十分簡單的操作步驟管理員就可以啟用這種特性。然而,Hyper-V Live Migration的不同配置方式會對虛擬機實時遷移速度和安全性產生巨大影響,因此這篇文章將會討論虛擬機實時遷移配置的多種最佳實踐。
認證協議
在配置虛擬機實時遷移特性之前,需要考慮的第一件事情就是認證協議。微軟為用戶提供了兩種選擇Kerberos和CredSSP。CredSSP雖然作為默認選項,但是相比之下安全性更差。明顯缺點在于需要管理員直接登陸到Hyper-V主機上才能初始化實時遷移過程。另外一面,Kerberos則更加安全, 并且允許管理員遠程初始化實時遷移過程。如果管理員使用Kerberos,那么就應該啟動constrained delegation特性,防止Kerberos被惡意利用。
虛擬機性能
實時遷移選項當中能夠配置的大部分參數都和性能相關。實時遷移需要以網絡為基礎,虛擬機體積可能從幾GB到數TB不等,因此需要確保網絡能夠盡可能高效地完成實時遷移操作。
Windows Server 2012 R2在Hyper-V Manager當中添加了一個被稱作Performance Options的部分,管理員可以從Hyper-V Settings窗口當中進入這個部分,擴展Live Migration容器或者應用一些高級特性。Performance Option允許管理員通過多種三種不同方式配置虛擬機實時遷移過程。
第一種方式是TCP/IP。如果管理員選擇使用這種方式,那么系統將不會進行任何性能優化。需要進行實施遷移的目標虛擬機將會使用標準TCP/IP通信方式完成復制。
第二種可用選項是壓縮。如果選擇使用這種方式,Hyper-V在傳輸虛擬機之前會使用一種壓縮算法來壓縮虛擬機所占內存空間。壓縮通常能夠提升虛擬機實時遷移速度,因為可以減少必須通過網絡進行遷移的總體數據體積。然而這也是一種折中方案。因為壓縮過程需要使用CPU資源。通常這并不是什么問題,因為大多數虛擬化主機都擁有大量空閑CPU資源,但是對于CPU密集型負載來說,這是一種不容忽視的重要因素。
第三種方式是SMB(Server Message Block)。這種方式將會使用SMB協議跨域網絡傳輸虛擬機內容。使用SMB方式的優點在于可以將部分任務交給網卡完成,以獲得更好的性能表現。而缺點在于這種方式需要使用特殊硬件。源和目的 網卡都必須支持Remote Direct Memory Access特性。
通過上面的介紹你可能已經明白,優化實施遷移過程實際上就是盡可能提升網絡帶寬使用效率。許多企業嘗試通過為實時遷移劃分專用網段進行優化,或者通過限制實時遷移的并發虛擬機數量(也是為了減少帶寬占用)。這兩種方式都能夠發揮作用,但是如果啟用Windows 服務器的teaming特性,那么可以更大幅度提升網絡性能。
NIC teaming能夠將多塊物理網卡聚合在一起形成單塊邏輯網卡。使用這種方式的好處在于NIC team能夠獲得所有單塊網卡的總帶寬之和。如果使用NIC teaming技術,那么應該確保所有Hyper-V主機都配置了類似的NIC team,以防止其中的任何一臺主機成為性能瓶頸。
在一些情況中,硬件環境限制了專用網卡在實時遷移環境當中的應用范圍——更不用說專用NIC team了。對于這種情況來說,可以使用QoS技術為實時遷移流量劃分優先級。如果一塊網卡需要同時傳輸多種流量,那么最好為實時遷移流量創建專用VLAN,這樣能夠提升實時遷移的安全性。
如你所見,優化實時遷移實際上就是進行網絡帶寬管理。管理員能夠為實時遷移分配的網絡帶寬越多,實時遷移的完成速度就會越快。