伍世楊
(佛山科學(xué)技術(shù)學(xué)院信息與教育技術(shù)中心,廣東佛山528000)
基于Solaris的虛擬機(jī)管理平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
伍世楊
(佛山科學(xué)技術(shù)學(xué)院信息與教育技術(shù)中心,廣東佛山528000)
設(shè)計(jì)并實(shí)現(xiàn)一個(gè)基于Solaris系統(tǒng)的虛擬機(jī)管理平臺(tái),該系統(tǒng)的作用是對(duì)Solaris Container中的虛擬機(jī)Zone進(jìn)行管理。為了實(shí)現(xiàn)目標(biāo),本項(xiàng)目需要解決兩個(gè)問(wèn)題:節(jié)點(diǎn)脆弱性和低可擴(kuò)展性。由于采用Solaris Zone虛擬化技術(shù),本項(xiàng)目通過(guò)使用代理模式,避免了無(wú)代理模式固有的脆弱性與可擴(kuò)展性低的問(wèn)題,從而提高了系統(tǒng)的健壯性與可擴(kuò)展性。
Solaris;zone;虛擬機(jī);管理平臺(tái)
近年來(lái)智能手機(jī)快速普及,國(guó)內(nèi)手機(jī)用戶的人數(shù)急劇飆升,呈現(xiàn)出井噴的現(xiàn)象。為了應(yīng)付日益增長(zhǎng)的業(yè)務(wù)需求,提高服務(wù)質(zhì)量,國(guó)內(nèi)各大電信運(yùn)營(yíng)商的服務(wù)器規(guī)模也越來(lái)越大。每天的移動(dòng)業(yè)務(wù)在不同時(shí)段中的密度差別很大,在某些時(shí)段特別集中,而在某些時(shí)段又顯得相對(duì)較少,呈現(xiàn)出峰值性的特點(diǎn),為了應(yīng)對(duì)每天的業(yè)務(wù)需要,在設(shè)計(jì)服務(wù)器規(guī)模的時(shí)候自然需要考慮系統(tǒng)可能的最大負(fù)載量。而在業(yè)務(wù)需求較少的時(shí)段中,服務(wù)器的負(fù)載就比較少,這樣就會(huì)造成一部分服務(wù)器資源的閑置。
虛擬化技術(shù)可以為這個(gè)問(wèn)題的解決提供一個(gè)方法。虛擬化技術(shù)最早出現(xiàn)在20世紀(jì)60年代的IBM大型機(jī)系統(tǒng),在70年代的System 370系列中逐漸流行起來(lái)[1]。這些服務(wù)器通過(guò)一種叫虛擬機(jī)監(jiān)控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成許多可以運(yùn)行獨(dú)立操作系統(tǒng)軟件的虛擬機(jī)(Virtual Machine)實(shí)例。運(yùn)用虛擬化軟件,可以在這些服務(wù)器資源上建立一個(gè)抽象層,對(duì)這些資源進(jìn)行統(tǒng)一管理,從而使得服務(wù)器的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等各種資源都能夠動(dòng)態(tài)、可伸縮地加以利用。虛擬化技術(shù)已經(jīng)在系統(tǒng)仿真、云計(jì)算和計(jì)算系統(tǒng)等方面有廣泛的應(yīng)用[2-4]?,F(xiàn)在廣泛使用的虛擬化軟件有VMware系列產(chǎn)品等等[5-6],可是,VMware系列產(chǎn)品是基于X86架構(gòu)的,一般用在中小型企業(yè)。而電信運(yùn)營(yíng)商的服務(wù)器中,X86架構(gòu)的只占很少一部分,絕大部分為小型機(jī),對(duì)應(yīng)的操作系統(tǒng)一般有三種:AIX、Solaris 和HP Unix。所以在針對(duì)小型機(jī)的應(yīng)用環(huán)境中,就不能使用VMware系列產(chǎn)品了。
本文針對(duì)小型機(jī)的應(yīng)用環(huán)境,開(kāi)發(fā)一個(gè)動(dòng)態(tài)可控的虛擬機(jī)管理平臺(tái)。項(xiàng)目采用Solaris系統(tǒng)作為具體的應(yīng)用環(huán)境。由于系統(tǒng)采用了模塊化的開(kāi)發(fā)方法,因此只要將與虛擬機(jī)操作相關(guān)的shell腳本更換成Aix和HP Unix中具有同等功能的腳本,系統(tǒng)就可以在Aix和HP Unix系統(tǒng)中完成相同的功能。
當(dāng)前,在行業(yè)中已經(jīng)有一些商業(yè)化的虛擬機(jī)管理平臺(tái)了??傮w上來(lái)講,按照這些管理平臺(tái)是否已經(jīng)采用了代理可以把它們分為兩類:代理模式和無(wú)代理模式。
代理模式是指管理平臺(tái)在管理計(jì)算資源的時(shí)候,采用一個(gè)總的控制器,同時(shí)在每一個(gè)計(jì)算節(jié)點(diǎn)上,都運(yùn)行一個(gè)服務(wù)(Agent)。這些服務(wù)接受控制器的實(shí)時(shí)監(jiān)控,并執(zhí)行由控制器發(fā)出的指令。
無(wú)代理模式是指總控制器通過(guò)SSH等方式登錄到各個(gè)計(jì)算節(jié)點(diǎn)上,在節(jié)點(diǎn)上通過(guò)調(diào)用已經(jīng)定義好的shell指令來(lái)完成相應(yīng)的操作。無(wú)代理模式的不足之處在于:
(1)脆弱性。它通過(guò)SSH“指揮”計(jì)算節(jié)點(diǎn),當(dāng)SSH協(xié)議或者端口被禁用,將無(wú)法對(duì)計(jì)算節(jié)點(diǎn)做任何的操作,整個(gè)系統(tǒng)將無(wú)法工作。
(2)可擴(kuò)展性低。無(wú)代理模式中,在計(jì)算節(jié)點(diǎn)沒(méi)有運(yùn)行本地的服務(wù),所有指令直接由控制端下發(fā),在本地即時(shí)執(zhí)行,因此在計(jì)算節(jié)點(diǎn)只能執(zhí)行一些簡(jiǎn)單的操作。計(jì)算節(jié)點(diǎn)能完成的操作或者說(shuō)能提供的服務(wù)會(huì)緊緊依賴于shell的命令,其功能的可擴(kuò)展性也就依賴于shell命令的靈活性。因?yàn)閟hell腳本語(yǔ)言是針對(duì)系統(tǒng)管理的編程語(yǔ)言,它適合系統(tǒng)管理員對(duì)系統(tǒng)進(jìn)行實(shí)時(shí)、交互的操作,而不適合開(kāi)發(fā)靈活多變、結(jié)構(gòu)復(fù)雜的項(xiàng)目。由于用戶需求的多變性,在計(jì)算節(jié)點(diǎn)上會(huì)為項(xiàng)目的開(kāi)發(fā)帶來(lái)較大的難度。例如,虛擬機(jī)遷移功能的實(shí)現(xiàn),需要控制端對(duì)計(jì)算節(jié)點(diǎn)進(jìn)行實(shí)時(shí)監(jiān)控,并按照順利完成創(chuàng)建共享區(qū)域,掛載文件系統(tǒng),在遷移目標(biāo)區(qū)域配置本地虛擬機(jī),添加新的虛擬機(jī)到本地虛擬機(jī)列表等一系列的操作。盡管這些操作都可以由shell命令來(lái)實(shí)現(xiàn),可是最關(guān)鍵的地方在于怎樣對(duì)這些shell腳本按正確順序進(jìn)行調(diào)用。這一點(diǎn)如果僅僅用shell腳本來(lái)實(shí)現(xiàn),難度很大。
如果采用代理模式,就可以有效地避免這個(gè)問(wèn)題。開(kāi)發(fā)者只需要在計(jì)算節(jié)點(diǎn)上采用C/C++開(kāi)發(fā)一個(gè)代理服務(wù)軟件,由軟件對(duì)這些腳本進(jìn)行調(diào)用,不僅可以降低開(kāi)發(fā)難度,還可以按用戶的需求靈活地調(diào)用這些腳本,以實(shí)現(xiàn)特定的功能。在代理模式中,開(kāi)發(fā)者就可以修改代理服務(wù)程序,很方便地增加所需要的功能。
基于上述對(duì)代理模式優(yōu)點(diǎn)的分析,本文將設(shè)計(jì)并實(shí)現(xiàn)采用代理模式的虛擬機(jī)管理平臺(tái),以此來(lái)克服無(wú)代理模式固有的脆弱性與可擴(kuò)展性低問(wèn)題,提高基于Solaris系統(tǒng)虛擬機(jī)管理平臺(tái)的健壯性與可擴(kuò)展性。
在本項(xiàng)目中,某運(yùn)營(yíng)商已經(jīng)有一個(gè)使用中的云計(jì)算管理平臺(tái),它的現(xiàn)有功能是管理所有基于X86架構(gòu)的虛擬機(jī),可是它缺少一個(gè)針對(duì)Solaris小型機(jī)的管理功能。本項(xiàng)目的目標(biāo)是完成一個(gè)基于Solaris的虛擬機(jī)管理平臺(tái),能對(duì)Solaris所在的服務(wù)器的物理參數(shù)進(jìn)行監(jiān)控,并管理Solaris container中zone的創(chuàng)建、啟動(dòng)、停止和刪除等操作。根據(jù)運(yùn)營(yíng)商的要求,本管理平臺(tái)將會(huì)以一個(gè)管理模塊的形式加入到運(yùn)營(yíng)商已有的云計(jì)算管理平臺(tái)中。由于運(yùn)營(yíng)商已有的云計(jì)算管理平臺(tái)中有適用的用戶界面(UI),所以在本項(xiàng)目的設(shè)計(jì)和開(kāi)發(fā)中,沒(méi)有用戶界面這一部分。本管理平臺(tái)的功能和狀態(tài)將與原有的云計(jì)算管理平臺(tái)的用戶界面進(jìn)行無(wú)縫銜接。
1.1系統(tǒng)運(yùn)行環(huán)境
表1是在基于運(yùn)營(yíng)商的實(shí)際部署環(huán)境之后得到的。只有了解了運(yùn)營(yíng)商實(shí)際的部署環(huán)境,在設(shè)計(jì)和開(kāi)發(fā)的過(guò)程中,才能夠有的放矢,開(kāi)發(fā)出符合需求的產(chǎn)品。
表1 系統(tǒng)運(yùn)行環(huán)境
1.2系統(tǒng)功能需求
系統(tǒng)整體框架如圖1所示。
圖1 系統(tǒng)整體框架圖
圖1中的門戶網(wǎng)站是云計(jì)算管理平臺(tái)的用戶界面。用戶通過(guò)門戶網(wǎng)站與云計(jì)算管理平臺(tái)進(jìn)行交互。用戶可以通過(guò)瀏覽器,登錄到門戶網(wǎng)站。在門戶網(wǎng)站上,用戶可以看到自己所擁有的虛擬機(jī)資源,并能對(duì)這些資源進(jìn)行操作和管理。
云計(jì)算管理平臺(tái)是運(yùn)營(yíng)商已有的一個(gè)針對(duì)虛擬化環(huán)境的管理平臺(tái),它主要的功能是管理X86架構(gòu)之上的虛擬機(jī),包括Linux虛擬機(jī)管理模塊和Windows虛擬機(jī)管理模塊。本項(xiàng)目的目的就是為云計(jì)算管理平臺(tái)增加一個(gè)小型機(jī)管理模塊。
本項(xiàng)目的管理平臺(tái)包括三部分:Server端、Agent端和數(shù)據(jù)庫(kù)。
(1)Server端:小型機(jī)模塊分為兩個(gè)部分,一個(gè)是Server端,Sever端提供與數(shù)據(jù)庫(kù)的接口,與上層以WebService方式進(jìn)行交互,接收云計(jì)算管理平臺(tái)的頁(yè)面下發(fā)的控制命令,將這些控制命令下發(fā)到各Agent端,并等待這些命令的返回。
(2)Agent端:小型機(jī)模塊的另外一端是指分布在各個(gè)小型機(jī)服務(wù)器上的Agent端,該部分主要是完成對(duì)各個(gè)小型機(jī)的數(shù)據(jù)采集、數(shù)據(jù)傳輸、命令執(zhí)行、命令返回等采集和控制功能。Agent保存并執(zhí)行與虛擬機(jī)實(shí)例Zone相關(guān)的操作的shell腳本。Solaris Container提供了一個(gè)完整的應(yīng)用程序運(yùn)行環(huán)境,使得對(duì)Zone的管理大大簡(jiǎn)化,降低了代理服務(wù)程序的開(kāi)發(fā)難度。
(3)數(shù)據(jù)庫(kù):該數(shù)據(jù)庫(kù)位于系統(tǒng)的主數(shù)據(jù)庫(kù)中,有4張表為小型機(jī)模塊使用,并且這些表都能讓頁(yè)面來(lái)讀取數(shù)據(jù)和顯示到頁(yè)面,可以給整個(gè)產(chǎn)品提供更豐富的功能和數(shù)據(jù)展示。
1.3Server端功能需求
Server端提供如下功能:
(1)管理模塊:功能是處理各種控制命令、查看隊(duì)列的消息以及定時(shí)掃描和刷新LINK和LINK_SERVER表。
(2)數(shù)據(jù)庫(kù)模塊:完成對(duì)數(shù)據(jù)庫(kù)的接口調(diào)用、操作,對(duì)數(shù)據(jù)庫(kù)表中的數(shù)據(jù)進(jìn)行增加、刪除、修改操作,完成數(shù)據(jù)的初始化、更新、增加、刪除和修改。
(3)消息隊(duì)列模塊:完成對(duì)消息隊(duì)列的初始化工作,并提供隊(duì)列數(shù)據(jù)的接收、發(fā)送、屬性查看等處理接口供其他模塊使用。
(4)日志模塊:完成系統(tǒng)運(yùn)行日志記錄,控制命令操作記錄、數(shù)據(jù)接收記錄,以及其他重要事件的記錄,每個(gè)記錄均包含發(fā)生的時(shí)間點(diǎn)。
(5)發(fā)送模塊:完成命令數(shù)據(jù)的發(fā)送,其中包含控制命令的接收、解析。
(6)命令處理模塊:把上層平臺(tái)發(fā)送來(lái)的命令封裝成命令發(fā)送到客戶端。
(7)接收模塊:完成來(lái)自所有鏈路的數(shù)據(jù)接收、解包、分析和報(bào)文確認(rèn),數(shù)據(jù)的解析按照指定的歸約來(lái)進(jìn)行,以保證接收到的數(shù)據(jù)的正確性和有效性。
(8)數(shù)據(jù)校驗(yàn)?zāi)K:檢驗(yàn)物理服務(wù)器的狀態(tài)。如果有新增加的物理服務(wù)器,則把該物理服務(wù)器的信息添加到鏈路服務(wù)器的表中,為新增加的物理服務(wù)器指定管理服務(wù)器數(shù)量最小的鏈路;如果有狀態(tài)為已刪除的物理服務(wù)器,則更新數(shù)據(jù)庫(kù)中相關(guān)表的信息,能有效的保持表信息的實(shí)時(shí)性及精簡(jiǎn)性。
(9)鏈路模塊:完成對(duì)鏈路的狀態(tài)判斷、控制和轉(zhuǎn)換,接收已鏈接鏈路的原始數(shù)據(jù)報(bào)文,判斷報(bào)文的合法性和有效性,并將接受到的原始數(shù)據(jù)報(bào)文發(fā)送到recv消息隊(duì)列。
(10)監(jiān)聽(tīng)模塊:完成對(duì)所有網(wǎng)絡(luò)連接的監(jiān)聽(tīng),并對(duì)連接成功的鏈路進(jìn)行判斷,確保連接的正確性和有效性。
(11)網(wǎng)絡(luò)模塊:完成網(wǎng)絡(luò)服務(wù)端、客戶端和數(shù)據(jù)讀寫(xiě)接口的一系列初始化,使它們可以供其他模塊調(diào)用。
(12)線程模塊:完成一部分線程操作的封裝。創(chuàng)建一個(gè)線程之后只需調(diào)用相應(yīng)的入口函數(shù)就可以進(jìn)入到創(chuàng)建線程。
1.4Agent端功能需求
Agent的功能模塊圖如圖2所示。
圖2 Agent端功能模塊圖
(1)獲取小型機(jī)的實(shí)時(shí)統(tǒng)計(jì)信息模塊:小型機(jī)的客戶端會(huì)每隔一定間隔(可調(diào)整,現(xiàn)為5 s),重新統(tǒng)計(jì)小型機(jī)的實(shí)時(shí)信息,并將實(shí)時(shí)信息發(fā)送給服務(wù)端。實(shí)時(shí)信息包括CPU相關(guān)、內(nèi)存相關(guān)、存儲(chǔ)相關(guān)和網(wǎng)絡(luò)相關(guān)等部分。
(2)獲取小型機(jī)zone的實(shí)時(shí)統(tǒng)計(jì)信息模塊:小型機(jī)的客戶端會(huì)每隔5 s,重新對(duì)各個(gè)小型機(jī)zone的實(shí)時(shí)信息進(jìn)行統(tǒng)計(jì),并將實(shí)時(shí)信息發(fā)送給服務(wù)端。實(shí)時(shí)信息包括CPU相關(guān)、內(nèi)存相關(guān)、存儲(chǔ)相關(guān)和網(wǎng)絡(luò)相關(guān)等部分。
(3)接受服務(wù)端發(fā)送的命令報(bào)文模塊:報(bào)文類型包括:接收服務(wù)端命令報(bào)文、解析命令報(bào)文、執(zhí)行相應(yīng)命令的腳本和返回服務(wù)端執(zhí)行結(jié)果報(bào)文。
系統(tǒng)采用MVC(Model-View-Controller)結(jié)構(gòu)進(jìn)行設(shè)計(jì)開(kāi)發(fā)。MVC結(jié)構(gòu)是為那些需要用不同的視圖展示同樣數(shù)據(jù)的應(yīng)用程序來(lái)設(shè)計(jì)的,它能夠很好地分離數(shù)據(jù)層與表示層。MVC是一種通用的開(kāi)發(fā)模型,在分布式應(yīng)用系統(tǒng)中得到了廣泛使用。MVC把一個(gè)分布式的交互系統(tǒng)分解成了三大部分:模型、視圖、控制器,使得三個(gè)部分都能彼此獨(dú)立地設(shè)計(jì)和實(shí)現(xiàn)。
(1)視圖:是系統(tǒng)和用戶之間的交互界面,它能夠以特定的形式向用戶展現(xiàn)模型數(shù)據(jù)和邏輯關(guān)系。視圖從模型獲得顯示信息,對(duì)于相同的信息可以有多個(gè)不同的視圖。在本項(xiàng)目中,視圖在瀏覽器中以門戶網(wǎng)站的形式來(lái)呈現(xiàn)。在門戶網(wǎng)站中,用戶可以購(gòu)買虛擬機(jī)、計(jì)算資源、存儲(chǔ)資源等資源,也可以對(duì)這些資源進(jìn)行操作,例如創(chuàng)建虛擬機(jī)、啟動(dòng)或者停止虛擬機(jī)等等。用戶從門戶網(wǎng)站登錄進(jìn)去,就可以看到已經(jīng)購(gòu)買的所有資源,并按照自己的需要對(duì)其進(jìn)行管理。
(2)控制:介乎于視圖與模型之間,當(dāng)模型中的數(shù)據(jù)或者業(yè)務(wù)邏輯發(fā)生變化的時(shí)候,這些變化的信息就由控制部分進(jìn)行傳達(dá),以保證用戶界面(也就是視圖)和模型部分的同步。用戶在視圖中的任何輸入都由控制部分傳送給模型進(jìn)行處理,反之亦然。對(duì)于Solaris虛擬機(jī)管理系統(tǒng)來(lái)說(shuō),控制部分包括云計(jì)算管理平臺(tái)和Server端的消息處理相關(guān)的多個(gè)模塊。
(3)模型:保存著系統(tǒng)的核心數(shù)據(jù)和邏輯,這些數(shù)據(jù)能夠由視圖來(lái)展示,由控制器來(lái)控制,可是這兩者都不負(fù)責(zé)數(shù)據(jù)的保存。模型部分的運(yùn)作獨(dú)立于視圖和控制器,以此來(lái)保證數(shù)據(jù)的一致性和降低管理數(shù)據(jù)的復(fù)雜度。模型部分包括了Agent端、數(shù)據(jù)庫(kù)以及Server端的命令處理模塊、數(shù)據(jù)庫(kù)模塊等。
目前,本系統(tǒng)已經(jīng)在國(guó)內(nèi)某大型電信商部署完成,圖3顯示了系統(tǒng)的部署情況。在綜合考慮了運(yùn)營(yíng)商機(jī)房的網(wǎng)絡(luò)環(huán)境之后,本系統(tǒng)采用了分布式的部署方法:運(yùn)營(yíng)商的總公司和子公司都部署一個(gè)管理服務(wù)器,總公司通過(guò)某種策略自動(dòng)完成公司總部和各子公司的數(shù)據(jù)同步。管理服務(wù)器的作用相當(dāng)于系統(tǒng)設(shè)計(jì)方案中的Server端,它以子公司為單位,對(duì)公司內(nèi)所有的Solaris小型機(jī)進(jìn)行管理,并將Solaris中虛擬機(jī)的所有服務(wù)進(jìn)行打包,然后通過(guò)VPN或者Internet發(fā)布出去。系統(tǒng)用戶可以通過(guò)VPN或者Internet來(lái)訪問(wèn)管理服務(wù)器,從而獲得這些資源。
圖3 系統(tǒng)部署架構(gòu)圖
(1)創(chuàng)建虛擬機(jī)。為了創(chuàng)建虛擬機(jī),用戶需要在自服務(wù)門戶網(wǎng)站上登錄,然后在網(wǎng)站上找到創(chuàng)建虛擬機(jī)服務(wù)的按鈕,進(jìn)入創(chuàng)建虛擬機(jī)頁(yè)面,如圖4所示。用戶需要填寫(xiě)的內(nèi)容有:服務(wù)名稱、資源域、申請(qǐng)時(shí)長(zhǎng)、申請(qǐng)數(shù)量和描述等。其中所選擇的服務(wù)是由云計(jì)算管理平臺(tái)根據(jù)特定服務(wù)模板生成。在服務(wù)模板中,已經(jīng)規(guī)定了虛擬機(jī)所需要的CPU數(shù)量、內(nèi)存大小、磁盤大小、網(wǎng)絡(luò)IP等內(nèi)容。為了方便用戶使用,在用戶創(chuàng)建虛擬機(jī)的時(shí)候,這些模板的參數(shù)已經(jīng)作為默認(rèn)參數(shù)輸入到系統(tǒng)中。用戶填寫(xiě)完上述內(nèi)容之后,點(diǎn)擊“立即申請(qǐng)”按鈕即可完成虛擬機(jī)的創(chuàng)建。
圖4創(chuàng)建虛擬機(jī)
圖5顯示了用戶已經(jīng)創(chuàng)建好的虛擬機(jī),即圖中列表的第2行。服務(wù)狀態(tài)顯示可用,意味著虛擬機(jī)已經(jīng)就緒,可以使用。
圖5 創(chuàng)建好的虛擬機(jī)
(2)啟動(dòng)虛擬機(jī)的實(shí)現(xiàn)。啟動(dòng)虛擬機(jī)的操作適用于虛擬機(jī)已經(jīng)關(guān)機(jī)的情況下。如圖6所示,用戶只需要點(diǎn)擊“操作”一欄中的按鈕即可啟動(dòng)虛擬機(jī)。
圖6 啟動(dòng)虛擬機(jī)
(3)停止虛擬機(jī)的實(shí)現(xiàn)。停止虛擬機(jī)適用于虛擬機(jī)正在運(yùn)行的情況下。用戶可以參看虛擬機(jī)的“狀態(tài)”一欄,如果顯示“運(yùn)行中”,那么用戶就可以點(diǎn)擊“操作”一欄中的“停止”按鈕,即可停止虛擬機(jī),如圖7所示。
圖7 停止虛擬機(jī)
(4)重啟虛擬機(jī)的實(shí)現(xiàn)。重啟虛擬機(jī)適用于虛擬機(jī)正在運(yùn)行的情況下。用戶可以參看虛擬機(jī)的“狀態(tài)”一欄,如果顯示“運(yùn)行中”,那么用戶就可以點(diǎn)擊“操作”一欄中的“重啟”按鈕,即可重啟虛擬機(jī),如圖8所示。
圖8 重啟虛擬機(jī)
(5)刪除虛擬機(jī)的實(shí)現(xiàn)。刪除虛擬機(jī)適用于虛擬機(jī)正在使用的情況下。用戶可以參看虛擬機(jī)的“服務(wù)狀態(tài)”一欄,如果顯示“可用”,那么用戶就可以點(diǎn)擊“操作”一欄中的“刪除”按鈕,即可刪除虛擬機(jī),如圖9所示。
圖9 刪除虛擬機(jī)
本項(xiàng)目的目標(biāo)是開(kāi)發(fā)一個(gè)基于Solaris的虛擬機(jī)管理平臺(tái)。本文圍繞這個(gè)目標(biāo),需要解決兩個(gè)問(wèn)題,即避免節(jié)點(diǎn)脆弱性和低可擴(kuò)展性。通過(guò)使用代理模式,本項(xiàng)目避免了無(wú)代理模式固有的節(jié)點(diǎn)脆弱性與可擴(kuò)展性低的問(wèn)題,從而提高了系統(tǒng)的健壯性與可擴(kuò)展性。從系統(tǒng)開(kāi)發(fā)完成后的部署情況,以及交付之后針對(duì)用戶的需求所做的升級(jí)和擴(kuò)展情況來(lái)看,本項(xiàng)目完全達(dá)到了原先的目標(biāo)和用戶的要求。
[1]黃志寶.基于虛擬化的容災(zāi)業(yè)務(wù)自動(dòng)部署和自動(dòng)遷移研究與實(shí)現(xiàn)[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2009.
[2]張雅彬,李伯虎,柴旭東,等.基于虛擬化技術(shù)的云仿真資源遷移技術(shù)研究[J].系統(tǒng)仿真學(xué)報(bào),2011,23(6):1268-1272.
[3]王昊鵬,劉旺盛.虛擬化技術(shù)在云計(jì)算中的應(yīng)用初探[J].電腦知識(shí)與技術(shù),2008(9):1554.
[4]金海,廖小飛.面向計(jì)算系統(tǒng)的虛擬化技術(shù)[J].中國(guó)基礎(chǔ)科學(xué),2008,10(6):12-18.
[5]張建勛,古志民,鄭超.云計(jì)算研究進(jìn)展綜述[J].計(jì)算機(jī)應(yīng)用研究,2010,27(2):429-433.
[6]施慶.基于VMware vSphere的高校數(shù)據(jù)中心虛擬化建設(shè)研究[D].上海:復(fù)旦大學(xué),2012.
【責(zé)任編輯:王桂珍foshanwgzh@163.com】
Design and implementation of virtual machine management platform based on Solaris
WUShi-yang
(Information and Educational TechnologyCenter,F(xiàn)oshan University,F(xiàn)oshan 528000,China)
This paper designed and implemented a management platform for virtual machines on Solaris.This system is used for managing the virtual machines Zone in Solaris Container.To achieve this goal,two problems need to be solved:increasing the robustness and the scalability.By using the virtualization technology Solaris Zone and the agent pattern,the project avoided the vulnerability and the lowscalability of the agentless pattern,soit increased the robustness and scalabilityofthe system.
Solaris;zone;virtual machine;management platform
TP302
A
1008-0171(2016)04-0023-07
2016-01-15
廣東省普通高校青年創(chuàng)新人才資助項(xiàng)目(2015KQNCX179)
伍世楊(1987-),男,廣東肇慶人,佛山科學(xué)技術(shù)學(xué)院助教。
佛山科學(xué)技術(shù)學(xué)院學(xué)報(bào)(自然科學(xué)版)2016年4期