程志華 楊孝果 付 雄
1(國家電網公司信息通信部 北京 100031)2(南京郵電大學計算機學院 江蘇 南京 210023)
面向大規(guī)模云數據中心的輕量級監(jiān)控研究
程志華1楊孝果2付 雄2
1(國家電網公司信息通信部 北京 100031)2(南京郵電大學計算機學院 江蘇 南京 210023)
在云數據中心中,隨著虛擬化技術的廣泛應用,對虛擬機和物理機的同時監(jiān)控使得監(jiān)控系統(tǒng)面臨著負載大、開銷大等問題,傳統(tǒng)的監(jiān)控系統(tǒng)很難滿足需要。設計出一種輕量級狀態(tài)監(jiān)控方案,該方案結合實時監(jiān)控與狀態(tài)監(jiān)控,對實時性要求不高的監(jiān)控對象使用狀態(tài)監(jiān)控。經實驗證明該監(jiān)控方案能夠適用于云數據中心,并能較好地降低監(jiān)控系統(tǒng)帶來的網絡負載。
云計算 云數據中心 輕量級 狀態(tài)監(jiān)控
數據中心是信息系統(tǒng)的核心,主要功能是通過網絡向用戶提供基礎設施服務[1]。數據中心在經歷了數據存儲中心、數據處理中心和信息中心三個階段后,伴隨著云計算和虛擬化技術的運用,數據中心逐漸發(fā)展成為云數據中心[2]。
云數據中心的正常運行離不開監(jiān)控。監(jiān)控是維護云數據中心良好運行狀態(tài)的基礎,同時也是云數據中心實現其他功能必不可少的保障。通過監(jiān)控云數據中心獲取資源使用數據,是云數據中心實現資源分配、任務調度和負載均衡等功能的基礎。監(jiān)控云數據中心可以幫助管理員跟蹤資源運行狀態(tài),及時發(fā)現和解決資源故障,實現資源預警和報警,維持系統(tǒng)的平穩(wěn)運行[3]。因此,研究云數據中心的監(jiān)控,對解決云數據中心的資源管理有著極其重要的意義。
當前,云數據中心的監(jiān)控并沒有形成統(tǒng)一的解決方案?,F有的解決方案多為集群監(jiān)控系統(tǒng)或是針對某些特定監(jiān)控對象的監(jiān)控系統(tǒng)。集群監(jiān)控系統(tǒng)的監(jiān)控數據一般用于故障處理和性能分析等工作,具有代表性的集群監(jiān)控軟件如Ganglia[4];針對某些特定監(jiān)控對象的監(jiān)控系統(tǒng)在某些監(jiān)控對象上具有較好的監(jiān)控效果,但它們的可擴展性較差,并不能適應云數據中心在規(guī)模上的飛速發(fā)展。此外,云數據中心大量使用虛擬化技術,只能達到物理機級別的監(jiān)控粒度,顯然不能滿足云數據中心對于監(jiān)控系統(tǒng)的要求,為了讓監(jiān)控系統(tǒng)具有更高的實用價值,云數據中心的監(jiān)控粒度必須細化到虛擬機級別[5]。
當監(jiān)控粒度達到虛擬機級別時,數量巨大的虛擬機產生的監(jiān)控數據更加龐大。每個監(jiān)控節(jié)點將監(jiān)控到的數據不加鑒別地傳輸給位于其上層的集群管理節(jié)點進行分析、存儲時,必然會造成極大的網絡負載。在滿足監(jiān)控需求的前提下,如何降低監(jiān)控系統(tǒng)產生的網絡負載也是必須考慮的問題[6-7]。
基于以上分析,本文提出了面向大規(guī)模云數據中心的監(jiān)控方案。它是一種云數據中心的輕量級監(jiān)控方案,具有較好的可擴展性。在該監(jiān)控方案的基礎上,考慮到監(jiān)控系統(tǒng)對云數據中心產生的巨大網絡負載,提出結合實時監(jiān)控與狀態(tài)監(jiān)控相結合的監(jiān)控方法,并且提出狀態(tài)監(jiān)控的優(yōu)化策略,有效降低狀態(tài)監(jiān)控的網絡負載。
1.1 監(jiān)控對象
監(jiān)控對象是指監(jiān)控系統(tǒng)以直接或間接方式獲取運行數據的對象。云數據中心的監(jiān)控對象繁雜,從不同角度出發(fā),可以將監(jiān)控對象劃分為不同類型。從實體存在形式劃分,監(jiān)控對象可劃分為物理形式和虛擬形式;從資源類型劃分,監(jiān)控對象可劃分為計算資源、存儲資源、網絡資源等。
伴隨著云數據中心規(guī)模的不斷擴大和結構的日益復雜,對云數據中心監(jiān)控的難度也不斷加大,監(jiān)控對象分布到云數據中心的各個層面。云數據中心的監(jiān)控系統(tǒng)應當能夠直接采集到物理機和虛擬機的包括CPU和內存在內的計算資源、網絡資源、存儲資源等的使用情況。
1.2 監(jiān)控方式
監(jiān)控方式是指監(jiān)控系統(tǒng)對監(jiān)控數據進行數據同步的方式,主要分為實時監(jiān)控和狀態(tài)監(jiān)控兩種。
實時監(jiān)控是一種對監(jiān)控數據進行實時同步的監(jiān)控方式。對監(jiān)控對象采用這種監(jiān)控方式,用戶能夠獲取監(jiān)控對象的實時運行數據,數據處理與分析模塊可以對獲得的數據進行處理、分析。
進行實時監(jiān)控獲取的監(jiān)控數據通常會傳輸到監(jiān)控節(jié)點之外的節(jié)點進行存儲。因此,實時監(jiān)控雖然能夠及時獲取到詳細的監(jiān)控數據,但是由于監(jiān)控數據需要同步傳輸,對網絡資源的消耗會隨著監(jiān)控對象規(guī)模的增大而急速增長。
狀態(tài)監(jiān)控是一種只顯示監(jiān)控對象是否“健康”的監(jiān)控方式。該監(jiān)控方式下,數據采集模塊在采集到數據后,只有該數據超越預定的閾值時,才會有所行動,否則只進行本地存儲。這一監(jiān)控方式適用于對監(jiān)控數據實時性要求不高的監(jiān)控對象。
進行狀態(tài)監(jiān)控時,首先對監(jiān)控對象設定一個危險報警的閾值,監(jiān)控數據與該閾值進行簡單比對后進行本地存儲。當監(jiān)控數據處于安全范圍內,監(jiān)控系統(tǒng)靜默,一旦監(jiān)控數據超出預定的閾值,即出現本地局部越界,監(jiān)控節(jié)點向集群管理節(jié)點發(fā)出本地越界報告。集群管理節(jié)點收到局部越界報告后發(fā)起全局輪詢,確定集群內該監(jiān)控對象的狀態(tài)值是否發(fā)生整體越界。若發(fā)生整體越界則發(fā)出報警,否則監(jiān)控系統(tǒng)繼續(xù)監(jiān)控。
簡單的狀態(tài)監(jiān)控可以采用即時報告與輪詢策略。它是指監(jiān)控對象的報告和集群管理節(jié)點的全局輪詢采用即時進行的方式,即監(jiān)控對象發(fā)現本地越界時立即向集群管理節(jié)點報告、集群管理節(jié)點收到報告后立即發(fā)起全局輪詢。
進行狀態(tài)監(jiān)控時,監(jiān)控數據采集端可以對本地監(jiān)控數據進行簡單的比對處理,只有在有需要時將監(jiān)控數據對外傳輸,大大地降低監(jiān)控系統(tǒng)對整個云數據中心系統(tǒng)的網絡負載。
1.3 監(jiān)控架構
一個完整的監(jiān)控系統(tǒng)主要分為數據采集、數據存儲、數據處理、數據展現四大部分。圖1是本文提出的監(jiān)控方案的框架體系。
圖1 監(jiān)控系統(tǒng)框架體系
圖1中實線框分別表示監(jiān)控系統(tǒng)的三個主要角色——監(jiān)控節(jié)點、集群管理節(jié)點和獨立于所有集群之外的監(jiān)控前端。監(jiān)控節(jié)點在采集到監(jiān)控數據后對監(jiān)控數據進行分發(fā)。集群管理節(jié)點獲得監(jiān)控節(jié)點發(fā)送的數據后可以存儲在本地數據庫,便于后期分析處理。監(jiān)控前端獨立于所有的集群,可以隨時查詢任意集群上任意監(jiān)控對象的當前運行狀態(tài),并根據需要調整監(jiān)控系統(tǒng)。
圖1中虛線框分別表示監(jiān)控系統(tǒng)的數據采集、數據存儲、數據處理和數據展現功能。數據采集功能主要位于在監(jiān)控節(jié)點,用于對監(jiān)控節(jié)點的虛擬機和物理機的運行狀態(tài)進行數據采集。以往的數據存儲一般采用監(jiān)控節(jié)點本地存儲或集群管理節(jié)點集中式存儲兩種方式。前者可以減少監(jiān)控數據的傳輸,但在監(jiān)控節(jié)點對監(jiān)控數據的分析處理時會使得監(jiān)控節(jié)點的計算負載增大;后者需要將所有監(jiān)控數據不加鑒別的傳輸,雖然該方法在后期的數據分析時不會對監(jiān)控節(jié)點造成計算負載,但是隨著監(jiān)控規(guī)模的增大和監(jiān)控粒度的細化,監(jiān)控數據不斷擴大,會造成嚴重的網絡負載。
本文提出的監(jiān)控架構將數據進行兩地存儲:進行狀態(tài)監(jiān)控的監(jiān)控數據和不需要進行集群相關性分析的監(jiān)控數據存儲在監(jiān)控節(jié)點;進行實時監(jiān)控和需要進行集群相關性分析的監(jiān)控數據傳送到集群管理節(jié)點(或其他的統(tǒng)一節(jié)點,圖中省略)進行存儲,便于及時進行數據分析和查詢。
進行狀態(tài)監(jiān)控時,網絡波動等原因造成的瞬時狀態(tài)越界和突發(fā)值十分常見[8-10],局部閾值設置不合理也會造成某些節(jié)點多次發(fā)出不必要的局部越界報告。云數據中心的監(jiān)控規(guī)模較大時,每一次的全局輪詢都會造成較大的網絡負載,所以,在保證正確率的前提下,減少局部越界報告次數和全局輪詢次數顯得十分重要。
基于以上分析,本文提出了狀態(tài)監(jiān)控的優(yōu)化策略,它能在一定程度上減少短時局部越界和長時微弱越界產生的不必要的局部越界報告和全局輪詢。該優(yōu)化策略分為越界抑制算法和輪詢抑制算法兩個部分。越界抑制算法運行于監(jiān)控節(jié)點,其作用是抑制瞬時劇烈越界和較長時間的微弱越界,并在必要時向集群管理節(jié)點發(fā)送局部越界報告信息;輪詢抑制算法運行于集群管理節(jié)點,其作用是在接收到監(jiān)控節(jié)點發(fā)送的局部越界報告信息時,能夠根據自身對整個集群的預測,判斷是否需要發(fā)起全局輪詢。
越界抑制算法步驟如下:
輸入 集群內監(jiān)控對象的整體閾值T,監(jiān)控對象的可容忍累計越界量Hi,越界報告權值系數w。
輸出 判斷是否需要向集群管理節(jié)點發(fā)送局部越界報告信息。
1. 根據T設定每個監(jiān)控節(jié)點上該監(jiān)控對象的局部閾值Ti,本地越界累計值Si(t)=0;
3. 若:Si(t)在達到Hi前,監(jiān)控值mi已經恢復到本地閾值范圍內(mi≤Ti),則本次越界累計結束,本地越界累計值Si置為0;
輪詢抑制算法步驟如下:
輸入 最近全局輪詢的監(jiān)控值之和M。
輸出 判斷是否需要發(fā)起全局輪詢。
3. 集群管理節(jié)點在時間點tx收到監(jiān)控節(jié)點發(fā)送的時間跨度Δt和越界強度Li,修改時間區(qū)間(tx-Δt,tx]內的全局越界強度L(t):L(t)=L(t)+Li,t∈(t0-Δt,t0];
6. 若:輪詢后確定發(fā)生全局越界,觸發(fā)報警。
在越界抑制算法的步驟1中,可以選用不同的分配算法對整體閾值T進行分配,從而使監(jiān)控節(jié)點的局部閾值Ti更好地符合當前狀態(tài);在輪詢抑制算法的步驟2和步驟5中,可以使用不同的預測算法對監(jiān)控對象的全局空閑值進行預測。根據用戶需求不同,可以定制更加符合系統(tǒng)模型的分配算法和預測算法,充分體現出本文的越界抑制算法和輪詢抑制算法具有較好的可擴展性。
按照即時狀態(tài)監(jiān)控報告方案,任意一臺虛擬機的本地下載速度超過本地閾值時,都會向集群管理節(jié)點發(fā)送局部越界報告,若集群管理節(jié)點同樣采用即時輪詢方法,那么在任意時間點,一旦集群管理節(jié)點接收到監(jiān)控節(jié)點的狀態(tài)越界報告,就立即發(fā)出全局輪詢,根據輪詢結果確定是否需要發(fā)出報警信息。
為了提高數據樣本的準確性,在本次實驗中,設定監(jiān)控系統(tǒng)的數據采集頻率為每秒一次。實驗中,共有10 007次本地狀態(tài)越界,由于存在某時刻多節(jié)點同時發(fā)生本地狀態(tài)越界,而集群管理節(jié)點在同一時刻接收到多個本地越界報告時只需要進行一次全局輪詢,因此,在本次實驗中,全局輪詢發(fā)生次數共計8 492次。
圖2 本地越界報告量與Hi關系
從本文提出的優(yōu)化方案可知,監(jiān)控節(jié)點的越界報告量與可容忍累積越界量Hi有關,而輪詢量則與可容忍累積越界量Hi、權值提升系數w和預測因子a有關。
如圖2是本地越界報告量與可容忍累積越界量Hi的關系圖。從圖中可以看出,隨著可容忍累積越界量Hi的增大,越界報告量不斷降低。相比于即時報告方法,Hi為200、400、600、800和1 000時,越界報告量分別降低27.82%、61.26%、70.28%、76.59%和82.05%。
如圖3是權值提升系數w=1.1、預測因子a=0.5時,全局輪詢量與可容忍累積越界量Hi的關系圖。從圖中可以看出,隨著Hi的增大,輪詢量不斷降低。相比于即時輪詢,Hi為200、400、600、800和1 000時,越界報告量分別降低了18.13%、55.90%、65.85%、73.15%和78.31%。
圖3 w=1.1、a=0.5輪詢量與Hi關系
顯然,優(yōu)化方案與即時方案相比,很好地降低了局部狀態(tài)越界報告和全局輪詢的數量。具有較好的優(yōu)化效果。
除了可容忍累積越界量Hi,優(yōu)化方案的輪詢量還與越界提升系數w和預測因子a有關。圖4和圖5分別反映了不同的w和a對輪詢量的影響。從圖中可以看出,較小的w和較大的a對輪詢量的影響相對較大,但差別十分微弱。
圖4 越界提升系數w對輪詢量的影響
圖5 預測因子a對輪詢量的影響
不同重要性的監(jiān)控對象可以設置不同的延遲輪詢級別,對于整個系統(tǒng)安全性、健壯性影響較高的監(jiān)控對象,可以將其延遲輪詢時間設置為0,表示在系統(tǒng)出現整體越界真正需要發(fā)起全局輪詢的時候,監(jiān)控系統(tǒng)能夠無延遲發(fā)起輪詢;類似地,對于重要級別較低的監(jiān)控對象,如果可以容忍短暫的輪詢延遲,則將延遲輪詢時間設置為可以接受的值,表示在系統(tǒng)出現整體越界需要發(fā)起全局輪詢時,監(jiān)控系統(tǒng)能夠在預先設置的延遲值范圍內發(fā)起全局輪詢。
圖6顯示的是本次實驗中,各個延遲級別下,發(fā)起全局輪詢的命中率與可容忍累計越界量的關系。從圖中可以看出,命中率隨著可容忍累計越界量的增大呈現下降趨勢,并且延遲級別越高(最高為0延遲),命中率下降的越快。
圖6 各延遲長度命中率變化趨勢
圖7表示的是在保證95%命中率的前提下,即時方案和不同延遲的優(yōu)化方案在本地越界報告量的累計趨勢變化對比圖(局部)。同時,為了驗證優(yōu)化方案的效果,還和文獻[10]中提出的向量自回歸VAR(Vector Auto Regression)預測方法引入延遲思想后進行了比較。
圖7 不同方案的本地越界報告量累計趨勢圖(局部)
從圖7中可以看出,本文提出的優(yōu)化方案能夠很好地降低因本地狀態(tài)越界而產生的局部越界報告。在保證95%命中率的前提下,圖中時間軸為2.0 h時,相比于即時報告方案,本文提出的優(yōu)化方案的不同延遲程度的報告量分別降低了58.39%、76.26%、83.59%和87.47%。相比于VAR預測[10]引入的延遲僅能降低約6.2%,明顯不如本文所提方案的優(yōu)化效果,其主要原因是該方法預測準確度和所采用的延遲對抑制瞬時劇烈越界不夠。
云數據中心監(jiān)控是云數據中心發(fā)展的重要課題。本文以此為研究對象,探究云數據中心的監(jiān)控目標,設計一種具有可擴展性的監(jiān)控架構,該架構結合實時監(jiān)控與狀態(tài)監(jiān)控兩種監(jiān)控方式。同時,本文對狀態(tài)監(jiān)控算法進行優(yōu)化,有效降低狀態(tài)監(jiān)控引發(fā)全局輪詢而產生的網絡負載。
我們未來的工作主要集中在兩點:(1)繼續(xù)研究更為合理、完善的云數據中心監(jiān)控方案,獲取更加具體、可信的虛擬機監(jiān)控數據;(2)完善監(jiān)控方案中的能耗監(jiān)控模塊,挖掘監(jiān)控系統(tǒng)的實用價值。
[1] 李丹,陳貴海,任豐原,等.數據中心網絡的研究進展與趨勢[J].計算機學報,2014,37(2):259-274.
[2] 魏祥麟,陳鳴,范建華,等.數據中心網絡的體系結構[J].軟件學報,2013,24(2):295-316.
[3] 魏亮,黃韜,陳建亞,等.基于工作負載預測的虛擬機整合算法[J].電子與信息學報,2013,35(6):1271-1276.
[4] Massie M L,Chun B N,Culler D E.The ganglia distributed monitoring system:design,implementation,and experience[J].Parallel Computing,2004,30(7):817-840.
[5] Jin Y,Wen Y,Chen Q,et al.An empirical investigation of the impact of server virtualization on energy efficiency for green data center[J].The Computer Journal,2013,56(8):977-990.
[6] 江逸茗,蘭巨龍,周慧琴.網絡虛擬化環(huán)境下的資源監(jiān)控策略[J].電子與信息學報,2014,36(3):708-714.
[7] Raghavendra R,Ranganathan P,Talwar V,et al.No power struggles:coordinated multi-level power management for the data center[J].ACM SIGARCH Computer Architecture News,2008,36(1):48-59.
[8] Meng S,Iyengar A K,Rouvellou I M,et al.State monitoring in cloud datacenters[J].IEEE Transactions on Knowledge and Data Engineering,2011,23(9):1328-1344.
[9] Deligiannakis A,Stoumpos V,Kotidis Y,et al.Outlier-aware data aggregation in sensor networks[C]//Proceedings of the IEEE 24th International Conference on Data Engineering,2008:1448-1450.
[10] Chen H,Fu X,Tang Z,et al.Resource monitoring and prediction in cloud computing environments[C]//Proceedings of the 3rd International Conference on Applied Computing and Information Technology/2nd International Conference on Computational Science and Intelligence,2015:288-292.
RESEARCH ON LIGHTWEIGHT MONITORING FOR LARGE SCALE CLOUD DATA CENTER
Cheng Zhihua1Yang Xiaoguo2Fu Xiong2
1(DepartmentofInformationandCommunications,StateGridCorp.,Beijing100031,China)2(SchoolofComputer,NanjingUniversityofPostsandTelecommunications,Nanjing210023,Jiangsu,China)
In the cloud data center, along with the extensive application of virtualization technology, the simultaneous monitoring of virtual machine and physical machine makes the monitoring system face the problems of large load and large cost. The traditional monitoring system is difficult to meet the needs. In this paper, a lightweight state monitoring scheme is designed, which combines real-time monitoring and state monitoring, and it uses the state monitoring for the object with low real-time requirement. Experiments show that the proposed monitoring scheme can be applied to the cloud data center, and can reduce the network load brought by the monitoring system.
Cloud computing Cloud data center Lightweight State monitoring
2016-05-10。國家自然科學基金項目(61202354)。程志華,高級工程師,主研領域:電力信息化,云計算。楊孝果,碩士生。付雄,副教授。
TP393
A
10.3969/j.issn.1000-386x.2017.06.002