潘欣欣
摘 要 基于虛擬化云平臺,提出了一種可擴展集成的云平臺監(jiān)控機制,并最終實現(xiàn)了虛擬化云平臺監(jiān)控系統(tǒng)。從而保證云平臺穩(wěn)定運行,并向用戶提供可靠的服務。
【關鍵詞】虛擬化 監(jiān)控 監(jiān)測機制 實時性 可靠性
1 電信設備虛擬化
1.1 電信設備虛擬化的必要性
傳統(tǒng)核心網(wǎng)由于軟硬件耦合度很高,同一個網(wǎng)元不同設備商提供不同的軟硬件,新業(yè)務功能的開發(fā)也依賴于設備商,往往開發(fā)耗時較長,代價大,且功能的定制化也很繁瑣。虛擬化實現(xiàn)軟硬件解耦,硬件資源虛擬化為多個虛擬機,各種應用部署于同一個硬件平臺上,使得網(wǎng)元容量配置調(diào)整周期從數(shù)周縮短到數(shù)分鐘,從而大大提升了網(wǎng)絡擴容的敏捷性,并實現(xiàn)設備容量彈性擴充,消除設備瓶頸。
所以電信設備虛擬化一問世就迅速引起了各大運營商的關注,目前歐美一些運營商已經(jīng)開始部署虛擬化設備。
1.2 傳統(tǒng)電信設備和虛擬化電信設備的比較
傳統(tǒng)電信設備和虛擬化電信設備的區(qū)別如表1所示。
電信設備最重要的一條原則就是要保證99.999%的高可靠性。虛擬化后,應用之間變?yōu)镮P網(wǎng)絡,要及時有效的監(jiān)測各應用的正常運行,是電信設備的一條最基本的也是必須具備的功能。
電信設備的設備監(jiān)測對實時性和可靠性要求極高。傳統(tǒng)的電信設備監(jiān)測主要是依賴硬件器件做監(jiān)測,通過監(jiān)測硬件寄存器,用硬件watch dog監(jiān)測板卡狀態(tài)是否正常。這種監(jiān)測實時性強,可靠性高。虛擬化后的電信設備,沒有專用的硬件設備監(jiān)測,只能用軟件來實現(xiàn)監(jiān)測。如何保證同樣的實時性和可靠性?這是虛擬化后要面對的一個難題。
虛擬化后的電信設備為了保證高可靠性一般都是雙機熱備份的,這也是監(jiān)測機制實現(xiàn)的基礎。如果是不可修復的錯誤先采取主備切換然后再進行修復,這樣可以保證正常的電信業(yè)務不受影響。
2 虛擬化后的監(jiān)測機制
虛擬化后的監(jiān)測機制有以下幾個不同的監(jiān)測級別:
(1)主機級別的監(jiān)控。當主機出現(xiàn)問題時,可以及時觸發(fā)主機的主備切換。
(2)虛擬機級別的監(jiān)控。當虛擬機出現(xiàn)問題,可以及時觸發(fā)虛擬機級別的主備切換。
(3)進程級別的監(jiān)控。當虛擬機里面運行的進程出現(xiàn)問題時,可以及時發(fā)現(xiàn)并觸發(fā)相應的恢復機制。
上面幾個級別的監(jiān)測是同時存在,互相配合,可以保證虛擬化后監(jiān)測機制的高可靠性和實時性。
3 主機級別的監(jiān)控
虛擬化的監(jiān)測首先要保證主機層面的可靠性。
首先,同一個應用的主備應該在不同的主機上,這樣萬一主機發(fā)生重啟或者掉電,備用的應用可以繼續(xù)承載業(yè)務。其次,當主機重啟或者掉電時,為了保證虛擬機里面運行的應用能將及時觸發(fā)切換,防止業(yè)務的丟失。通過英特爾制定的APCI(高級配置與電源接口),監(jiān)測到主機關閉或者退出時,觸發(fā)主機上的虛擬機,做相應的退出處理,這樣可以做到平滑關機,不影響業(yè)務。再次,主機還要對運行的虛擬機進行監(jiān)控,如果其有異常,及時觸發(fā)主備切換,然后啟動虛擬機。
對于主機突然掉電或者拔出的極端情況,虛擬機級別的監(jiān)測機制可以監(jiān)測到這種情況,進行相應的處理,只不過業(yè)務中斷的時間稍微長比平滑關機的時間長一點。
4 虛擬機級別的監(jiān)控
一個網(wǎng)元通常都是有多個應用組成。不同的應用運行在不同的主機不同的虛擬機上,之間是基于IP網(wǎng)絡的。為了保證各個應用之間的正常運行還需要監(jiān)測各個應用之間的通訊和狀態(tài)。
虛擬機之間的監(jiān)測有以下三種:
(1)主用的主控模塊-->其他應用+備用的主控模塊。主用的主控模塊會監(jiān)測系統(tǒng)中所有虛擬機的狀態(tài),如果發(fā)現(xiàn)狀態(tài)異?;蛘呔W(wǎng)絡中斷,會先觸發(fā)各應用的主備切換,然后采用自恢復措施,試圖修復出問題的應用。
(2)備用的主控模塊-->主用的主控模塊。備用的主控模塊會監(jiān)測主用的主控模塊的狀態(tài),如果發(fā)現(xiàn)異常,會觸發(fā)主備切換,然后試圖修復原主用的主控模塊。
(3)應用自我監(jiān)測。每個應用(包括主控模塊)會監(jiān)測自己和外界的通訊是否正常。因為這些虛擬機之間通訊都是通過網(wǎng)絡的,如果出現(xiàn)網(wǎng)絡中斷的情況,虛擬機之間的控制消息也沒有辦法通訊。也即,即使主控模塊發(fā)現(xiàn)與這個應用之間的網(wǎng)絡中斷了,也無法通知到這個應用。這個監(jiān)測主要是針對這種情況,進行自我修復用的。
5 進程級別的監(jiān)控
一個虛擬機對應原來的一個業(yè)務網(wǎng)卡,現(xiàn)在稱為一個應用,每個虛擬機上至少要有應用進程,守護進程和監(jiān)控進程三個進程。
(1)應用進程:負責處理網(wǎng)元內(nèi)部的具體業(yè)務。
(2)守護進程:虛擬機啟來后,立即啟動該進程,負責監(jiān)測監(jiān)控進程的狀態(tài)。
(3)監(jiān)控進程:監(jiān)測應用進程的狀態(tài)。
為了保障高可靠性,首先需要各應用自己要能夠監(jiān)測自己的應用運行是否正常。在虛擬機內(nèi)部的監(jiān)測主要有:
(1)監(jiān)測監(jiān)控進程。守護進程會監(jiān)測監(jiān)控進程,如果監(jiān)控進程不存在,就啟動監(jiān)控進程。
(2)監(jiān)測應用。監(jiān)控進程會監(jiān)測應用的進程是否正常,如果不正常,會上報,并根據(jù)出錯情況采取對應的修復措施,例如主備切換等。
(3)監(jiān)測應用的線程。監(jiān)控進程除了監(jiān)測應用進程,還會對一些關鍵的線程進行監(jiān)測,如果發(fā)現(xiàn)沒有正常運行或者沒有響應的情況,根據(jù)出錯情況采取對應的修復措施。
有了以上這些監(jiān)測機制,可以保證對每個虛擬機內(nèi)部運行的進程做到實時監(jiān)測,一旦發(fā)現(xiàn)問題,及時修復,保證每個網(wǎng)元上每個應用的高可靠性。
作者單位
上海貝爾軟件有限公司 上海市 201206