鑒于現(xiàn)代虛擬化技術仍然是一項相當年輕的技術,故而在虛擬基礎設施管理中存在著許多的挑戰(zhàn),包括對物理和虛擬資源的控制、使用和訪問;災難恢復解決方案的部署等等。而在本文中,我們將為廣大讀者諸君分步介紹成功的虛擬化管理指南。幫助大家了解如何降低虛擬平臺的復雜性,并了解虛擬基礎架構監(jiān)控中所涉及的關鍵性能指標。
虛擬基礎設施管理——虛擬化的分步介紹
在企業(yè)中采用虛擬化始終是一個多步驟的過程。第一步是識別需要虛擬化的服務器,然后仔細評估投資回報率(ROI)和容量規(guī)劃。這項工作必須要在進行實際的物理到虛擬的遷移工作之前完成。遷移后,您企業(yè)將始終面臨在虛擬基礎設施管理中挑戰(zhàn)。
到目前為止,通過分步系列指導,您企業(yè)已經(jīng)完成了遷移工作了?,F(xiàn)在,讓我們把注意力轉向虛擬基礎設施管理的復雜挑戰(zhàn)方面,包括強制控制物理和虛擬資源的可用性,使用和訪問;部署災難恢復解決方案;配置新的虛擬機和其他任務;以及數(shù)據(jù)中心使用情況的監(jiān)控和報告。
由于現(xiàn)代的虛擬化技術仍然是一項非常年輕的技術,市場仍然面臨著不成熟的工具和缺少解決方案的挑戰(zhàn)。特別是,在性能分析和故障排除領域中有一個空白。
流體計算的挑戰(zhàn)
對于任何一名負責一種系統(tǒng)管理的人員來說,無論該系統(tǒng)虛擬化與否,他們都需要知道如何管理現(xiàn)有的資源。 IT管理人員必須跟蹤物理機器、操作系統(tǒng)和產(chǎn)品的許可授權、服務可用性和資產(chǎn)如何滿足需求,當任何問題發(fā)生時, IT管理人員必須快速做好準備進行處理。
即使是在小型環(huán)境中,這些責任也可能相當耗時。而且,在虛擬基礎架構中甚至變得更加復雜。在虛擬基礎設施中,IT管理人員必須擔心一類新問題,例如虛擬機的高效和控制部署,合理的物理資源分配和問責制。
您企業(yè)可以輕松的創(chuàng)建新的虛擬機以及這些虛擬機與底層硬件的獨立性帶來了流體計算(liquid computing)的理念;而其在您企業(yè)的計算環(huán)境是很難理解的。
流體計算增加了所謂的“虛擬機蔓延”的風險。而為了避免虛擬機的蔓延,虛擬化管理工具提供了一套可靠的安全系統(tǒng),其中的權限管理可以限制未經(jīng)授權的員工創(chuàng)建新的虛擬機。這些工具還有一個強大的監(jiān)控系統(tǒng),報告已分配但未使用的資源。
截至今天,大多數(shù)的虛擬化平臺均可以利用虛擬基礎設施訪問LDAP集中的會計賬務核算系統(tǒng),但當數(shù)據(jù)中心管理人員們需要計算虛擬數(shù)據(jù)中心的效率時,仍然存在大麻煩。
此外,當一臺新的虛擬機已被創(chuàng)建時,虛擬基礎設施管理人員所面臨的問題是:需要決定該虛擬機要被托管到何處。正如我們已經(jīng)看到在容量規(guī)劃階段所看到的那樣,虛擬工作負載應仔細部署,充分考慮其與現(xiàn)有工作負載的互補性,以避免資源的超載。
例如,來自微軟的虛擬機管理器從,為物理機機提供了一個評級系統(tǒng),能夠為每臺物理機進行星級打分,以便幫助管理人員立即識別一臺新的虛擬機安置在何處將最為合適。這一評分系統(tǒng)能夠適應不斷發(fā)展的基礎設施。
但即使有這樣的一款系統(tǒng),在某些環(huán)境中,虛擬機的創(chuàng)建可能也并不容易。例如,一家大型的ISP借助虛擬化來重塑其產(chǎn)品,可能需要智能化的工具以根據(jù)需求在幾秒鐘內(nèi)部署數(shù)百或甚至數(shù)千臺虛擬機。
當前,很少有第三方的產(chǎn)品能夠搞定所有的虛擬化管理漏洞,故而許多企業(yè)組織選擇自行開發(fā)內(nèi)部的解決方案,而不是花錢才夠沒有太大的靈活性的工具。在這種復雜的情況下,虛擬化管理解決方案必須能夠提供軟件開發(fā)工具包(SDK),允許廣泛的定制和不同程度的自動化。
一個廣泛的、開源的可編程接口和強大的支持是其關鍵性的賣點;到目前為止,較之其他競爭對手,VMware公司在這方面做出了相當杰出的成績。最后,但并非最不重要的是:今天的IT管理人員們正面臨著一個新的問題:問責制。在一家中等復雜程度的企業(yè),可能會有幾個部門牽扯到需要采用虛擬機來工作,并共享相同的物理服務器,在財政年度中使用不同比例的物理服務器資源。
而當各個部門有自己的成本中心時,就很難跟蹤哪個部門應該承擔為底層硬件功能支付硬件成本的責任。甚至當成本由企業(yè)組織內(nèi)部的某個單一的實體部門負責處理時,管理人員仍然面臨著加強誰有權限使用物理資源,及其具體能夠使用多少物理資源的控制的挑戰(zhàn)。
盡管目前只有少數(shù)的虛擬化客戶面臨這些問題,但這些問題將迅速在幾年內(nèi)成為一大常見性的問題。已然意識到這方面問題的企業(yè)組織不妨可以考慮IBM的產(chǎn)品;IBM公司在該領域首創(chuàng)的Tivoli Usage and Accounting Manager產(chǎn)品,有助于準確評估共享計算資源的使用情況。
多種平臺,多種問題
而當一家大型企業(yè)組織需要處理多款虛擬化平臺時,上述需求會進一步增加。
在一家大型企業(yè)中,每個部門通常有選擇其首選解決方案的自主權,即使只有一款產(chǎn)品將用于生產(chǎn)環(huán)境。IT管理人員可能需要同時并行管理VMware ESX服務器和Xen,希望利用一款單一的集中式工具來實現(xiàn)控制。
隨著這方面需求的上升,這些工具的市場供應也在倍增。來自IBM、Cassatt公司、BMC Software公司、Enomaly和Scalent的解決方案是最受歡迎的,但新的競爭對手如Opsware也在蓬勃發(fā)展。
支持多種虛擬基礎設施往往意味著IT管理人員不必擔心創(chuàng)建一款虛擬機到底采用了什么技術,這些工具能夠保持控制。在可能的情況下,利用這些工具可以執(zhí)行將一款應用程序從一臺虛擬的硬件設置遷移到另一臺,否則有時只能用專用的P2V工具進行應用程序的遷移。
當選擇了這樣的一款超級控制臺時,至關重要的是要確保該控制臺可以利用現(xiàn)有的虛擬化供應廠商所提供的管理工具。否則,您企業(yè)的投資回報可能永遠收不回來。
虛擬基礎設施的監(jiān)控
雖然當前市場上可能有許多x86虛擬化平臺,例如VMware ESX、Xen、Microsoft Virtual Server 2005 R2等等,且每一款虛擬化平臺的監(jiān)控幾乎都是一樣的。在本文中,我們將與廣大讀者共同討論當進行虛擬基礎架構的監(jiān)控時所涉及到的內(nèi)容,包括監(jiān)控物理主機服務器、虛擬機監(jiān)視器(VMM)/虛擬機管理程序、虛擬機(VM)和運行在虛擬機內(nèi)部的應用程序。最終,我們將歸結到如何分析理解企業(yè)所收集到的性能指標。
物理主機服務器
在虛擬基礎架構中,對物理主機服務器實施監(jiān)控是非常重要的。因為一臺單一的物理主機服務器可以容納數(shù)十臺虛擬機,所以其必須保持健康運行,而不能出現(xiàn)任何狀況。我們的目的并不是嚇唬人們,使企業(yè)遠離基礎設施虛擬化,而是為了提醒大家意識到不必忘記了在其之上部署虛擬基礎架構的物理硬件有多么重要。
尋求服務器監(jiān)控工具應該從尋求供應商開始
戴爾公司提供了諸如OpenManage和IT Assistant等工具,而惠普則提供其OpenView軟件。在許多情況下,硬件供應商的監(jiān)控解決方案是監(jiān)控硬件的最佳選擇,因為這些工具顯然是由制造硬件的同一家公司所設計和支持的。
但您也會發(fā)現(xiàn),市場上并不缺乏第三方解決方案。戴爾和惠普都為微軟運營管理器(MOM)提供管理包。如果資金是一個問題的話,我們建議您企業(yè)不妨考慮Nagios產(chǎn)品。Nagios是一款開源的監(jiān)控程序,用于主機、服務和網(wǎng)絡。我所工作的環(huán)境之一使用的便是Nagios,而我本人對于該程序的功能相當滿意。而且Nagios是免費的。
在虛擬基礎設施中監(jiān)控物理硬件的過程與在傳統(tǒng)服務器基礎設施中監(jiān)控物理硬件幾乎是相同的。但由于有著大量的虛擬機取決于物理機的健康運行狀況,故而維護基于x86的物理服務器的健康運行比以往任何時候都更為重要。
虛擬機監(jiān)控器/ 虛擬機管理程序
此前曾有很多人問過我關于一款虛擬機監(jiān)控器(VMM)和虛擬機管理程序之間的區(qū)別。答案便是,VMM與其名稱之間沒有半毛錢關系;其負責監(jiān)視和管理虛擬機。“虛擬機管理程序”這一術語是關于另一款計算組件(內(nèi)核)的名稱。當內(nèi)核尚屬于一個新事物時,他們被稱為“supervisors”,因為其能夠監(jiān)督機器;因此,虛擬機管理程序這一術語指的是監(jiān)管許多機器的VMM,雖然其是虛擬的。
與監(jiān)控底層硬件的軟件不同的是,監(jiān)控虛擬機管理程序的軟件取決于您企業(yè)所使用的虛擬機管理程序的類型。如果您企業(yè)使用的是VMware ESX,則有幾個選項。就像監(jiān)控硬件一樣,尋找一款虛擬監(jiān)控解決方案的最好的方式便是從尋求一家合適的供應商開始。 VMware包括了一款基于Web的對ESX實施管理/監(jiān)控的接口,稱為管理用戶界面(MUI),除了管理ESX之外,還可以告訴您VMM當前的利用率。
該MUI具有非常好的可用性報告功能。從ESX中的控制臺,您可以啟用另一款基于Web的報告工具,稱為vmkusage。雖然MUI要求用戶進行身份驗證,但vmkusage提供了一個對于ESX VMM狀態(tài)的只讀的、匿名的視圖。當您登錄到控制臺時,您還可以運行一款名為Esxtop的工具。 Esxtop與標準的top命令類似,但與top命令不同的是,Esxtop還將顯示不同的ESX環(huán)境的實時利用率,包括VMM。
VMware還推出了一款單獨的管理/監(jiān)控解決方案稱為VirtualCenter。雖然VirtualCenter沒有提供任何額外的監(jiān)測信息,但其能夠讓您企業(yè)設置事件和警報,以便在超過資源限制時通知您。在所有第三方的ESX監(jiān)控解決方案中,只有一款個脫穎而出,即NetIQ AppManager for VMware。
微軟Virtual Server 2005 R2 VMM的所有監(jiān)控解決方案都來自微軟公司。您企業(yè)可以使用標準的Windows事件日志來監(jiān)視VMM,這是一款被許多Windows系統(tǒng)管理員所廣泛使用的方法。 Virtual Server 2005 R2還安裝了可以跟蹤VMM利用率的Windows性能計數(shù)器。如果不想使用 Window Management Instrumentation(WMI)開發(fā)自定義的利用率監(jiān)控器,Microsoft Operations Manager(MOM)已經(jīng)利用Virtual Server 2005 R2的性能計數(shù)器來提供強大的監(jiān)視解決方案。
值得一提的是一些開源的Xen監(jiān)控解決方案。Libvirt是一款開源的工具包,旨在與Xen等開源虛擬化平臺進行互動。另外,Argo Xen監(jiān)控是一款用于管理和監(jiān)控Xen的框架。商業(yè)化的Xen解決方案提供了他們自己的監(jiān)控工具。XenSource的XenEnterprise具有一款能夠?qū)崟r查看VMM性能的監(jiān)控解決方案。VirtualIron的Xen軟件包具備一款被稱為VirtualizationManager的管理和監(jiān)控解決方案。
當前所有的VMM都需要某種主機操作系統(tǒng)或特權控制操作系統(tǒng)。對于VMware ESX和Xen,其是Linux,這意味著控制操作系統(tǒng)可以使用本機Linux監(jiān)視工具來衡量VMM的利用率和狀態(tài)。KISS方法的一個完美例子是syslog進程守護工具。您企業(yè)可以配置syslog進程將其日志復制到一臺專用日志服務器,以便在發(fā)生災難性故障時可用。我最喜歡的工具之一是一款名為splunk的產(chǎn)品。splunk的創(chuàng)造者有令人驚訝的天才思維,但其想法非常簡單:即當該日志與來自各處的類似日志進行比較時,其才是更有用的。Unix / Linux系統(tǒng)管理工具monit也可以用來觀察您的VMM進程。
將您企業(yè)的虛擬機管理程序想象成是您的大腦。您的身體(虛擬機)可以是完全健康的,但如果您的大腦壞了,那么您的身體也就不知道如何運作。即使虛擬機管理程序像我們的大腦一樣被設計為“只工作”,但對其實施主動的監(jiān)控是必要的,以防止可能的總系統(tǒng)故障。
虛擬機
虛擬機類似于您企業(yè)的舊服務器——它們運行軟件以實現(xiàn)業(yè)務目的。但不能因為您的服務器現(xiàn)在已經(jīng)虛擬化了就因此而否定對于其實施充分監(jiān)控的必要。幸運的是,這是很容易的,因為VMM監(jiān)控解決方案幾乎總是能夠監(jiān)控虛擬機。
應用程序
監(jiān)控在虛擬機內(nèi)運行的應用程序與監(jiān)控在物理服務器上運行的應用程序沒有什么不同——可以使用相同的軟件,并且其也是必要的。我曾遇到過太多的IT專業(yè)人士,對于此有著錯誤的印象,他們認為一款虛擬托管的應用程序不受傳統(tǒng)壓力和監(jiān)管的制約。雖然關于應用程序監(jiān)視的理念應該保持不變,但對于應用程序和系統(tǒng)利用率的想法則必須改變。
理解性能指標
在梳理了由不同的監(jiān)控軟件所收集的所有數(shù)據(jù)之后,我們可以看到,在任何給定的時間,虛擬基礎設施只有37%的利用率。許多工程師和IT專業(yè)人員對此的第一反應是這是一件好事;這意味著物理服務器可以增長,以滿足增加的需求和處理偶爾的資源高峰需求。不幸的是,雖然這種思維方式在過去十年中符合大多數(shù)人的想法,但在處理虛擬基礎設施時其已經(jīng)不再適用。虛擬基礎設施的目標是始終達到約80-85%的利用率。
我知道上述這一利用率的數(shù)值似乎很高,幾乎是有些癡人說夢,但請容我細細解釋。企業(yè)部署虛擬基礎設施的目標之一便是在一處既定的數(shù)據(jù)中心整合未充分利用和過度設計的物理服務器。既然如此,那么為什么您會期望虛擬服務器的運行利用率僅僅只有20%呢,這些虛擬服務器存在的原因首先就是為了解決昂貴的物理機成本及其利用率不足的問題。故而我們必須擺脫這種心態(tài),并進一步提高利用率。
如果讀者中仍然有些對此不確定,也沒關系。讓我們看看這種方式。人們對低系統(tǒng)利用率(約20-35%)感到更舒適的兩個原因是系統(tǒng)將能夠處理峰值需求,并且將能夠根據(jù)需要進行擴展。而使用虛擬機,這些問題都消失了。峰值需求仍然存在,但根據(jù)您的虛擬化平臺,虛擬機管理程序?qū)z測到您的虛擬機需要更多資源,并應將其他虛擬機未使用的資源分配給需要的虛擬機。將這種情況與使用率僅僅只有35%的兩臺物理Web服務器進行對比。其中一款Web服務器可以看到內(nèi)存利用率的延長但只是有限的增加。而如果峰值需求的Web服務器可以從資源利用率僅為35%的其他Web服務器借用一些內(nèi)存資源,將會是極好的。使用物理硬件,這是不可能的。虛擬化使您企業(yè)能夠充分利用您的硬件,具有非常好的商業(yè)意義。
此外,如果您的服務成功,那么在將來可能需要更多的資源。將更多的資源分配給服務通常需要增加單臺服務器上的物理資源容量或者將服務重新構建到集群或服務器群(server farm)。這兩種情況都涉及重大的流程——購買新的硬件、實施安裝,并可能需要安裝一個新的系統(tǒng)。這其中大部分的時間是可以通過虛擬化節(jié)省的。您只需為單臺虛擬機分配更多資源,或者克隆虛擬機以開始在集群或服務器群上工作即可。因此,為了消除昂貴的升級成本,企業(yè)組織將資源過度分配給物理硬件不再是一個好的方法。
正如您所看到的,在一款虛擬的基礎設施中,對于系統(tǒng)的低利用率存在各種爭論。那么這意味著什么呢?使用上述監(jiān)控解決方案所收集的數(shù)據(jù),以衡量您的虛擬基礎設施的整體利用率是可能的。如果性能指標顯示平均使用率為45%,那么您仍然可以繼續(xù)增加35-40%的負載。但如果指標顯示平均利用率在80-85%,那么就意味著您企業(yè)的已經(jīng)充分利用了您的硬件了!
總之,對您企業(yè)的虛擬基礎設施實施充分的監(jiān)控,以確保其健康的運行是非常重要的,這有助于確保您企業(yè)不會因為資源的未充分利用而虧損。