[胡華偉]
一種云計(jì)算資源自適應(yīng)預(yù)警方法研究
[胡華偉]
云計(jì)算為能夠?yàn)橛脩籼峁┗A(chǔ)作為服務(wù)(IaaS,Infrastructure as a Service)的計(jì)算能力,使得用戶能夠在使用高效、可靠、經(jīng)濟(jì)的計(jì)算資源的同時,不用增加額外的購置、維護(hù)資源的開銷。這在很大程度上要依賴對虛擬資源的使用,因此如何有效地管理虛擬資源,使其使用率最大化并保證用戶對資源使用的有效性,已成了虛擬化技術(shù)應(yīng)用中最重要一環(huán)。針對這一問題,文章提出了一種云計(jì)算資源自適應(yīng)預(yù)警方法,通過對虛擬資源的性能數(shù)據(jù)收集分析,和模型預(yù)測,削峰填谷為安排虛擬機(jī)的最優(yōu)資源調(diào)度。文章詳細(xì)給出了現(xiàn)網(wǎng)實(shí)現(xiàn)實(shí)例。通過實(shí)際虛擬化資源管理調(diào)度實(shí)現(xiàn)應(yīng)用結(jié)果表明,該方法能夠提高虛擬資源的使用率及保證用戶對資源使用的良好感知。
云計(jì)算 資源 預(yù)警 調(diào)度算法
胡華偉
碩士,工程師,現(xiàn)就職于中國電信福建分公司,主要從事業(yè)務(wù)平臺、云資源池技術(shù)支撐工作,曾在視頻監(jiān)控、IPTV和云計(jì)算技術(shù)應(yīng)用方向申請多項(xiàng)國家專利。
“云計(jì)算”是一種將池化的集群計(jì)算能力通過互聯(lián)網(wǎng)向內(nèi)外部用戶提供按需服務(wù)的互聯(lián)網(wǎng)新業(yè)務(wù)。云計(jì)算為能夠?yàn)橛脩籼峁┗A(chǔ)作為服務(wù)(IaaS,Infrastructure as a Service)的計(jì)算能力,使得用戶能夠在使用高效、可靠、經(jīng)濟(jì)的計(jì)算資源的同時,不用增加額外的購置、維護(hù)資源的開銷,這在很大程度上要依賴對虛擬資源的使用。
云計(jì)算的優(yōu)勢在于能提高服務(wù)器的資源利用率。確保部署在同一臺物理機(jī)上的虛擬機(jī)消耗資源的高峰期相互錯開,能提高云平臺的資源利用率。虛擬機(jī)對資源的消耗不是一成不變的,高峰期和低谷期出現(xiàn)的規(guī)律也是會動態(tài)變化。通過分析虛擬機(jī)消耗資源的變化規(guī)律,為虛擬機(jī)部署提供依據(jù),預(yù)先輸出資源調(diào)配預(yù)警,有利于提高云平臺的資源使用率,和增強(qiáng)用戶使用虛擬計(jì)算資源的感知。
資源的最優(yōu)使用需要通過收集數(shù)據(jù),分析門限,調(diào)優(yōu)資源占用的方法來進(jìn)行。具體在本研究方法中,準(zhǔn)實(shí)時采集云計(jì)算資源池中物理機(jī)和虛擬機(jī)消耗資源的數(shù)據(jù)(包括CPU資源、內(nèi)存資源、IO資源等)。以近期歷史數(shù)據(jù)為基準(zhǔn),分析虛擬機(jī)消耗資源的變化規(guī)律,預(yù)測分析未來的資源消耗數(shù)據(jù),以此作為安排部署虛擬機(jī)的依據(jù),為定期調(diào)整資源分配提供支持。目的是將消耗資源高峰期不同的虛擬機(jī)錯開部署,達(dá)到削峰填谷和自適應(yīng)業(yè)務(wù)發(fā)展變化的效果。同時對資源運(yùn)行負(fù)載進(jìn)行提前預(yù)警分析,可以規(guī)避在資源消耗高峰期間,實(shí)施虛擬機(jī)動態(tài)遷移調(diào)整,影響平臺運(yùn)行。
自適應(yīng)云計(jì)算資源預(yù)警的方法技術(shù)框架如圖1。
圖1 自適應(yīng)云計(jì)算資源預(yù)警方法總體技術(shù)架構(gòu)
依據(jù)以上自適應(yīng)云計(jì)算資源預(yù)警方法技術(shù)架構(gòu),具體實(shí)現(xiàn)方法如下:
(1)節(jié)點(diǎn)管理Agent
節(jié)點(diǎn)管理Agent部署在物理機(jī)節(jié)點(diǎn)上,負(fù)責(zé)收集資源使用數(shù)據(jù),接收中央管理服務(wù)器的控制指令。包含以下幾個子功能模塊:
① 資源采集模塊
該模塊實(shí)時采集物理機(jī)和虛擬機(jī)的綜合計(jì)算資源(包括CPU、內(nèi)存、磁盤IO、網(wǎng)絡(luò)吞吐量)使用情況,并上報(bào)中央管理服務(wù)器。
② 控制管理模塊
該模塊負(fù)責(zé)向中央管理服務(wù)器注冊,接收中央管理服務(wù)器運(yùn)行指令。
(2)資源分析預(yù)警服務(wù)器
資源分析預(yù)警服務(wù)器可以部署在單獨(dú)的物理機(jī)或者虛擬機(jī)上,實(shí)現(xiàn)數(shù)據(jù)分析,資源使用預(yù)警功能。包含以下幾個子功能模塊:
① 資源數(shù)據(jù)收集模塊
該模塊負(fù)責(zé)匯總節(jié)點(diǎn)管理Agent采集的資源使用數(shù)據(jù),并將收集到的信息錄入數(shù)據(jù)庫。
② 智能分析模塊
該模塊負(fù)責(zé)分析云平臺資源消耗的變化規(guī)律,提出資源預(yù)警,作為部署虛擬機(jī)的參考依據(jù)。
以天為周期分析虛擬機(jī)消耗資源的變化規(guī)律。按照5分鐘顆粒度作為數(shù)據(jù)采集分析點(diǎn),取最近7天的數(shù)據(jù)作為分析的歷史數(shù)據(jù),預(yù)測分析第二天虛擬機(jī)消耗資源的變化曲線。(時間隔間以及歷史時間跨度可以配置調(diào)整)
假設(shè)Yi,其中i=[1,2,3,…,287,288]為1天中288個的數(shù)據(jù)分析點(diǎn)。Xij,其中j=[1,2,3,4,5,6,7]為對應(yīng)Yi最近7天在該時間點(diǎn)的歷史數(shù)據(jù)。
計(jì)算Yi的期望值Ei=∑Xij/7。
計(jì)算Yi的標(biāo)準(zhǔn)方差σi=√(∑(Xij-Ei)2/7)
將期望值和標(biāo)準(zhǔn)方差的和作為未來第二天Yi的預(yù)測值Yi=Ei+σi。
期望值Ei計(jì)算了當(dāng)前時間點(diǎn)近7天的一個平均值,標(biāo)準(zhǔn)方差σi則計(jì)算近7天的一個平均波動范圍。期望值加標(biāo)準(zhǔn)方差的綜合分析方法,提供了自適應(yīng)的資源預(yù)警機(jī)制。
(3)監(jiān)控預(yù)警模塊
該模塊負(fù)責(zé)實(shí)時監(jiān)控物理機(jī)運(yùn)行負(fù)載,評估未來是否會出現(xiàn)資源使用高峰使物理機(jī)運(yùn)行負(fù)載過高影響性能。流程如下:
當(dāng)物理機(jī)運(yùn)行負(fù)載超過預(yù)警門限時:
① 實(shí)時采集該物理機(jī)節(jié)點(diǎn)上虛擬機(jī)資源使用情況。
② 假設(shè)當(dāng)前值為Z,智能分析方法在當(dāng)前時間點(diǎn)的預(yù)測值為Y=E+σ。計(jì)算變化率ε=(Z-E)/σ。當(dāng)ε>1時,說明當(dāng)前的資源使用波動超過了原先預(yù)測的范圍,未來的資源使用負(fù)載可能增加。
③ 對ε>1的虛擬機(jī)重新計(jì)算后續(xù)時間點(diǎn)的各個預(yù)測值Y’=E+σ*ε。
④ 根據(jù)新的預(yù)測值,檢查物理機(jī)后續(xù)時間點(diǎn)的運(yùn)行負(fù)載。
⑤ 如果運(yùn)行負(fù)載超過設(shè)定的門限值,可能出現(xiàn)性能問題,產(chǎn)生事件通知。
⑥ 如果事件通知持續(xù)產(chǎn)生(連續(xù)產(chǎn)生三次),則告警逐步升級(告警分三個等級),升級為嚴(yán)重告警時,說明需要啟動虛擬機(jī)動態(tài)遷移,減輕物理機(jī)運(yùn)行負(fù)載,否則后續(xù)可能產(chǎn)生性能問題影響平臺運(yùn)行。
資源預(yù)警分析服務(wù)器定期將虛擬機(jī)資源消耗的預(yù)測分析結(jié)果上報(bào)統(tǒng)一綜合網(wǎng)管,并在預(yù)測可能產(chǎn)生高負(fù)載運(yùn)行時將新的預(yù)測分析值上報(bào)電信統(tǒng)一綜合網(wǎng)管,并生成告警,由統(tǒng)一綜合網(wǎng)管統(tǒng)一進(jìn)行資源調(diào)配。
前面就云計(jì)算資源自適應(yīng)預(yù)警方法整體技術(shù)架構(gòu)和關(guān)鍵技術(shù)進(jìn)行了闡述。使用本自適應(yīng)資源預(yù)警方法的實(shí)施(見圖2)。具體流程如下:
(1)節(jié)點(diǎn)管理Agent注冊到資源預(yù)警分析服務(wù)器,每隔5分鐘采集一次物理機(jī)和物理上虛擬機(jī)資源消耗數(shù)據(jù),并上報(bào)到預(yù)警分析服務(wù)器的資源數(shù)據(jù)收集模塊。
(2)資源數(shù)據(jù)收集模塊匯總節(jié)點(diǎn)管理Agent上報(bào)的數(shù)據(jù),錄入數(shù)據(jù)庫。
(3)智能分析模塊根據(jù)第2步采集的信息每隔6個小時進(jìn)行分析資源消耗變化規(guī)律,分析方法如下:
① 針對每個數(shù)據(jù)采集點(diǎn),提取近7天的歷史數(shù)據(jù)。
② 計(jì)算每個采集點(diǎn)近7天的期望值Ei=∑Xij/7。
③ 計(jì)算每個采集點(diǎn)近7天的標(biāo)準(zhǔn)方差σi=√(∑(Xij-Ei)2/7)
④ 計(jì)算Yi=Ei+σi,作為對應(yīng)采集點(diǎn)第二天的預(yù)測值,并錄入數(shù)據(jù)庫。
(4)第二天實(shí)時監(jiān)控物理機(jī)運(yùn)行負(fù)載:
① 監(jiān)控物理機(jī)運(yùn)行負(fù)載是否超過預(yù)警門限值。
② 如果超過預(yù)警門限值,提取該物理機(jī)上每臺虛擬機(jī)在當(dāng)前時間點(diǎn)的資源消耗數(shù)據(jù)Zi和之前的預(yù)測分析值Yi=Ei+σi。
③ 計(jì)算每臺虛擬機(jī)當(dāng)前資源消耗的變化率,εi=(Zi-Ei)/σi。
④ 如果εi>1,說明當(dāng)前虛擬機(jī)資源消耗超過了預(yù)期的增長范圍,需要重新評估未來該虛擬機(jī)的資源消耗值。
⑤ 根據(jù)變化率εi,重新計(jì)算該虛擬機(jī)后續(xù)每個采集點(diǎn)的資源消耗值Y’=E+σ*ε。
⑥ 根據(jù)物理機(jī)上每臺虛擬機(jī)新的資源消耗值,計(jì)算物理機(jī)運(yùn)行負(fù)載,是否會超過設(shè)定的告警門限,可能產(chǎn)生性能問題。
⑦ 超過告警門限,產(chǎn)生事件通知。
⑧ 如果事件通知持續(xù)產(chǎn)生(連續(xù)產(chǎn)生三次),則告警逐步升級(告警分三個等級)。資源告警信息傳遞至電信統(tǒng)一綜合網(wǎng)管。當(dāng)預(yù)警級別為嚴(yán)重告警時,可以作為啟動虛擬機(jī)遷移,減輕物理機(jī)運(yùn)行負(fù)載的參考。
福建電信業(yè)務(wù)云資源池采用vsphere 虛擬化技術(shù),版本為5.5。包含68臺物理機(jī),劃分為6個集群,截至2016年6月部署業(yè)務(wù)虛擬機(jī)627臺。業(yè)務(wù)云資源池對接chinaNet,CN2和DCN網(wǎng)絡(luò),上面的業(yè)務(wù)有IP短信中心、商務(wù)領(lǐng)航、彩鈴管理平臺、ISMP平臺、ISAG平臺、海西基礎(chǔ)呼叫平臺、省全球眼等重要業(yè)務(wù)平臺,也包括傳輸網(wǎng)管、SOC等系統(tǒng)。
2015年12月把本云計(jì)算資源自適應(yīng)預(yù)警方法實(shí)施對接業(yè)務(wù)云資源池和電信綜合告警系統(tǒng),對資源池的集群主機(jī)負(fù)載標(biāo)準(zhǔn)偏差、虛擬機(jī)遷移次數(shù)、物理機(jī)性能告警收集數(shù)據(jù)如表1。
表1 云計(jì)算資源池實(shí)施自適應(yīng)預(yù)警方法前后比較
數(shù)據(jù)來源:2015年6月至2016年6月云計(jì)算平臺網(wǎng)管
注:與實(shí)施前觀測指標(biāo)相比,實(shí)施后數(shù)據(jù)向?。▋?yōu)勢)趨近。集群主機(jī)負(fù)載標(biāo)準(zhǔn)偏差系數(shù)和虛擬機(jī)自動遷移次數(shù)是對云計(jì)算集群內(nèi)計(jì)算資源承載平衡性衡量指標(biāo),越小表示集群內(nèi)負(fù)載分?jǐn)傇骄狻?/p>
實(shí)施前數(shù)值統(tǒng)計(jì)時間段為 2015年6月至2016年12月,實(shí)施后數(shù)值為2016年1月至2016年6月。期間云計(jì)算資源池物理硬件及配置無發(fā)生變更,保證測量環(huán)境的一致性。
測量數(shù)據(jù)表明,自適應(yīng)的資源預(yù)警方法可以提出未來虛擬機(jī)消耗資源的預(yù)測值,以此作為安排部署虛擬機(jī)的依據(jù)。提升云資源池的資源使用效率并減少因負(fù)載不均衡引起的業(yè)務(wù)波動感知。
圖2 自適應(yīng)資源預(yù)警方法的實(shí)施流程
目前,云計(jì)算虛擬化技術(shù)應(yīng)用在電信運(yùn)營商及大型信息化企業(yè)應(yīng)用越來越多,計(jì)算資源優(yōu)化調(diào)度使用,是云計(jì)算虛擬化技術(shù)管理中極為重要的一環(huán)。自適應(yīng)的資源預(yù)警方法針對云平臺資源管理,提出一種分析虛擬機(jī)資源消耗變化規(guī)律的方法,預(yù)測未來虛擬機(jī)消耗資源值,以此作為安排部署虛擬機(jī)的依據(jù),定期調(diào)整虛擬機(jī)部署,將消耗資源高峰期不同的虛擬機(jī)錯開部署,達(dá)到削峰填谷和自適應(yīng)業(yè)務(wù)發(fā)展變化的效果。
實(shí)時監(jiān)控物理機(jī)運(yùn)行負(fù)載,提出一種預(yù)測分析未來運(yùn)行負(fù)載的方法。當(dāng)運(yùn)行負(fù)載較歷史出現(xiàn)較大波動時,評估是否會出現(xiàn)資源消耗高峰,使物理機(jī)運(yùn)行負(fù)載過高影響性能,以此作為啟動虛擬機(jī)動態(tài)遷移,調(diào)整資源部署的依據(jù),避免在資源消耗高峰時間中,進(jìn)行虛擬機(jī)動態(tài)遷移,加劇對資源的消耗,影響業(yè)務(wù)感知。
1 羅軍舟等.云計(jì)算:體系架構(gòu)與關(guān)鍵技術(shù).通信學(xué)報(bào),2011,32(7):3-21
2 左利云等.云資源中多目標(biāo)集成蟻群優(yōu)化調(diào)度算法.計(jì)算機(jī)應(yīng)用,2012,32:1916-1919
3 袁文成等.面向虛擬資源的云計(jì)算資源管理機(jī)制.西北工業(yè)大學(xué)學(xué)報(bào),2010,28(5):704-708
10.3969/j.issn.1006-6403.2016.11.015
(2016-08-31)