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