趙耀
(中國鐵路設計集團有限公司,天津 300308)
大數(shù)據(jù)和云計算技術的迅猛發(fā)展,促使人類對于數(shù)據(jù)中心的需求越來越大。國內(nèi)大量的電信運營商和投資商正在加速建造數(shù)據(jù)規(guī)模更大的數(shù)據(jù)中心[1-2]。隨著數(shù)據(jù)中心面積的大量增加,數(shù)據(jù)日常運維難度也隨之增加,為了全面滿足系統(tǒng)的實際運維需求以及工作需求,各個數(shù)據(jù)中心開始分別建設數(shù)據(jù)中心基礎設施管理(DCIM)系統(tǒng),系統(tǒng)需要具備集中監(jiān)控[3]、統(tǒng)一展示等能力,同時還能夠?qū)\行數(shù)據(jù)進行分析預測。近幾年,相關專家也針對這方面的內(nèi)容進行了研究,例如張紅等[4]提出綠色云計算環(huán)境下基于資源整合的任務調(diào)度算法研究;左海春等[5]通過大數(shù)據(jù)技術進行資源整合,組建數(shù)據(jù)中心基礎設施管理系統(tǒng)。以上兩種系統(tǒng)雖然能夠全面增強整體的管理能力以及智能化水平,但是由于未能考慮系統(tǒng)告警問題,導致建設數(shù)據(jù)中心基礎設施管理效率和質(zhì)量下降,運行費用增加。為此,提出一種云計算環(huán)境下自動化DCIM系統(tǒng)。
本文重點為云計算環(huán)境下自動化DCIM系統(tǒng)的整體框架進行設計,對云計算平臺OpenStack 上的功能進行全面整合,在此基礎上,增加監(jiān)控和計量等功能模塊[6],通過模塊化的設計實現(xiàn)云計算環(huán)境下自動化數(shù)據(jù)中心基礎設施管理以及自主服務,具體框架圖如圖1所示。
OpenStack工作是在云計算環(huán)境的基礎上,對基礎設施經(jīng)過虛擬化處理后再對資源進行管理。主要通過OpenStack平臺已有的組件進行開發(fā)研究,但由于控制面板組件的整體功能過于單一,直接采用OpenStack 中的RESTful API 的方式完成不同組件相關的操作以及管理工作[7]。
在OpenStack 平臺的基礎上,還額外開發(fā)了兩個重要的組件,即:(1)監(jiān)控;(2)計量。
用戶可以利用系統(tǒng)資源獲取虛擬機的狀態(tài)信息,將其存儲到數(shù)據(jù)庫中,全面增強其它功能的拓展,并且采用相應的模塊進行展示。
以上操作為云計算環(huán)境下自動化DCIM系統(tǒng)設計奠定了基礎,提供了DCIM系統(tǒng)中的元數(shù)據(jù)。
在數(shù)據(jù)層,采用兩種形式的數(shù)據(jù)庫進行數(shù)據(jù)存儲,同時將其設定為基本數(shù)據(jù)模型。
數(shù)據(jù)中心業(yè)務邏輯主要目的就是利用邏輯層完成數(shù)據(jù)的控制以及相關組件的交互。整個交互的核心是圍繞Node.js 開發(fā)的Web 服務器和不同組件給出的接口以及數(shù)據(jù)庫進行數(shù)據(jù)交換。Web 前端需要采用對應的JSON格式對數(shù)據(jù)視圖進行全面渲染和轉(zhuǎn)換[8],為后續(xù)研究奠定堅實的基礎。
當用戶向系統(tǒng)發(fā)送請求時,系統(tǒng)前端會將請求傳遞至Web 服務器,Web 服務器發(fā)起請求傳輸?shù)綄腁PI中,同時和數(shù)據(jù)庫中的數(shù)據(jù)進行對比,然后呈現(xiàn)給前端。在對比的過程中會涉及數(shù)據(jù)庫中狀態(tài)信息的更新和刪除等操作。
當用戶對數(shù)據(jù)中心的資源進行管理時,也是服務器接受前端的請求后向API 地址發(fā)送操作請求,同時服務器將經(jīng)過操作的資源進行記錄,主要是為提供操作失敗后的數(shù)據(jù)回滾提供對應的理論依據(jù)。
2.2.1 用戶模塊
(1) 注冊
主要負責用戶的注冊,用于收集不同用戶的注冊信息,其中包含用戶名、密碼以及郵箱等相關信息;
(2) 初始化導引
對數(shù)據(jù)中心進行初始化處理,其中包含數(shù)據(jù)中心、網(wǎng)絡的建立和相關服務的申請等事務操作流程;
(3) 資源使用概況
顯示數(shù)據(jù)中心現(xiàn)階段用戶使用資源的情況,主要是指不同數(shù)據(jù)中心下載各個領域的資源配額以及使用情況。總資源包含虛擬機數(shù)量、處理器核心數(shù)量、內(nèi)存以及數(shù)據(jù)庫存儲等;
(4) 其它部分
含有資料修改、配額管理以及申請等細節(jié)操作。
2.2.2 數(shù)據(jù)中心模塊
(1) 基本功能
涉及虛擬數(shù)據(jù)中心的數(shù)據(jù)增加、刪除及修改等功能,還可將數(shù)據(jù)中心的數(shù)據(jù)根據(jù)地域等相關信息進行展示;
(2) 虛擬機管理
虛擬機的核心操作,包含虛擬機的創(chuàng)建、備份以及遷移等操作;
(3) 網(wǎng)絡管理
包含IP的分配以及不同的網(wǎng)絡服務;
(4) 磁盤管理
包含磁盤的創(chuàng)建、掛載及取消掛載等操作。
2.2.3 監(jiān)控、告警和計量模塊
(1) 監(jiān)控和歷史
監(jiān)控功能需要得到全部虛擬機的狀態(tài),繪制對應的圖表。同時,還能夠獲取對應的歷史情況,用戶在統(tǒng)計數(shù)據(jù)的過程中,方便計量及后期資源的分配優(yōu)化;
(2) 告警
進行告警的目的就是當系統(tǒng)進入異常狀態(tài)時,及時提醒系統(tǒng)管理員或者使用者查看具體的問題信息。如果出現(xiàn)的問題較為嚴重,則通過短信或者郵件的方式及時通知系統(tǒng)管理員,起到預防及引導的作用,方便資源的調(diào)配;
(3) 計量和計費
通過用戶的使用情況及對應的計費模型完成費用統(tǒng)計和顯示。在實際應用的過程中,主要負責為相關企業(yè)提供云計算服務,詳細給出需要計費細粒度的總計量和計費數(shù)據(jù)。通過計量數(shù)據(jù)全面統(tǒng)計資源的使用情況,其中包含具體的使用時間以及用量計量等;
(4) 其它服務模塊
為用戶提供組建虛擬機所需要的鏡像服務,通過OpenStack 對應的組件完成管理,采用Swift 完成存儲,其中虛擬機備份被稱為快照,它和鏡像一樣能夠在組建虛擬機時被選擇,不同的是能夠通過快照全面保存CPU的內(nèi)存狀況,也就是將當前虛擬機的狀態(tài)直接進行存儲,方便在下一次創(chuàng)建虛擬機時通過快照直接還原之前系統(tǒng)的業(yè)務狀態(tài);
(5) 安全策略
主要是為虛擬機配置對應的可訪問策略,同時組建虛擬機可以登錄的密鑰。
設定一組時間序列監(jiān)測數(shù)據(jù)流,主要包含多個系統(tǒng)性能指標,各個維度以及每次采樣時間的間隔是不確定的,即此時間序列為非常規(guī)時間序列,記做[S1,S2,…],其中:
設定yi代表自動化DCIM系統(tǒng)性能指標采樣指標值;ti代表采樣時間戳;[S1,S2,…]為整個系統(tǒng)的性能監(jiān)控數(shù)據(jù)流。給定目標監(jiān)控周期,尋找監(jiān)控數(shù)據(jù)流中可能存在異常發(fā)生的時間段,同時判定當前狀態(tài)是否存在異常,如果存在異常則進行告警。
(1) 為了更好地實現(xiàn)上述操作,首先對初始非常規(guī)時間序列監(jiān)控數(shù)據(jù)進行預處理。預處理主要包含數(shù)據(jù)分段以及去噪等操作,將異質(zhì)非常規(guī)的時間列進行整理,為后續(xù)的研究提供可靠的基礎;
(2) 通過時間序列動態(tài)對齊算法將不同監(jiān)控數(shù)據(jù)對齊,分別計算不同時間序列所表現(xiàn)行為模式間的相似性,將其進行整理,獲取相似性矩陣,以完成行為相似性模型的建立;
(3) 通過步驟(2)中獲取的各段系統(tǒng)行為相似性組建行為相似性網(wǎng)絡,采用基于馬爾科夫游走的排序算法,計算不同時間段內(nèi)系統(tǒng)行為相似性,將異常程度進行排序,從而獲取監(jiān)控時間段內(nèi)系統(tǒng)的異常行為,判定系統(tǒng)當前的行為是否屬于異常行為。
不同性能指標的監(jiān)控數(shù)據(jù)流都將采用相同的預處理流程獲取能夠進行對比的結(jié)果。時間序列可以劃分為三個不同的步驟,分別為:
(1) 由于告警主要是針對同一個負載周期的時間段進行,所以監(jiān)控數(shù)據(jù)需要通過負載周期進行劃分,即通過系統(tǒng)的負載周期將監(jiān)控時間序列劃分為多個未檢測片段,方便后續(xù)的分析和管理;
(2) 時間序列重采樣的主要目的是將采樣周期不均勻的非常規(guī)時間序列重構為時間序列的分析形式;
(3) 進行時間序列去噪的主要目的是排除現(xiàn)代計算機系統(tǒng)中隨機性導致的性能數(shù)據(jù)噪音對于行為模式特征提取產(chǎn)生的干擾。
在整個預處理的過程中,初始監(jiān)控數(shù)據(jù)流Sraw通過負載周期P進行劃分,形成多個數(shù)據(jù)段,將其表示為Traw,然后利用插值進行濾波器重采樣,則對應的函數(shù)可以表示為:
利用插值重采樣濾波器處理后能夠獲取采樣間隔確定的常規(guī)形式時間序列;經(jīng)過重采樣之后的數(shù)據(jù)流Treg利用低通濾波器模塊進行去噪和平滑處理。在整個過程中采用小波變換低通濾波器進行高頻噪聲消除,進一步獲取經(jīng)過平滑處理的數(shù)據(jù)。
當初始時間序列監(jiān)控數(shù)據(jù)流經(jīng)過預處理之后,接下來需要對監(jiān)測數(shù)據(jù)進行更深入的分析。其中行為模式的抽象以及分類一直以來都是機器學習以及人工智能領域研究的重要話題。
為了有效保證不同的時間序列能夠獲取可比較的相似度矩陣,將全部的時間序列歸一化到[0,1]區(qū)間內(nèi),同時對線性方程進行歸一化處理,具體的表達形式為:
式(3)中,minimum代表待檢測時間序列段的最小取值;maximum代表待測時間序列段的最大值;其中上述兩個取值均能利用監(jiān)控時間序列歷史數(shù)據(jù)掃描獲取。
經(jīng)過上述操作后,進行系統(tǒng)異常行為告警。在行為相似度網(wǎng)絡建立的過程中,將每一個待測時間序列映射到網(wǎng)絡中的一個節(jié)點上,全部映射均保持一對一的函數(shù)關系。為了獲取待測時間序列中包含的行為異常片段,能夠利用獲取相似性網(wǎng)絡中對應的異常節(jié)點實現(xiàn)。
量化圖或者網(wǎng)絡中節(jié)點的連通度以及異常節(jié)點查找有很多方法,以下采用隨機游走算法模擬流量在網(wǎng)絡通過網(wǎng)絡結(jié)構隨機流動的情形。直觀上而言,連通度越高,則說明節(jié)點不僅可以獲取外界的流入流量,同時也有可能在網(wǎng)絡其它節(jié)點中獲取流入的流量;針對連通度較低的節(jié)點而言,外來的流量難以導入,只能夠獲取少量的直接流入流量。
為了有效量化相似性網(wǎng)絡中不同節(jié)點的連通度,進而獲取不同節(jié)點的異常指數(shù),將相似的網(wǎng)絡進行建模,組成一個基于馬爾科夫鏈的狀態(tài)空間V,同時組建一個狀態(tài)轉(zhuǎn)移矩陣T,主要代表隨機游走過程中系統(tǒng)運行狀態(tài)的變化情況。在給定相似性鄰接矩陣M的情況下,將矩陣進行歸一化處理,則有:
連通度向量計算主要是利用重復迭代一個核心狀態(tài)轉(zhuǎn)移遞歸方程,具體的表達形式為:
式(5)中,damp代表隨機游走的粘滯系數(shù),實質(zhì)上也就是在隨機游走過程中網(wǎng)絡外來流向的主要成分;n代表網(wǎng)絡中節(jié)點總數(shù);conn代表迭代計算過程中連通度向量。
其中迭代方程可以被理解為:在計算馬爾科夫狀態(tài)鏈上進行隨機游走的工程中進行狀態(tài)轉(zhuǎn)移,各個狀態(tài)分別代表不同的游走量,每次發(fā)生迭代即為狀態(tài)轉(zhuǎn)移,節(jié)點上的流向會通過轉(zhuǎn)移流動到另外一個節(jié)點上,而網(wǎng)絡外部同時也會有流量流入。
連通度向量conn能夠在迭代若干次后收斂獲取一個常向量,迭代方程的收斂性已經(jīng)通過相關數(shù)據(jù)被證明。當連通度向量完成收斂后,向量中各個維度即為網(wǎng)絡對應節(jié)點的異常指數(shù),也代表對應待測時間序列段的異常指數(shù)。由于異常指數(shù)和異常程度兩者之間成反比,所以連通度越低,則說明異常程度越高,系統(tǒng)則會需要及時進行預警,并且確定異常發(fā)生的時間段。
為了驗證所提云計算環(huán)境下自動化DCIM系統(tǒng)的綜合有效性,在表1所示的實驗運行環(huán)境下進行測試:
表1 實驗運行環(huán)境
(1) 建設數(shù)據(jù)中心基礎設施管理效率/(%)
實驗選取文獻[4]系統(tǒng)和文獻[5]系統(tǒng)作為對比系統(tǒng),將建設數(shù)據(jù)中心基礎設施管理效率設定為評價指標,具體實驗對比結(jié)果如圖2所示。
分析圖2中的實驗數(shù)據(jù)可知,圖2中分別對三種系統(tǒng)的建設數(shù)據(jù)中心基礎設施管理效率進行了對比分析,但是由于所提系統(tǒng)在實際應用的過程中對云計算環(huán)境下的異常數(shù)據(jù)進行告警,有效避免故障的發(fā)生,全面提升系統(tǒng)的建設數(shù)據(jù)中心基礎設施管理效率,使所提系統(tǒng)的測試指標在三種系統(tǒng)中為最高;
(2) 建設數(shù)據(jù)中心基礎設施管理質(zhì)量/(%)
以下實驗測試對比不同系統(tǒng)的建設數(shù)據(jù)中心基礎設施管理質(zhì)量,具體實驗對比結(jié)果如表2所示。
分析表2中的實驗數(shù)據(jù)可知,所提系統(tǒng)的建設數(shù)據(jù)中心基礎設施管理質(zhì)量明顯優(yōu)于另外兩種系統(tǒng),最主要的原因是:在傳統(tǒng)系統(tǒng)的基礎上,系統(tǒng)加入了告警模塊,及時對系統(tǒng)中的異常進行告警,在確保系統(tǒng)管理效率的基礎上有效確保系統(tǒng)的管理質(zhì)量。
表2 不同系統(tǒng)的建設數(shù)據(jù)中心基礎設施管理質(zhì)量對比結(jié)果
(3) 系統(tǒng)運行費用/(元)
在相同的實驗環(huán)境下,以下實驗測試對比三種不同系統(tǒng)的運行費用,具體實驗對比結(jié)果如圖3所示。
分析圖3中的實驗數(shù)據(jù)可知,運行費用會隨著測試數(shù)量的增加而增加,但是相比另外兩種系統(tǒng),所提系統(tǒng)的運行費用明顯更低一些,這是因為所提系統(tǒng)在傳統(tǒng)系統(tǒng)的基礎上加入了告警模塊,同時提出了對應的告警方法,促使系統(tǒng)及時發(fā)現(xiàn)異常,有效降低運行費用。
針對傳統(tǒng)系統(tǒng)存在的一系列問題,本文設計并提出一種云計算環(huán)境下自動化DCIM系統(tǒng)。仿真實驗結(jié)果表明,所提方法系統(tǒng)不僅能夠有效提升系統(tǒng)的管理效率和管理質(zhì)量,同時還能夠有效降低系統(tǒng)的運行費用。但是由于受到外界環(huán)境以及多方面因素的干擾,促使所提系統(tǒng)的性能還需要進一步提升,后續(xù)將對系統(tǒng)進行全面完善,提升系統(tǒng)的服務質(zhì)量。