本發(fā)明涉及云計算領域,更具體地說,涉及一種基于云平臺的虛擬機初始化方法及裝置。
背景技術:
云計算(cloudcomputing)是基于互聯(lián)網(wǎng)的相關服務的增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提供動態(tài)易擴展且經(jīng)常是虛擬化的資源。云計算將計算分布在大量的分布式計算機上,而非本地計算機或遠程服務器中,企業(yè)數(shù)據(jù)中心的運行將與互聯(lián)網(wǎng)更相似。這使得企業(yè)能夠?qū)①Y源切換到需要的應用上,根據(jù)需求訪問計算機和存儲系統(tǒng)。目前,用戶申請?zhí)摂M機時,需要用戶根據(jù)創(chuàng)建好的虛擬機自行輸入各種配置參數(shù),例如:ip地址、磁盤容量、主機名等信息,設置步驟繁瑣,客戶體驗效果較差。
因此,如何對虛擬機進行初始化,為用戶在設置虛擬機時提供便利,是本領域技術人員需要解決的問題。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于云平臺的虛擬機初始化方法及裝置,以實現(xiàn)對虛擬機進行初始化,為用戶提供便利。
為實現(xiàn)上述目的,本發(fā)明實施例提供了如下技術方案:
一種基于云平臺的虛擬機初始化方法,包括:
接收用戶發(fā)送的虛擬機創(chuàng)建請求;所述虛擬機創(chuàng)建請求中包括虛擬機的配置參數(shù);
利用所述虛擬機創(chuàng)建請求創(chuàng)建虛擬機,并根據(jù)所述虛擬機創(chuàng)建請求攜帶的配置參數(shù),對虛擬機的配置參數(shù)進行初始化。
其中,所述虛擬機創(chuàng)建請求中攜帶的配置參數(shù)包括以下參數(shù)中的至少一者:ip地址信息、磁盤容量信息、主機名信息、用戶名信息、用戶密碼信息以及時鐘同步信息。
其中,所述利用所述虛擬機創(chuàng)建請求創(chuàng)建虛擬機包括:
調(diào)用虛擬機云平臺接口,通過模板創(chuàng)建虛擬機。
其中,虛擬機模板創(chuàng)建方法包括:
創(chuàng)建目標虛擬機,所述目標虛擬機為需要轉(zhuǎn)換為模板的虛擬機;
在所述目標虛擬機上安裝cloudbase-init軟件,并根據(jù)操作系統(tǒng)的系統(tǒng)位數(shù)選擇相應的版本,調(diào)整cloudbase-init.conf文件,選擇相應的plugin;
將編寫的shell腳本放置到指定目錄下,設定執(zhí)行權限,然后在rc.local編寫調(diào)用腳本;將配置完的虛擬機轉(zhuǎn)為模板,并導入虛擬機云平臺。
其中,所述根據(jù)所述虛擬機創(chuàng)建請求攜帶的配置參數(shù),對虛擬機的配置參數(shù)進行初始化,包括:
根據(jù)所述虛擬機創(chuàng)建請求攜帶的配置參數(shù)創(chuàng)建iso文件,將所述iso文件插入虛擬機光驅(qū);啟動虛擬機,通過cloudinit讀取所述iso文件內(nèi)的配置參數(shù),并對所述虛擬機的配置參數(shù)進行初始化。
一種基于云平臺的虛擬機初始化裝置,包括:
請求接收模塊,用于接收用戶發(fā)送的虛擬機創(chuàng)建請求;所述虛擬機創(chuàng)建請求中包括虛擬機的配置參數(shù);
虛擬機創(chuàng)建模塊,用于利用所述虛擬機創(chuàng)建請求創(chuàng)建虛擬機;
初始化模塊,用于根據(jù)所述虛擬機創(chuàng)建請求攜帶的配置參數(shù),對虛擬機的配置參數(shù)進行初始化。
其中,所述虛擬機創(chuàng)建請求中攜帶的配置參數(shù)包括以下參數(shù)中的至少一者:ip地址信息、磁盤容量信息、主機名信息、用戶名信息、用戶密碼信息以及時鐘同步信息。
其中,所述虛擬機創(chuàng)建模塊調(diào)用虛擬機云平臺接口,通過模板創(chuàng)建虛擬機。
其中,本方案還包括:
虛擬機模板創(chuàng)建模塊,用于創(chuàng)建目標虛擬機,所述目標虛擬機為需要轉(zhuǎn)換為模板的虛擬機;在所述目標虛擬機上安裝cloudbase-init軟件,并根據(jù)操作系統(tǒng)的系統(tǒng)位數(shù)選擇相應的版本,調(diào)整cloudbase-init.conf文件,選擇相應的plugin;將編寫的shell腳本放置到指定目錄下,設定執(zhí)行權限,然后在rc.local編寫調(diào)用腳本;將配置完的虛擬機轉(zhuǎn)為模板,并導入虛擬機云平臺。
其中,所述初始化模塊包括:
iso文件創(chuàng)建單元,用于根據(jù)所述虛擬機創(chuàng)建請求攜帶的配置參數(shù)創(chuàng)建iso文件,將所述iso文件插入虛擬機光驅(qū);
配置參數(shù)初始化單元,用于啟動虛擬機,通過cloudinit讀取所述iso文件內(nèi)的配置參數(shù),并對所述虛擬機的配置參數(shù)進行初始化。
通過以上方案可知,本發(fā)明實施例提供的一種基于云平臺的虛擬機初始化方法,包括:接收用戶發(fā)送的虛擬機創(chuàng)建請求;所述虛擬機創(chuàng)建請求中包括虛擬機的配置參數(shù);利用所述虛擬機創(chuàng)建請求創(chuàng)建虛擬機,并根據(jù)所述虛擬機創(chuàng)建請求攜帶的配置參數(shù),對虛擬機的配置參數(shù)進行初始化。
可見,在本方案中,用戶在發(fā)送創(chuàng)建虛擬機的請求時,將配置參數(shù)一同發(fā)送至系統(tǒng),這樣系統(tǒng)在創(chuàng)建虛擬機后,便可根據(jù)上傳的配置參數(shù)對創(chuàng)建好的虛擬機進行初始化,用戶無需安裝完虛擬機后再進入虛擬機進行內(nèi)部配置,為用戶提供極大便利;本發(fā)明還公開了一種基于云平臺的虛擬機初始化裝置,同樣能實現(xiàn)上述技術效果。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例公開的一種基于云平臺的虛擬機初始化方法流程示意圖;
圖2為本發(fā)明實施例公開的一種基于云平臺的虛擬機初始化方法時序圖;
圖3為本發(fā)明實施例公開的一種基于云平臺的虛擬機初始化裝置結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例公開了一種基于云平臺的虛擬機初始化方法及裝置,以實現(xiàn)對虛擬機進行初始化,為用戶提供便利。
參見圖1,本發(fā)明實施例提供的一種基于云平臺的虛擬機初始化方法,包括:
s101、接收用戶發(fā)送的虛擬機創(chuàng)建請求;所述虛擬機創(chuàng)建請求中包括虛擬機的配置參數(shù);
其中,所述虛擬機創(chuàng)建請求中攜帶的配置參數(shù)包括以下參數(shù)中的至少一者:ip地址信息、磁盤容量信息、主機名信息、用戶名信息、用戶密碼信息以及時鐘同步信息。
具體的,在本實施例中,對虛擬機的初始化,是用戶在申請創(chuàng)建虛擬機時,一同填寫的虛擬機ip地址、磁盤容量、主機名等信息,經(jīng)過云平臺的審批后,系統(tǒng)會根據(jù)用戶填寫的信息自動設置虛擬機的ip地址、磁盤容量、主機名等,用戶無需進入虛擬機后進行設置,為用戶提供極大便利。本方法同樣適用于初始化虛擬機的其它信息,例如創(chuàng)建用戶、設置用戶密碼、時鐘同步等。
s102、利用所述虛擬機創(chuàng)建請求創(chuàng)建虛擬機,并根據(jù)所述虛擬機創(chuàng)建請求攜帶的配置參數(shù),對虛擬機的配置參數(shù)進行初始化。
其中,所述利用所述虛擬機創(chuàng)建請求創(chuàng)建虛擬機包括:調(diào)用虛擬機云平臺接口,通過模板創(chuàng)建虛擬機。
其中,虛擬機模板創(chuàng)建方法包括:
創(chuàng)建目標虛擬機,所述目標虛擬機為需要轉(zhuǎn)換為模板的虛擬機;
在所述目標虛擬機上安裝cloudbase-init軟件,并根據(jù)操作系統(tǒng)的系統(tǒng)位數(shù)選擇相應的版本,調(diào)整cloudbase-init.conf文件,選擇相應的plugin;
將編寫的shell腳本放置到指定目錄下,設定執(zhí)行權限,然后在rc.local編寫調(diào)用腳本;將配置完的虛擬機轉(zhuǎn)為模板,并導入虛擬機云平臺。
具體的,在本方案通過模板創(chuàng)建虛擬機,其中虛擬機模板的制作過程為:
windows:首先創(chuàng)建需要轉(zhuǎn)換為模板的虛擬機,安裝cloudbase-init軟件,根據(jù)操作系統(tǒng)系統(tǒng)位數(shù)選擇相應的版本,安裝后需調(diào)整cloudbase-init.conf文件,選擇相應的plugin。
linux:將編寫的shell腳本放置到指定目錄下,賦予執(zhí)行權限,然后在rc.local編寫調(diào)用腳本。配置好后將虛擬機轉(zhuǎn)為(或?qū)С?模板,然后將模板導入到云平臺。
基于上述實施例,所述根據(jù)所述虛擬機創(chuàng)建請求攜帶的配置參數(shù),對虛擬機的配置參數(shù)進行初始化,包括:
根據(jù)所述虛擬機創(chuàng)建請求攜帶的配置參數(shù)創(chuàng)建iso文件,將所述iso文件插入虛擬機光驅(qū);啟動虛擬機,通過cloudinit讀取所述iso文件內(nèi)的配置參數(shù),并對所述虛擬機的配置參數(shù)進行初始化。
具體的,本方案以模板創(chuàng)建虛擬機的情況下,以iso文件為數(shù)據(jù)載體、cloudinit為腳本執(zhí)行引擎來實現(xiàn)的,其中windows是基于cloudbase-init來實現(xiàn)初始化程序的調(diào)用,linux基于開機自啟動程序rc.d實現(xiàn)。
具體的,在本方案中,調(diào)用虛擬機平臺(如vcenter等)接口,通過模板創(chuàng)建虛擬機;虛擬機創(chuàng)建完成后,根據(jù)用戶參數(shù)創(chuàng)建iso,并將iso文件上傳到指定存儲位置,并將其插入虛擬機光驅(qū);調(diào)用虛擬機開機接口;cloudinit執(zhí)行完成彈出iso文件,完成。
參見圖2,為本實施例提供的基于云平臺的虛擬機初始化方法時序圖;用戶通過云海系統(tǒng)的界面向虛擬機控制中心發(fā)送請求,虛擬控制中心接收到請求后創(chuàng)建虛擬機;云海系統(tǒng)查詢到虛擬機創(chuàng)建成功后,便根據(jù)用戶輸入的配置參數(shù)創(chuàng)建iso文件,并將iso文件插入新建的虛擬機光驅(qū),啟動虛擬機后,通過cloudinit執(zhí)行該文件,對虛擬機的參數(shù)進行修改,并將iso從虛擬機光驅(qū)中彈出,虛擬機創(chuàng)建成功;需要說明的是,用戶輸入配置參數(shù)后,便不需要用戶執(zhí)行任何操作,系統(tǒng)便可自動對新創(chuàng)建的虛擬機進行初始化,為用戶提供方便。
具體的,在本實施例中,虛擬機創(chuàng)建請求中攜帶的配置參數(shù)包括以下參數(shù)中的至少一者:ip地址信息、磁盤容量信息、主機名信息等信息;下面對初始化ip地址、磁盤容量和主機名為例進行說明:
1)初始化ip
通過云平臺創(chuàng)建虛擬機后,可從用戶輸入的配置參數(shù)中獲取虛擬機網(wǎng)卡的mac地址。將mac地址寫入數(shù)據(jù)載體iso文件,插入虛擬機,cloudinit腳本根據(jù)mac地址查找網(wǎng)卡信息,修改網(wǎng)卡ip等信息。
windows:通過cloudbase-init的networkconfigplugin插件來實現(xiàn);
linux:自主編寫shell腳本,修改網(wǎng)卡來實現(xiàn)。
2)初始化磁盤
將用戶填寫的磁盤信息寫入數(shù)據(jù)載體iso文件,插入虛擬機,cloudinit讀取磁盤信息,初始化虛擬機磁盤。
windows:通過磁盤分區(qū)工具diskpart實現(xiàn);
linux:自主編寫shell腳本,通過fdisk實現(xiàn)。
3)初始化主機名
將用戶填寫的主機名信息寫入數(shù)據(jù)載體iso文件,插入虛擬機,cloudinit讀取主機名,初始化主機名;
windows:通過cloudbase-init的sethostnameplugin來實現(xiàn),修改主機名后需重啟系統(tǒng)才能完成;
linux:自主編寫shell腳本,修改/etc/hosts文件等來實現(xiàn)。
可見,在本方案中,可在安裝操作系統(tǒng)前設置虛擬機的ip、磁盤容量、主機名等信息,與云平臺的業(yè)務申請配合使用,能夠為云平臺的管理人員、用戶提供極大的便利性。
下面對本發(fā)明實施例提供的虛擬機初始化裝置進行介紹,下文描述的虛擬機初始化裝置與上文描述的虛擬機初始化方法可以相互參照。
參見圖3,本發(fā)明實施例提供的一種基于云平臺的虛擬機初始化裝置,包括:
請求接收模塊100,用于接收用戶發(fā)送的虛擬機創(chuàng)建請求;所述虛擬機創(chuàng)建請求中包括虛擬機的配置參數(shù);
虛擬機創(chuàng)建模塊200,用于利用所述虛擬機創(chuàng)建請求創(chuàng)建虛擬機;
初始化模塊300,用于根據(jù)所述虛擬機創(chuàng)建請求攜帶的配置參數(shù),對虛擬機的配置參數(shù)進行初始化。
其中,所述虛擬機創(chuàng)建請求中攜帶的配置參數(shù)包括以下參數(shù)中的至少一者:ip地址信息、磁盤容量信息、主機名信息、用戶名信息、用戶密碼信息以及時鐘同步信息。
基于上述實施例,所述虛擬機創(chuàng)建模塊調(diào)用虛擬機云平臺接口,通過模板創(chuàng)建虛擬機。
基于上述實施例,還包括:
虛擬機模板創(chuàng)建模塊,用于創(chuàng)建目標虛擬機,所述目標虛擬機為需要轉(zhuǎn)換為模板的虛擬機;在所述目標虛擬機上安裝cloudbase-init軟件,并根據(jù)操作系統(tǒng)的系統(tǒng)位數(shù)選擇相應的版本,調(diào)整cloudbase-init.conf文件,選擇相應的plugin;將編寫的shell腳本放置到指定目錄下,設定執(zhí)行權限,然后在rc.local編寫調(diào)用腳本;將配置完的虛擬機轉(zhuǎn)為模板,并導入虛擬機云平臺。
基于上述實施例,所述初始化模塊包括:
iso文件創(chuàng)建單元,用于根據(jù)所述虛擬機創(chuàng)建請求攜帶的配置參數(shù)創(chuàng)建iso文件,將所述iso文件插入虛擬機光驅(qū);
配置參數(shù)初始化單元,用于啟動虛擬機,通過cloudinit讀取所述iso文件內(nèi)的配置參數(shù),并對所述虛擬機的配置參數(shù)進行初始化。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
對所公開的實施例的上述說明,使本領域?qū)I(yè)技術人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。