本發(fā)明涉及虛擬機(jī)技術(shù)領(lǐng)域,尤其是涉及一種操作系統(tǒng)鏡像制作方法和裝置。
背景技術(shù):
隨著云計(jì)算技術(shù)的發(fā)展,云服務(wù)的概念已經(jīng)深入到人們的日常生活中,PC桌面的云端虛擬機(jī)化也成為一大趨勢,用戶只需使用一個(gè)瘦終端運(yùn)行遠(yuǎn)程桌面連接軟件,連接到云計(jì)算中心獲取虛擬桌面服務(wù)。這樣,云計(jì)算中心可以統(tǒng)一管理虛擬桌面,提升數(shù)據(jù)安全性、可靠性及可維護(hù)性。
然而,云計(jì)算中心在管理虛擬桌面時(shí)經(jīng)常會(huì)碰到虛擬桌面需要不斷更新的需求,例如升級(jí)軟件,添加數(shù)據(jù)等,這時(shí)就需要頻繁的更新用于生成虛擬桌面時(shí)所使用的操作系統(tǒng)鏡像,這個(gè)問題一般由云計(jì)算中心提供的鏡像制作工具來解決?,F(xiàn)有的鏡像制作工具在云計(jì)算中心初始化的時(shí)候會(huì)上傳一些基礎(chǔ)操作系統(tǒng)鏡像,然后基于這些鏡像生成一個(gè)虛擬桌面,通過在桌面中安裝軟件等操作,更新虛擬機(jī)桌面狀態(tài)數(shù)據(jù),生成一個(gè)新的操作系統(tǒng)鏡像。但是,一般的鏡像文件大小都為幾十G字節(jié),文件數(shù)據(jù)的拷貝速度很慢,一般可能需要小時(shí)級(jí)的時(shí)間消耗,而且非常容易出錯(cuò)。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)以上缺陷,本發(fā)明提供一種操作系統(tǒng)鏡像制作方法和裝置,可以提升鏡像制作流程的效率,提高更新過程的可靠性。
第一方面,本發(fā)明提供的操作系統(tǒng)鏡像制作方法包括:
采用寫時(shí)拷貝方法對(duì)基礎(chǔ)RBD鏡像文件進(jìn)行克隆,得到引用所述基礎(chǔ)RBD鏡像文件的副本RBD鏡像文件,所述副本RBD鏡像文件用于創(chuàng)建虛擬桌面,其中:在云計(jì)算中心初始化后第一次進(jìn)行操作系統(tǒng)鏡像制作時(shí)的基礎(chǔ)RBD鏡像文件為在云計(jì)算中心注冊的初始操作系統(tǒng)RBD鏡像文件;
在根據(jù)所述副本RBD鏡像文件創(chuàng)建的虛擬桌面更新后,對(duì)應(yīng)的修改所述副本RBD鏡像文件;
將修改后的副本RBD鏡像文件在云計(jì)算中心進(jìn)行注冊,生成對(duì)應(yīng)的RBD快照鏡像文件,并將所述RBD快照鏡像文件作為下一次進(jìn)行操作系統(tǒng)鏡像制作的基礎(chǔ)RBD鏡像文件。
可選的,所述初始操作系統(tǒng)RBD鏡像文件由在云計(jì)算中心初始化時(shí)上傳至ceph分布式存儲(chǔ)系統(tǒng)中的初始操作系統(tǒng)鏡像文件創(chuàng)建得到。
可選的,所述寫時(shí)拷貝方法為RBD克隆方法。
可選的,所述創(chuàng)建修改后的副本RBD鏡像文件的RBD快照鏡像文件,包括:采用RBD快照方法創(chuàng)建修改后的副本RBD鏡像文件的RBD快照鏡像文件。
第二方面,本發(fā)明提供的操作系統(tǒng)鏡像制作裝置包括:
克隆模塊,用于采用寫時(shí)拷貝方法對(duì)基礎(chǔ)RBD鏡像文件進(jìn)行克隆,得到引用所述基礎(chǔ)RBD鏡像文件的副本RBD鏡像文件,所述副本RBD鏡像文件用于創(chuàng)建虛擬桌面,其中:在云計(jì)算中心初始化后第一次進(jìn)行操作系統(tǒng)鏡像制作時(shí)的基礎(chǔ)RBD鏡像文件為在云計(jì)算中心注冊的初始操作系統(tǒng)RBD鏡像文件;
修改模塊,用于在根據(jù)所述副本RBD鏡像文件創(chuàng)建的虛擬桌面更新后,對(duì)應(yīng)的修改所述副本RBD鏡像文件;
注冊模塊,用于將修改后的副本RBD鏡像文件在云計(jì)算中心進(jìn)行注冊,生成對(duì)應(yīng)的RBD快照鏡像文件,并將所述RBD快照鏡像文件作為下一次進(jìn)行操作系統(tǒng)鏡像制作的基礎(chǔ)RBD鏡像文件。
可選的,所述初始操作系統(tǒng)RBD鏡像文件由在云計(jì)算中心初始化時(shí)上傳至ceph分布式存儲(chǔ)系統(tǒng)中的初始操作系統(tǒng)鏡像文件創(chuàng)建得到。
可選的,所述克隆模塊采用的寫時(shí)拷貝方法為RBD克隆方法。
可選的,所述注冊模塊具體用于采用RBD快照方法創(chuàng)建修改后的副本RBD鏡像文件的RBD快照鏡像文件。
本發(fā)明提供的操作系統(tǒng)鏡像制作方法和裝置,對(duì)基礎(chǔ)RBD鏡像文件的克隆采用的是寫時(shí)拷貝方法,得到引用基礎(chǔ)RBD鏡像文件的副本RBD鏡像文件,相當(dāng)于得到一個(gè)指向基礎(chǔ)RBD鏡像文件的指針文件,這樣的話,這種文件克隆特性使其相對(duì)于目前虛擬桌面更新時(shí)采用的普通的文件數(shù)據(jù)拷貝方法,可以大大簡化基礎(chǔ)設(shè)施云系統(tǒng)中操作系統(tǒng)鏡像文件的數(shù)據(jù)拷貝過程,提升鏡像制作流程的效率,達(dá)到秒級(jí)的時(shí)間消耗,而且由于耗時(shí)短出錯(cuò)的可能性也比較小,提高更新過程的可靠性。
附圖說明
為了更清楚地說明本公開實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本公開的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些圖獲得其他的附圖。
圖1示出了本發(fā)明一實(shí)施例中操作系統(tǒng)鏡像制作方法的流程示意圖;
圖2示出了本發(fā)明一實(shí)施例中操作系統(tǒng)鏡像制作裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將結(jié)合本公開實(shí)施例中的附圖,對(duì)本公開實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒竟_中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本公開保護(hù)的范圍。
第一方面,本發(fā)明提供一種操作系統(tǒng)鏡像制作方法,該方法可以但不限應(yīng)用于基礎(chǔ)設(shè)施云系統(tǒng)中虛擬桌面的更新,如圖1所示,該方法包括:
S1、采用寫時(shí)拷貝方法對(duì)基礎(chǔ)RBD鏡像文件進(jìn)行克隆,得到引用所述基礎(chǔ)RBD鏡像文件的副本RBD鏡像文件,所述副本RBD鏡像文件用于創(chuàng)建虛擬桌面;
其中:在云計(jì)算中心初始化后第一次進(jìn)行操作系統(tǒng)鏡像制作時(shí)的基礎(chǔ)RBD鏡像文件為在云計(jì)算中心注冊的初始操作系統(tǒng)RBD鏡像文件;
S2、在根據(jù)所述副本RBD鏡像文件創(chuàng)建的虛擬桌面更新后,對(duì)應(yīng)的修改所述副本RBD鏡像文件;
可理解的是,在利用副本RBD鏡像文件創(chuàng)建虛擬桌面之后,可以進(jìn)行軟件的安裝、升級(jí)、數(shù)據(jù)添加等操作,在執(zhí)行完這些操作后的操作系統(tǒng)相對(duì)于初始操作系統(tǒng)中的數(shù)據(jù)是有變化的,因此這里對(duì)應(yīng)修改副本RBD鏡像文件中的相關(guān)數(shù)據(jù)。
S3、將修改后的副本RBD鏡像文件在云計(jì)算中心進(jìn)行注冊,生成對(duì)應(yīng)的RBD快照鏡像文件,并將所述RBD快照鏡像文件作為下一次進(jìn)行操作系統(tǒng)鏡像制作的基礎(chǔ)RBD鏡像文件。
可理解的是,由于在云計(jì)算中心初始化后第一次進(jìn)行操作系統(tǒng)鏡像制作時(shí)的副本RBD鏡像文件為在云計(jì)算中心注冊的初始操作系統(tǒng)RBD鏡像文件,而RBD快照鏡像文件為下一次進(jìn)行操作系統(tǒng)鏡像制作的基礎(chǔ)RBD鏡像文件,因此在進(jìn)行第一次虛擬桌面更新時(shí)S1中的副本RBD鏡像文件為基礎(chǔ)操作系統(tǒng)的RBD鏡像文件,在第二次、第三次……等非第一次虛擬桌面更新時(shí)S1中的基礎(chǔ)RBD鏡像文件為在上一次虛擬桌面更新時(shí)在S3中生成的RBD快照鏡像文件。
可理解的是,S3中將修改后的副本RBD鏡像文件在云計(jì)算中心注冊時(shí)并不會(huì)將在云計(jì)算中心原來注冊的鏡像文件進(jìn)行覆蓋。
可理解的是,RBD的全稱為RADOS(Reliable Autonom ic Distributed Object Storage)Block Device,中文為分布式對(duì)象存儲(chǔ)塊設(shè)備,所屬ceph分布式文件存儲(chǔ)系統(tǒng),具有寫時(shí)拷貝(英文為Copy on Write)的文件克隆特性。其中,ceph分布式存儲(chǔ)系統(tǒng)作為一種Linux PB級(jí)的分布式文件系統(tǒng),能夠在維護(hù)POSIX兼容性的同時(shí)加入了復(fù)制和容錯(cuò)功能,最重要的是,ceph分布式存儲(chǔ)系統(tǒng)具有快存儲(chǔ)特性。
本發(fā)明提供的操作系統(tǒng)鏡像制作方法中,對(duì)基礎(chǔ)RBD鏡像文件的克隆采用的是寫時(shí)拷貝方法,得到引用基礎(chǔ)RBD鏡像文件的副本RBD鏡像文件,相當(dāng)于得到一個(gè)指向基礎(chǔ)RBD鏡像文件的指針文件,這樣的話,這種文件克隆特性使其相對(duì)于目前虛擬桌面更新時(shí)采用的普通的文件數(shù)據(jù)拷貝方法,可以大大簡化基礎(chǔ)設(shè)施云系統(tǒng)中操作系統(tǒng)鏡像文件的數(shù)據(jù)拷貝過程,提升鏡像制作流程的效率,達(dá)到秒級(jí)的時(shí)間消耗,而且由于耗時(shí)短出錯(cuò)的可能性也比較小,提高更新過程的可靠性。
在具體實(shí)施時(shí),所述初始操作系統(tǒng)RBD鏡像文件可以由在云計(jì)算中心初始化時(shí)上傳至ceph分布式存儲(chǔ)系統(tǒng)中的初始操作系統(tǒng)鏡像文件創(chuàng)建得到。這樣的話,在云計(jì)算中心初始化時(shí),將初始操作系統(tǒng)鏡像文件上傳至ceph分布式存儲(chǔ)系統(tǒng)中,創(chuàng)建得到初始操作系統(tǒng)RBD鏡像文件,然后將該RBD鏡像文件在云計(jì)算中心注冊,以便于在虛擬桌面更新過程中使用。
在具體實(shí)施時(shí),S1中對(duì)副本RBD鏡像文件進(jìn)行克隆時(shí)采用的寫時(shí)拷貝方法可以為RBD克隆方法,所謂的RBD克隆方法即為RBD Clone方法。該RBD克隆方法在對(duì)副本RBD鏡像文件進(jìn)行克隆時(shí)并不完全拷貝副本RBD鏡像文件中的數(shù)據(jù),只有等到修改副本RBD鏡像文件中的某一部分?jǐn)?shù)據(jù)時(shí),才會(huì)對(duì)副本RBD鏡像文件中對(duì)應(yīng)的數(shù)據(jù)進(jìn)行拷貝,即引用拷貝,因此克隆效率較高。
在具體實(shí)施時(shí),S3中創(chuàng)建RBD快照鏡像文件時(shí)采用的方法可以為RBD快照方法,所謂的RBD快照方法即為RBD Snap方法。
第二方面,本發(fā)明還提供一種操作系統(tǒng)鏡像制作裝置,如圖2所示,該裝置200包括:
克隆模塊201,用于采用寫時(shí)拷貝方法對(duì)基礎(chǔ)RBD鏡像文件進(jìn)行克隆,得到引用所述基礎(chǔ)RBD鏡像文件的副本RBD鏡像文件,所述副本RBD鏡像文件用于創(chuàng)建虛擬桌面,其中:在云計(jì)算中心初始化后第一次進(jìn)行操作系統(tǒng)鏡像制作時(shí)的基礎(chǔ)RBD鏡像文件為在云計(jì)算中心注冊的初始操作系統(tǒng)RBD鏡像文件;
修改模塊202,用于在根據(jù)所述副本RBD鏡像文件創(chuàng)建的虛擬桌面更新后,對(duì)應(yīng)的修改所述副本RBD鏡像文件;
注冊模塊203,用于將修改后的副本RBD鏡像文件在云計(jì)算中心進(jìn)行注冊,生成對(duì)應(yīng)的RBD快照鏡像文件,并將所述RBD快照鏡像文件作為下一次進(jìn)行操作系統(tǒng)鏡像制作的基礎(chǔ)RBD鏡像文件。
可選的,所述初始操作系統(tǒng)RBD鏡像文件由在云計(jì)算中心初始化時(shí)上傳至ceph分布式存儲(chǔ)系統(tǒng)中的初始操作系統(tǒng)鏡像文件創(chuàng)建得到。
可選的,所述克隆模塊201對(duì)副本RBD鏡像文件進(jìn)行克隆時(shí)采用的寫時(shí)拷貝方法為RBD克隆方法。
可選的,所述注冊模塊203具體用于采用RBD快照方法創(chuàng)建修改后的副本RBD鏡像文件的RBD快照鏡像文件。
可理解的是,本發(fā)明第二方面提供的操作系統(tǒng)鏡像制作裝置為本發(fā)明第一方面提供的操作系統(tǒng)鏡像制作方法的功能架構(gòu)模塊,其有關(guān)內(nèi)容的解釋、說明、有益效果等內(nèi)容可參考第一方面中的有關(guān)部分,這里不再贅述。
本發(fā)明的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解;其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。