本發(fā)明涉及虛擬化技術領域,尤指一種虛擬機更新方法和裝置。
背景技術:
云計算是指基于互聯(lián)網(wǎng)等網(wǎng)絡,通過虛擬化方式共享IT資源的新型計算模式。其核心思想是通過網(wǎng)絡統(tǒng)一管理和調(diào)度計算、存儲、網(wǎng)絡、軟件等資源,實現(xiàn)資源整合與配置優(yōu)化。
云計算環(huán)境可分為桌面云計算環(huán)境與服務器云計算環(huán)境,其中桌面云計算側(cè)重于在云計算環(huán)境中實現(xiàn)物理桌面的虛擬化,以達到桌面使用的安全性和靈活性。用戶可以通過任何設備,在任何地點,任何時間訪問桌面云計算環(huán)境中的屬于他們個人的桌面系統(tǒng)。桌面云計算的應用場景很多,在其中一類應用場景中,用戶基于統(tǒng)一的虛擬機模板建立多個相同的虛擬機以便用戶使用。例如在學校教學場景中虛擬機部署流程如下:教師制作好統(tǒng)一的虛擬機模板,然后用其創(chuàng)建相應的桌面虛擬機,學生們使用相同的桌面虛擬機進行課堂實驗。
在某些應用場景下,需要頻繁地對虛擬機進行更新,例如,在高校的電教室和教學用計算機使用的過程中,由于學生上課時間分散,經(jīng)常需要在特定的時間段使用不同的桌面模板和應用軟件提供給學上課使用。如上午有物理課程,下午有計算機課程,在同一個虛擬機中,需要針對上午和下午的不同課程提供不同的桌面模板和軟件。因此,需要在每次不同的課程之前,對虛擬機進行更新。
當虛擬機模板更新時,需要批量更新根據(jù)該虛擬機模板建立的所有虛擬機,目前的更新有兩種方案,一種是,手工在所有的虛擬機上更新軟件或者其他應用;另一種是刪除所有的虛擬機,然后只更新模板,并通過最新的模板重新創(chuàng)建一個教室的虛擬機,然后再批量修改計算機名稱、修改IP地址, 加域等操作。
然而,這兩種方式都需要繁瑣的更新過程,以上述高校的電教室和教學用計算機使用的虛擬機為例,當教師需要更新教學使用的虛擬機時,如果按照第一種方式,教師需要在每個虛擬機上分別更新相應的軟件或者其他應用,如果按照第二種方式,教師需要重新制作一個新的虛擬機模板,然后使用該虛擬機模板重新創(chuàng)建所有的虛擬機,并刪除所有舊的虛擬機。相對于在每個虛擬機上分別更新相應的軟件和應用所耗費的時間,刪除全部虛擬機并重新創(chuàng)建所有的虛擬機同樣需要耗費大量的時間和精力,這是一個繁瑣的過程,增加了教師的工作量。
因此,現(xiàn)有技術的兩種更新方式流程較為繁瑣,增加了人工操作的工作量。
技術實現(xiàn)要素:
為了解決上述問題,本發(fā)明提出了一種虛擬機更新方法和裝置,能夠提高虛擬機更新的效率。
為了達到上述目的,本發(fā)明提出了一種虛擬機更新方法,所述虛擬機更新方法包括:
對虛擬機模板進行更新;
記錄虛擬機模板對應的各個虛擬機的私有信息;
根據(jù)更新后的虛擬機模板替換各個虛擬機的系統(tǒng)盤;
根據(jù)記錄的私有信息設置對應的虛擬機。
優(yōu)選地,所述對虛擬機模板進行更新包括:
將虛擬機模板轉(zhuǎn)換為虛擬機;
更新虛擬機中的軟件或應用;
將更新后的虛擬機轉(zhuǎn)換為虛擬機模板,從而得到更新后的虛擬機模板。
優(yōu)選地,在所述記錄虛擬機模板對應的各個虛擬機的私有信息之前,所 述虛擬機更新方法還包括:
判斷是否可以進行虛擬機的鏈式重置操作,如果可以,則執(zhí)行所述記錄虛擬機模板對應的各個虛擬機的私有信息的步驟。
優(yōu)選地,所述記錄虛擬機模板對應的各個虛擬機的私有信息包括如下操作的至少一種:
操作1-1,記錄各個虛擬機對應的IP地址信息;
操作1-2,記錄各個虛擬機對應的計算機名稱信息;
所述根據(jù)記錄的私有信息設置對應的虛擬機包括如下操作的至少一種:
操作2-1,根據(jù)記錄的IP地址信息,分別設置各個虛擬機對應的IP地址;
操作2-2,記錄各個虛擬機對應的計算機名稱信息,分別設置各個虛擬機對應的計算機名稱。
優(yōu)選地,在所述根據(jù)記錄的私有信息設置對應的虛擬機之后,所述虛擬機更新方法還包括:
檢查更新后的虛擬機是否已經(jīng)加域;
在所述虛擬機還沒有加域的情況下,對虛擬機執(zhí)行加域操作;
在所述虛擬機已經(jīng)加域的情況下,對所述虛擬機執(zhí)行退域操作,并在所述退域完成之后,對所述虛擬機執(zhí)行加域操作。
優(yōu)選地,所述分別設置各個虛擬機對應的IP地址包括:
通過WEB向消息隊列發(fā)起重置IP請求;
通過消息隊列向主機代理轉(zhuǎn)發(fā)對應的重置IP請求;
通過主機代理向虛機代理轉(zhuǎn)發(fā)對應的重置IP請求;
虛機代理在接收對應的重置IP請求之后,根據(jù)所述記錄的IP地址信息,對虛擬機的IP地址進行設置;
通過虛機代理向主機代理發(fā)送對應的重置IP響應信息;
通過主機代理向消息隊列轉(zhuǎn)發(fā)對應的重置IP響應信息;
通過消息隊列向WEB轉(zhuǎn)發(fā)對應的重置IP響應信息;
所述分別設置各個虛擬機對應的計算機名稱包括:
通過WEB向消息隊列發(fā)起重置計算機名稱請求;
通過消息隊列向主機代理轉(zhuǎn)發(fā)對應的重置計算機名稱請求;
通過主機代理向虛機代理轉(zhuǎn)發(fā)對應的重置計算機名稱請求;
虛機代理在接收對應的重置計算機名稱請求之后,根據(jù)所述記錄的計算機名稱地址信息,對虛擬機的計算機名稱進行設置;
通過虛機代理向主機代理發(fā)送對應的重置計算機名稱響應信息;
通過主機代理向消息隊列轉(zhuǎn)發(fā)對應的重置計算機名稱響應信息;
通過消息隊列向WEB轉(zhuǎn)發(fā)對應的重置計算機名稱響應信息。
為了達到上述目的,本發(fā)明還提出了一種虛擬機更新裝置,所述虛擬機更新裝置包括:
模板更新單元,用于對虛擬機模板進行更新;
私有信息保存單元,用于記錄虛擬機模板對應的各個虛擬機的私有信息;
更新單元,用于根據(jù)更新后的虛擬機模板替換各個虛擬機的系統(tǒng)盤;
私有信息設置單元,用于根據(jù)記錄的私有信息設置對應的虛擬機。
優(yōu)選地,所述模板更新單元包括:
第一轉(zhuǎn)換模塊,用于將虛擬機模板轉(zhuǎn)換為虛擬機;
應用更新模塊,用于更新虛擬機中的軟件或應用;
第二轉(zhuǎn)換模塊,用于將更新后的虛擬機轉(zhuǎn)換為虛擬機模板,從而得到更新后的虛擬機模板。
優(yōu)選地,所述虛擬機更新裝置還包括:
啟動檢查單元,用于檢查是否可以進行虛擬機的鏈式重置操作,如果可以,則執(zhí)行所述記錄虛擬機模板對應的各個虛擬機的私有信息的步驟。
優(yōu)選地,所述私有信息保存單元包括如下模塊的至少一個:
第一保存模塊,用于記錄各個虛擬機對應的IP地址信息;
第二保存模塊,用于記錄各個虛擬機對應的計算機名稱信息;
所述私有信息設置單元包括如下模塊的至少一個:
第一設置模塊,用于根據(jù)記錄的IP地址信息,分別設置各個虛擬機對應的IP地址;
第二設置模塊,用于記錄各個虛擬機對應的計算機名稱信息,分別設置各個虛擬機對應的計算機名稱。
優(yōu)選地,所述虛擬機更新裝置還包括:加域單元,用于檢查更新后的虛擬機是否已經(jīng)加域;在所述虛擬機還沒有加域的情況下,對虛擬機執(zhí)行加域操作;在所述虛擬機已經(jīng)加域的情況下,對所述虛擬機執(zhí)行退域操作,并在所述退域完成之后,對所述虛擬機執(zhí)行加域操作。
優(yōu)選地,所述第一設置模塊具體用于:
通過WEB向消息隊列發(fā)起重置IP請求;
通過消息隊列向主機代理轉(zhuǎn)發(fā)對應的重置IP請求;
通過主機代理向虛機代理轉(zhuǎn)發(fā)對應的重置IP請求;
虛機代理在接收對應的重置IP請求之后,根據(jù)所述記錄的IP地址信息,對虛擬機的IP地址進行設置;
通過虛機代理向主機代理發(fā)送對應的重置IP響應信息;
通過主機代理向消息隊列轉(zhuǎn)發(fā)對應的重置IP響應信息;
通過消息隊列向WEB轉(zhuǎn)發(fā)對應的重置IP響應信息;
所述第二設置模塊具體用于:
通過WEB向消息隊列發(fā)起重置計算機名稱請求;
通過消息隊列向主機代理轉(zhuǎn)發(fā)對應的重置計算機名稱請求;
通過主機代理向虛機代理轉(zhuǎn)發(fā)對應的重置計算機名稱請求;
虛機代理在接收對應的重置計算機名稱請求之后,根據(jù)所述記錄的計算機名稱地址信息,對虛擬機的計算機名稱進行設置;
通過虛機代理向主機代理發(fā)送對應的重置計算機名稱響應信息;
通過主機代理向消息隊列轉(zhuǎn)發(fā)對應的重置計算機名稱響應信息;
通過消息隊列向WEB轉(zhuǎn)發(fā)對應的重置計算機名稱響應信息。
與現(xiàn)有技術相比,本發(fā)明提供的技術方案包括:對虛擬機模板進行更新;記錄虛擬機模板對應的各個虛擬機的私有信息;根據(jù)更新后的虛擬機模板替換各個虛擬機的系統(tǒng)盤;根據(jù)記錄的私有信息設置對應的虛擬機。通過本發(fā)明的方案,在需要更新教學使用的虛擬機時,用戶只需要設置新的模板,并根據(jù)新的模板替換各個虛擬機的系統(tǒng)盤,因此沒有更改虛擬機中的用戶數(shù)據(jù),相對于現(xiàn)有技術中刪除并重建虛擬機的過程,本發(fā)明實施例的虛擬機更新方法中,更新過程更加快捷,節(jié)省了大量的人力和時間,虛擬機中的用戶數(shù)據(jù)得到了保存,提高了用戶體驗。
附圖說明
下面對本發(fā)明實施例中的附圖進行說明,實施例中的附圖是用于對本發(fā)明的進一步理解,與說明書一起用于解釋本發(fā)明,并不構成對本發(fā)明保護范圍的限制。
圖1為本發(fā)明實施例提供的虛擬機更新方法的流程圖;
圖2A為本發(fā)明實施例中設置各個虛擬機對應的IP地址的流程示意圖;
圖2B為本發(fā)明實施例中設置各個虛擬機對應的計算機名稱的流程示意圖;
圖3和圖4分別為本發(fā)明實施例提供的一種虛擬機更新裝置的結(jié)構組成示意圖。
具體實施方式
為了便于本領域技術人員的理解,下面結(jié)合附圖對本發(fā)明作進一步的描 述,并不能用來限制本發(fā)明的保護范圍。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的各種方式可以相互組合。
參見圖1,本發(fā)明提出了一種虛擬機更新方法,所述方法包括:
步驟110,對虛擬機模板進行更新;
步驟150,記錄虛擬機模板對應的各個虛擬機的私有信息;
步驟160,根據(jù)更新后的虛擬機模板替換各個虛擬機的系統(tǒng)盤。
步驟160中,由于更新過程只是替換各個虛擬機的系統(tǒng)盤,因此沒有更改虛擬機中的用戶數(shù)據(jù),相對于現(xiàn)有技術中刪除并重建虛擬機的過程,本發(fā)明實施例的虛擬機更新方法中,虛擬機中的用戶數(shù)據(jù)得到了保存。現(xiàn)有技術的刪除并重建虛擬機的過程中,需要刪除虛擬機的系統(tǒng)盤,然后重建系統(tǒng)盤,相對于本發(fā)明實施例中的替換各個虛擬機的系統(tǒng)盤,現(xiàn)有技術的方式需要耗費更長的時間。
步驟170,根據(jù)記錄的私有信息設置對應的虛擬機。
本發(fā)明實施例中,所述對虛擬機模板進行更新包括:
步驟1101,將虛擬機模板轉(zhuǎn)換為虛擬機;
步驟1102,更新虛擬機中的軟件或應用;
步驟1103,將更新后的虛擬機轉(zhuǎn)換為虛擬機模板,從而得到更新后的虛擬機模板。
本發(fā)明實施例中,在步驟150之前,所述虛擬機更新方法還包括:
步驟130,檢查是否可以進行虛擬機的鏈式重置操作,如果可以進行虛擬機的鏈式重置操作,則執(zhí)行步驟150。
如果不能進行虛擬機的鏈式重置操作,則執(zhí)行步驟132:顯示用于提醒不能執(zhí)行虛擬機更新過程的提示消息。其中,不能執(zhí)行的原因可能是虛擬機正在執(zhí)行其他的更新或升級操作,還沒有執(zhí)行完畢等。
在步驟110之后、步驟130之前,所述虛擬機更新方法還包括:
步驟120、根據(jù)用戶的重置請求,啟動虛擬機更新過程。
在步驟120之后,整個虛擬機更新過程自動執(zhí)行,不需要用戶進行人工操作,更新過程更加快捷,節(jié)省了大量的人力和時間,提高了用戶體驗。
優(yōu)選地,在步驟130之后,判斷為可以進行虛擬機的鏈式重置操作的情況下,在步驟150之前,所述虛擬機更新方法還包括:
步驟140、執(zhí)行模板合并操作。
其中,模板合并操作,是指為了提高模板重置的效率,將模板下的各虛擬機在創(chuàng)建、備份、還原中過程中產(chǎn)生的葉子節(jié)點做合并操作。例如,一個虛擬機可能是由A1-->A1-1-->A1-1-1等多級關系的節(jié)點組成的(這里是虛擬化層面的結(jié)束,A1和A1-1是有父子關系的,一般稱A1-1-1是拉出來的一個葉子節(jié)點),對這些節(jié)點做合并,合并成一個整個的節(jié)點A*。
本發(fā)明實施例中,所述記錄虛擬機模板對應的各個虛擬機的私有信息包括如下操作的至少一種:
操作1-1,記錄各個虛擬機對應的IP地址信息;
操作1-2,記錄各個虛擬機對應的計算機名稱信息;
所述根據(jù)記錄的私有信息設置對應的虛擬機包括如下操作的至少一種:
操作2-1,根據(jù)記錄的IP地址信息,分別設置各個虛擬機對應的IP地址;
操作2-2,記錄各個虛擬機對應的計算機名稱信息,分別設置各個虛擬機對應的計算機名稱。
其中,操作2-1是和操作1-1對應的,當記錄虛擬機模板對應的各個虛擬機的私有信息包括操作1-1時,所述根據(jù)記錄的私有信息設置對應的虛擬機包括操作2-1;同樣地,操作2-2是和操作1-2對應的,當記錄虛擬機模板對應的各個虛擬機的私有信息包括操作1-2時,所述根據(jù)記錄的私有信息設置對應的虛擬機包括操作2-2。
本發(fā)明實施例中,在步驟170之后,所述虛擬機更新方法還包括:
步驟180、檢查更新后的虛擬機是否已經(jīng)加域;
步驟181、在所述虛擬機還沒有加域的情況下,對虛擬機執(zhí)行加域操作;
步驟182、在所述虛擬機已經(jīng)加域的情況下,對所述虛擬機執(zhí)行退域操作,并在所述退域完成之后,執(zhí)行步驟181。
下面對虛擬機對應的IP地址和計算機名稱的設置過程進行說明,IP地址和計算機名稱的設置涉及到WEB(管理平臺)、消息隊列、主機代理、和虛機代理之間的交互過程。其中,WEB設置在控制臺、消息隊列為控制臺中用于接收和緩存各種請求消息的地方、主機代理設置在物理機器上,用于對運行在物理機器上的虛擬機進行管理、虛機代理設置在的虛擬機中,虛機代理通過和主機代理之間的通信,實現(xiàn)虛擬機和物理機器之間的信息交互。
本發(fā)明實施例中,通過上述WEB、消息隊列、主機代理、和虛機代理之間的交互過程來實現(xiàn)虛擬機對應的IP地址和計算機名稱的設置,提供了一種遠程設置虛擬機對應的IP地址和計算機名稱,不需要登錄到各個虛擬機中對各個虛擬機對應的IP地址和計算機名稱進行設置,而是由WEB統(tǒng)一完成各個虛擬機的設置,節(jié)約了人力和時間,提高了用戶體驗。
參見圖2A,本發(fā)明提出的虛擬機更新方法中,操作2-1中,所述分別設置各個虛擬機對應的IP地址包括:
步驟210、WEB向消息隊列發(fā)起重置IP請求;
步驟220、消息隊列向主機代理轉(zhuǎn)發(fā)對應的重置IP請求;
步驟230、主機代理向虛機代理轉(zhuǎn)發(fā)對應的重置IP請求;
步驟240、虛機代理在接收對應的重置IP請求之后,根據(jù)所述記錄的IP地址信息,對虛擬機的IP地址進行設置;
步驟250、虛機代理向主機代理發(fā)送對應的重置IP響應信息;
步驟260、主機代理向消息隊列轉(zhuǎn)發(fā)對應的重置IP響應信息;
步驟270、消息隊列向WEB轉(zhuǎn)發(fā)對應的重置IP響應信息;
參見圖2B,本發(fā)明提出的虛擬機更新方法中,操作2-2中,所述分別設置各個虛擬機對應的計算機名稱包括:
步驟310、WEB向消息隊列發(fā)起重置計算機名稱請求;
步驟320、消息隊列向主機代理轉(zhuǎn)發(fā)對應的重置計算機名稱請求;
步驟330、主機代理向虛機代理轉(zhuǎn)發(fā)對應的重置計算機名稱請求;
步驟340、虛機代理在接收對應的重置計算機名稱請求之后,根據(jù)所述記錄的計算機名稱地址信息,對虛擬機的計算機名稱進行設置;
步驟350、虛機代理向主機代理發(fā)送對應的重置計算機名稱響應信息;
步驟360、主機代理向消息隊列轉(zhuǎn)發(fā)對應的重置計算機名稱響應信息;
步驟370、消息隊列向WEB轉(zhuǎn)發(fā)對應的重置計算機名稱響應信息。
基于與上述實施例相同或相似的構思,本發(fā)明實施例還提供一種虛擬機更新裝置,參見圖3,本發(fā)明提出的一種虛擬機更新裝置包括:
模板更新單元10,用于對虛擬機模板進行更新;
私有信息保存單元50,用于記錄虛擬機模板對應的各個虛擬機的私有信息;
更新單元60,用于根據(jù)更新后的虛擬機模板替換各個虛擬機的系統(tǒng)盤;
私有信息設置單元70,用于根據(jù)記錄的私有信息設置對應的虛擬機。
參見圖4,在圖3所示的虛擬機更新裝置上,本發(fā)明提出的另一種虛擬機更新裝置,該虛擬機更新裝置中,模板更新單元10包括:
第一轉(zhuǎn)換模塊11,用于將虛擬機模板轉(zhuǎn)換為虛擬機;
應用更新模塊12,用于更新虛擬機中的軟件或應用;
第二轉(zhuǎn)換模塊13,用于將更新后的虛擬機轉(zhuǎn)換為虛擬機模板,從而得到更新后的虛擬機模板。
本發(fā)明實施例中,所述虛擬機更新裝置還包括:
啟動檢查單元30,用于檢查是否可以進行虛擬機的鏈式重置操作,如果可以,則執(zhí)行所述記錄虛擬機模板對應的各個虛擬機的私有信息的步驟。
本發(fā)明實施例中,所述虛擬機更新裝置還包括:
更新請求接收單元20,用于根據(jù)用戶的重置請求,通知啟動檢查單元30啟動虛擬機更新過程。
以及、模板合并單元40、用于執(zhí)行模板合并操作。
本發(fā)明實施例中,所述私有信息保存單元50包括如下模塊的至少一個:
第一保存模塊51,用于記錄各個虛擬機對應的IP地址信息;
第二保存模塊52,用于記錄各個虛擬機對應的計算機名稱信息;
所述私有信息設置單元70包括如下模塊的至少一個:
第一設置模塊71,用于根據(jù)記錄的IP地址信息,分別設置各個虛擬機對應的IP地址;
第二設置模塊72,用于記錄各個虛擬機對應的計算機名稱信息,分別設置各個虛擬機對應的計算機名稱。
本發(fā)明實施例中,所述虛擬機更新裝置還包括:加域單元80,用于檢查更新后的虛擬機是否已經(jīng)加域;在所述虛擬機還沒有加域的情況下,對虛擬機執(zhí)行加域操作;在所述虛擬機已經(jīng)加域的情況下,對所述虛擬機執(zhí)行退域操作,并在所述退域完成之后,對所述虛擬機執(zhí)行加域操作。
本發(fā)明實施例中,所述第一設置模塊71具體用于:
通過WEB向消息隊列發(fā)起重置IP請求;
通過消息隊列向主機代理轉(zhuǎn)發(fā)對應的重置IP請求;
通過主機代理向虛機代理轉(zhuǎn)發(fā)對應的重置IP請求;
虛機代理在接收對應的重置IP請求之后,根據(jù)所述記錄的IP地址信息,對虛擬機的IP地址進行設置;
通過虛機代理向主機代理發(fā)送對應的重置IP響應信息;
通過主機代理向消息隊列轉(zhuǎn)發(fā)對應的重置IP響應信息;
通過消息隊列向WEB轉(zhuǎn)發(fā)對應的重置IP響應信息;
所述第二設置模塊72具體用于:
通過WEB向消息隊列發(fā)起重置計算機名稱請求;
通過消息隊列向主機代理轉(zhuǎn)發(fā)對應的重置計算機名稱請求;
通過主機代理向虛機代理轉(zhuǎn)發(fā)對應的重置計算機名稱請求;
虛機代理在接收對應的重置計算機名稱請求之后,根據(jù)所述記錄的計算機名稱地址信息,對虛擬機的計算機名稱進行設置;
通過虛機代理向主機代理發(fā)送對應的重置計算機名稱響應信息;
通過主機代理向消息隊列轉(zhuǎn)發(fā)對應的重置計算機名稱響應信息;
通過消息隊列向WEB轉(zhuǎn)發(fā)對應的重置計算機名稱響應信息。
需要說明的是,以上所述的實施例僅是為了便于本領域的技術人員理解而已,并不用于限制本發(fā)明的保護范圍,在不脫離本發(fā)明的發(fā)明構思的前提下,本領域技術人員對本發(fā)明所做出的任何顯而易見的替換和改進等均在本發(fā)明的保護范圍之內(nèi)。