李博
(遼寧撫順職業(yè)技術學院遼寧撫順113122)
?
基于云計算的實驗平臺虛擬機容錯技術研究
李博
(遼寧撫順職業(yè)技術學院遼寧撫順113122)
摘要:隨著大規(guī)模計算技術的發(fā)展,虛擬機技術已經(jīng)成為云計算中的重要技術。為了提高云計算實驗平臺的運行效率,提出了一種虛擬機容錯機制,并進行了研究,詳細論述了實現(xiàn)的過程以及關鍵技術。通過實驗表明,該容錯技術能有效的提高實驗平臺的性能。
關鍵詞:云計算;實驗平臺;虛擬機;容錯技術
隨著云計算技術的蓬勃發(fā)展與普及,憑借其方?、快速、低成本的特性成為眾多企事業(yè)單位部署IT系統(tǒng)帶來了新的變化。云計算技術具有非常便利的可擴展性,能夠根據(jù)用戶需求進行動態(tài)的分配資源,提高了系統(tǒng)資源的利用率。在本地機器上不需要安裝應用軟件,降低了實驗室硬件成本。云計算技術通過虛擬化操作能夠在一臺物理機上可以同時運行多個操作系統(tǒng),不受地理位置限制,擁有易維護和運行環(huán)境相對獨立等優(yōu)點。然而只要是計算機系統(tǒng),不管什么系統(tǒng)總有發(fā)生錯誤的時候,為了減少損失,這時候就需要容錯機制,完善的容錯機制,可以大提升整體云實驗平臺的運行效率。
本研究在研究云計算環(huán)境的基礎上,提出了云計算實驗平臺和容錯技術相結合的方法。
1.1云計算技術
云計算技術是信息技術作為服務(IT as a Servjce)來提供的一種計算服務方式,這種方式很像是水、電、氣的供應,人們只需擰開龍頭或開關,而不必親自去構建龐大而復雜的管道及電路[1]。一個成功的云計算平臺可以最大限度地發(fā)揮現(xiàn)有軟件開發(fā)經(jīng)驗、設備性能和數(shù)據(jù)資源的優(yōu)勢,使得人們消費IT服務就如同消費水、電、氣一樣便捷。云計算技術主要包括IaaS(基礎設施即服務)、PaaS(平臺即服務)、SaaS(軟件即服務)3種服務模式[2]。利用云計算技術,用戶進行的操作平臺都是基于Web,而非基于“桌面”。在任何地點任何時間只要通過一臺能夠連接到因特網(wǎng)的終端設備,就可以訪問所需的程序和文檔。讓用戶無論身在何處,隨時都能連接至自己的數(shù)據(jù),就能檢索自己的文件,繼續(xù)處理上次未完成的工作。
1.2虛擬化技術
現(xiàn)在電腦硬件設備發(fā)展迅速,性能也越來越好,雖然有好的設備,但是資源使用率卻無法提升,通過虛擬化技術,可將資源重新分配,利用軟件技術來模擬硬件設備,讓運行單一作業(yè)系統(tǒng)的機器可以同時運行多個作業(yè)系統(tǒng),使得該臺機器的字眼使用率提高,之前可能需要五臺機器來運行的程序,只需要一臺就可以運行,大大的節(jié)省了能源的開銷[3]。云計算的概念主要是使用虛擬化的技術給用戶提供一臺和實際設備相同功能的機器,用戶不需要知道這臺機器在何處也不需要擔心管理和維修的問題,而管理員可以根據(jù)用戶的需求來提供服務。
一般來銳,虛擬化技術是一種資源管理的技術,它可以將物理設備上的硬件、網(wǎng)絡、存鍺空間、軟件等資源重新分配,原本每臺設備都只可以提供給一個用戶使用,但是通過虛擬化技術可以將這些資源進行分割,使得資源更加的充分利用[4]。
1.3容錯技術
實現(xiàn)容錯的主要思路為:使用備用的設備,目的不是加快運算,而是為了確保數(shù)據(jù)的正確性和安全性[5]。這里主要是利用快照技術。
快照(snapshot)的概念和照相機相似,照相機照出的照片只是記錄當時的影像,而對系統(tǒng)而言是記錄系統(tǒng)的狀態(tài)·傳統(tǒng)的備份方法就是將整個系統(tǒng)拷貝到另外的空間中存放,花費的成本高、耗時大,因此出現(xiàn)了快照技術[6]。
快照技術是利用一個表格記錄系統(tǒng)當前的狀態(tài),表格上的每一格代表的是硬盤的某一區(qū)域。當硬盤上的資源有所變化時,就在對應區(qū)域的表格上進行標注??煺湛梢院苄?,只需要包含這個表格以及所有改變的標注即可。所以產生快照可以很快,也可以保存很多個。當需要進行還原恢復時,就用現(xiàn)在的硬盤狀態(tài)作為基礎,將快照中的標注更換回去即可。
創(chuàng)建一個快照,在不同設備下需要不同的指令,但是對于大部分的系統(tǒng)來說哦,主要包括以下步驟:
1)發(fā)生create指令;
2)指令通知操作系統(tǒng)暫停應用程序和信息系統(tǒng)的運行;
3)更新信息系統(tǒng)中的數(shù)據(jù),結束目前所有的讀取和寫入操作;
4)建立快照點;
5)建立完成,釋放暫停的應用程序和信息系統(tǒng),使系統(tǒng)繼續(xù)運行。
實驗平臺的底層云計算系統(tǒng)使用OpenNebu1a,跟目前市面上已知的云計算系統(tǒng)相比,OpenNebu1a有著更多的穩(wěn)定性。用戶通過用戶接口可以知道當前虛擬機的狀態(tài)以及各自所擁有的快照資料,本文所提出的容錯技術主要可分為桑部分(自動快照、快照管理、自動還原),由于系統(tǒng)發(fā)生錯誤的時間不一定,如果通過人工進行管理和監(jiān)測,很難再第一時間發(fā)現(xiàn)錯誤和解決,因此容錯技術將全部自動化運行,通過定期的發(fā)生監(jiān)測包來確認虛擬機狀態(tài),發(fā)生問題時將自動旋轉最新一次的快照進行還原恢復,并定期的對虛擬機進行快照,用戶可以選擇快照進行還原恢復。系統(tǒng)架構如圖1所示。
圖1 系統(tǒng)架構圖
當用戶登錄系統(tǒng)后,通過用戶界面可以對快照進行預覽、新增和刪除,而在運行界面的有兩項功能,第一項自動化快照,系統(tǒng)將自動的對指定的虛擬機進行快照,然而快照建立完成后會備份一份到外部的NAS存儲空間;第二項就是自勤化還原,系統(tǒng)將定期監(jiān)測虛擬機的狀態(tài)以及發(fā)送監(jiān)測包,當系統(tǒng)發(fā)生錯誤時,自動化還原機制將會自動使用最新的快照進行還原恢復操作,從而將用戶的損失降低。運行流程如圖2所示。
圖2 快照流程圖
2.1自動快照
通過對虛擬機進行自動化快照,不再需要通過管理員或用戶使用指令來建立快照。自動化快照中包含兩種不同類型的快照,第一種是完整型快照,第二種是快速型快照,完整型快照所提供的保護模式較完善,可以將虛擬機恢復到之前運行的狀態(tài),但是所需要的建立快照的時間較長,而快速型快照創(chuàng)建快照的時間較短,但無法提供即時性的完整保護。
在建立快照時,由于快照本身的機制需要暫時的將中斷虛擬機的服務,因此建立快照的時間將會影響用戶中斷連接的時間,完整型的快照所需時間平均為3~5分鐘,用戶使用虛擬機的時間越長,建立快照的時間也會增加,而快速型的快照平均約在10秒內完成,由于兩種類型的快照各有優(yōu)缺點,因此本容錯技術將綜合兩者的特點來進行,以達到最佳的效果。
將自動化快照進行優(yōu)化,可以得到以下3種:高級型,提供的保護效果最好,但建立整型快照的次數(shù)較頻繁,用戶被中斷服務的時間較長,此類型比較適用在運行程序所需時間較長的虛擬機上,由于還原的程序需要持續(xù)運行,隱藏需要適用完整型的快照去還原,為了讓用戶在使用最高等級容錯機制,也不會因為頻繁中斷服務而影響用戶的操作,我們選擇每3個小時執(zhí)行一次完整型快照搭配每個小時執(zhí)行一次快速型快照;中級型,用戶主要保護的是虛擬機中的信息系統(tǒng),隱藏需要將兩個完整型快照的時間間隔拉長,相對減少中斷服務的時間,但是當發(fā)生錯誤需要還原時,相對高級型而言會損失一定的數(shù)據(jù)。低級型,完全使用快速型快照,雖然時間短,但是保護的效果最差。
在建立快照后,本系統(tǒng)把快照儲存在兩個地方(本地云、外部儲存空間),除了本地產生快照以為,為了防止硬件機器發(fā)生錯誤,導致虛擬機和快照出錯,將快照備份到外部存儲空間,可以將系統(tǒng)發(fā)生錯誤的損失降到最低。快照流程如圖3所示。
運行構成代碼如下:
每3個小時執(zhí)行一次
ruby fu11snapshot.rb//執(zhí)行完整型快照
圖3 快照運行流程圖
scp snapshotname to KAS //執(zhí)行本地云和外部存儲空間
sq1(update new snapshot)//更新數(shù)據(jù)庫
每3個小時執(zhí)行一次
ruby fastsnapshot.rb//執(zhí)行快速型快照
scp snapshotname to KAS //執(zhí)行本地云和外部存儲空間sq1(update new snapshot)//更新數(shù)據(jù)庫
2.2快照管理
為了讓用戶便于使用,我們將快照管理分為兩部分:本地云,每臺虛擬機建立快照時,將對快照數(shù)據(jù)進行命名,名稱包含虛擬機ID、快照建立時間以及快照種類,為了區(qū)分完整和快速型的快照數(shù)據(jù),在名稱后加上A、B以區(qū)分,在用戶界面中,將會完整得標識快照的類型,由于存儲空間有限,每臺虛擬機在內部保存最近10個最新的完整型快照數(shù)據(jù),快速型的快照所需的空間較小,所以不做嚴格的限制,但是在用戶界面上每臺虛擬機將顯示最新的10個快照(完整+快速),用戶也可以自行選擇虛擬機進行快照或者選擇快照名稱進行刪除。外部存儲空間,為了防止物理設備的故障,我們將快照備份到外部NAS存儲空間,為了讓虛擬機在其他的物理設備上可以正常運行,在創(chuàng)建虛擬機時,系統(tǒng)將自動將虛擬機的映像傳送到NAS上進行備份,當發(fā)生故障時,系統(tǒng)會使用映像和最新的快照在另外一臺物理設備上進行還原。在外部存儲空間,每臺虛擬機可以保存最新的30個快照,因為高級型的快照每天會產生8個完整型快照,系統(tǒng)將用保存最近3天的快照供用戶來執(zhí)行還原操作,快速型快照保存最新的50個快照,提供優(yōu)化后的保護??煺展芾砹鞒倘鐖D4所示。
圖4 快照管理流程圖
2.3快照還原
當系統(tǒng)監(jiān)測到虛擬機狀態(tài)異常而告知關機,會自動使用最近一次的快速型快照進行還原操作,而監(jiān)測到虛擬機為開機狀態(tài),發(fā)送監(jiān)測包對虛擬機有回應時,可能其狀態(tài)為虛擬機內部線程運行異常,此時需要使用完整型快照進行還原,從而保障整個虛擬機恢復到正常的狀態(tài)繼續(xù)運行,當發(fā)送檢測報包沒有回應時,會強制把虛擬機關機,使用快速型快照來進行還原??煺者€原流程如圖5所示。
圖5 快照還原流程圖
3.1平臺運行環(huán)境
本實驗平臺使用1臺客戶端計算機,2臺服務器,云計算系統(tǒng)使用OpenNebu1a,客戶端計算機的操作系統(tǒng)為CentOS 6.5,CPU為Inte1 Core2 Quad Q6600,內存為DDR3 4G;服務器的操作系統(tǒng)為CentOS 6.5,CPU為AMD 4180*2,內存為DDR3 16G,采用OpenNebu1a虛擬化技術。外部存儲NAS的操作系統(tǒng)為Ubuntu 12.10,硬盤位1T。本容錯機制從跨平臺的角度考慮,自動化快照使用Ruby語言來編寫。
3.2性能測試
通過觀察快照的耗時來明確平臺的性能。實驗結果如圖6、圖7所示。
圖6 建立快照
通過建立快照、還原快照的實驗可以看出,完整型快照比快速型快照所花費的時間更多,其性能較低,但是完整型提供的容錯保護較好。
本文主要是研究提升基于云計算技術實驗平臺的可靠度,通過優(yōu)化的容錯機制來提高虛擬機的運行效率,利用快照來保存虛擬機的狀態(tài),便于在系統(tǒng)出錯或者誤刪文件時,能夠利用快照進行還原,從而降低了系統(tǒng)的損失。
圖7 還原快照
參考文獻:
[1]趙廣才,張雪萍.云計算技術分析及其展望[J].電子設計工程,2011,19(22):4-10.
[2]鄭廣成.一種SOA云服務平臺架構研究與應用[J].計算機應用與軟件,2011,28(12):228-231.
[3]Saurabh Kumar Garg,Rajkumar Buyya,NetworkC1oudSjm:Mode11jng Para11e1 App1jcatjons jn C1oud Sjmu1atjons[C]. Proceedjngs of the 4th IEEE/ACM Internatjona1 Conference on Utj1jty and C1oud Computjng,2011,Me1bourne,Austra1ja,December:5-7.
[4]R. Wu,G. J. Ahn,H. Hu,and M. Sjngha1,Informatjon f1ow contro1 jn c1oud computjng,jn Co11aboratjve Computjng:Networkjng,App1jcatjonsandWorksharjng (Co11aborateCom),2010 6th Internatjona1 Conference on,2010:1-7.
[5]百度百科,容錯技術[EB/OL].[2015-3-13]http://bajke. bajdu.com/vjew/391720.htm.
[6]IT168,如何使用Hyper-V快照功能[EB/OL].[2015-4-21]http://server.jt168.com/a2008/1125/211/000000211985.shtm1.
Research of VM fault tolerance technology for eXPerlmental Platform based on cloud comPutlng
LI Bo
(Fushun Vocational Technology Institute,F(xiàn)ushun 113122,China)
Abstract:Wjth the deve1opment of 1arge-sca1e computjng techno1ogy,the vjrtua1 machjne techno1ogy has become an jmportant techno1ogy jn c1oud computjng. In order to jmprove the effjcjency of experjmenta1 p1atform based on C1oud computjng,the VM fau1t to1erance techno1ogy was desjgned and research,the process and key techno1ogy was djscussed jn detaj1s. Experjments show that the fau1t to1erant techno1ogy can effectjve1y jmprove the performance of the experjmenta1 p1atform.
Key words:c1oud computjng;experjmenta1 p1atform;VM;fau1t to1erance techno1ogy
中圖分類號:TN919.5
文獻標識碼:A
文章編號:1674-6236(2016)07-0179-03
收稿日期:2015-05-21稿件編號:201505204
作者簡介:李博(1982—),男,山東濱州人,碩士,實驗師。研究方向:實驗室技術,云計算技術。