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