潘欣欣

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