負責虛擬服務器維護的IT管理者當然希望確保虛擬服務器性能盡可能好。幸運的是, IT管理者可以采取很多措施確保虛擬機性能達到最佳。
不要克扣硬件資源
盡管對IT管理者來說尋求創新方式最大化虛擬機密度很流行,但虛擬機性能與密度往往是彼此沖突的。增加主機的虛擬機密度往往可以通過過量分配硬件資源或者通過減少分配給虛擬機的硬件資源量實現。
牢記應用的系統需求不會因為應用運行在虛擬機內部而發生改變是至關重要的。盡管通過給虛擬機分配過量的資源避免資源浪費是很重要的,但確保虛擬機獲得必需的資源以達到指定的性能級別同樣很重要。如果使用諸如動態內存機制過量分配硬件資源,那么你同樣要確保運行在虛擬機內的應用至少要獲得正常運行所必需的最少硬件資源。
牢記hypervisor正常運行也需要硬件資源至關重要。因此,你應該為主機設置預留以避免hypervisor耗盡它所必需的資源。
使用版本最新的虛擬機你還可以使用當前最新的虛擬機版本改進性能。就Hyper-V而言,微軟指出使用第二代虛擬機有可能能夠減少虛擬機安裝或啟動所需要的時間。不幸的是,只能通過備份恢復更改虛擬機版本。除非有特別的原因,否則新虛擬機必須被創建為第二代虛擬機。
VMware也使用虛擬機硬件世代概念。盡管VMware硬件世代不會直接影響性能,但每一代硬件都增加了對新硬件的支持,有助于提升性能。與微軟不同,VMware提供了升級虛擬機硬件版本的步驟。
避免使用硬件模擬為保證虛擬機性能,你可以做的另一件事是避免使用硬件模擬。例如,Hyper-V 第一代虛擬機能夠模擬網絡適配器以與無法感知Hyper-V的客戶機操作系統兼容。如果有可能,更好的解決方案是在虛擬機上安裝Hyper-V集成服務。這允許客戶機操作系統使用合成硬件而不是模擬硬件,總體性能會更好。類似地,在客戶機操作系統上安裝VMware tools同樣有助于虛擬機達到很好的性能級別。
當心資源爭用對虛擬機性能影響最大的是資源爭用。當兩個或多個工作負載爭用硬件資源時就會出現資源爭用。當可用資源不足以滿足請求時就會出現資源爭用。
有很多技術能夠用于解決資源爭用問題。包括硬件升級以及虛擬機負載均衡。
在某些情況下,也可以使用資源池作為解決資源爭用問題的手段。例如Windows服務器的網卡綁定功能允許將一組物理網卡綁定為單個物理網卡,以此增加虛擬機可用的網絡帶寬。
記住,虛擬機不只是與其他虛擬機競爭硬件資源,還會與hypervisor產生資源競爭。因為hypervisor消耗了部分可用的硬件資源,因此盡一切所能避免hypervisor消耗可供虛擬機使用的硬件資源是個不錯的主意。例如,很多管理員將主機管理流量以及在線遷移流量分離到一個或多個專用網絡適配器中,避免管理流量搶占虛擬機的網絡帶寬。
避免使用硬件配置增加開銷虛擬主機服務器可用的硬件資源有限。保證虛擬機性能的一個關鍵要素是避免硬件配置導致額外的開銷,影響總體性能。
最能說明問題的例子可能是存儲架構。RAID級別為RAID 5或6的存儲陣列性能肯定與RAID 0不同,因為增加的開銷包括寫入奇偶校驗信息。RAID1+10—有時被稱為RAID 10—通常達到了性能與容錯之間的最佳平衡點。
盡管有很多方式都能夠增加虛擬機性能,但管理員往往需要在性能、虛擬機密度、成本之間進行權衡。最佳方式是為虛擬機分配的硬件恰恰是其所需要的,但過度分配并不會浪費硬件資源。