張夢杰,譚銳華,梁海仲
(廣東石油化工學(xué)院 廣東 茂名 525000)
云計(jì)算流行以來,虛擬化技術(shù)的發(fā)展進(jìn)入了一個(gè)新的發(fā)展階段,在當(dāng)今發(fā)展潮流與發(fā)展趨勢下,隨著虛擬化技術(shù)在服務(wù)器中不斷壯大更新,多平臺(tái)虛擬化環(huán)境以勢不可擋之態(tài),服務(wù)于廣大的集群性私有云計(jì)算平臺(tái),本論文通過專業(yè)性信息化技術(shù)有效地與虛擬化搭建技術(shù)結(jié)合起來,為云計(jì)算平臺(tái)創(chuàng)造出一個(gè)獨(dú)特的虛擬化環(huán)境,并進(jìn)一步推動(dòng)了虛擬化技術(shù)的前進(jìn)步伐。
多平臺(tái)虛擬化環(huán)境集成管理平臺(tái)主要通過多平臺(tái)虛擬化環(huán)境集成管理系統(tǒng)的四大管理模塊實(shí)現(xiàn)了服務(wù)器,客戶端,測試平臺(tái)三者有效結(jié)合,模擬一定量的用戶訪問虛擬機(jī)的web服務(wù),并且通過交互工具向客戶端實(shí)時(shí)獲取虛擬機(jī)信息。如圖1所示。

