虛擬化及整合關注於核心的計算資源像處理器以及存儲,但是網絡I/O資源經常被忽略。網絡帶寬以及設備配置對確保客戶端/服務器高效運行同樣很重要——尤其是現在與網絡相關的技術在服務器以及網絡適配器中不斷湧現出來。讓我們了解一些能夠提升Hyper-V網絡性能的技巧。
選擇正確的網絡技術
標准的網絡依賴於動態主機配置協議給網絡客戶端動態分配IP地址,DHCP依賴於可用的DHCP服務器。在傳統的網絡中,找不到DHCP服務器將無法為新設備自動分配IP地址,一旦IP租約到期將無法連接現有的設備。即使是找不到DHCP服務器,自動的私有IP尋址(APIPA)也能使DHCP客戶端獲得IP地址以及子網掩碼。默認情況下,APIPA將使用預留的IP地址,范圍從169.254.0.1到169.254.255.254,子網掩碼是255.255.0.0。APIPA每幾分鐘就會檢查DHCP服務器,當DHCP服務可用時就將控制權移交給DHCP。一般來說,APIPA主要用於有較少客戶端的小型組織,因此運行Hyper-V的Windows服務器平台通常會禁用APIPA。企業級數據中心將采用冗余的DHCP服務器以確保DHCP服務穩定運行。
虛擬機隊列(VMQ)是Intel提供的網絡硬件技術,旨在允許網絡接口卡使用直接內存訪問將內部幀直接傳送到網卡的接收緩沖區。這樣減少了對基於驅動器的流量交換的依賴性,提升了常見網絡流量類型(包括TCP/IP、iSCSI、FCoE)傳送到虛擬主機系統的效率。部分改進是由於不同的處理能夠處理不同虛擬機的數據包—而不是一個處理器處理所有的網絡數據交換。在大多數情況下,應該啟用網卡上的VMQ,處理器還應該與外部的交換機進行綁定。
通過在硬件而不是在驅動器或者軟件中實現整個TCP/IP協議棧,TCP卸載引擎旨在提升網絡性能,減少了准備、形成、傳輸、接收、解包並收集網絡數據包所需要進行的處理工作。TCP煙囪卸載類似,控制權仍保留在操作系統中但實際的數據交換在網卡中進行。一般來說,盡管基於軟件的NIC綁定可能不支持卸載硬件,但可以在虛擬系統中啟用卸載特性。如果虛擬服務器使用了網卡綁定,那麼可以禁用卸載特性,否則通常應該啟用卸載特性。
針對虛擬服務器另一個流行的配置是在傳輸集群共享卷、iSCSI以及在線遷移流量的網絡中啟用巨型幀。巨型幀數據包大小是9000或9014個字節,而不是常見的1500字節。通過在每個數據包中傳輸更多的數據,能夠通過更少的數據包完成文件傳輸,網卡和主機系統的效率會提升。然而巨型幀同樣意味著兩端所有的網絡元素(網卡、交換機以及SAN)都要支持巨型幀。
升級網卡固件以及驅動的時機
計算設備通常使用堆棧模式構建:硬件(芯片及連接)在底層,固件(比如BIOS)用於初始化並配置硬件,固件使用驅動與操作系統建立連接。bug以及固件或者驅動的編碼技術不過關可能會帶來性能問題。這種情況要比你想象的多,往往可以通過升級固件以及驅動來解決該問題。
然而,硬件、固件、驅動以及操作系統之間的相互關系可能很薄弱且易於出錯。有時可能會導致意想不到的新問題或者bug,因此固件以及驅動升級很可能會導致更多的問題。因此不應該盲目升級。
首先,確認升級後是否能真正解決問題。如果不是解決特定的問題,那麼不建議升級。例如,如果固件升級能解決特定網卡不能啟用TOE的bug,為了啟用TOE並提升網絡性能,升級固件可能很有必要。與之相反,如果固件升級修復了NIC並未使用的一個芯片的bug,反而可以不升級。
其次,應用到生產系統前要在實驗環境中進行升級測試。測試有助於提高升級效率,識別潛在的結果並避免在生產環境中出現潛在的混亂局面。
網卡綁定如何影響虛擬機性能
網卡綁定給虛擬服務器帶來了很多好處。綁定允許同一台服務器上的多個網卡適配器協同工作以聚合帶寬並進行流量的故障切換。例如,可以綁定兩個獨立的千兆以太網端口以提供兩倍帶寬,在單個端口發生故障時也能夠確保數據正常傳輸。
一般來說,管理流量、生產虛擬機流量以及虛擬機遷移任務都可以采用網卡綁定,無論是否適合你的企業都可以啟用並配置網卡綁定。一個建議就是在分配負載前建立網卡綁定。另一個很流行的策略就是為客戶虛擬機配置單-根I/O虛擬化也就是SR-IOV。
然而,不建議在iSCSI存儲流量中采用網卡綁定。在Windows Server 2012及後續系統中建議優先采用多路徑I/O也就是MPIO技術來處理iSCSI存儲流量。
網絡資源及配置對虛擬機性能具有重大影響。因此IT專業人員應該考慮帶寬、接口類型、驅動以及其他因素。但在復雜的網絡環境中相互關系錯綜復雜,調整網絡配置可能會遇到問題。在做出任何調整之前進行基准測試,每次只調整一個因素,然後建立新的性能基准對網絡變更帶來的影響進行評估。這樣做能夠幫助識別並解決未預料到的結果,客觀地認識配置變更所帶來的影響。