本文意在讓用戶明白,我們的愿望就是讓你的工作盡可能的象系統管理員或者網站管理員的一樣容易。我們所做的一切就是為了減輕用戶的壓力!因此最近我們為用戶研發了各種各樣可使用的網絡資源,提供涵蓋了使用WMI監控服務器測算,到使用VBScript追蹤IIS,再到選擇最有效的NoSQL數據庫工具的一切的技巧。這樣的例子可謂不勝枚舉。
當下我們會為用戶提供有關hyper-v虛擬化管理程序的一些技巧。hyper-v管理程序到底是什么?你可能會問,我為什么應該關心這個問題?根據維基百科的解釋,微軟的Hyper-V,代號Viridian,就是之前大家所熟知的Windows Server Virtualization,是一款以X86-64虛擬化系統為基礎的管理程序軟件。Hyper-V自從推出了免費的單機版以來,又相繼發行了測試版,如今已經升級到Release 2 (R2)版本。
那么Hyper-V管理程序是做什么用的?根據維基百科的解釋,Hyper-V管理程序可以在分區中支持隔離。一個分區就是一個隔離的邏輯單元,由管理程序提供支持,在操作系統中完成。一個管理程序實例必須至少有一個在Windows Server 2008上運行的母分區。虛擬化軟件在母分區中運行,可以直接訪問硬件設備。然后母分區可以創建子分區來托管客戶端操作系統。一個母分區能創建使用hypercall應用編程接口(這也是Hyper-V的應用軟件編程界面)的子分區。
總而言之,Hyper-V管理程序讓虛擬化成為可能。虛擬化能幫助系統管理員使用更少的資源完成更多的任務,這不正是每家企業用戶都想要的嗎?
因此,為了讓你的生活更加簡單輕松,以下是使用Hyper-V管理程序的一些技巧:
1.不要與其他服務共享Hyper-V硬件
你的Hyper-V主機資源應該專門用來運行虛擬機。如果你在主機上安裝和運行像SQL Server或者Exchange這種其他的服務,那么他們不僅會消耗主機的資源,而且還會讓故障修理變得更加困難。
2.在Windows Server Core上安裝Hyper-V管理程序
在Windows Server 2008操作系統中選擇安裝Server Core會安裝最小限度的Windows Server 2008來運行諸如Hyper-V這樣的可支持服務器角色。當你選擇這種安裝模式時,Windows安裝程序會只安裝用來支持服務器角色的文件,圖形用戶界面和非基礎的子系統不會被安裝在操作系統中,這樣能減少內存和存儲的需求。
3.創建性能基準線
為了讓你的Hyper-V管理程序的性能保持在最佳狀態,你必須在系統運行時對資源消耗的變化快速做出識別和反饋。如果你一開始就創建了性能基準線的話,那么你只需要識別變化即可;換句話說,當一切運轉良好時,你必須了解你的系統是如何運轉的。你可以使用諸如Monitis這樣的全天候監控工具來升級你的資源規劃藍圖。
4.給Hyper-V虛擬機分配足夠的中央處理器和硬盤資源
用物理硬件解決方案創建你正在使用的Hyper-V虛擬機需要計劃投入使用110%到125%的中央處理器資源和105%到110%的硬盤資源。通過為Hyper-V虛擬機配置額外的資源,你可以確保為物理硬件提供匹配的性能,同時與Hyper-V虛擬化技術所需的管理費用相適應。
5.最好使用64位客戶端操作系統
32位Windows操作系統每次最多只能使用2GB的虛擬尋址空間,這太微不足道了!而64位操作系統可以允許應用軟件充分利用Hyper-V主機上安裝的內存容量。
6.優化虛擬機內部的工作負載
根據Hyper-V主機上資源可用性的不同,如果其中一個虛擬機使用過多的資源,那么其他虛擬機的性能就會受到影響。時刻監控每個虛擬機的工作負載,遵循最佳的實踐方法,如果出現問題時能隨時做出快速反饋。這也是為什么授信合作伙伴的即時通知是如此重要的原因。
7.關閉沒有使用的虛擬機
如果一個虛擬機不再提供任何服務,請將其關閉。這樣能將主機上的有用資源釋放出來,這也是對應用環境的貢獻。如果一個虛擬機只能在某個時間段提供服務,請在需要時使用自動化腳本進行啟動。
8.選擇支持SLAT的處理器
Hyper-V管理程序的R2版本新增了一些特性,可以減少管理程序運行虛擬機所需的內存,還能提高性能。從功能上來說,處理器本身也起到保證虛擬機內存和如何與主機上內存相匹配的作用。通過讓處理器執行這種操作,管理程序使用的內存容量更小,處理器所需的能耗也有所降低。
使用來自英特爾和AMD的最新款處理器,Hyper-V管理程序可以激活二級尋址轉換(簡稱SLAT)功能。二級尋址轉換需要處理器可以支持擴展頁表(對于英特爾處理器而言)或者快速虛擬化索引(對于AMD處理器而言)。
9.殺毒軟件必須對虛擬機文件說不
如果病毒掃描軟件是在主機上運行的,那么對虛擬化文件的連續掃描會影響硬盤的性能。配置殺毒軟件時不要將包含虛擬機VHD和配置文件的文件夾包括在內。如果你必須保護虛擬機的話,請在虛擬機內部安裝殺毒軟件。
10.了解你的工作負載
通過了解你正在運行的工作負載類型,你可以集中優勢資源,將重點放在你最希望從系統中獲取的回報上。舉例來說,并不是所有的工作負載都必須由虛擬機來處理。諸如SQL server這樣的工作負載通常比處理器更受內存和硬盤子系統的限制。在這種情況下,購買速度更快的處理器并不能為虛擬機提供更高的性能。為什么不使用省下來的錢去投資內存或者更快的存儲子系統呢?
11.為主機留出部分內存
為主機至少留出512MB的隨機存儲器空間。內存是由Hyper-V管理程序的虛擬化軟件所使用的。Hyper-V管理程序只有在至少有32MB可用隨機存儲器的情況下才能允許虛擬機運行。每個虛擬機也都有內存管理局限-比較理想的基準線是為所分配的虛擬隨機存儲器首個十億字節預留32MB的隨機存儲器,外加虛擬隨機存儲器每個額外的十億字節預留8MB的存儲空間。
12.安裝多個存儲控制器
虛擬機所處理的輸入/輸出數量不亞于物理系統,如果虛擬機要應對如此大規模的輸入/輸出,就會讓存儲控制器處于過載狀態。那么正在使用存儲控制器上的虛擬硬盤的其他虛擬機性能就會有所犧牲。
13.分段存儲
為虛擬化配置存儲空間并不總是意味著配置最大容量的可用硬盤。在很多情況下,對于許多高性能工作負載,更好的解決方案是采用多個更小的硬盤而不是幾個更大的硬盤。
14.使用多路徑輸入/輸出
多路徑輸入/輸出(也就是大家所熟知的MPIO)是一種利用冗余組件-諸如適配器,電纜和交換機來為同一個存儲提供多個路徑的技術。一旦連接出現問題,多路徑輸入/輸出可以提供冗余備份,因此流量還會繼續。Windows Server可以免費提供這項功能。多路徑輸入/輸出可以與光纖通道和ISCSI連接配合使用。我們高度推薦在虛擬機環境中使用多路徑輸入輸出。
15.使用高性能硬盤
你會看到基于硬盤轉速和硬盤上可用高速緩存的性能差異。從7200轉硬盤升級為10000轉硬盤甚至是15000轉硬盤所獲取的性能提升是非常明顯的,比過去提高的水平就更高了。同樣,如果你將4MB或者8MB高速緩存升級為16MB或者32MB高速緩存也能提高性能。
16.使用帶外管理
保留Hyper-V主機管理的網絡界面。你可以使用這個界面來連接配置了Hyper-V管理器和其他管理工具的主機。
使用分離的界面,你可以在不影響其他正在運行的虛擬機的情況下轉換虛擬硬盤。另外通過這種界面,當虛擬機生產網絡適配器出現高負荷情況時,你可以有效的解決性能出現的故障,
17.提高網絡容量
只要有可能,將虛擬機隔離在獨立的虛擬交換機上。每個虛擬交換機會受到主機上不同物理網絡接口卡端口的約束,可以將虛擬機流量分離出來。出于安全和性能的考慮,這么做是比較好的。
18.當使用ISCSI時對網絡流量分段
虛擬機會使用ISCSI或者說主機會使用ISCSI嗎?
如果主機正在使用ISCSI(以故障轉移集群為例),那么應該有一個與其他客戶端虛擬機使用的任何適配器端口相區別的獨立適配器端口。
如果虛擬機正在使用ISCSI,我們推薦你為存儲和生產型工作負載創建獨立的虛擬網絡。
19.安裝綜合服務
如果你安裝綜合服務的話,你可以替換遺留的普通硬盤來為IDE,SCSI和網絡虛擬控制器提供最好的性能。
20.避免將使用綜合服務的虛擬機和沒有使用綜合服務的虛擬機混合在一起
無法使用綜合服務的虛擬機必須使用遺留的網絡適配器來訪問物理網絡。為了與遺留網絡適配器相適應,你可能必須限制網絡界面上的某些高端特性。但是這么做不會限制綜合設備的功能。另外,使用仿真設備可以在Hyper-V服務器上完成額外的工作負載。
21.利用動態內存特性
動態內存是Windows 2008 R2 Service Pack 1新增的一項特性。好處是動態內存能確保主機內存以最有效的方式分配給虛擬機。當工作負載變化時,虛擬機需要不同數量的資源分配。你不能通過手動分配內存來實現。
22.只要有可能,請使用固定規模的硬盤
當你在物理存儲上托管連續文件時,固定的硬盤空間可以一次性完成分配。動態硬盤空間可以按照需求進行分配,這可能會導致存儲設備中文件形成片段。你會發現你無法獲得最可能的性能。
23.關閉主機上的Hyper-V管理器
不要用Hyper-V主機本身來管理虛擬機,因為任何本地創建的程序都會使用無法為虛擬機所承受的資源。Hyper-V管理器為了保證屏幕快照和虛擬機狀態的應用軟件升級會消耗內存和處理器資源。
24.為每個物理核心分配一個虛擬處理器
保證虛擬處理器與物理處理器核心的正確配比就不用擔心一個虛擬機消耗了其他虛擬機的處理器資源。當這么做無法實現時,使用每個虛擬機上的處理器資源控制器來配置具有優先權的虛擬機。
25.禁用虛擬機網絡卡的TCP卸載功能
卸載TCP任務只對物理網絡有效,對虛擬網絡是沒用的。要禁用這個功能請參看:http://msdn.microsoft.com/en-us/library/ff565746.aspx。
26.激活主機上物理網絡適配器硬盤中的卸載功能
卸載TCP任務對于物理適配器IS是有效的。因此如果可能的話,在主機上激活這項功能。請從以上鏈接的同一篇文章中獲取更多的相關信息:http://msdn.microsoft.com/en-us/library/ff565746.aspx。
27.當使用多個物理網絡卡時,將干擾每個網絡卡的設備與單個網絡處理器捆綁在一起
在特定工作負載下,將干擾單個網絡適配器的設備與單個邏輯處理器捆綁在一起能提高Hyper-V管理程序的性能。系統管理員可以使用IntPolicy工具來捆綁干擾特定處理器的設備。要了解更多有關IntPolicy工具的信息,請參看:http://msdn.microsoft.com/en-us/windows/hardware/gg463378.aspx。
28.如果可能的話,激活Hyper-V綜合網絡適配器的VLAN標識
Hyper-V綜合網絡適配器可以支持VLAN標識。如果物理網絡適配器可以支持大型發送和阻止卸載的話,可以提供更加的網絡性能。沒有這種支持,Hyper-V工管理程序無法使用需要VLAN標識的硬件信息包卸載,網絡性能可能也會大大降低。
29.安裝高速網絡適配器和配置最大的性能
可以考慮在Hyper-V主機上安裝1GB的網絡適配器,并配置固定速度的網絡適配器。網速和所連接的交換機上所設置的流量控制參數都是非常重要的。
30.避免在Hyper-V Storage所使用的硬盤上存儲系統文件
不要在專門用來存儲虛擬機數據的硬盤上存儲任何系統文件,比如頁表文件或者TEMP目錄。再次重申這樣做只是在浪費資源。
我們希望以上用來改進Hyper-V虛擬化的信息能幫助你提高虛擬化性能并減少浪費。更多有關提高IT性能的建議靜待下文分解。