本發(fā)明涉及虛擬化領域,尤其涉及一種實現(xiàn)虛擬化內(nèi)容庫的方法、裝置及系統(tǒng)。
背景技術:
在計算機技術中,虛擬化(技術)或虛擬技術(virtualization)是一種資源管理技術,是將計算機的各種實體資源(cpu、內(nèi)存、磁盤空間、網(wǎng)絡適配器等),予以抽象、轉(zhuǎn)換后呈現(xiàn)出來并可供分區(qū)、組合為一個或多個電腦配置環(huán)境。由此,打破實體結(jié)構(gòu)間的不可切割的障礙,使用戶可以比原本的配置更好的方式來應用這些電腦硬件資源。這些資源的新虛擬部分是不受現(xiàn)有資源的架設方式,地域或物理配置所限制。在虛擬化日益普及的今天,在企業(yè)內(nèi)部,會存在企業(yè)內(nèi)部的私有云,也會存在多個不同的項目或者團隊,搭建自己私有云,這就會存在虛擬機或者環(huán)境需要重復配置,難跨平臺或者私有云間的復用的問題。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題和提出的技術任務是對現(xiàn)有技術進行改進,提供了一種實現(xiàn)虛擬化內(nèi)容庫的方法及系統(tǒng)。
根據(jù)本公開實施例的第一方面,提供一種實現(xiàn)虛擬化內(nèi)容庫的方法,所述方法包括以下步驟:
s1.創(chuàng)建至少一個內(nèi)容庫主庫和至少一個內(nèi)容庫從庫,所述至少一個內(nèi)容庫主庫與相對應的所述至少一個內(nèi)容庫從庫的數(shù)據(jù)自動實現(xiàn)同步;
s2.在所述至少一個內(nèi)容庫主庫中導入內(nèi)容;
s3.在所述至少一個內(nèi)容庫主庫創(chuàng)建一個鏡像倉庫,在鏡像倉庫中選擇系統(tǒng)后,動態(tài)生成虛擬機;
s4.將所述虛擬機轉(zhuǎn)化為系統(tǒng)鏡像模板并標記為系統(tǒng)鏡像模板;
s5.在虛擬機申請平臺上通過系統(tǒng)鏡像模板生成指定配置的虛擬機。
優(yōu)選地,所述內(nèi)容包括系統(tǒng)鏡像、定制的部署腳本、系統(tǒng)序列號或其任一組合;鏡像倉庫包括開發(fā)、測試、上線、和運維4個狀態(tài)。
優(yōu)選地,所述至少一個內(nèi)容庫主庫與相對應的所述至少一個內(nèi)容庫從庫配置于不同的私有云平臺上。
可選地,所述至少一個內(nèi)容庫主庫與相對應的所述至少一個內(nèi)容庫從庫配置于相同的私有云平臺上。
優(yōu)選地,s3進一步包括:s31.對所述虛擬機配置定制環(huán)境。
優(yōu)選地,進一步包括:
s6.創(chuàng)建還原點,并把所述還原點轉(zhuǎn)化為系統(tǒng)鏡像模板。
優(yōu)選地,進一步包括:
s7.在異地對整個內(nèi)容庫主庫或指定的鏡像倉庫進行同步。
根據(jù)本公開實施例的第二方面,提供一種實現(xiàn)虛擬化內(nèi)容庫的裝置,所述裝置包括:
存儲器,用于存儲一應用程序;
處理器,用于運行所述應用程序以執(zhí)行上述方法。
根據(jù)本公開實施例的第三方面,提供一種實現(xiàn)虛擬化內(nèi)容庫的系統(tǒng),所述系統(tǒng)包括:
第一創(chuàng)建模塊,被配置為創(chuàng)建至少一個內(nèi)容庫主庫和至少一個內(nèi)容庫從庫,所述至少一個內(nèi)容庫主庫與相對應的所述至少一個內(nèi)容庫從庫的數(shù)據(jù)自動實現(xiàn)同步;
導入模塊,被配置為在所述至少一個內(nèi)容庫主庫中導入內(nèi)容,所述內(nèi)容至少包括系統(tǒng)鏡像、定制的部署腳本或系統(tǒng)序列號;
第二創(chuàng)建模塊,被配置為在所述至少一個內(nèi)容庫主庫創(chuàng)建一個鏡像倉庫,鏡像倉庫包括開發(fā)、測試、上線、或運維4個狀態(tài),在鏡像倉庫中選擇系統(tǒng)后,動態(tài)生成虛擬機;
轉(zhuǎn)化模塊,被配置為將所述虛擬機轉(zhuǎn)化為系統(tǒng)鏡像模板并標記為系統(tǒng)鏡像模板;
生成模塊,被配置為在虛擬機申請平臺上通過系統(tǒng)鏡像模板生成指定配置的虛擬機。
優(yōu)選地,所述系統(tǒng)進一步包括:
虛擬機配置模塊,被配置為對所述虛擬機配置定制環(huán)境;
還原點創(chuàng)建模塊,被配置為創(chuàng)建用于轉(zhuǎn)化為系統(tǒng)鏡像模板的還原點;以及
同步模塊,被配置為在異地對整個內(nèi)容庫主庫或指定的鏡像倉庫進行同步。
本公開的實施例提供的技術方案可以包括以下有益效果:
通過匯總的方式,提供一個統(tǒng)一的鏡像或模板上傳及分發(fā)平臺,解決虛擬化平臺虛擬機在創(chuàng)建或者環(huán)境需要重復配置時,模板或者鏡像復用的問題,這樣可以大大節(jié)省虛擬機和環(huán)境配置時間,提供工作效率,并確保了開發(fā)環(huán)境和上線環(huán)境的一致性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖,其中:
圖1是根據(jù)本發(fā)明一實施例的一種實現(xiàn)虛擬化內(nèi)容庫的方法流程圖;
圖2是根據(jù)本發(fā)明一實施例的內(nèi)容庫主庫和內(nèi)容庫從庫示意圖;
圖3是根據(jù)本發(fā)明一實施例的另一種實現(xiàn)虛擬化內(nèi)容庫的方法流程圖;
圖4是根據(jù)本發(fā)明一實施例的一種實現(xiàn)虛擬化內(nèi)容庫的裝置框圖;
圖5是根據(jù)發(fā)明一實施例的一種實現(xiàn)虛擬化內(nèi)容庫的系統(tǒng)框圖;
圖6是根據(jù)發(fā)明一實施例的另一種實現(xiàn)虛擬化內(nèi)容庫的系統(tǒng)框圖;
圖7是根據(jù)發(fā)明一實施例的另一種實現(xiàn)虛擬化內(nèi)容庫的系統(tǒng)框圖;
圖8是根據(jù)發(fā)明一實施例的另一種實現(xiàn)虛擬化內(nèi)容庫的系統(tǒng)框圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖1-8,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
在本公開在本公開使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本公開。在本公開和所附權利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。
如圖1所示,圖1是根據(jù)一示例性實施例示出的一種實現(xiàn)虛擬化內(nèi)容庫的方法,包括以下步驟:
在步驟s1中,創(chuàng)建至少一個內(nèi)容庫主庫和至少一個內(nèi)容庫從庫,所述至少一個內(nèi)容庫主庫與相對應的所述至少一個內(nèi)容庫從庫的數(shù)據(jù)自動實現(xiàn)同步,
可選地,在步驟s1中,如圖2所示,可以創(chuàng)建一個內(nèi)容庫主庫,同時,創(chuàng)建與其對應的多個內(nèi)容庫從庫,每個內(nèi)容庫從庫內(nèi)的數(shù)據(jù)與該內(nèi)容庫主庫的數(shù)據(jù)自動實現(xiàn)同步。采用一個內(nèi)容庫主庫對應多個內(nèi)容庫從庫的方式,能夠?qū)崿F(xiàn)數(shù)據(jù)冗余和減少單一內(nèi)容庫發(fā)布部署時的io壓力。使得內(nèi)容庫主庫中的數(shù)據(jù)重復存儲或傳輸以防止數(shù)據(jù)的丟失,同時減少io壓力可以有效提高平臺效率。
在步驟s2中,在所述至少一個內(nèi)容庫主庫中導入內(nèi)容,所述內(nèi)容至少包括系統(tǒng)鏡像、定制的部署腳本或系統(tǒng)序列號等。這里的定制的部署腳本主要是用來進行一些系統(tǒng)層級上的修改,如:機器名、ip等。系統(tǒng)鏡像可以包括多種系統(tǒng)的鏡像,如windows系統(tǒng)、unix系統(tǒng)、mvs系統(tǒng)或centos系統(tǒng)等。
在步驟s3中,在所述至少一個內(nèi)容庫主庫創(chuàng)建一個鏡像倉庫,鏡像倉庫包括開發(fā)、測試、上線、或運維4個狀態(tài),在鏡像倉庫中選擇系統(tǒng)后,根據(jù)所選擇的系統(tǒng)來應用對應的系統(tǒng)鏡像動態(tài)生成虛擬機。
在步驟s4中,將所述虛擬機轉(zhuǎn)化為系統(tǒng)鏡像模板并標記為對應的系統(tǒng)鏡像模板。系統(tǒng)鏡像模板存儲在鏡像倉庫中。
在步驟s5中,在虛擬機申請平臺上通過系統(tǒng)鏡像模板生成指定配置的虛擬機。
根據(jù)本發(fā)明一優(yōu)選的實施例,所述至少一個內(nèi)容庫主庫與相對應的所述至少一個內(nèi)容庫從庫配置于不同的私有云平臺上。這樣設置的目的是進一步實現(xiàn)了數(shù)據(jù)冗余,例如當配置有所述至少一個內(nèi)容庫從庫的私有云平臺出現(xiàn)崩潰等故障,由于另一私有云平臺中配置有所述至少一個內(nèi)容庫主庫,使得不會因此導致數(shù)據(jù)丟失或無法完成后續(xù)模板或者鏡像復用。
與上述實施例相對應地,所述至少一個內(nèi)容庫主庫與相對應的所述至少一個內(nèi)容庫從庫也可以配置于相同的私有云平臺上。相對于上述實施例,本實施例的優(yōu)點在于將配置于相同的私有云上節(jié)省了資源,同時由于在同一私有云平臺上,所述至少一個內(nèi)容庫主庫與相對應的所述至少一個內(nèi)容庫從庫之間的數(shù)據(jù)同步也會更加實時??梢韵氲剑搶嵤├鄬τ谏弦粚嵤├娜秉c在于當該私有云平臺上發(fā)生故障時,則會影響整個系統(tǒng)的模板或者鏡像復用。
如圖3所示,圖3是根據(jù)本發(fā)明一實施例的另一種實現(xiàn)虛擬化內(nèi)容庫的方法流程圖,在該實施例中,s3進一步包括:s31.對所述虛擬機配置定制環(huán)境。設置該步驟的目的是增加了對虛擬機配置定制環(huán)境的過程,這樣滿足了對定制環(huán)境有需求的用戶。
如圖4所示,根據(jù)本公開實施例的第二方面,提供一種實現(xiàn)虛擬化內(nèi)容庫的裝置,所述裝置包括:存儲器,用于存儲一應用程序;處理器,用于運行所述應用程序以執(zhí)行上述方法。
根據(jù)本發(fā)明更具體的一實施例:
在步驟s1中,創(chuàng)建一個內(nèi)容庫主庫a和內(nèi)容庫從庫b,內(nèi)容庫主庫a與內(nèi)容庫從庫b數(shù)據(jù)自動實現(xiàn)同步,從而保持一致,如此設置主從主要是為了數(shù)據(jù)冗余和減少單一庫發(fā)布部署時的io壓力。
在步驟s2中,為內(nèi)容庫主庫a導入系統(tǒng)鏡像及定制的部署腳本、系統(tǒng)序列號,內(nèi)容庫從庫b自動同步相應內(nèi)容(定制的部署腳本主要是用來進行一些系統(tǒng)層級上的修改,如:機器名、ip等)
在步驟s3中,在內(nèi)容庫主庫a中創(chuàng)建一個test鏡像倉庫,該test鏡像倉庫狀態(tài)被設置為開發(fā),并且內(nèi)容庫主庫a為test鏡像倉庫創(chuàng)建用戶test,設置test用戶對所有鏡像都有查看權限,并且對鏡像的權限為可讀可寫。test用戶在客戶端(一般為pc端)登錄鏡像倉庫后,選擇內(nèi)容庫主庫a中設置有的centos系統(tǒng),此時會根據(jù)選擇,在test鏡像倉庫中動態(tài)生成一臺虛擬機并轉(zhuǎn)化為模板,標記為centos系統(tǒng)模板,如果不需要進行環(huán)境定制,則鏡像庫centos鏡像定制完成(可以是一個放置開發(fā)鏡像的倉庫、也可以是一個public庫)
在步驟s4中,在虛擬機申請平臺上,選取test鏡像倉庫中的上一步生成的centos系統(tǒng)模板生成虛擬機centos_web,在虛擬機centos_web中配安裝nginx,隨后把該centos_web虛擬機轉(zhuǎn)化為模板,并標記為centos_nginx,此時,如果不需要再進行其他設置,則test鏡像庫的鏡像centos_nginx模板定制完成,最后從虛擬機申請平臺上傳模板到test鏡像倉庫中。
在步驟s5中,用戶test根據(jù)需要,在虛擬機申請平臺上選擇鏡像倉庫中上一步驟創(chuàng)建的centos_nginx模板,生成虛擬機centos_nginx01,在客戶端設置nginx反向代理,設置快照rproxy,然后取消方向代理設置,設置快照clear后,選擇把rproxy快照轉(zhuǎn)化為新的模板上傳到test鏡像倉庫。此時,虛擬機申請平臺會對虛擬機centos_nginx01進行關機操作,還原快照到rproxy,然后克隆虛擬機到鏡像倉庫中并轉(zhuǎn)化成模板centos_nginx_rproxy。然后,centos_nginx01還原到clear后,進行開機操作。
與前述實施例相對應,本發(fā)明還提供了系統(tǒng)的實施例。對于系統(tǒng)實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本公開方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
如圖5所示,圖5是本發(fā)明根據(jù)一示例性實施例示出的一種實現(xiàn)虛擬化內(nèi)容庫的系統(tǒng),包括:
第一創(chuàng)建模塊101,被配置為創(chuàng)建至少一個內(nèi)容庫主庫和至少一個內(nèi)容庫從庫,所述至少一個內(nèi)容庫主庫與相對應的所述至少一個內(nèi)容庫從庫的數(shù)據(jù)自動實現(xiàn)同步;
導入模塊102,被配置為在所述至少一個內(nèi)容庫主庫中導入內(nèi)容,所述內(nèi)容至少包括系統(tǒng)鏡像、定制的部署腳本或系統(tǒng)序列號等;
第二創(chuàng)建模塊103,被配置為在所述至少一個內(nèi)容庫主庫創(chuàng)建一個鏡像倉庫,鏡像倉庫包括開發(fā)、測試、上線、或運維4個狀態(tài),在鏡像倉庫中選擇系統(tǒng)后,動態(tài)生成虛擬機;
轉(zhuǎn)化模塊104,被配置為將所述虛擬機轉(zhuǎn)化為系統(tǒng)鏡像模板并標記為系統(tǒng)鏡像模板;
生成模塊105,被配置為在虛擬機申請平臺上通過系統(tǒng)鏡像模板生成指定配置的虛擬機。
如圖6所示,圖6是本發(fā)明根據(jù)一示例性實施例示出的另一種實現(xiàn)虛擬化內(nèi)容庫的系統(tǒng),該實施例在前述圖5所示實施例的基礎上,所述第二創(chuàng)建模塊進一步包括:
虛擬機配置模塊1031,被配置為對所述虛擬機配置定制環(huán)境。
如圖7所示,圖7是本發(fā)明根據(jù)一示例性實施例示出的另一種實現(xiàn)虛擬化內(nèi)容庫的系統(tǒng),該實施例在前述圖5所示實施例的基礎上,所述系統(tǒng)進一步包括:
還原點創(chuàng)建模塊106,被配置為創(chuàng)建用于轉(zhuǎn)化為系統(tǒng)鏡像模板的還原點。
如圖8所示,圖8是本發(fā)明根據(jù)一示例性實施例示出的另一種實現(xiàn)虛擬化內(nèi)容庫的系統(tǒng),該實施例在前述圖5所示實施例的基礎上,所述系統(tǒng)進一步包括:
同步模塊107,被配置為在異地對整個內(nèi)容庫主庫或指定的鏡像倉庫進行同步。
應當認識到,本發(fā)明的實施例可以由計算機硬件、硬件和軟件的組合、或者通過存儲在非暫時性計算機可讀存儲器中的計算機指令來實現(xiàn)或?qū)嵤?。所述方法可以使用標準編程技術-包括配置有計算機程序的非暫時性計算機可讀存儲介質(zhì)在計算機程序中實現(xiàn),其中如此配置的存儲介質(zhì)使得計算機以特定和預定義的方式操作-根據(jù)在具體實施例中描述的方法和附圖。每個程序可以以高級過程或面向?qū)ο蟮木幊陶Z言來實現(xiàn)以與計算機系統(tǒng)通信。然而,若需要,該程序可以以匯編或機器語言實現(xiàn)。在任何情況下,該語言可以是編譯或解釋的語言。此外,為此目的該程序能夠在編程的專用集成電路上運行。
進一步,該方法可以在可操作地連接至合適的任何類型的計算平臺中實現(xiàn),包括但不限于個人電腦、迷你計算機、主框架、工作站、網(wǎng)絡或分布式計算環(huán)境、單獨的或集成的計算機平臺、或者與帶電粒子工具或其它成像裝置通信等等。本發(fā)明的各方面可以以存儲在非暫時性存儲介質(zhì)或設備上的機器可讀代碼來實現(xiàn),無論是可移動的還是集成至計算平臺,如硬盤、光學讀取和/或?qū)懭氪鎯橘|(zhì)、ram、rom等,使得其可由可編程計算機讀取,當存儲介質(zhì)或設備由計算機讀取時可用于配置和操作計算機以執(zhí)行在此所描述的過程。此外,機器可讀代碼,或其部分可以通過有線或無線網(wǎng)絡傳輸。當此類媒體包括結(jié)合微處理器或其他數(shù)據(jù)處理器實現(xiàn)上文所述步驟的指令或程序時,本文所述的發(fā)明包括這些和其他不同類型的非暫時性計算機可讀存儲介質(zhì)。當根據(jù)本發(fā)明所述的方法和技術編程時,本發(fā)明還包括計算機本身。
計算機程序能夠應用于輸入數(shù)據(jù)以執(zhí)行本文所述的功能,從而轉(zhuǎn)換輸入數(shù)據(jù)以生成存儲至非易失性存儲器的輸出數(shù)據(jù)。輸出信息還可以應用于一個或多個輸出設備如顯示器。在本發(fā)明優(yōu)選的實施例中,轉(zhuǎn)換的數(shù)據(jù)表示物理和有形的對象,包括顯示器上產(chǎn)生的物理和有形對象的特定視覺描繪。