現(xiàn)今對數(shù)據(jù)中心的要求是穩(wěn)固、有效,這首先要做到“合理使用”。雖然閑置資源對于一個環(huán)境來講是種資金浪費(fèi)。但若是沒能對頻繁使用的數(shù)據(jù)中心進(jìn)行合理的資源配置,必將引發(fā)危險(xiǎn)場景。單一硬件失靈可能導(dǎo)致其他物理主機(jī)發(fā)生故障。IT管理人員面臨的困難在于:使用并管理好遍布整個環(huán)境的計(jì)算資源(通常包括物理的,虛擬的和云資源)。本文將和大家討論作為達(dá)到資源優(yōu)化這一目的所使用的手段--資源規(guī)劃和問題緩解。我們還將說明如何在問題惡化之前解決它。
資源規(guī)劃的最佳實(shí)踐
當(dāng)今,幾乎所有的數(shù)據(jù)中心都已經(jīng)擁有或是將會進(jìn)行某種形式的虛擬化配置。這就要求我們在對物理平臺進(jìn)行虛擬化時需要作更多考慮。我們已經(jīng)在單一硬件平臺上建設(shè)了多種虛擬機(jī)應(yīng)用,計(jì)算資源共享硬件平臺的CPU、內(nèi)存,網(wǎng)絡(luò)資源共享I/O--有時流量共享磁盤。當(dāng)談及資源管理和問題定位時,主動規(guī)劃可以幫助解決資源利用的問題。
資源的負(fù)載平衡
不管是在虛擬還是物理環(huán)境中,了解清楚哪種資源被使用以及資源分配給了哪些虛擬機(jī)是很重要的。例如,如果手邊有一臺物理主機(jī),配置是8核和24GB隨機(jī)內(nèi)存,工程師不會把所有可用資源都用上,因?yàn)槟菢拥脑挘屯耆チ藨?yīng)對調(diào)整和故障的余地。
圖1 Citrix XenServer 6.0企業(yè)版管理程序,其配置為僅有本地內(nèi)存支持的單一主機(jī)。對于小企業(yè)這樣的部署能夠滿足良好運(yùn)行;但隨著業(yè)務(wù)的變化,多臺主機(jī)則成為必要
如圖1所示,單獨(dú)一臺XenServer主機(jī)為終端用戶提供幾項(xiàng)高使用頻率的工作負(fù)荷。這個辦法雖然可行,但是在面對業(yè)務(wù)應(yīng)用高峰或者出現(xiàn)要添加虛擬服務(wù)器的潛在需求時,進(jìn)行相應(yīng)調(diào)整的空間幾乎沒有。在上述例子中,工程師將不得不從其他虛擬機(jī)上移走虛擬資源--本例中是隨機(jī)存儲內(nèi)存--以便實(shí)現(xiàn)單臺物理機(jī)上的內(nèi)容增長。按照要求物理資源必須為所以虛擬機(jī)可用。在任何環(huán)境中,必須保證有空間來應(yīng)對緊急情況和未來的擴(kuò)展。這將是負(fù)載平衡和虛擬機(jī)管理起巨大作用的地方。
不論是虛擬機(jī)還是物理機(jī)都必須有合適類型的資源分配給它們。當(dāng)部署了經(jīng)常使用的工作負(fù)荷后,要在不影響其它虛擬或物理工作負(fù)荷前提下,對資源進(jìn)行規(guī)劃和傳輸。同樣是這個案例場景,如圖2所示,我們引入了第二臺物理主機(jī),有著類似硬件規(guī)格,開始對虛擬和物理的資源單位進(jìn)行負(fù)載平衡處理。
圖2 Citrix XenServer 6.0企業(yè)版管理程序,顯示了在資源池里配置了多臺主機(jī)。該資源池能夠進(jìn)行資源共享,原因是虛擬機(jī)能夠在存儲局域網(wǎng)(SAN)范圍內(nèi)實(shí)現(xiàn)在主機(jī)之間實(shí)時移動
在新場景中,我們有兩臺物理主機(jī)投入到資源池里,在這里,資源可以在虛擬機(jī)之間得到共享。由于每個環(huán)境都是獨(dú)一無二的,需要對物理資源的負(fù)載平衡處理過程作個別規(guī)劃。本例中,按照現(xiàn)在虛擬機(jī)的要求,兩臺物理主機(jī)具備額外可用資源。而且還為這個具體環(huán)境配備了備用CPU,RAM和存儲,從而保證虛擬機(jī)運(yùn)行的靈活性。
同樣,許多環(huán)境將會出于高可用性(HA)考慮想要執(zhí)行負(fù)載平衡。把XenServer 6.0作為示范管理程序,內(nèi)置工具將會協(xié)助完成這一過程。通過使用“合并服務(wù)器”高可用性功能,管理員能夠看到哪些機(jī)器可以安全地故障轉(zhuǎn)移到另一臺主機(jī)上。在這里,工程師可以確定每臺物理機(jī)需要多少資源來處理它的負(fù)載。最重要是要記住一點(diǎn),這兩臺服務(wù)器在滿足了新創(chuàng)建虛擬機(jī)有可用資源,故障轉(zhuǎn)移和工作流程自動化這些特性同時,實(shí)現(xiàn)了負(fù)載平衡。從HA角度來看,如果上述提到的物理主機(jī)之一發(fā)生了故障,另一臺能夠承載起故障主機(jī)上的關(guān)鍵虛擬機(jī)。
當(dāng)資源在機(jī)器間達(dá)到平衡,虛擬機(jī)就有能力根據(jù)需求在物理主機(jī)間移動,而不影響現(xiàn)行的資源狀態(tài)。把災(zāi)備(DR)當(dāng)作一個有可能的例子。如果一臺物理主機(jī)在這種類型的負(fù)載平衡場景中發(fā)生故障,虛擬機(jī)會轉(zhuǎn)移到下一臺能找到可用資源的主機(jī)上。如果任何一臺主機(jī)都被全面利用,就不可能允許災(zāi)備和故障轉(zhuǎn)移,這僅僅是因?yàn)榱硪慌_主機(jī)上已經(jīng)沒有可用資源來支持追加流入的虛擬機(jī)。
工作流程自動化
許多同時使用虛擬和物理主機(jī)的環(huán)境可能需要工作流程自動化這一要素。例如,。以Citrix Workflow Studio為例,它是Citrix Delivery Center產(chǎn)品系列的一員。它是一種IT過程自動化應(yīng)用,使管理員能夠生成,調(diào)度,運(yùn)行和管理工作流程。這些工作流程把技術(shù)元件捆綁在一起,實(shí)現(xiàn)重復(fù)性配置流程的機(jī)械化,并幫助管理任務(wù)協(xié)調(diào)環(huán)境型觸發(fā)事件。基于Microsoft.NET的框架,Windows Workflow Foundation和Windows PowerShell,Workflow Studio允許工程師動態(tài)生成新的虛擬資源回應(yīng)容量需求,不管是計(jì)劃內(nèi)還是計(jì)劃外的。在該場景中,關(guān)鍵點(diǎn)在于,要有適當(dāng)?shù)馁Y源與備用物理機(jī)對應(yīng),這樣的話,新增加的虛擬機(jī)將會有RAM,CPUs可供使用。
任何時候都會存在要在某一環(huán)境中增加虛擬機(jī)的需求。由管理員決定給每臺新增虛擬機(jī)分配多少資源。過多或過少的資源分配都會導(dǎo)致時間和資金的浪費(fèi)。這也是為什么給現(xiàn)行環(huán)境中的虛擬機(jī)管理制定一個策略規(guī)劃是如此重要。通過了解目前數(shù)據(jù)中心可用資源是什么,工程師能夠更有效地傳輸工作負(fù)荷。
這意味著,管理員需要敏銳關(guān)注他們管理的物理和虛擬環(huán)境,并準(zhǔn)確把握多少用戶和機(jī)器能夠安全、高效地在該主機(jī)上處理任務(wù)。例如,虛擬桌面架構(gòu)。當(dāng)用戶登錄時,就開始消耗一臺受監(jiān)控機(jī)器上的資源,如圖3所示。
圖3 Citrix XenServer 6.0企業(yè)版管理程序,顯示了一個獨(dú)立的XenServer主機(jī)只被虛擬桌面架構(gòu)所使用。虛擬機(jī)可以是本地存儲,也可以在骨干存儲局域網(wǎng)上存儲。
目前,圖3所示的機(jī)器沒有被充分使用。不過,一旦用戶流入,資源被占用的比例會迅速增長,從而給這個不平衡的環(huán)境帶來問題。相應(yīng)地,用這個數(shù)據(jù)制定虛擬工作負(fù)荷。例如,給資源使用設(shè)定一個上限,使得在一個妥善管理的數(shù)據(jù)中心里,能夠在一臺物理機(jī)上運(yùn)行安全值數(shù)量內(nèi)的工作負(fù)荷。
設(shè)定資源“提醒”和“告警”
在數(shù)據(jù)中心創(chuàng)建告警和通知功能能幫助維護(hù)一個健康的環(huán)境并提高虛擬機(jī)管理。在用戶察覺之前,或者在危害服務(wù)級協(xié)議(SLA)之前就發(fā)現(xiàn)問題,能讓數(shù)據(jù)中心的虛擬和物理機(jī)用得更長久,更有效。從資源角度看,先進(jìn)管理程序可以設(shè)置提醒和通知功能,如圖4所示。
圖4 CtrixServer 6.0企業(yè)版管理程序提供“提醒”功能,能夠在每臺虛擬機(jī)和物理機(jī)上進(jìn)行配置。本例中,為一臺Windows Server 2008R2 Enterprise Licensing Server設(shè)置了提醒功能。
有了提醒監(jiān)控,工程師能夠設(shè)置CPU,網(wǎng)絡(luò)和磁盤告警。使得技術(shù)人員及早發(fā)現(xiàn)侵害性問題,并在影響最終用戶之前采取措施減輕資源分配問題。規(guī)劃和部署過程中,設(shè)置資源告警是一個重要環(huán)節(jié)。許多環(huán)境把這個動作放到最后一個步驟,只會導(dǎo)致數(shù)據(jù)中心快速陷入資源型問題。
使用現(xiàn)有的第三方資源監(jiān)控工具
管理員要經(jīng)常檢查那些會直接影響個別物理或虛擬主機(jī)的資源。這種情況下,有一些很好用的第三方細(xì)粒度監(jiān)控工具可以幫助匯報(bào)特別數(shù)據(jù)庫服務(wù)器,云機(jī)器和其他大量使用的工作負(fù)荷。其中一個由uptime軟件公司推出的名為up.Time的工具讓管理員能夠監(jiān)控服務(wù)器,虛擬機(jī),云,并置,及其它內(nèi)容。使用up.Time圖形化服務(wù)器監(jiān)控軟件后,管理員能夠在獨(dú)立于任何在用操作系統(tǒng)的條件下,對數(shù)據(jù)中心內(nèi)部運(yùn)行的所有關(guān)鍵性服務(wù)器資源進(jìn)行圖解和分析。深層次上,對CPU,內(nèi)存,磁盤,進(jìn)程,工作負(fù)荷,網(wǎng)絡(luò),用戶,服務(wù)狀態(tài)和配置數(shù)據(jù)進(jìn)行細(xì)粒度監(jiān)控能夠幫助工程師對數(shù)據(jù)中心資源進(jìn)行合理地分配和規(guī)劃。
另一個可靠的網(wǎng)絡(luò)監(jiān)控工具來自SolarWinds公司。該工具名為Orion Network Performance Monitor(NPM) ,提供細(xì)粒度網(wǎng)絡(luò)流量和性能監(jiān)控。為了協(xié)助工程師的日常工作,NPM監(jiān)控器可以為路由器,交換機(jī),無線訪問點(diǎn),服務(wù)器及其它SNMP型設(shè)備進(jìn)行上下搜尋,并對實(shí)時的,深層的網(wǎng)絡(luò)性能統(tǒng)計(jì)數(shù)據(jù)作分析。對于大型數(shù)據(jù)中心,NPM允許工程師快速瀏覽核心IT服務(wù)和數(shù)據(jù)中心狀況,方法是通過查閱篩選過的告警,它動態(tài)集合了相關(guān)的系統(tǒng)和設(shè)備。
此外,資源問題通常能夠利用機(jī)載工具進(jìn)行診斷和解決。例如,由微軟操作平臺推出的Resource Monitor,能夠?qū)σ慌_機(jī)器上的資源利用情況進(jìn)行圖解,讓管理員了解資源是如何得到使用的。
圖5資源監(jiān)控器顯示了Windows Server 2008 R2 Enterprise Exchange Server上當(dāng)前的內(nèi)存使用情況
在圖5例子中,該服務(wù)器的store.exe有RAM方面的問題。工程師應(yīng)該了解,Exchange軟件可能引起了RAM密集現(xiàn)象,所以看到這種使用情況很正常。不過,了解到這一點(diǎn),工程師就能夠選擇要么增加主機(jī)資源,要么把該主機(jī)上的部分負(fù)荷轉(zhuǎn)移其他機(jī)器上。
自然地,Resource Monitor有幾個設(shè)定可以幫助工程師探測機(jī)器并查出哪些資源正在被使用。另一個例子就是網(wǎng)絡(luò)處理量。圖6中,我們看到的是一臺普通操作中的服務(wù)器。但是,如果出現(xiàn)網(wǎng)絡(luò)尖峰,我們就能夠看到其來源并確定如何能夠進(jìn)行最有效的緩解。要得到一個細(xì)粒度全景圖,工程師可以深入現(xiàn)有環(huán)境,生成自己的監(jiān)控器,來了解數(shù)據(jù)中心哪些地方有缺失,或者數(shù)據(jù)中心運(yùn)行的總體情況。
圖6 Resource Monitor顯示了Windows Server 2008 R2 Enterprise Exchange Server上的網(wǎng)絡(luò)流量和使用情況
數(shù)據(jù)中心存儲資源考慮內(nèi)容
存儲資源可能是既有限又昂貴。不合理的存儲利用可能導(dǎo)致運(yùn)行問題,最終付出高昂代價換取解決。不管什么時候,監(jiān)控虛擬和物理環(huán)境中的存儲利用情況總是非常重要。智能存儲工具通過合并數(shù)據(jù)和有效傳輸能減輕巨大工作負(fù)荷帶來的痛苦。數(shù)據(jù)中心存儲局域網(wǎng)環(huán)境的一個主要漏洞在于資源使用尖峰。例如,在某一特定時間,大量用戶訪問系統(tǒng)。
面對這些情形,磁盤成為主要使用的設(shè)備,而運(yùn)行幾乎陷于停止?fàn)顟B(tài)。為了應(yīng)對這種情況,存儲局域網(wǎng)廠商開始尋求固體技術(shù)和智能“去重識別”緩存機(jī)制,來緩解性能瓶頸問題。
圖7圖表顯示了Flash Cache是如何影響了NetApp 3000系列控制器及它的磁盤聚合。這張截圖顯示了一個總長為80分鐘的活動--其中前20分鐘未得到緩存。
圖7,一大批用戶在訪問一個被大量使用的工作負(fù)荷。該例子中的設(shè)備是NetApp控制器。我們可以看到,沒有緩存的磁盤性能和有機(jī)載緩存兩者之間的差別。這幾類有助于數(shù)據(jù)中心高效運(yùn)行的解決方案能夠讓一個環(huán)境運(yùn)行得更持久,更順暢。本例中,工程量不必為了資源發(fā)放而購買大量的磁盤。相反地,他們可以利用現(xiàn)有存儲實(shí)現(xiàn)把大量工作負(fù)荷更有效地傳輸給最終用戶的目標(biāo)。
規(guī)劃和關(guān)注有回報(bào)
任何時候都要記住,運(yùn)算資源是有限的。應(yīng)對預(yù)料之外的事件或短缺情形要增加資源時,成本可能會很高。這意味著管理員必須對數(shù)據(jù)中心整體環(huán)境有先見之明,在資源利用問題影響到工作負(fù)荷和最終用戶之前就及早發(fā)現(xiàn)它。