本發(fā)明涉及計算機虛擬機技術領域,具體涉及一種虛擬化環(huán)境中向虛擬機注入元信息并進行初始化的方法。
背景技術:
在虛擬化環(huán)境(如VM Ware)中創(chuàng)建的虛擬機,通常只是創(chuàng)建了一臺只包含操作系統(tǒng)的近乎于裸設備的主機。用戶要想正常的使用該虛擬機,需要對虛擬機進行大量的配置,如配置網(wǎng)絡、主機名稱、添加用戶(用戶組)、修改軟件源及自定義配置等。若要向虛擬機中傳入一些文件,通常還需要通過網(wǎng)絡從遠程下載。如果虛擬機所在網(wǎng)絡是私有網(wǎng)絡,還需要將包含有文件的主機接入該網(wǎng)絡。這些工作全部由人工完成不但會產(chǎn)生大量的工作量,同時也增加了出錯的幾率。而在大規(guī)模的虛擬化環(huán)境中,會有大量批量創(chuàng)建虛擬機的場景,這時以人工的方式對虛擬機進行個別配置具有非常大的難度。這時,就需要一種能夠批量的、自動化的方法來完成虛擬機的配置工作。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題是:本發(fā)明針對以上問題,提供一種虛擬化環(huán)境中向虛擬機注入元信息并進行初始化的方法。該方法可以在創(chuàng)建、啟動虛擬機時向虛擬機中自動注入如主機名稱、網(wǎng)絡配置信息、創(chuàng)建用戶、設置用戶密碼、注入SSH-KEY等元信息,以及可以向虛擬機中的指定目錄注入文件,執(zhí)行自定義腳本對操作系統(tǒng)進行初始化配置等。
本發(fā)明所采用的技術方案為:
虛擬化環(huán)境中向虛擬機注入元信息并進行初始化的方法,所述方法通過設置管理端和客戶端,其中客戶端提前內(nèi)置于虛擬機的操作系統(tǒng)鏡像中,通過管理端程序生成元信息并打包,掛載到虛擬機,由客戶端對元信息進行解析處理。
所述管理端程序生成的元信息,以與客戶端約定好的格式進行存儲,并制作成帶有特定標簽label的ISO光盤鏡像。
所述客戶端對元信息進行的解析處理,包括根據(jù)元信息創(chuàng)建用戶、配置網(wǎng)絡、復制文件到指定目錄、執(zhí)行多種系統(tǒng)命令及自定義腳本。
所述管理端進行的操作過程如下:
a)生成元信息
在創(chuàng)建虛擬機前,管理端為每個虛擬機創(chuàng)建一個目錄結構,根據(jù)與客戶端預先約定的格式生成虛擬機的元信息,包括網(wǎng)絡信息、主機名稱、用戶(用戶組)信息到指定文件中;同時,將需要注入虛擬機中的文件以及要執(zhí)行的腳本也放置到目錄中的指定位置;
b)打包元信息并掛載到虛擬機
為虛擬機生成完元信息后,管理端將每個虛擬機所對應的目錄進行打包,制作成帶有特定label的ISO光盤鏡像;在創(chuàng)建虛擬機時將該ISO光盤鏡像文件掛載到虛擬機的光驅中;
所述客戶端進行的操作過程如下:
a)元信息解析
虛擬機啟動后,客戶端作為隨機啟動服務一同啟動;啟動后,讀取光驅中掛載的光盤,如果掛載的光盤label是與管理端約定好的特定label,則繼續(xù)對光盤中的內(nèi)容進行解析,否則直接退出程序;
b)初始化系統(tǒng)配置
根據(jù)從光盤中讀取到的元信息,對操作系統(tǒng)的用戶、網(wǎng)絡等基礎資源進行配置;
c)注入文件處理
將光盤中包含的需要注入的文件復制到指定位置并賦予相應權限;
d)執(zhí)行命令及自定義腳本
根據(jù)元信息的配置執(zhí)行相應的系統(tǒng)命令,如導入SSH-KEY、修改主機名稱、修改軟件源(yum或apt)、擴展磁盤、修改時區(qū)等,并執(zhí)行光盤中包含的自定義腳本。系統(tǒng)命令和自定義腳本的執(zhí)行順序可以自由指定,以滿足更多需求。
本發(fā)明的有益效果為:
本發(fā)明方法通過程序生成向虛擬機中注入的元信息、文件以及要執(zhí)行的腳本,在虛擬機啟動時自動的注入元信息及文件,并執(zhí)行命令和腳本。本方法不僅大大的減少了人工工作量,同時也保證了信息及配置的準確性。本方法不依賴網(wǎng)絡,可適用于多種虛擬化環(huán)境(如openstack、VM Ware、VirtualBox等),支持幾乎所有版本的Linux系統(tǒng)(如Ubuntu、Red Hat、CentOS等)。
附圖說明
圖1本發(fā)明的架構及處理流程圖。
具體實施方式
下面根據(jù)說明書附圖,結合具體實施方式對本發(fā)明進一步說明:
實施例1:
虛擬化環(huán)境中向虛擬機注入元信息并進行初始化的方法,所述方法通過設置管理端和客戶端,其中客戶端提前內(nèi)置于虛擬機的操作系統(tǒng)鏡像中,通過管理端程序生成元信息并打包,掛載到虛擬機,由客戶端對元信息進行解析處理。
實施例2
在實施例1的基礎上,本實施例所述管理端程序生成的元信息,以與客戶端約定好的格式進行存儲,并制作成帶有特定label的ISO光盤鏡像。
實施例3
在實施例1的基礎上,本實施例所述客戶端對元信息進行的解析處理,包括根據(jù)元信息創(chuàng)建用戶、配置網(wǎng)絡、復制文件到指定目錄、執(zhí)行多種系統(tǒng)命令及自定義腳本。
實施例4
在實施例1、2或3的基礎上,本實施例所述管理端進行的操作過程如下:
a)生成元信息
在創(chuàng)建虛擬機前,管理端為每個虛擬機創(chuàng)建一個目錄結構,根據(jù)與客戶端預先約定的格式生成虛擬機的元信息,包括網(wǎng)絡信息、主機名稱、用戶(用戶組)信息到指定文件中;同時,將需要注入虛擬機中的文件以及要執(zhí)行的腳本也放置到目錄中的指定位置;
b)打包元信息并掛載到虛擬機
為虛擬機生成完元信息后,管理端將每個虛擬機所對應的目錄進行打包,制作成帶有特定label的ISO光盤鏡像;在創(chuàng)建虛擬機時將該ISO光盤鏡像文件掛載到虛擬機的光驅中;
實施例5
在實施例4的基礎上,本實施例所述客戶端進行的操作過程如下:
a)元信息解析
虛擬機啟動后,客戶端作為隨機啟動服務一同啟動;啟動后,讀取光驅中掛載的光盤,如果掛載的光盤label是與管理端約定好的特定label,則繼續(xù)對光盤中的內(nèi)容進行解析,否則直接退出程序;
b)初始化系統(tǒng)配置
根據(jù)從光盤中讀取到的元信息,對操作系統(tǒng)的用戶、網(wǎng)絡等基礎資源進行配置;
c)注入文件處理
將光盤中包含的需要注入的文件復制到指定位置并賦予相應權限;
d)執(zhí)行命令及自定義腳本
根據(jù)元信息的配置執(zhí)行相應的系統(tǒng)命令,如導入SSH-KEY、修改主機名稱、修改軟件源(yum或apt)、擴展磁盤、修改時區(qū)等,并執(zhí)行光盤中包含的自定義腳本。系統(tǒng)命令和自定義腳本的執(zhí)行順序可以自由指定,以滿足更多需求。
實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關技術領域的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。