快速部署虛擬機(jī)的方法與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及虛擬機(jī)技術(shù)領(lǐng)域,特別是涉及快速部署虛擬機(jī)的方法與系統(tǒng)。
【背景技術(shù)】
[0002]虛擬機(jī)技術(shù)是虛擬化技術(shù)的一種,所謂虛擬化技術(shù)就是將事物從一種形式轉(zhuǎn)變成另一種形式,最常用的虛擬化技術(shù)有操作系統(tǒng)中內(nèi)存的虛擬化,實(shí)際運(yùn)行時用戶需要的內(nèi)存空間可能遠(yuǎn)遠(yuǎn)大于物理機(jī)器的內(nèi)存大小,利用內(nèi)存的虛擬化技術(shù),用戶可以將一部分硬盤虛擬化為內(nèi)存。
[0003]隨著桌面虛擬化技術(shù)的發(fā)展,目前已有越來越多的公司和企業(yè)開始部署桌面虛擬化系統(tǒng)。在虛擬化桌面使用過程中,用戶常需要快速部署虛擬機(jī)。
[0004]現(xiàn)有虛擬機(jī)部署方式一般采用Windows虛擬化管理平臺提供的完整復(fù)制虛擬機(jī)的功能,利用該功能,雖然能夠?qū)崿F(xiàn)虛擬機(jī)的部署,但是部署虛擬機(jī)耗時,部署效率低。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對現(xiàn)有虛擬機(jī)部署方式效率低的問題,提供一種快速部署虛擬機(jī)的方法與系統(tǒng)。
[0006]—種快速部署虛擬機(jī)的方法,包括步驟:
[0007]創(chuàng)建虛擬管理的WMI (Windows Management Instrumentat1n,公共信息模型對象管理器)接口;
[0008]利用所述麗I接口,導(dǎo)出虛擬機(jī)配置文件到指定的目錄,并進(jìn)行模板化,生成模板目錄;
[0009]讀取模板目錄中的配置文件,更新所述配置文件中初始虛擬機(jī)名為新虛擬機(jī)名,獲得更新的配置文件;
[0010]獲取模板目錄中虛擬機(jī)的鏡像文件,生成鏈接克隆鏡像,并記錄所述鏈接克隆鏡像生成的鏡像文件路徑;
[0011]利用所述麗I接口,將所述更新的配置文件導(dǎo)入虛擬機(jī),并記錄新生成的鏡像文件路徑;
[0012]利用所述WMI接口,將所述新生成的鏡像文件路徑修改為所述鏈接克隆鏡像生成的鏡像文件路徑,啟動虛擬機(jī)。
[0013]一種快速部署虛擬機(jī)的系統(tǒng),包括:
[0014]接口創(chuàng)建模塊,用于創(chuàng)建虛擬管理的WMI接口 ;
[0015]模板化模塊,用于利用所述WMI接口,導(dǎo)出虛擬機(jī)配置文件到指定的目錄,并進(jìn)行模板化,生成模板目錄;
[0016]配置文件更新模塊,用于讀取模板目錄中的配置文件,更新所述配置文件中初始虛擬機(jī)名為新虛擬機(jī)名,獲得更新的配置文件;
[0017]第一路徑記錄模塊,用于獲取模板目錄中虛擬機(jī)的鏡像文件,生成鏈接克隆鏡像,并記錄所述鏈接克隆鏡像生成的鏡像文件路徑;
[0018]第二路徑記錄模塊,用于利用所述WMI接口,將所述更新的配置文件導(dǎo)入虛擬機(jī),并記錄新生成的鏡像文件路徑;
[0019]路徑修改模塊,用于利用所述WMI接口,將所述新生成的鏡像文件路徑修改為所述鏈接克隆鏡像生成的鏡像文件路徑,啟動虛擬機(jī)。
[0020]本發(fā)明快速部署虛擬機(jī)的方法與系統(tǒng),創(chuàng)建虛擬管理的麗I接口,利用麗I接口,導(dǎo)出虛擬機(jī)配置文件到指定的目錄,并進(jìn)行模板化,生成模板目錄,讀取模板目錄中的配置文件,更新所述配置文件中虛擬機(jī)名,獲得更新的配置文件,獲取模板目錄中虛擬機(jī)的鏡像文件,生成鏈接克隆鏡像,并記錄所述鏈接克隆鏡像生成的鏡像文件路徑,將所述更新的配置文件導(dǎo)入虛擬機(jī),并記錄新生成的鏡像文件路徑,將所述新生成的鏡像文件路徑修改為所述鏈接克隆鏡像生成的鏡像文件路徑,啟動虛擬機(jī)。整個過程中,利用虛擬化管理的WMI接口實(shí)現(xiàn)虛擬機(jī)模板化和鏈接克隆,不需要大量數(shù)據(jù)復(fù)制與更新,方便用戶快速部署虛擬機(jī),擴(kuò)大虛擬化影響。
【附圖說明】
[0021]圖1為本發(fā)明快速部署虛擬機(jī)的方法第一個實(shí)施例的流程示意圖;
[0022]圖2為本發(fā)明快速部署虛擬機(jī)的方法第二個實(shí)施例的流程示意圖;
[0023]圖3為本發(fā)明快速部署虛擬機(jī)的系統(tǒng)第一個實(shí)施例的結(jié)構(gòu)示意圖;
[0024]圖4為本發(fā)明快速部署虛擬機(jī)的系統(tǒng)第二個實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0025]如圖1、圖2所示,一種快速部署虛擬機(jī)的方法,包括步驟:
[0026]SlOO:創(chuàng)建虛擬管理的麗I接口。
[0027]麗I,是Windows 2K/XP管理系統(tǒng)的核心,對于其他的Win32操作系統(tǒng),麗I是一個有用的插件。WMI 以 CIMOM(Common Informat1n Model Object Manager,公共信息模型對象管理器)為基礎(chǔ),是一個描述操作系統(tǒng)構(gòu)成單元的對象數(shù)據(jù)庫,為MMC (MicrosoftManagement Console,管理微軟管理控制臺工具)和腳本程序提供了一個訪問操作系統(tǒng)構(gòu)成單元的公共接口。有了 WMI,工具軟件和腳本程序訪問操作系統(tǒng)的不同部分時不需要使用不同的API (Applicat1n Program Interface,應(yīng)用程序編程接口 ),相反,操作系統(tǒng)的不同部分都可以插入WMI,工具軟件和腳本程序可以方便地讀寫WMI。
[0028]在其中一個實(shí)施例中,步驟S100具體包括:
[0029]S120:調(diào)用 CoInitializeEx 初始化 DCOM (Microsoft Distributed ComponentObject Model,分布式組件對象模型)。
[0030]DCOM是一系列微軟的概念和程序接口,利用這個接口,客戶端程序?qū)ο竽軌蛘埱髞碜跃W(wǎng)絡(luò)中另一臺計算機(jī)上的服務(wù)器程序?qū)ο蟆COM基于組件對象模型(COM),COM提供了一套允許同一臺計算機(jī)上的客戶端和服務(wù)器之間進(jìn)行通信的接口。
[0031]S140:創(chuàng)建 CLSCTX_INPR0C_SERVER 的服務(wù)接口,連接服務(wù)接口到 hyperv server,得到虛擬管理的WMI接口。
[0032]hyperv是微軟的一款虛擬化產(chǎn)品。
[0033]S200:利用所述麗I接口,導(dǎo)出虛擬機(jī)配置文件到指定的目錄,并進(jìn)行模板化,生成模板目錄。
[0034]利用WMI接口的ExportSystemDefinit1n方法參數(shù),導(dǎo)出虛擬機(jī)配置文件到指定的目錄,對目錄進(jìn)行模板化,生成模板目錄。
[0035]在具體操作過程中,步驟S200可以為:
[0036]設(shè)置 Msvm_VirtualSystemManagementService 中 ExportSystemDefinit1n 方法的參數(shù),設(shè)置參數(shù)ComputerSystem為虛擬機(jī)對象,ExportDirectory為已定的輸出目錄,ExportSettingData設(shè)置數(shù)據(jù),執(zhí)行服務(wù)接口提供的ExecMethod方法開始導(dǎo)出虛擬機(jī)配置文件。
[0037]S300:讀取模板目錄中的配置文件,更新所述配置文件中初始虛擬機(jī)名為新虛擬機(jī)名,獲得更新的配置文件。
[0038]在虛擬機(jī)的部署過程中,不同虛擬機(jī)的名稱不相同,為了區(qū)分不同虛擬機(jī)的配置文件,通常以虛擬機(jī)名作為配置文件區(qū)別的標(biāo)識,例如以虛擬機(jī)名來命名配置文件。
[0039]在具體操作過程中,步驟S300可以為:
[0040]在模板目錄中找到與虛擬機(jī)名對應(yīng)的xml (Extensible Markup Language,可擴(kuò)展標(biāo)記語言)配置文件,讀該文件到緩存,更改初始虛擬機(jī)名為新虛擬機(jī)名,獲得更新的配置文件。
[0041]S400:獲取模板目錄中虛擬機(jī)的鏡像文件,生成鏈接克隆鏡像,并記錄所述鏈接克隆鏡像生成的鏡像文件路徑。
[0042]從配置文件中得到模板目錄對應(yīng)的鏡像所在的完整路徑,創(chuàng)建一個用于生成鏈接克隆鏡像的文件,調(diào)用命令生成diskpart生成鏈接克隆鏡像,記錄所述鏈接克隆鏡像生成的鏡像文件路徑。
[0043]S500:利用所述麗I接口,將所述更新的配置文件導(dǎo)入虛擬機(jī),并記錄新生成的鏡像文件路徑。
[0044]利用WMI 接口 的 ImportSystemDefinit1r^PI RealizePlannedSystem,將所述更新的配置文件導(dǎo)入虛擬機(jī),并記錄新生成的鏡像文件路徑。
[0045]在具體操作過程中,步驟S500可以為:
[0046]從新生成的配置文件中輸入虛擬機(jī),得到Msvm_VirtualSystemManagementService 中 ImportSystemDefinit1n 方法的參數(shù),設(shè)置 SystemDefinit1nFile 為配置文件,設(shè)置參數(shù)GenerateNewSystemIdentifier為真,執(zhí)行服務(wù)接口提供的ExecMethod方法執(zhí)行ImportSystemDefinit1n,開始導(dǎo)入虛擬機(jī),導(dǎo)入成功后,執(zhí)行服務(wù)接口提供的ExecMethod方法執(zhí)行RealizePlannedSystem導(dǎo)入虛擬機(jī),成功后,根據(jù)新生成的鏡像文件路徑。
[0047]S600:利用所述麗I接口,將所述新生成的鏡像文件路徑修改為所述鏈接克隆鏡像生成的鏡像文件路徑,啟動虛擬機(jī)。
[0048]利用WMI接口中ModifyResourceSettings,將所述新生成的鏡像文件路徑修改為所述鏈接克隆鏡像生成的鏡像文件路徑,啟動虛擬機(jī)。
[0049]在上述內(nèi)容中,虛擬機(jī)包括初始虛擬機(jī)和新虛擬機(jī),初始虛擬機(jī)指快速部署虛擬機(jī)過程中,已經(jīng)部署配置好的虛擬機(jī),其配置參數(shù)已經(jīng)設(shè)置完成,新虛擬機(jī)為未配置好且即將配置的虛擬機(jī),此虛擬機(jī)即將需要進(jìn)行部署配置。例如當(dāng)前需要部署1-4號虛擬機(jī),I號虛擬機(jī)已經(jīng)采用手動配置方式進(jìn)行配置,接下來需要配置2號虛擬機(jī),此時初始虛擬機(jī)為I號虛擬機(jī),新虛擬機(jī)為2號虛擬機(jī)。同上所述,當(dāng)2號虛擬機(jī)配置完成且即將配置3號虛擬機(jī)時,2號虛擬機(jī)為初始虛擬機(jī),3號虛擬機(jī)為新虛擬機(jī),依次循環(huán)直至所有虛擬機(jī)全部部署完成。
[0050]本發(fā)明快速部署虛擬機(jī)的方法,創(chuàng)建虛擬管理的麗I接口,利用麗I接口,導(dǎo)出虛擬機(jī)配置文件到指定的目錄,并進(jìn)行模板化,生成模板目錄,讀取模板目錄中的配置文件,更新所述配置文件中虛擬機(jī)名,獲得更新的配置文件,獲取模板目錄中虛擬機(jī)的鏡像文件,生成鏈接克隆鏡像,并記錄所述鏈接克隆鏡像生成的鏡像文件路徑