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