摘 要:為改善計算機網絡的安全可靠性,本文研究了虛擬化計算環境下的無人值守自動監護系統,命名為Phoenix系統。Phoenix系統采用雙層網絡架構,其業務層具有虛擬機集群,其中的結點可以互相監護。當Phoenix系統中的虛擬機結點出現故障時,能夠自動還原、重啟,這是通過支撐層的真實設備來實現的。實踐結果證明,Phoenix系統能有效減輕網絡維護人員的工作量,提高系統的可靠性。
關鍵詞:虛擬機集群無人值守系統自動監護
中圖分類號:TP393.08文獻標識碼:A文章編號:1674-098X(2011)04(a)-0008-02
自動監護系統用途廣泛,也是目前研究的熱點。特別是需要不停頓運算的服務器端,系統的自動監護技術尤為重要。現有的遠程監控技術可以實現無人值守,但系統不能自動處理故障。集群技術只解決系統出現故障時維護系統的正常運行,但也不能自動處理故障。如何實現無人為干預下的計算機自動監護,及時處理系統故障,實現真正的無人值守,減少系統故障造成的損失,是無人值守系統自動監護技術需要解決的問題。
本文研究了虛擬化計算環境下的無人值守自動監護系統,命名為Phoenix系統。系統把網絡分為兩層:底下支撐層由真實設備組成,上面業務層由虛擬機組成,其中的結點可以互相監護,在出現故障時能夠自動還原、重啟。
本文的余下部分內容組織如下:第1節介紹系統自動監護方面的現有相關工作,第2節介紹虛擬機的雙層網絡架構的構思,第3節介紹Phoenix系統研究要點,第4節是實踐結果,第5節給出結論。
1 系統自動監護的相關工作
可靠計算、虛擬化計算等新技術的興起,推動著計算機網絡的研究工作,其中關于系統自動監護方面的工作也有了新的發展。
文獻[1,2]從可生存性的角度考慮網絡的安全可靠性,容忍系統故障和入侵攻擊,通過加強安全響應技術和恢復技術來達到安全效果。
虛擬化計算能夠屏蔽底層設備及結構差異細節,如果利用得當,還能改善網絡并行性能、安全性和可靠性。文獻[3]提出基于虛擬網絡的下一代互聯網架構,其中就有物理層與用戶層的概念。文獻[4]提出基于虛擬化技術的進程級監控。這些與本文
Phoenix系統的雙層網絡架構、虛擬機結點自動監護有共通之處。
目前常見的系統自動監護技術包括:1、遠程監控技術;2、集群技術;3、人工系統還原技術。簡單介紹如下:
現有技術一:遠程監控技術
原理:遠程監控包括現場監控模塊、通信系統和監控中心;現場監控模塊負責信息采集和響應監控中心發出的控制命令;通信系統負責信息傳輸;監控中心負責收集監控信息和發送操作控制命令。
缺點:只解決了遠程系統無人值守問題,出現故障時不能自動修復,需要人工搶修。
現有技術二:集群技術
原理:集群是一種并行處理系統,由很多連網的獨立計算機組成,作為一個整體的計算系統協同工作。
缺點:只解決了出現故障時維持系統運行的問題,而故障修復仍然需要人工處理。
現有技術三:系統還原技術
原理:在硬盤中保留一個系統原始配置的備份,當系統出現故障時,可以恢復系統的原始配置。
缺點:系統出現故障時,是在人的操作下進行還原,而不是真正的自動還原。
上述現有技術不能解決無人值守的系統故障自動修復,系統出現故障時不能及時處理,并且故障處理的成本高。本文提出的Phoenix系統設計可以彌補這些不足。
2 虛擬機雙層網絡架構的構思
Phoenix系統的主要構思是:在這種無人值守系統中,維護系統正常運作的是系統自身。人的唯一作用就是更換出了硬件故障(無法修復)的設備,而且不一定需要及時更換,因為系統本身的冗余機制保障了系統的運行,維護人員可以從容換上正常硬件。
諸如VMware的虛擬化計算環境中,把網絡設計成雙層,有助于充分利用虛擬機的優點。圖1是Phoenix系統的雙層網絡架構示意圖。
雙層架構中,底層是支撐層,用真實的硬件設備集群作為虛擬機載體。上層是業務層,由虛擬機集群組成。與外部網絡聯通、完成各種任務的工作全部由業務層完成,支撐層僅作承載業務層之用,邏輯上與外部網絡隔絕。
虛擬機類似于計算機病毒,能自我復制、還原、遷移。虛擬機的硬盤實質上是個文件,能夠快速備份和還原,效果類似于給虛擬機加了硬盤保護卡。因此雙層網絡的業務層具有軟件自修復能力。
3 Phoenix系統研究要點
無人值守系統的設計,需要解決如下問題:
(1)系統自動監控、及時發現故障結點。
(2)實時的自動故障處理,以冗余結點維持系統正常運行。
(3)故障結點自動修復,對軟件故障的系統還原。
(4)故障結點自動處理,對硬件故障的隔離和自動告警。
(5)故障結點修復(包括軟件還原和硬件更換)之后的自動回歸,以及新增結點的加入。
Phoenix系統的解決方案:
建立虛擬機集群,通過結點之間的互相監護,實時發現不能正常訪問的故障結點。嘗試以虛擬機的備份、系統還原的方式進行軟件故障修復,不成功的則為不可修復故障(通常是硬件故障),自動發出告警(包含故障結點信息),等待人工更換設備。整個過程中,無人值守系統一直保持正常運作。
Phoenix系統與普通虛擬機系統不同之處在于:虛擬機之間互相監護,通過定時訪問其它虛擬機的服務,確定該虛擬機是否運行正常。一旦無法訪問,就有相應的自動處理,包括:向支撐層的虛擬機載體發送系統還原請求,讓該虛擬機恢復并重啟;還原失敗時,發送不可修復故障通知,等待更換設備;等等。這個自動監護、自動處理的過程,無須人工干預。
圖2是無人值守系統自動監護、自動故障處理的示意圖。
4 實踐運行結果
Phoenix系統作為虛擬化計算環境下的無人值守自動監護系統,實踐中被應用于“如意棒”Web信息系統中,用來保障“如意棒”系統的正常運行。一個實例是技術性網站:http://www.28x28.com,目前已累積了超過55萬人次的訪問量。
運行結果顯示,除非少數情況下出現硬件故障或網絡線路中斷,否則不需要人工干預網站運行。Phoenix系統的自動監護功能有如下實際運行效果:
(1)對軟件故障十分有效,即使出現虛擬機系統崩潰,重啟虛擬機也能迅速恢復到新裝系統狀態。
(2)系統還原不會使新的用戶數據丟失,因為系統備份和用戶數據備份是兩套不同的機制。
(3)對硬件故障能有效隔離,因為虛擬機被自動關閉,重啟不起來,隨即支撐層發出告警。
(4)維護人員可以從容處理硬件故障,因為虛擬機集群仍然維持著總體系統的正常運行。
5 結語
本文提出的虛擬機無人值守自動監護系統(命名為Phoenix系統)設計,采用了雙層網絡架構,底下的支撐層真實設備僅承擔運行虛擬機的任務,而由上面的業務層虛擬機與外界網絡連通。
Phoenix系統的無人值守自動監護功能的實現,主要依靠業務層的虛擬機結點之間互相訪問,自動發現結點故障(這是集群功能),再通過支撐層自動還原、重啟虛擬機(這是虛擬機軟件功能)。
實踐結果表明,Phoenix系統能夠充分利用虛擬機的快速備份、還原和無人操控的優點,在無人值守的情況下快速自動發現故障,自我修復軟件故障,隔離硬件故障(虛擬機關閉)并告警,從而能夠有效保障系統的持續正常運行。
參考文獻
[1]郭淵博.容忍入侵的理論與方法及其應用研究[D].西安電子科技大學博士學位論文,2005.
[2]王超.可生存網絡系統的理論與關鍵技術研究[D].西安電子科技大學博士學位論文,2006.
[3]DEPENG J,YONG L,YE Z,et al.A virtualization-based network architecture for next generation internet[C]. 3rd International Conference on Anti-counterfeiting, Security and Identification in Communication, 2009: 58-62.
[4]劉釗遠.基于虛擬化技術的進程級監控[J].微電子學與計算機,2009,26(12): 149-152.
[5]劉勇,邱玲.虛擬機查毒技術的實現[J].科技創新導報,2008,18:19.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文