專利名稱:云系統(tǒng)中的虛擬機(jī)啟動控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及云計算領(lǐng)域,尤其涉及到一種云系統(tǒng)中的虛擬機(jī)啟動控制方法。
背景技術(shù):
云計算是傳統(tǒng)計算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。它旨在通過網(wǎng)絡(luò)把多個成本相對較低的計算實(shí)體整合成一個具有強(qiáng)大計算能力的完美系統(tǒng)。云計算將所有的計算資源集中起來,并由軟件實(shí)現(xiàn)自動管理,無需人為參與。企業(yè)只需定制相應(yīng)的服務(wù),由云服務(wù)商或云端提供需要的基礎(chǔ)架構(gòu)、服務(wù)、軟硬件資源等,可以節(jié)約成本,企業(yè)不用投資購買昂貴的硬件設(shè)備,不需要負(fù)擔(dān)頻繁的維護(hù)與升級工作,而且不需要建立自己的數(shù)據(jù)中心、大型機(jī)房和服務(wù)器中心等,能夠減少硬軟件的運(yùn)行維護(hù)費(fèi)用。
在云系統(tǒng)中,一般包含云控制服務(wù)器、集群控制器以及節(jié)點(diǎn)控制器。在云控制服務(wù)器的下面有至少一個集群控制器,在集群控制器下面有至少一個節(jié)點(diǎn)控制器。云控制服務(wù)器用于接收用戶請求,根據(jù)預(yù)設(shè)的策略選擇指定的節(jié)點(diǎn)控制器,并向指定的節(jié)點(diǎn)控制器轉(zhuǎn)發(fā)信息,并且負(fù)責(zé)云系統(tǒng)資源的存儲、調(diào)度和管理。集群控制器用于對其下面的節(jié)點(diǎn)控制器進(jìn)行管理,轉(zhuǎn)發(fā)云控制服務(wù)器的信息,并對本集群內(nèi)的 資源進(jìn)行調(diào)度和管理。節(jié)點(diǎn)控制器用于負(fù)責(zé)對本機(jī)上的虛擬機(jī)進(jìn)行管理和監(jiān)控,包括虛擬機(jī)的創(chuàng)建、啟動、關(guān)閉以及刪除。節(jié)點(diǎn)控制器上建有虛擬機(jī)數(shù)據(jù)表,記錄有虛擬機(jī)名字、狀態(tài)、校驗(yàn)信息以及虛擬機(jī)所屬用戶等信肩、O
在云系統(tǒng)的實(shí)際運(yùn)行中,由于系統(tǒng)故障、斷電以及云系統(tǒng)遭到非法入侵等因素,云系統(tǒng)故障或供電恢復(fù)后自動重啟,在云系統(tǒng)重啟后,如何快速恢復(fù)斷電前或故障前節(jié)點(diǎn)控制器中運(yùn)行狀態(tài)的虛擬機(jī)的正常工作是一個必須要解決的問題。由于云系統(tǒng)重啟前,若節(jié)點(diǎn)控制器中虛擬機(jī)數(shù)據(jù)表的狀態(tài)為運(yùn)行,重啟后,虛擬機(jī)數(shù)據(jù)表的狀態(tài)沒有更新,虛擬機(jī)狀態(tài)仍為運(yùn)行,然而該虛擬機(jī)在節(jié)點(diǎn)控制器中的實(shí)際狀態(tài)卻是關(guān)閉,為解決這個問題,現(xiàn)有技術(shù)主要通過管理員手動管理,查詢這些虛擬機(jī)的狀態(tài),找出管理控制臺中顯示為運(yùn)行,而在實(shí)際節(jié)點(diǎn)控制器中為關(guān)閉的虛擬機(jī),點(diǎn)擊關(guān)閉虛擬機(jī),修改虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)狀態(tài)為關(guān)閉,再點(diǎn)擊啟動,恢復(fù)虛擬機(jī)的正常運(yùn)行,以上過程,即通常所述的對虛擬機(jī)進(jìn)行手動認(rèn)領(lǐng)管理。
現(xiàn)有技術(shù)的缺點(diǎn)是1)不能自動重新啟動節(jié)點(diǎn)控制器中的在故障前為運(yùn)行狀態(tài)的虛擬機(jī),而是只能依賴管理員的手動操作來管理,而云系統(tǒng)發(fā)生故障、斷電或遭到網(wǎng)絡(luò)攻擊的時間不確定,由此增加了云系統(tǒng)用戶的等待時間,嚴(yán)重時會影響企業(yè)的運(yùn)作;2)虛擬機(jī)啟動的安全性沒有得到驗(yàn)證,例如非法用戶通過網(wǎng)絡(luò)攻擊,修改了虛擬機(jī)權(quán)限用戶,從而導(dǎo)致云系統(tǒng)重啟后可能會出現(xiàn)未注冊用戶使用虛擬機(jī)或者啟動的是非法的虛擬機(jī)的情況,或者云系統(tǒng)斷電后,虛擬機(jī)的鏡像文件遭到破壞等,管理員手動重啟虛擬機(jī)后,會導(dǎo)致云系統(tǒng)重啟后虛擬機(jī)不能正常運(yùn)行而造成系統(tǒng)異常。發(fā)明內(nèi)容3
為了解決上述技術(shù)問題,本發(fā)明的目的在于提出一種云系統(tǒng)中的虛擬機(jī)啟動控制方法,能夠在云系統(tǒng)重啟后,自動恢復(fù)云系統(tǒng)故障或斷電前為運(yùn)行狀態(tài)的虛擬機(jī)的正常工作,并對虛擬機(jī)啟動的安全性進(jìn)行檢查,確保啟動的虛擬機(jī)是云系統(tǒng)已注冊的權(quán)限用戶在云系統(tǒng)重啟前正常啟動的。
本發(fā)明實(shí)施例提供的一種云系統(tǒng)中的虛擬機(jī)啟動控制方法,包括A、節(jié)點(diǎn)控制器初始化后,查看本節(jié)點(diǎn)控制器上的虛擬機(jī)數(shù)據(jù)表,選擇虛擬機(jī)數(shù)據(jù)表中狀態(tài)為運(yùn)行的虛擬機(jī)進(jìn)行啟動控制處理;B、節(jié)點(diǎn)控制器檢查所述虛擬機(jī)對應(yīng)的鏡像文件以及啟動調(diào)用文件是否存在,所述鏡像文件包括基準(zhǔn)鏡像和增量鏡像;且在所述鏡像文件存在時,對所述虛擬機(jī)對應(yīng)的基準(zhǔn)鏡像進(jìn)行合法性校驗(yàn);若所述鏡像文件、所述啟動調(diào)用文件存在并且所述基準(zhǔn)鏡像合法則繼續(xù)執(zhí)行步驟C,否則節(jié)點(diǎn)控制器將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)狀態(tài)置為關(guān)閉;C、節(jié)點(diǎn)控制器讀取虛擬機(jī)數(shù)據(jù)表中虛擬機(jī)所屬用戶的用戶名,發(fā)送給云安全認(rèn)證服務(wù)器進(jìn)行驗(yàn)證,判斷所 屬用戶是否為云系統(tǒng)合法注冊用戶,若是,執(zhí)行步驟D,否則將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)狀態(tài)置為關(guān)閉;D、節(jié)點(diǎn)控制器讀取虛擬機(jī)所屬用戶的用戶名以及虛擬機(jī)名稱,發(fā)送給管理控制臺進(jìn)行驗(yàn)證,判斷云系統(tǒng)重啟前所述用戶是否運(yùn)行了所述虛擬機(jī),若是,節(jié)點(diǎn)控制器調(diào)用所述啟動調(diào)用文件,通過應(yīng)用程序編程接口啟動所述虛擬機(jī),若否,節(jié)點(diǎn)控制器將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)狀態(tài)置為關(guān)閉。
實(shí)施本發(fā)明實(shí)施例,具有如下有益效果當(dāng)云系統(tǒng)重啟后,節(jié)點(diǎn)控制器自行對虛擬機(jī)數(shù)據(jù)表中狀態(tài)為運(yùn)行而實(shí)際狀態(tài)為關(guān)閉的虛擬機(jī)進(jìn)行啟動控制處理,只有當(dāng)該虛擬機(jī)的鏡像文件和對應(yīng)的啟動調(diào)用文件存在、基準(zhǔn)鏡像合法,并且在驗(yàn)證了該虛擬機(jī)是云系統(tǒng)合法注冊用戶在云系統(tǒng)重啟前運(yùn)行的虛擬機(jī)的情況下才重新啟動該虛擬機(jī),否則在虛擬機(jī)數(shù)據(jù)表中將該虛擬機(jī)的狀態(tài)置為關(guān)閉,無需云系統(tǒng)管理員的手動管理且滿足云系統(tǒng)安全要求。
圖I是本發(fā)明提供的云系統(tǒng)中的虛擬機(jī)啟動控制方法的一個實(shí)施例的流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參見圖1,是本發(fā)明提供的云系統(tǒng)中的虛擬機(jī)啟動控制方法的一個實(shí)施例的流程圖。
本發(fā)明實(shí)施例提供的一種云系統(tǒng)中的虛擬機(jī)啟動控制方法,包括A、節(jié)點(diǎn)控制器初始化后,查看本節(jié)點(diǎn)控制器上的虛擬機(jī)數(shù)據(jù)表,選擇虛擬機(jī)數(shù)據(jù)表中記錄狀態(tài)為運(yùn)行的虛擬機(jī)進(jìn)行啟動控制處理。
具體的,參見圖I中的步驟S101-S104 SlOl、節(jié)點(diǎn)控制器初始化。
云系統(tǒng)斷電恢復(fù)或者系統(tǒng)故障重啟后,節(jié)點(diǎn)控制器初始化相關(guān)參數(shù),分配所需的網(wǎng)絡(luò)端口,掛載共享存儲服務(wù)器的共享目錄,準(zhǔn)備對本節(jié)點(diǎn)上的虛擬機(jī)進(jìn)行啟動控制處理。
S102、節(jié)點(diǎn)控制器選擇虛擬機(jī)數(shù)據(jù)表中的一個虛擬機(jī)進(jìn)行啟動控制處理。
節(jié)點(diǎn)控制器建有虛擬機(jī)數(shù)據(jù)表,虛擬機(jī)數(shù)據(jù)表記錄了節(jié)點(diǎn)控制器中所有虛擬機(jī)的名稱、虛擬機(jī)配置信息、虛擬機(jī)的狀態(tài)、虛擬機(jī)所掛載基準(zhǔn)鏡像的校驗(yàn)信息以及虛擬機(jī)所屬用戶。其中虛擬機(jī)的名稱和配置信息(包括虛擬CPU核數(shù)、內(nèi)存大小、硬盤大小等)由創(chuàng)建虛擬機(jī)的用戶指定,虛擬機(jī)的狀態(tài)包括創(chuàng)建、運(yùn)行、關(guān)閉、掛起,虛擬機(jī)所掛載基準(zhǔn)鏡像的校驗(yàn)信息為虛擬機(jī)在創(chuàng)建的時候,采用哈希函數(shù)對基準(zhǔn)鏡像生成的信息校驗(yàn)值。
S103、節(jié)點(diǎn)控制器判斷所選擇的虛擬機(jī)在虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)記錄狀態(tài)是否為運(yùn)行。
節(jié)點(diǎn)控制器查看虛擬機(jī)數(shù)據(jù)表,依次對其中的虛擬機(jī)進(jìn)行處理,當(dāng)虛擬機(jī)數(shù)據(jù)表中的記錄狀態(tài)為非運(yùn)行狀態(tài),如虛擬機(jī)的記錄記錄狀態(tài)為關(guān)閉,則判定虛擬機(jī)在云系統(tǒng)重啟前是正常關(guān)閉的,不對其進(jìn)行處理,從虛擬機(jī)數(shù)據(jù)表中選擇另一個虛擬機(jī)進(jìn)行啟動控制處理。 若虛擬機(jī)數(shù)據(jù)表中的記錄狀態(tài)為運(yùn)行,則需要節(jié)點(diǎn)控制器對虛擬機(jī)進(jìn)行自動認(rèn)領(lǐng)管理。
進(jìn)一步的,在步驟A之后,對所述虛擬機(jī)在節(jié)點(diǎn)控制器上的實(shí)際狀態(tài)進(jìn)行檢測,若虛擬機(jī)的實(shí)際狀態(tài)為運(yùn)行,節(jié)點(diǎn)控制器選擇虛擬機(jī)數(shù)據(jù)表中狀態(tài)為運(yùn)行的另一個虛擬機(jī)進(jìn)行啟動控制處理,若否,則執(zhí)行步驟B。具體的,對虛擬機(jī)的實(shí)際狀態(tài)進(jìn)行檢測,參見圖I :5104、節(jié)點(diǎn)控制器檢測虛擬機(jī)的實(shí)際狀態(tài)是否為運(yùn)行。
本實(shí)施例中虛擬機(jī)為基于內(nèi)核虛擬機(jī)(Kvm, Kernel-based Virtual Machine,基于內(nèi)核虛擬機(jī)),當(dāng)虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)記錄狀態(tài)為運(yùn)行時,在檢測虛擬機(jī)的實(shí)際狀態(tài)時,節(jié)點(diǎn)控制器調(diào)用Iibvirt函數(shù)庫,通過open函數(shù)建立起和虛擬機(jī)對應(yīng)的虛擬機(jī)連接對象,再根據(jù)虛擬機(jī)的名稱,通過Iookupbyname函數(shù)查找該虛擬機(jī),如果返回值為空,虛擬機(jī)沒有實(shí)際運(yùn)行,如果虛擬機(jī)返回虛擬機(jī)連接對象信息,則虛擬機(jī)實(shí)際運(yùn)行,節(jié)點(diǎn)控制器選擇新的虛擬機(jī)進(jìn)行操作。執(zhí)行此步驟可以防止對虛擬機(jī)的重復(fù)認(rèn)領(lǐng),減輕節(jié)點(diǎn)控制器的工作量。
B、節(jié)點(diǎn)控制器檢查所述虛擬機(jī)對應(yīng)的鏡像文件以及啟動調(diào)用文件是否存在,所述鏡像文件包括基準(zhǔn)鏡像和增量鏡像;且在所述鏡像文件存在時,對所述虛擬機(jī)對應(yīng)的基準(zhǔn)鏡像進(jìn)行合法性校驗(yàn);若所述鏡像文件、所述啟動調(diào)用文件存在并且所述基準(zhǔn)鏡像合法則繼續(xù)執(zhí)行步驟C,否則節(jié)點(diǎn)控制器將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)狀態(tài)置為關(guān)閉;具體的,參見圖I :5105、節(jié)點(diǎn)控制器檢查虛擬機(jī)的鏡像文件是否存在。
鏡像文件包括基準(zhǔn)鏡像和增量鏡像,當(dāng)鏡像文件不存在,節(jié)點(diǎn)控制器將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)記錄狀態(tài)置為關(guān)閉。
S106、節(jié)點(diǎn)控制器驗(yàn)證基準(zhǔn)鏡像的MD5值是否與虛擬機(jī)數(shù)據(jù)表中的基準(zhǔn)鏡像的 MD5值相等。
在本實(shí)施例中,虛擬機(jī)數(shù)據(jù)表中的基準(zhǔn)鏡像校驗(yàn)值可以是采用哈希函數(shù)生成的 MD5 (MD5, Message-Digest Algorithm 5,信息-摘要算法5)值,當(dāng)然,基于客戶的安全需5求,上述基準(zhǔn)鏡像校驗(yàn)值也可以是采用其他信息-摘要算法生成的校驗(yàn)值。
節(jié)點(diǎn)控制器利用哈希函數(shù)生成虛擬機(jī)對應(yīng)基準(zhǔn)鏡像的MD5值;節(jié)點(diǎn)控制器將所述生成的MD5值與虛擬機(jī)數(shù)據(jù)表中記錄的虛擬機(jī)基準(zhǔn)鏡像MD5值進(jìn)行對比,若兩者一致,則判定基準(zhǔn)鏡像合法,否則判定基準(zhǔn)鏡像不合法,基準(zhǔn)鏡像遭到破壞或修改。
S107、節(jié)點(diǎn)控制器檢查虛擬機(jī)對應(yīng)的xml (Extensible Markup Language,可擴(kuò)展標(biāo)記語言)文件是否存在。
進(jìn)一步的,本實(shí)施例中的虛擬機(jī)為基于內(nèi)核虛擬機(jī)(kvm虛擬機(jī)),啟動調(diào)用文件為可擴(kuò)展標(biāo)記語言文件,可擴(kuò)展標(biāo)記語言文件與節(jié)點(diǎn)控制器中的虛擬機(jī)一一對應(yīng),記錄所述虛擬機(jī)相關(guān)的配置信息,供節(jié)點(diǎn)控制器調(diào)用以啟動所述虛擬機(jī),在用戶創(chuàng)建虛擬機(jī)的時候, 節(jié)點(diǎn)控制器為虛擬機(jī)生成一個對應(yīng)的xml文件,只有在管理員或授權(quán)用戶刪除虛擬機(jī)的時候,該xml文件才一并刪除。以下是xml文件的一個實(shí)例<domain type=〃kvm〃>//虛擬機(jī)的采用kvm虛擬機(jī)//<name>696248</name>// 虛擬機(jī)名字 696248//<uuid>c9elle78-9fdb-llel-a3e6-485b39432fcf</uuid> // 虛擬機(jī)的 uuid,用來在虛擬化平臺中唯一標(biāo)示一個虛擬機(jī)Il<memory>262144</memory) // 虛擬的最大內(nèi)存 262144 字節(jié) // <currentMemory>262144</currentMemory> // 虛擬機(jī)的當(dāng)前內(nèi)存 262144 字節(jié) // <vcpu>l</vcpu> Il虛擬機(jī)的虛擬CPU為I個//<os>〈type arch=〃x86_64〃 machine=〃pc_0· 12〃>hvm〈/type> //虛擬機(jī)的 CPU 體系架構(gòu)、 版本和虛擬化類型(hvm:代表全虛擬化)//〈boot dev=〃hd〃 /> //虛擬機(jī)對應(yīng)的磁盤設(shè)備類型//</os>〈features〉〈acpi />〈apic /><pae />〈/features〉〈clock offset=〃localtime〃 /> //<on_reboot>restart</on_reboot> /丨 <on_crash>restart</on_crash> //〈devices〉<emulator>/usr/bin/kvm</emulator)〈disk device=〃disk〃 type=〃file〃><driver name=//qemu// type=//qcow2// /采用的時間//虛擬機(jī)支持的操作//虛擬機(jī)支持的操作////kvm進(jìn)程存在的目錄//> Il虛擬機(jī)對應(yīng)的鏡像格式徑〈source file="/home/cloud/vebula/mounts/vms/696248〃 /> // 虛擬機(jī)對應(yīng)的路/〈target bus=〃ide〃 dev=〃hda〃 /> //虛擬機(jī)磁盤對應(yīng)的總線類型//</disk>〈disk device="cdrom〃 type="file"> // 虛擬機(jī)對應(yīng)的 CDROM//〈target bus=〃ide〃 dev=〃hdc〃 /></disk>〈interface type=〃bridge〃> //虛擬機(jī)的上網(wǎng)模式橋接//〈mac address="0A:EE:EE:69:62:48〃 /> //虛擬網(wǎng)卡地址//〈source bridge=〃brO〃 /> // 虛擬機(jī)網(wǎng)卡的名字//</interfaceXconsole type=〃pty〃> //虛擬機(jī)對應(yīng)的控制臺類型//〈target Port=V /></console)〈input bus=〃ps2〃 type=〃mouse〃 /> // 虛擬機(jī)對應(yīng)的鼠標(biāo)類型// <graphics autoport=//yes// keymap=//en-us// port="-]/' type=//vnc// /> // 虛擬機(jī)支持vnc連接//<video>〈model heads=〃l〃 type=〃cirrus〃 vram=〃9216〃 /> //虛擬機(jī)對應(yīng)的聲卡配置// </video></devices)C、節(jié)點(diǎn)控制器讀取虛擬機(jī)數(shù)據(jù)表中虛擬機(jī)所屬用戶的用戶名,發(fā)送給云安全認(rèn)證服務(wù)器進(jìn)行驗(yàn)證,判斷所屬用戶是否為云系統(tǒng)合法注冊用戶,若是,執(zhí)行步驟D,否則將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)狀態(tài)置為關(guān)閉。
具體的,參見圖I中S108,云安全認(rèn)證服務(wù)器主要提供云系統(tǒng)中用戶注冊、管理以及用戶密鑰管理的功能,云安全認(rèn)證服務(wù)器包括用戶存儲模塊,用戶存儲模塊用于記錄云系統(tǒng)合法注冊用戶的用戶名。云安全認(rèn)證服務(wù)器根據(jù)節(jié)點(diǎn)控制器發(fā)送的虛擬機(jī)數(shù)據(jù)表中的用戶名,對用戶的合法性進(jìn)行驗(yàn)證,若用戶未注冊,安全認(rèn)證服務(wù)器向節(jié)點(diǎn)控制器返回用戶非法信息,節(jié)點(diǎn)控制器將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)記錄狀態(tài)置為關(guān)閉。本實(shí)施例通過安全認(rèn)證服務(wù)器,對用戶名進(jìn)行驗(yàn)證,可以防止云系統(tǒng)中未注冊用戶啟動虛擬機(jī),避免了網(wǎng)絡(luò)攻擊而修改了虛擬機(jī)使用權(quán)限的情況,保證虛擬機(jī)重啟的安全性。
D、節(jié)點(diǎn)控制器讀取虛擬機(jī)所屬用戶的用戶名以及虛擬機(jī)名稱,發(fā)送給管理控制臺進(jìn)行驗(yàn)證,判斷云系統(tǒng)重啟前所述用戶是否運(yùn)行了所述虛擬機(jī),若是,節(jié)點(diǎn)控制器調(diào)用所述啟動調(diào)用文件,通過應(yīng)用程序編程接口啟動所述虛擬機(jī),若否,節(jié)點(diǎn)控制器將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)狀態(tài)置為關(guān)閉。
具體的,參見圖I中S109,在判定用戶為云系統(tǒng)合法注冊用戶后,需要對虛擬機(jī)是否合法進(jìn)行驗(yàn)證,即需要驗(yàn)證該虛擬機(jī)是否屬于該用戶,并且該虛擬機(jī)的狀態(tài)是否在云系統(tǒng)重啟前為運(yùn)行狀態(tài)。節(jié)點(diǎn)控制器讀取虛擬機(jī)數(shù)據(jù)表中的用戶名和虛擬機(jī)名,發(fā)送給管理控制臺,管理控制臺包括虛擬機(jī)信息存儲區(qū),記錄了云系統(tǒng)用戶的虛擬機(jī)以及所述虛擬機(jī)對應(yīng)的狀態(tài),當(dāng)確定虛擬機(jī)屬于該用戶,并且虛擬機(jī)狀態(tài)為運(yùn)行,則管理控制臺向節(jié)點(diǎn)控制器發(fā)送虛擬機(jī)合法的信息,節(jié)點(diǎn)控制器收到該信息后,調(diào)用虛擬機(jī)對應(yīng)的xml文件,通過 API (API, Application Programming Interface,應(yīng)用程序編程接口)啟動虛擬機(jī),否則節(jié)點(diǎn)控制器將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)記錄狀態(tài)置為關(guān)閉。在云安全認(rèn)證服務(wù)器認(rèn)證用戶合法的安全性情況下,節(jié)點(diǎn)控制器中虛擬機(jī)數(shù)據(jù)表中和管理控制臺中虛擬機(jī)狀態(tài)都為運(yùn)行時,就有很高的可信度認(rèn)為虛擬機(jī)在云系統(tǒng)重啟前為運(yùn)行,增加了網(wǎng)絡(luò)攻擊修改虛擬機(jī)狀態(tài)的難度和成本,提高云系統(tǒng)的安全性。對虛擬機(jī)進(jìn)行驗(yàn)證,確保重啟的虛擬機(jī)是用戶在云系統(tǒng)重啟前運(yùn)行的合法虛擬機(jī)。
節(jié)點(diǎn)控制器依照虛擬機(jī)數(shù)據(jù)表對其中所有的虛擬機(jī)進(jìn)行處理,直至全部虛擬機(jī)按照上文的步驟處理完畢,節(jié)點(diǎn)控制器啟動完畢,常駐運(yùn)行。管理控制臺包括通信端口以及虛擬機(jī)信息存儲區(qū),通信端口在云系統(tǒng)中節(jié)點(diǎn)控制器啟動進(jìn)程完成后,實(shí)時獲取節(jié)點(diǎn)控制器中虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)信息,并記錄在所述虛擬機(jī)信息存儲區(qū)中。
實(shí)施本發(fā)明實(shí)施例,具有如下有益效果當(dāng)云系統(tǒng)重啟后,節(jié)點(diǎn)控制器自行對虛擬機(jī)數(shù)據(jù)表中狀態(tài)為運(yùn)行而實(shí)際狀態(tài)為關(guān)閉的虛擬機(jī)進(jìn)行啟動控制處理,只有當(dāng)該虛擬機(jī)的鏡像文件和對應(yīng)的啟動調(diào)用文件存在、基準(zhǔn)鏡像合法,并且在驗(yàn)證了該虛擬機(jī)是云系統(tǒng)合法注冊用戶在云系統(tǒng)重啟前運(yùn)行的虛擬機(jī)的情況下才重新啟動該虛擬機(jī),否則在虛擬機(jī)數(shù)據(jù)表中將該虛擬機(jī)的狀態(tài)置為關(guān)閉,無需云系統(tǒng)管理員的手動管理且滿足云系統(tǒng)安全要求。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法的全部或部分步驟可以通過程序來指令相關(guān)的硬件來完成,所述的程序是可以存儲于一計算機(jī)可讀存儲介質(zhì)中,所述的存儲介質(zhì)如R0M/RAM、磁碟、光盤等。
以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和變形,這些改進(jìn)和變形也視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種云系統(tǒng)中的虛擬機(jī)啟動控制方法,其特征在于,包括A、節(jié)點(diǎn)控制器初始化后,查看本節(jié)點(diǎn)控制器上的虛擬機(jī)數(shù)據(jù)表,選擇虛擬機(jī)數(shù)據(jù)表中狀態(tài)為運(yùn)行的虛擬機(jī)進(jìn)行啟動控制處理;B、節(jié)點(diǎn)控制器檢查所述虛擬機(jī)對應(yīng)的鏡像文件以及啟動調(diào)用文件是否存在,所述鏡像文件包括基準(zhǔn)鏡像和增量鏡像;且在所述鏡像文件存在時,對所述虛擬機(jī)對應(yīng)的基準(zhǔn)鏡像進(jìn)行合法性校驗(yàn);若所述鏡像文件、所述啟動調(diào)用文件存在并且所述基準(zhǔn)鏡像合法則繼續(xù)執(zhí)行步驟C,否則節(jié)點(diǎn)控制器將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)狀態(tài)置為關(guān)閉;C、節(jié)點(diǎn)控制器讀取虛擬機(jī)數(shù)據(jù)表中虛擬機(jī)所屬用戶的用戶名,發(fā)送給云安全認(rèn)證服務(wù)器進(jìn)行驗(yàn)證,判斷所屬用戶是否為云系統(tǒng)合法注冊用戶,若是,執(zhí)行步驟D,否則將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)狀態(tài)置為關(guān)閉;D、節(jié)點(diǎn)控制器讀取虛擬機(jī)所屬用戶的用戶名以及虛擬機(jī)名稱,發(fā)送給管理控制臺進(jìn)行驗(yàn)證,判斷云系統(tǒng)重啟前所述用戶是否運(yùn)行了所述虛擬機(jī),若是,節(jié)點(diǎn)控制器調(diào)用所述啟動調(diào)用文件,通過應(yīng)用程序編程接口啟動所述虛擬機(jī),若否,節(jié)點(diǎn)控制器將虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)狀態(tài)置為關(guān)閉。
2.如權(quán)利要求I所述的云系統(tǒng)中的虛擬機(jī)啟動控制方法,其特征在于,所述虛擬機(jī)為基于內(nèi)核虛擬機(jī),所述啟動調(diào)用文件為可擴(kuò)展標(biāo)記語言文件,所述可擴(kuò)展標(biāo)記語言文件與節(jié)點(diǎn)控制器中的虛擬機(jī)一一對應(yīng),記錄所述虛擬機(jī)相關(guān)的配置信息。
3.如權(quán)利要求I或2所述的云系統(tǒng)中的虛擬機(jī)啟動控制方法,其特征在于,在所述步驟 A之后還包括對所述虛擬機(jī)在節(jié)點(diǎn)控制器上的實(shí)際狀態(tài)進(jìn)行檢測,若所述虛擬機(jī)的實(shí)際狀態(tài)為運(yùn)行,所述節(jié)點(diǎn)控制器選擇虛擬機(jī)數(shù)據(jù)表中狀態(tài)為運(yùn)行的另一個虛擬機(jī)進(jìn)行啟動控制處理, 若否則執(zhí)行步驟B。
4.如權(quán)利要求I所述的云系統(tǒng)中的虛擬機(jī)啟動控制方法,其特征在于,在所述步驟B 中,所述對基準(zhǔn)鏡像進(jìn)行合法性校驗(yàn),包括節(jié)點(diǎn)控制器利用哈希函數(shù)生成所述虛擬機(jī)對應(yīng)基準(zhǔn)鏡像的MD5值;節(jié)點(diǎn)控制器將所述生成的MD5值與虛擬機(jī)數(shù)據(jù)表中記錄的所述虛擬機(jī)的基準(zhǔn)鏡像MD5 值進(jìn)行對比,若兩者一致,則判定基準(zhǔn)鏡像合法,否則判定基準(zhǔn)鏡像不合法。
5.如權(quán)利要求I所述的云系統(tǒng)中的虛擬機(jī)啟動控制方法,其特征在于,所述云安全認(rèn)證服務(wù)器包括用戶存儲模塊;所述用戶存儲模塊用于記錄云系統(tǒng)合法注冊用戶的用戶名。
6.如權(quán)利要求I所述的云系統(tǒng)中的虛擬機(jī)啟動控制方法,其特征在于,所述管理控制臺包括通信端口以及虛擬機(jī)信息存儲區(qū);所述通信端口在云系統(tǒng)中節(jié)點(diǎn)控制器啟動進(jìn)程完成后,實(shí)時獲取節(jié)點(diǎn)控制器中虛擬機(jī)數(shù)據(jù)表中的虛擬機(jī)信息,并將所述虛擬機(jī)信息記錄在所述虛擬機(jī)信息存儲區(qū)中。
全文摘要
本發(fā)明公開了一種云系統(tǒng)中的虛擬機(jī)啟動控制方法,包括A、節(jié)點(diǎn)控制器選擇虛擬機(jī)數(shù)據(jù)表中狀態(tài)為運(yùn)行的虛擬機(jī);B、節(jié)點(diǎn)控制器檢查鏡像文件及啟動調(diào)用文件是否存在,對基準(zhǔn)鏡像進(jìn)行合法性校驗(yàn);若鏡像文件、啟動調(diào)用文件存在且基準(zhǔn)鏡像合法則執(zhí)行C,否則將虛擬機(jī)狀態(tài)置為關(guān)閉;C、節(jié)點(diǎn)控制器讀取用戶名,發(fā)送云安全認(rèn)證服務(wù)器進(jìn)行驗(yàn)證,判斷用戶是否為合法注冊用戶,若是,執(zhí)行D,否則將虛擬機(jī)狀態(tài)置為關(guān)閉;D、節(jié)點(diǎn)控制器讀取用戶名及虛擬機(jī)名稱,發(fā)送管理控制臺進(jìn)行驗(yàn)證,判斷云系統(tǒng)重啟前用戶是否運(yùn)行了虛擬機(jī),若是,啟動虛擬機(jī),若否,將虛擬機(jī)狀態(tài)置為關(guān)閉。實(shí)施本發(fā)明實(shí)施例云系統(tǒng)重啟后能自動恢復(fù)虛擬機(jī)的工作并滿足云系統(tǒng)安全要求。
文檔編號H04L29/08GK102917046SQ20121039442
公開日2013年2月6日 申請日期2012年10月17日 優(yōu)先權(quán)日2012年10月17日
發(fā)明者吳文青, 張 浩, 陳浩 申請人:廣州杰賽科技股份有限公司