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