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