楊陽
(西安工業(yè)大學陜西西安710032)
在目前,PC依然是我們日常工作生活中的核心工具:我們用PC處理文檔、存儲資料,通過電子郵件或U盤與他人分享信息。但是如果PC硬盤壞了,我們會因為資料丟失而束手無策。而在“云計算”時代,“云”會替我們做存儲和計算的工作?!霸啤本褪怯嬎銠C群,每一群包括了幾十萬臺、甚至上百萬臺計算機。“云”的好處還在于,其中的計算機可以隨時更新,保證“云”長生不老。
目前雖然云計算技術發(fā)展迅速,但是通用的私有云平臺功能有其通用性同時也有其局限性,此時就需要針對檔案管理系統(tǒng)開發(fā)一個更適合的云平臺,使私有的云計算平臺可以更好地支持檔案管理系統(tǒng)的運行。
在云平臺中,用戶通過云平臺門戶進入到云檔案管理平臺。當用戶進入這個平臺后,根據(jù)不同用戶個性化需要,能夠隨時獲取自己想要的資源和服務,這是一種高效率的查詢管理服務方式。由于服務的資源分布在不同的地方,具有動態(tài)性、異構性、復雜性等特點,很容易就會出現(xiàn)資源負載不平衡的問題,在網絡帶寬受限的情況下,系統(tǒng)將會出現(xiàn)癱瘓,所以要對資源進行遷移,從而確保整個云平臺能夠高效、安全、健壯的運行。
云計算(Cloud Computing),是一種基于互聯(lián)網的計算方式,通過這種方式,共享的軟硬件資源和信息可以按需提供給計算機和其他設備。典型的云計算提供商往往提供通用的網絡業(yè)務應用,可以通過瀏覽器等軟件或者其他Web服務來訪問,而軟件和數(shù)據(jù)都存儲在服務器上。云計算服務通常提供通用的通過瀏覽器訪問的在線商業(yè)應用,軟件和數(shù)據(jù)可存儲在數(shù)據(jù)中心。
被稱為Vanderpool的虛擬技術簡稱VT,是英特爾公司處理器市場策略的一部分,能夠使用戶在他們的個人電腦上建立多套虛擬的運行環(huán)境以便能夠使同一臺個人電腦上能夠運行不同的操作系統(tǒng)。在VT中,可以同時運行多個操作系統(tǒng),而且每一個操作系統(tǒng)中都有多個程序運行,每一個操作系統(tǒng)都運行在一個虛擬的CPU或者是虛擬主機上。
虛擬化技術既是云計算的關鍵技術之一,同時,它也是云的核心技術之一。虛擬化技術可以實現(xiàn)對于虛擬機的全狀態(tài)遷移以及熱遷移,也就是說遷移的對象不只是成員本身,也包括將其相應的執(zhí)行環(huán)境和系統(tǒng)狀態(tài)。應用虛擬化技術可以在單獨的物理服務器[4]上安裝不同的操作系統(tǒng),開發(fā)不同的應用,這樣程序的運行環(huán)境和物理環(huán)境相隔離,可以極大限度的利用現(xiàn)有的硬件資源,同時也確保應用之間不受干擾,使得系統(tǒng)易于擴展。
VMware是研究虛擬化技術的先驅,通過對IT基礎設施進行構建虛擬數(shù)據(jù)中心,可以將分散在不同地方的硬件資源統(tǒng)一起來,搭建共享平臺,不同的應用程序可以根據(jù)需要動態(tài)的獲取資源,這樣就會使應用程序就具有高效性、安全性和易擴展性。
存儲是搭建云計算平臺過程中一個很重要的問題,數(shù)據(jù)存儲是虛擬化技術在進行實現(xiàn)時非常重要一個部分,數(shù)據(jù)通過共享存儲的方式,記錄當前虛擬機的運行狀態(tài)信息,為虛擬化的遷移做好準備。數(shù)據(jù)共享通過將一份文件存儲在設備的某一個分區(qū),允許用戶共享訪問。沒有這個功能,那么凡是需要這份文件的用戶,都必須花時間、花存儲空間來自己備份文件,很明顯這樣會造成空間的極大浪費。
云計算之所以可靠性高和經濟性強,是因為通過采用廉價的普通PC和分布式處理技術,雖然在存儲數(shù)據(jù)上可能會在云端保存多個副本,但是這些冗余是必要的,因為他可以提高系統(tǒng)的安全性,在系統(tǒng)數(shù)據(jù)出現(xiàn)錯誤的時候能夠很方便的進行容災性恢復。
VMware vSphere的虛擬化管理程序體系結構在虛擬基礎架構的管理中起關鍵作用。2001年推出的裸機ESX體系結構大幅增強了性能和可靠性,客戶可借此將虛擬化的優(yōu)勢擴展到他們的關鍵任務應用上。新的ESXi體系結構去除了基于Linux的服務控制臺,這代表著可靠性和虛擬化管理向前發(fā)生了類似的飛躍。新的vSphere ESXi體系結構的大小不足ESX的5%,從安全、部署和配置以及日常管理等方面改進了虛擬化管理程序的管理。
在已經搭建好的VMware云平臺的基礎上,開發(fā)一套基于VMware云平臺的用于檔案管理的遠程管理軟件,旨在使VMware vSphere云平臺更適用于系統(tǒng)的運行和管理,使系統(tǒng)更加高效、穩(wěn)定的運行。采用B/S架構,這樣可以直接通過Web方式進行管理和配置。
基于云計算的檔案管理系統(tǒng)平臺主要具備的功能包括:用戶權限管理;云平臺認證和授權;ESXi主機管理;虛擬機配置;虛擬機管理;存儲管理;網絡管理;資源管理;任務和計劃任務;事件和警告;vSphere性能監(jiān)控;HTTP訪問vSphere服務器文件等。
在上述功能中用戶權限管理、性能監(jiān)測以及虛擬機管理是系統(tǒng)的核心,其具體功能介紹如下:
用戶權限管理:通過Web登陸開發(fā)的管理平臺系統(tǒng)。可以多用戶登陸,可以有不同的角色權限管理。
性能監(jiān)測:vSphere性能數(shù)據(jù)收集、整理、存儲和展示。
虛擬機管理:添加刪除虛擬機、獲取虛擬機信息、配置虛擬機(名稱和位置、硬件版本、啟動選項、操作系統(tǒng)、CPU和內存信息、網絡、文件位置)、存儲管理:獲取存儲信息、配置磁盤分區(qū),配置iSCSI存儲、管理VMFS卷。
虛擬機遷移(冷遷移、VMotion遷移,存儲vMotion)、快照、導入OVF。
利用VMotion機制,可以將物理主機上的一個虛擬系統(tǒng)遷移到其他的物理主機上,這個過程的實現(xiàn)需要涉及到下述3項技術:
1)虛擬機當前運行的全部狀態(tài)信息,如CPU運行情況,軟件本身的運行情況等都會被壓縮到一個共享存儲的文件系統(tǒng)中。
2)虛擬機的動態(tài)內存和當前的執(zhí)行狀態(tài)信息會通過一個高速的網絡進行快速傳輸,這樣就實現(xiàn)了虛擬機之間即時信息的傳輸,一旦任務需要發(fā)生遷移,源虛擬機就會將系統(tǒng)內存和狀態(tài)信息復制到目標ESX服務器中,當復制完成以后,VMotion將會自動關閉源虛擬機,并在目標ESX服務器中重新啟動虛擬機。
3)目標ESX服務器將虛擬機使用的網絡進行虛擬化,將MAC地址作為進程的一部分來進行管理,這樣在實時遷移之后,虛擬機的網絡身份和連接能夠得到保留。只要目標機被激活,由于虛擬機使用VMotion機制來進行實時的遷移,VMotion就會通過自動檢查網絡路由器來確保虛擬機的物理地址能夠被系統(tǒng)識別。由于在遷移時虛擬機系統(tǒng)的運行狀態(tài),網絡身份以及動態(tài)鏈接都能夠受到保護,而在遷移的過程中并沒有引起主機停機或者是發(fā)生網絡中斷,因此,整個遷移過程對用戶來說并沒有影響。
在云平臺中,有許多邦員,每個邦員上運行的程序都不同,因此,每個聯(lián)邦成員對于虛擬機cpu、內存大小以及運算能力的要求都各不相同,為了實現(xiàn)資源的最大化利用和負載平衡,需要根據(jù)每個邦員的需要對虛擬機進行配置,配置的步驟如下:
第一步:進行云管理平臺系統(tǒng)的初始化,具體代碼如下:
private static AppUtil.AppUtil cb=null;
private ManagedObjectReference_virtualMachine=
null;
第二步:對云管理平臺系統(tǒng)進行實例化,具體代碼如下:
_virtualMachine=cb.getServiceUtil().GetDecendent
MoRef(null,"VirtualMachine",vmName);
VirtualMachineConfigSpec vmConfigSpec=new Virtual
MachineConfigSpec();
第三步:調用ReconfigVM_Task方法實現(xiàn)虛擬機的重新配置,具體代碼如下:
ManagedObjectReference tmor
=cb.getConnection()._service.ReconfigVM_Task(_vir tualMachine,vmConfigSpec);
在上述系統(tǒng)配置實現(xiàn)的基礎上,再依次獲取主機和虛擬機,內存和CPU等信息,再把后臺獲取到的數(shù)據(jù),整理后顯示在web前臺頁面上,具體代碼形式如圖1所示。
圖1 性能監(jiān)測核心代碼Fig.1 The core code of performance testing
云平臺管理系統(tǒng)實現(xiàn)的界面如圖2所示。
圖2 云平臺管理系統(tǒng)界面Fig.2 The interface of Cloud platform management system
在上述界面中首先點擊左邊列表中的虛擬機名稱,選擇要遷移的虛擬機,然后在可選擇目標主機欄里面選擇目的主機,最后再點擊界面上的“遷移虛擬機”按鈕,就可以實現(xiàn)虛擬機的手動遷移和自動遷移
主要接口函數(shù):vmVMotion(String vmName2,String targethost2,String sourcehost2,String targetpool2,String targetdatastore,,String priority2,String state2)
//實現(xiàn)遷移功能,其中,參數(shù)有遷移的虛擬機名稱,目的主機、原主機、目標資源池、目標數(shù)據(jù)中心、優(yōu)先級和虛擬機的狀態(tài),例如開機、關機、掛起等。
實現(xiàn)遷移的步驟如下:
第一步:從web頁面調用相應的action,具體代碼如下:
<action nname="toVMotion"class="com.myclient.myaction.VMActio"method="toVMotion">
<result name="success">vm_vmotion.jsp</result>
第二步:由action層調用service層的方法,具體代碼如下:
userService.vmVMotion(vmName,"192.168.1.2","192.168.1.3","Resources","dk-disk-40g","default_Priority","poweredOff");
第三步:service層調用MyVmotion類中的方法來實現(xiàn)遷移的操作,具體代碼如下:
Public void vmVMotion(String vmName2,String targethost2,String sourcehost2,String targetpool2,String targetdatastore,String priority2,Stringstate2)
文中通過Java和Webservice技術,借助VMware提供的vSphere APIs開發(fā)了一臺云平臺客戶端管理系統(tǒng),并且實現(xiàn)了云平臺上,在出現(xiàn)掉電、斷網、突然關機等情況下,應用的遷移,保證了檔案管理過程的繼續(xù)運行,提高了系統(tǒng)吞吐量及其性能,為進一步開展更復雜的云平臺應用進行了有益的探索。
[1] 中國檔案學會檔案自動化管理技術委員會[C]//檔案信息化發(fā)展現(xiàn)狀、趨勢的研究報告回顧與展望——中國檔案事業(yè)發(fā)展研究報告,2010.
[2] 馮惠玲,錢毅.關于電子文件管理頂層設計的若干設想[J].中國檔案,2007(4):7-9.FENG Hui-ling,QIAN Yi.Some considerations about the electronic file management of top level design[J].China Archives,2007(4):7-9.
[3] 郁志輝,陳渝,劉鵬.網格計算[M].北京:清華大學出版社,2002.
[4] 管建超.基于VMware的虛擬機安全設計與實現(xiàn)[J].電力信息化,2010(6):35-38.GUAN Jian-chao.With the design and the implemetation of a virtual machine safety based on VN ware[J].Electric Power Information,2010(6):35-38.
[5] 李亞瓊,宋瑩,黃永兵.一種面向虛擬化云計算平臺的內存優(yōu)化技術[J].計算機學報,2011(4):684-693.LI Ya-qiong,SONG Ying,HUANG Yong-bing.A optimization menory technology for the virtual cloud computing platform[J].Chinese Journal of Computers,2011(4):684-693.
[6] 許元飛.云計算環(huán)境下數(shù)字圖書館安全管理[J].制造業(yè)自動化,2011(24):24-26.XU Yuan-fei.The security management of digital libraries under the cloud computing environment[J].Manufacturing Automation,2011(24):24-26.
[7] 劉正偉,文中領,張海濤.云計算和云數(shù)據(jù)管理技術[J].計算機研究與發(fā)展,2012:26-31.LIU Zheng-wei,WEN Zhong-ling,ZHANG Hai-tao.Cloud computing and cloud data management technology[J].Journal of Computer Research and Development,2012:26-31.