服務(wù)器整合過(guò)度?試試優(yōu)化虛擬機(jī)資源配置
不可否認(rèn),服務(wù)器虛擬化的確有它的好處,IT管理人員可以充分利用他們的服務(wù)器硬件預(yù)算,追求計(jì)算密度最大化不再是夢(mèng)想,但問(wèn)題是虛擬化這個(gè)優(yōu)勢(shì)常常被過(guò)度使用,反而導(dǎo)致服務(wù)器性能和穩(wěn)定性下降,那么我們?cè)撊绾伪苊夥?wù)器資源因虛擬化被過(guò)度整合呢?答案是優(yōu)化虛擬機(jī)資源配置。
發(fā)現(xiàn)服務(wù)器過(guò)度整合
你可能要問(wèn),我怎么知道虛擬機(jī)造成服務(wù)器過(guò)度整合了呢?問(wèn)得好!一個(gè)辦法是使用性能監(jiān)視器發(fā)現(xiàn),微軟提供了大量的指標(biāo),Windows Server管理員可以使用這些指標(biāo)確定服務(wù)器資源是否被過(guò)度分配了,例如,Windows管理員可以通過(guò)“內(nèi)存/可用字節(jié)數(shù)”計(jì)數(shù)器確定服務(wù)器內(nèi)存資源是否夠用,雖然Linux上沒有性能監(jiān)視器,但有大量類似的工具,如vmstat、free和iostat等,Linux系統(tǒng)管理員可以使用這些工具得到類似的性能信息,當(dāng)然在Hypervisor下監(jiān)控性能的確有點(diǎn)棘手,特別是CPU使用情況,結(jié)果可能會(huì)出現(xiàn)偏差,幸運(yùn)的是,有許多方法可以幫助我們確定是否過(guò)度整合了虛擬機(jī)。
不管怎樣,你都希望服務(wù)器虛擬化后仍然可以提供相當(dāng)于專用物理服務(wù)器的性能水平,如果你的虛擬服務(wù)器沒有達(dá)到你的預(yù)期,那么你需要通過(guò)Hypervisor給虛擬機(jī)分配更多的硬件資源,如果沒有更多的資源可供分配,那你肯定是過(guò)度整合了虛擬機(jī),這時(shí)你必須采取一些糾正行為,如將虛擬機(jī)轉(zhuǎn)移到其它物理服務(wù)器上。
#p#
優(yōu)化資源配置,預(yù)防服務(wù)器過(guò)度整合
要防止服務(wù)器過(guò)度整合你需要做幾件事,首先你要知道不是每個(gè)虛擬機(jī)都是等同的,在任何物理服務(wù)器上,沒有一個(gè)快速的方法來(lái)判斷虛擬機(jī)密度是否合適。例如,我曾經(jīng)收到一封回應(yīng)我寫的資源分配計(jì)劃書的電子郵件,發(fā)件人告訴我他所在的組織采取的官方策略是購(gòu)買8處理器核心,16GB內(nèi)存的高檔服務(wù)器,每臺(tái)物理服務(wù)器可以容納7個(gè)虛擬機(jī),雖然可以這樣制定資源分配計(jì)劃,但卻不能絕對(duì)保證可以運(yùn)行7個(gè)虛擬機(jī),正如我所說(shuō),不是每個(gè)虛擬機(jī)都是等同的,如SQL Server服務(wù)器需要的資源就比DHCP服務(wù)器要多,因此需要給它分配更多的資源。
我們假設(shè)發(fā)件人是平均分配服務(wù)器資源的,在一臺(tái)內(nèi)存為16GB的服務(wù)器上,他可能會(huì)給每個(gè)虛擬機(jī)分配2GB內(nèi)存(剩下的2GB內(nèi)存留給宿主操作系統(tǒng)使用),有些虛擬機(jī)有2GB內(nèi)存可能已經(jīng)足夠了,如DNS服務(wù)器或域控制器服務(wù)器分配2GB內(nèi)存綽綽有余,但對(duì)于Exchange 2010 Server,微軟的要求是至少要4GB內(nèi)存(如果安裝了多個(gè)服務(wù)器角色,可能需要8GB)。
我的觀點(diǎn)是,虛擬機(jī)對(duì)資源的要求不會(huì)完全一樣,你不能一視同仁,否則你就會(huì)造成有些虛擬服務(wù)器分配的資源比需要的資源要多得多,而其它虛擬服務(wù)器則餓得要死,即使宿主服務(wù)器沒有過(guò)度分配資源,但虛擬機(jī)卻不好受。
最后,避免服務(wù)器過(guò)度整合的一個(gè)關(guān)鍵是要知道每個(gè)虛擬機(jī)的硬件需求,根據(jù)它們的需求分配硬件資源,也就是說(shuō),你分配給DNS服務(wù)器的資源可能會(huì)更少(緊接前面的例子,應(yīng)該低于2GB),這樣才有足夠的內(nèi)存資源分配給Exchange或SQL Server服務(wù)器。
#p#
均勻虛擬機(jī)分配,阻止服務(wù)器過(guò)度整合
另一個(gè)避免服務(wù)器過(guò)度整合的關(guān)鍵是,以某種均衡的方式跨多個(gè)宿主服務(wù)器分配虛擬機(jī),注意不是在物理服務(wù)器上平均分配虛擬機(jī)的數(shù)量,而是均衡硬件資源需求,正如前面提到的,SQL Server和Exchange Server需要的資源較多,既然如此,是不是將多個(gè)虛擬化的SQL Server服務(wù)器放在一臺(tái)宿主服務(wù)器上更有意義呢?總的說(shuō)來(lái),在一臺(tái)物理服務(wù)器上放一或兩個(gè)SQL Server服務(wù)器會(huì)更好,剩下的服務(wù)器用來(lái)運(yùn)行影響較低的虛擬機(jī),這樣你就不會(huì)因過(guò)度整合扼殺服務(wù)器的整體性能了。
雖然我介紹的這些方法已經(jīng)通過(guò)實(shí)踐證明是有效的,但在你的環(huán)境中可能并不總是可行的,假設(shè)你所在的組織只有幾臺(tái)物理服務(wù)器,但想要?jiǎng)?chuàng)建的虛擬機(jī)數(shù)量卻很驚人,并且因預(yù)算限制,也不允許將虛擬機(jī)轉(zhuǎn)移到其它服務(wù)器,這個(gè)時(shí)候你只能選擇忍受。
象這種情況,我會(huì)努力讓每個(gè)虛擬機(jī)運(yùn)行得更有效率,禁用不必要的系統(tǒng)服務(wù)是個(gè)不錯(cuò)的主意,既減少了資源消耗,同時(shí)也降低了服務(wù)器的攻擊面,此外,那些不會(huì)用到的應(yīng)用程序應(yīng)該永久清除,讓每個(gè)服務(wù)器只運(yùn)行該運(yùn)行的服務(wù),原則就是不多一個(gè),也不落下一個(gè)。
我也建議運(yùn)行性能監(jiān)視器,確定究竟使用了多少硬件資源,你會(huì)發(fā)現(xiàn)通過(guò)重新合理分配部分資源會(huì)使整體性能得到提升,正如前面講到的,如果沒有足夠的可用空間重新分配服務(wù)器資源,則應(yīng)該考慮升級(jí)物理服務(wù)器(如果可能的話),加裝內(nèi)存,更換更快的CPU,添加CPU核心和存儲(chǔ)空間,只要是能增強(qiáng)服務(wù)器性能的方法都應(yīng)該考慮一下,通常情況下,增加內(nèi)存和CPU核心就可以了。
#p#
合并冗余的虛擬機(jī),緩解服務(wù)器資源緊張局面
有時(shí)你會(huì)發(fā)現(xiàn)無(wú)法升級(jí)服務(wù)器硬件,也無(wú)法重新配置虛擬機(jī)以優(yōu)化它們的執(zhí)行,在這些情況下,最好的方法可能是合并一些冗余的虛擬機(jī)。例如,假設(shè)你有一個(gè)虛擬DNS服務(wù)器和虛擬域控制器,它們很重要,但資源需求都不高,如果將它們合并到一起,就可以節(jié)省大量的開銷,這樣不僅少了一個(gè)操作系統(tǒng),還少了它上面運(yùn)行的應(yīng)用程序,如殺毒軟件,備份代理等,合并低資源需求的虛擬機(jī)可以有效減少對(duì)宿主服務(wù)器CPU資源的要求,也可以釋放許多內(nèi)存資源,這樣就可以給其它虛擬機(jī)分配更充足的內(nèi)存資源了。
小結(jié)
服務(wù)器虛擬化催生了許多新的問(wèn)題,隨著單臺(tái)物理服務(wù)器上容納的虛擬機(jī)數(shù)量增加,問(wèn)題會(huì)變得越來(lái)越多,越來(lái)越難以解決,幸運(yùn)的是,只要用對(duì)方法,找出資源分配不當(dāng)?shù)姆?wù)器,通過(guò)增加硬件,轉(zhuǎn)移虛擬機(jī),重新分配資源,合并冗余虛擬機(jī)等方式,讓管理員頭痛的服務(wù)器資源緊張的局面就會(huì)得到緩解。
【編輯推薦】
- 桌面虛擬化、虛擬機(jī):應(yīng)用與發(fā)展趨勢(shì)
- 新手掃盲篇 虛擬機(jī)概念(多版本)詳解
- 物理機(jī)向虛擬機(jī)遷移過(guò)程詳解
- 巧妙備份VMware vSphere中的虛擬機(jī)