圖1 多平臺(tái)虛擬化環(huán)境集成管理系統(tǒng)
監(jiān)控與管理專屬性云計(jì)算平臺(tái)離不開集群虛擬化技術(shù),而多平臺(tái)的虛擬化環(huán)境更有效地工作于系統(tǒng)的架構(gòu)上,統(tǒng)籌系統(tǒng)中資源,存儲(chǔ),安全,虛擬機(jī)四大核心管理模塊。特別地,安全資源管理包括cpu,內(nèi)存,網(wǎng)絡(luò)和外圍的管理;存儲(chǔ)管理包括了存儲(chǔ)設(shè)備和存儲(chǔ)空間的管理;安全管理包括設(shè)備運(yùn)行,數(shù)據(jù),權(quán)限和賬號(hào)的安全管理;虛擬機(jī)的創(chuàng)建,遷移,隔離和配置為其管理的四大核心模塊。
本系統(tǒng)針對(duì)安全、資源、存儲(chǔ)、虛擬機(jī)這四大核心管理功能,創(chuàng)建了虛擬化管理系統(tǒng),而其主要功能是對(duì)受控主機(jī)進(jìn)行虛擬化操作,外加對(duì)虛擬機(jī)的操作。
本系統(tǒng)運(yùn)用雙層身份認(rèn)證功能,主層是進(jìn)入系統(tǒng)后獲取用戶名密碼進(jìn)行登陸,如日常系統(tǒng)般,次層身份認(rèn)證則需要主層率先完成用戶身份核對(duì),接而錄入管理對(duì)象主機(jī)所對(duì)應(yīng)的IP地址,實(shí)現(xiàn)兩者之間連接,采用libvirt的機(jī)制實(shí)現(xiàn)了安全的認(rèn)證,最后成功則進(jìn)入系統(tǒng)。
CPU的監(jiān)控核心功能為獲取對(duì)象主機(jī)CPU信息數(shù)據(jù),例如,對(duì)象主機(jī)的CPU的個(gè)數(shù)、核心數(shù)、運(yùn)行頻率、使用情況等一列狀態(tài)。此等數(shù)據(jù)通過session直接生成在libvirt機(jī)制下的連接通道上。
在缺乏具體的容量和可參考量的情況下,網(wǎng)絡(luò)流量會(huì)成為一個(gè)動(dòng)態(tài)變參數(shù),那么必須實(shí)時(shí)處理好在用戶頁面顯示上的網(wǎng)絡(luò)流量信息。
虛擬機(jī)列表主要是接收對(duì)象主機(jī)上的虛擬機(jī),其一般處于開啟或關(guān)閉兩種狀態(tài),附屬操作為刪除和查看,系統(tǒng)將以列表形式,在用戶頁面上顯示接收到的虛擬機(jī)的基礎(chǔ)信息,并根據(jù)如名稱、ID、操作系統(tǒng)、內(nèi)存、CPU個(gè)數(shù)信息進(jìn)行有效地操作流程。
接收虛擬機(jī)列表成功后,便對(duì)所有目標(biāo)虛擬機(jī)實(shí)行操作,操作條件在一般情況下是受到限制的。若虛擬機(jī)當(dāng)前為啟動(dòng)狀態(tài),則顯示查看和關(guān)閉功能,否則其只能進(jìn)行啟動(dòng)和刪除操作。
登陸,監(jiān)控,虛擬機(jī)為三大已實(shí)現(xiàn)管理。針對(duì)于總體設(shè)計(jì)里面的四大模塊,初期為了實(shí)現(xiàn)保護(hù)目標(biāo)的權(quán)限和賬號(hào)安全,登陸模塊嚴(yán)密地對(duì)數(shù)據(jù)信息進(jìn)行保存;其次,四大監(jiān)控功能則有效地為資源、存儲(chǔ)和設(shè)備運(yùn)行實(shí)現(xiàn)安全管理,如此細(xì)分的設(shè)備管理,進(jìn)一步為所有元件的數(shù)據(jù)管理和運(yùn)行狀態(tài)進(jìn)行監(jiān)控;最后,最主要的功能的虛擬機(jī)管理則對(duì)應(yīng)了功能模塊中的虛擬機(jī)管理。
用戶登錄需要用戶名,密碼,IP地址三大主要輸入內(nèi)容,系統(tǒng)根據(jù)用戶的用戶名和密碼輸入操作激活次層認(rèn)證,其后再根據(jù)有效的IP地址,將對(duì)應(yīng)主機(jī)獲取的連接信息存入到session當(dāng)中,以供往后用戶額外的操作使用,在退出系統(tǒng)時(shí),用戶所進(jìn)行的操作信息將被系統(tǒng)自動(dòng)銷毀。
CPU監(jiān)控啟動(dòng)后,系統(tǒng)默認(rèn)將后臺(tái)session中得到的有效連接的參數(shù),數(shù)據(jù)則存在歸總、拆分、計(jì)算等基礎(chǔ)操作,建立連接到對(duì)應(yīng)主機(jī)后,將CPU的申請(qǐng)信息上交,對(duì)應(yīng)主機(jī)則把接收到的數(shù)據(jù)返回給客戶端,系統(tǒng)則在頁面上顯示處理后的返回信息。
在開源的網(wǎng)絡(luò)流量監(jiān)控模塊下,libvirt能夠提供相對(duì)普通的網(wǎng)絡(luò)連接名稱、狀態(tài)等信息,因此在技術(shù)層面上來說是稍有欠缺的,所以必須利用其他工具和開源接口來實(shí)習(xí)技術(shù)性彌補(bǔ)。針對(duì)這種狀況,libvirt在虛擬機(jī)管理上主要負(fù)責(zé)關(guān)鍵性功能的實(shí)現(xiàn)。
虛擬機(jī)存在一些重要的參數(shù)數(shù)據(jù),例如,名稱,內(nèi)存大小、存儲(chǔ)空間大小、CPU個(gè)數(shù)、網(wǎng)絡(luò)配置信息以及該虛擬機(jī)安裝操作系統(tǒng)的方式。因此,創(chuàng)建虛擬機(jī)最主要的是,在對(duì)應(yīng)受控主機(jī)之間的建立連接通道,用戶需先輸入虛擬機(jī)參數(shù)數(shù)據(jù),系統(tǒng)獲取信息后會(huì)為數(shù)據(jù)作出相應(yīng)的合法性檢查,若用戶的輸入信息達(dá)不到要求則需要重新進(jìn)行操作,否則,系統(tǒng)將這些數(shù)據(jù)生成XML格式文件,在libvirt的機(jī)制支持下調(diào)用虛擬機(jī)的創(chuàng)建函數(shù),接而發(fā)送虛擬機(jī)創(chuàng)建申請(qǐng),并傳遞所生成的XML格式文件,接收方獲取請(qǐng)后便進(jìn)行虛擬機(jī)創(chuàng)建工作,并向用戶返回結(jié)果。
連接通道建立以后,系統(tǒng)則會(huì)進(jìn)入到遷移工作。該工作需要用戶輸入遷移目標(biāo)服務(wù)器的 IP 地址、登陸信息,還有對(duì)應(yīng)的虛擬機(jī)三個(gè)內(nèi)容,目標(biāo)服務(wù)器在連接系統(tǒng)后處理接收到的信息,如對(duì)應(yīng)的名稱,ID,存儲(chǔ)空間,內(nèi)存,CPU虛擬核心數(shù),網(wǎng)絡(luò)地址等進(jìn)行有效檢查,所有配置信息成功通過后,遷移操作便開始,虛擬機(jī)則暫停一段服務(wù)時(shí)間,期間把所需虛擬機(jī)狀態(tài)和配置信息的文件遷移到對(duì)應(yīng)的目標(biāo)服務(wù)器上,接而重新注冊(cè)該虛擬機(jī)信息,最后則馬上重啟該虛擬機(jī)。
基于云計(jì)算的多平臺(tái)虛擬化集成管理系統(tǒng)利用Xen、KVM和VMWare的服務(wù)器進(jìn)行虛擬化,應(yīng)用C++、Qt、libvirt基礎(chǔ)庫編寫的客戶端,并由TPC-W基準(zhǔn)測試主程序,使得服務(wù)器,客戶端,測試平臺(tái)三者有效結(jié)合,實(shí)現(xiàn)了虛擬機(jī)交互,遷移,克隆等虛擬化管理技術(shù)。本項(xiàng)目在廣東石油化工學(xué)院大學(xué)生創(chuàng)新性項(xiàng)目訓(xùn)練計(jì)劃資助下取得優(yōu)異成果,項(xiàng)目全體成員對(duì)此深懷的感謝。
[1]石磊.Xen虛擬化技術(shù)[M].華中科技大學(xué)出版社,2009.
[2]張波.Qt中的C++技術(shù)[M].電子工業(yè)出版社,2012.
[3]任永杰,單海濤.KVM虛擬化技術(shù)[M].機(jī)械工業(yè)出版社,2013.
[4]王柏生.深度探索Linux操作系統(tǒng)[M].機(jī)械工業(yè)出版社,2013.