一種虛擬機(jī)的系統(tǒng)鏡像文件更新方法、云數(shù)據(jù)中心及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種虛擬機(jī)的系統(tǒng)鏡像文件更新方法、云數(shù)據(jù)中心及系統(tǒng)。
【背景技術(shù)】
[0002]在目前的云數(shù)據(jù)中心中,通常包括計(jì)算服務(wù)器、對(duì)象存儲(chǔ)服務(wù)器、鏡像文件服務(wù)、認(rèn)證服務(wù)、用戶界面服務(wù)等。其中,鏡像文件服務(wù)事項(xiàng)虛擬機(jī)鏡像文件查找及檢索系統(tǒng),并為用戶的虛擬機(jī)提供系統(tǒng)鏡像文件,滿足用戶對(duì)操作系統(tǒng)的需求。鏡像文件空間可以加載Ubuntu、windowsXP、centos等操作系統(tǒng)。各個(gè)操作系統(tǒng)由不同的版本,通常鏡像文件的數(shù)量非常多。
[0003]在云數(shù)據(jù)中心的運(yùn)營(yíng)過(guò)程中,當(dāng)需要對(duì)鏡像文件進(jìn)行更新時(shí),管理員需要進(jìn)行新的鏡像文件的制作和分發(fā),依次將新的鏡像文件導(dǎo)入到虛擬機(jī)中,30-40個(gè)鏡像文件往往需要耗費(fèi)數(shù)周的時(shí)間來(lái)完成。目前的鏡像文件的更新方式的數(shù)據(jù)量較大,因此備份所需時(shí)間較長(zhǎng),備份數(shù)據(jù)占據(jù)的存儲(chǔ)空間也較大。而且需要對(duì)不同的云數(shù)據(jù)中心上的鏡像文件進(jìn)行更新時(shí),數(shù)據(jù)的傳輸量也很大
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題在于,提供一種虛擬機(jī)的系統(tǒng)鏡像文件更新方法、云數(shù)據(jù)中心及系統(tǒng)??山鉀Q鏡像文件更新時(shí)間長(zhǎng)且占用存儲(chǔ)空間大的問(wèn)題。
[0005]為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種虛擬機(jī)的系統(tǒng)鏡像文件的更新方法,包括:
[0006]云數(shù)據(jù)中心接收到虛擬機(jī)創(chuàng)建請(qǐng)求時(shí),從多個(gè)計(jì)算資源池中選擇目標(biāo)計(jì)算資源池,以及根據(jù)所述目標(biāo)計(jì)算資源池創(chuàng)建第三虛擬機(jī);
[0007]在所述第三虛擬機(jī)的系統(tǒng)鏡像文件已更新的情況下,獲取預(yù)設(shè)的第一系統(tǒng)母卷的數(shù)據(jù)和所述系統(tǒng)鏡像文件的增量數(shù)據(jù);
[0008]根據(jù)所述系統(tǒng)鏡像文件的增量數(shù)據(jù)和所述第一系統(tǒng)母卷的數(shù)據(jù)合成新的系統(tǒng)鏡像文件;
[0009]在所述目標(biāo)計(jì)算資源池中創(chuàng)建所述第三虛擬機(jī)的第二系統(tǒng)母卷,并將所述新的系統(tǒng)鏡像文件存儲(chǔ)至所述第二系統(tǒng)母卷;
[0010]根據(jù)所述第二系統(tǒng)母卷生成第二快照,根據(jù)所述第二快照創(chuàng)建第三鏈接克隆卷,以及根據(jù)所述第三鏈接克隆卷啟動(dòng)所述第三虛擬機(jī)。
[0011]結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述從多個(gè)計(jì)算資源池中選擇目標(biāo)計(jì)算資源池包括:
[0012]獲取所述多個(gè)計(jì)算資源池中各個(gè)計(jì)算資源池的資源利用率,以及將資源利用率最小的計(jì)算資源池作為目標(biāo)計(jì)算資源池;其中,所述資源利用率包括:CPU利用率、磁盤(pán)利用率和內(nèi)存利用率中的一種或多種。
[0013]結(jié)合第一方面,在第二種可能的實(shí)現(xiàn)方式中,所述云數(shù)據(jù)中心在接收到虛擬機(jī)創(chuàng)建請(qǐng)求的情況下,從多個(gè)計(jì)算資源池中選擇目標(biāo)計(jì)算資源池,以及在所述目標(biāo)計(jì)算資源出中創(chuàng)建第三虛擬機(jī)之前,還包括:
[0014]在所述系統(tǒng)鏡像文件需要更新的情況下,獲取第一快照;其中,所述第一快照是根據(jù)所述預(yù)設(shè)的第一系統(tǒng)母卷生成的;
[0015]根據(jù)所述第一快照創(chuàng)建第二鏈接克隆卷,并根據(jù)所述第二鏈接克隆卷啟動(dòng)第二虛擬機(jī);
[0016]在通過(guò)所述第二虛擬機(jī)完成對(duì)所述系統(tǒng)鏡像文件的更新操作后,將新的系統(tǒng)鏡像文件存儲(chǔ)至所述第二鏈接克隆卷;
[0017]關(guān)閉所述第二虛擬機(jī),以及對(duì)所述第二鏈接克隆卷中的所述新的系統(tǒng)鏡像文件和所述第一快照進(jìn)行數(shù)據(jù)差分處理得到所述系統(tǒng)鏡像文件的增量數(shù)據(jù),將所述系統(tǒng)鏡像文件標(biāo)記為已更新?tīng)顟B(tài)。
[0018]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述獲取根據(jù)所述第一快照包括:
[0019]提取所述系統(tǒng)鏡像文件,并將所述系統(tǒng)鏡像文件寫(xiě)入創(chuàng)建的第一系統(tǒng)母卷;
[0020]將所述第一系統(tǒng)母卷克隆到除所述目標(biāo)計(jì)算資源池的其他計(jì)算資源池中;
[0021]根據(jù)所述目標(biāo)計(jì)算資源池中的第一系統(tǒng)母卷生成所述第一快照,以及根據(jù)所述第一快照創(chuàng)建第一鏈接克隆卷;
[0022]根據(jù)所述第一鏈接克隆卷啟動(dòng)第一虛擬機(jī)。
[0023]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述關(guān)閉所述第二虛擬機(jī),以及根據(jù)所述更新后的第二鏈接克隆卷和所述第一快照生成所述系統(tǒng)鏡像文件的增量數(shù)據(jù),將所述系統(tǒng)鏡像文件標(biāo)記為已更新?tīng)顟B(tài),還包括:
[0024]確定與所述云數(shù)據(jù)中心關(guān)聯(lián)的其他云數(shù)據(jù)中心的網(wǎng)絡(luò)地址,根據(jù)所述網(wǎng)絡(luò)地址向其他云數(shù)據(jù)中心分發(fā)所系統(tǒng)鏡像文件的增量數(shù)據(jù)。
[0025]本發(fā)明實(shí)施例第二方面提供了一種云數(shù)據(jù)中心,包括:
[0026]創(chuàng)建模塊,用于接收到虛擬機(jī)創(chuàng)建請(qǐng)求時(shí),從多個(gè)計(jì)算資源池中選擇目標(biāo)計(jì)算資源池,以及根據(jù)所述目標(biāo)計(jì)算資源池創(chuàng)建第三虛擬機(jī);
[0027]獲取模塊,用于在所述第三虛擬機(jī)的系統(tǒng)鏡像文件已更新的情況下,獲取預(yù)設(shè)的第一系統(tǒng)母卷的數(shù)據(jù)和所述系統(tǒng)鏡像文件的增量數(shù)據(jù);
[0028]合成模塊,用于根據(jù)所述系統(tǒng)鏡像文件的增量數(shù)據(jù)和所述第一系統(tǒng)母卷的數(shù)據(jù)合成新的系統(tǒng)鏡像文件;
[0029]存儲(chǔ)模塊,用于在所述目標(biāo)計(jì)算資源池中創(chuàng)建所述第三虛擬機(jī)的第二系統(tǒng)母卷,并將所述新的系統(tǒng)鏡像文件存儲(chǔ)至所述第二系統(tǒng)母卷;
[0030]啟動(dòng)模塊,用于根據(jù)所述第二系統(tǒng)母卷生成第二快照,根據(jù)所述第二快照創(chuàng)建第三鏈接克隆卷,以及根據(jù)所述第三鏈接克隆卷啟動(dòng)所述第三虛擬機(jī)。
[0031]結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述創(chuàng)建模塊包括:
[0032]獲取所述多個(gè)計(jì)算資源池中各個(gè)計(jì)算資源池的資源利用率,以及將資源利用率最小的計(jì)算資源池作為目標(biāo)計(jì)算資源池;其中,所述資源利用率包括:CPU利用率、磁盤(pán)利用率和內(nèi)存利用率中的一種或多種。
[0033]結(jié)合第二方面,在第二種可能的實(shí)現(xiàn)方式中,還包括:
[0034]配置模塊,用于在所述系統(tǒng)鏡像文件需要更新的情況下,獲取第一快照;其中,所述第一快照是根據(jù)所述預(yù)設(shè)的第一系統(tǒng)母卷生成的;
[0035]根據(jù)所述第一快照創(chuàng)建第二鏈接克隆卷,并根據(jù)所述第二鏈接克隆卷啟動(dòng)第二虛擬機(jī);
[0036]在通過(guò)所述第二虛擬機(jī)完成對(duì)所述系統(tǒng)鏡像文件的更新操作后,將新的系統(tǒng)鏡像文件存儲(chǔ)至所述第二鏈接克隆卷;
[0037]關(guān)閉所述第二虛擬機(jī),以及對(duì)所述第二鏈接克隆卷中的所述新的系統(tǒng)鏡像文件和所述第一快照進(jìn)行數(shù)據(jù)差分處理得到所述系統(tǒng)鏡像文件的增量數(shù)據(jù),將所述系統(tǒng)鏡像文件標(biāo)記為已更新?tīng)顟B(tài)。
[0038]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述配置模塊用于:
[0039]提取所述系統(tǒng)鏡像文件,并將所述系統(tǒng)鏡像文件寫(xiě)入創(chuàng)建的第一系統(tǒng)母卷;
[0040]將所述第一系統(tǒng)母卷克隆到除所述目標(biāo)計(jì)算資源池的其他計(jì)算資源池中;
[0041]根據(jù)所述目標(biāo)計(jì)算資源池中的第一系統(tǒng)母卷生成所述第一快照,以及根據(jù)所述第一快照創(chuàng)建第一鏈接克隆卷;
[0042]根據(jù)所述第一鏈接克隆卷啟動(dòng)第一虛擬機(jī)。
[0043]結(jié)合第二方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,還包括:
[0044]分發(fā)模塊,用于確定與所述云數(shù)據(jù)中心關(guān)聯(lián)的其他云數(shù)據(jù)中心的網(wǎng)絡(luò)地址,根據(jù)所述網(wǎng)絡(luò)地址向其他云數(shù)據(jù)中心分發(fā)所系統(tǒng)鏡像文件的增量數(shù)據(jù)。
[0045]本發(fā)明實(shí)施例第三方面提供了一種云通信系統(tǒng),包括云客戶端和至少一個(gè)云數(shù)據(jù)中心,其中,所述云客戶端用于在系統(tǒng)鏡像文件需要更新時(shí),向數(shù)據(jù)中心發(fā)送虛擬機(jī)創(chuàng)建請(qǐng)求;
[0046]云數(shù)據(jù)中心用于接收到所述云客戶端發(fā)送的虛擬機(jī)創(chuàng)建請(qǐng)求時(shí),從多個(gè)計(jì)算資源池中選擇目標(biāo)計(jì)算資源池,以及根據(jù)所述目標(biāo)計(jì)算資源池創(chuàng)建第三虛擬機(jī);
[0047]在所述第三虛擬機(jī)的系統(tǒng)鏡像文件已更新的情況下,獲取預(yù)設(shè)的第一系統(tǒng)母卷的數(shù)據(jù)和所述系統(tǒng)鏡像文件的增量數(shù)據(jù);
[0048]根據(jù)所述系統(tǒng)鏡像文件的增量數(shù)據(jù)和所述第一系統(tǒng)母卷的數(shù)據(jù)合成新的系統(tǒng)鏡像文件;
[0049]在所述目標(biāo)計(jì)算資源池中創(chuàng)建所述第三虛擬機(jī)的第二系統(tǒng)母卷,并將所述新的系統(tǒng)鏡像文件存儲(chǔ)至所述第二系統(tǒng)母卷;
[0050]根據(jù)所述第二系統(tǒng)母卷生成第二快照,根據(jù)所述第二快照創(chuàng)建第三鏈接克隆卷,以及根據(jù)所述第三鏈接克隆卷啟動(dòng)所述第三虛擬機(jī)。
[0051]實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:
[0052]云數(shù)據(jù)中心需要更新虛擬機(jī)的系統(tǒng)鏡像文件時(shí),根據(jù)舊的系統(tǒng)鏡像文件和增量數(shù)據(jù)合成新的鏡像文件,能有效減少鏡像文件更新時(shí)間和存儲(chǔ)空間的占用,同時(shí)使用快照和鏈接克隆卷啟動(dòng)虛擬機(jī),能減少虛擬機(jī)的部署時(shí)間。
【附圖說(shuō)明】
[0053]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這