一種多虛擬機管理方法和裝置制造方法
【專利摘要】本發明提供一種多虛擬機管理方法,當啟動目標虛擬機時,所述多虛擬機管理方法包括:S1、利用啟動該目標虛擬機的物理機在預設的共享存儲空間中生成所述目標虛擬機的識別文件以記錄所述目標虛擬機的運行信息。相應地,本發明還提供一種多虛擬機管理裝置。本發明能夠智能地獲取虛擬機的運行信息,與現有技術相比,顯著減少了人力成本和時間成本。
【專利說明】一種多虛擬機管理方法和裝置
【技術領域】
[0001]本發明涉及計算機虛擬化【技術領域】,尤其涉及一種多虛擬機管理方法和裝置【背景技術】
[0002]通常,在一臺物理機上運行多臺虛擬機時,虛擬機的數量并不多,可以較為輕松的在該臺物理機上進行管理。而當通過多臺物理機運行更多的虛擬機時,則在管理上存在不便,現有的方法中,要確定某一虛擬機是否在運行時,或者要確定某一物理機上在運行哪些虛擬機時,只能通過人工到相應的物理機上去進行查看,增加了人力成本和時間成本。
[0003]因此,需要提供一種方法以能夠在多臺物理機運行多臺虛擬機時,自動化地獲取虛擬機的運行情況以及運行節點。
【發明內容】
[0004]本發明的目的在于提供一種多虛擬機管理方法和裝置,以能夠在多臺物理機運行多臺虛擬機時,自動化地獲取虛擬機的運行情況以及運行節點。
[0005]為實現上述目的,本發明提供一種多虛擬機管理方法,優選地,當啟動目標虛擬機時,所述多虛擬機管理方法包括:
[0006]S1、利用啟動該目標虛擬機的物理機在預設的共享存儲空間中生成所述目標虛擬機的識別文件以記錄所述目標虛擬機的運行信息。
[0007]優選地,所述SI之前還包括:
[0008]S01、查看所述共享存儲空間中的各所述識別文件以判斷所述目標虛擬機的運行狀態,若所述目標虛擬機未啟動,則啟動所述目標虛擬機,并執行Si。
[0009]優選地,所述識別文件中包括:所述目標虛擬機的名稱、所述目標虛擬機的ID、運行所述目標虛擬機的所述物理機的名稱。
[0010]優選地,所述識別文件中還包括:所述目標虛擬機的運行計數器;
[0011]所述目標虛擬機在運行時,所述SI之后還包括:
[0012]S2、利用運行所述目標虛擬機的物理機按預設的時間間隔定期更新所述目標虛擬機的運行計數器。
[0013]優選地,當將正在運行的目標虛擬機從一臺物理機遷移到另一物理機上時,所述SI之后還包括:
[0014]S3、在所述共享存儲空間更新所述正在運行的目標虛擬機的識別文件以更新所述正在運行的目標虛擬機的運行信息。
[0015]優選地,所述S3中更新所述正在運行的目標虛擬機的識別文件包括:
[0016]將所述識別文件中的運行所述正在運行的目標虛擬機的物理機的名稱修改為所述另一物理機的名稱,并將所述正在運行的目標虛擬機的運行計數器重新計數。
[0017]優選地,當關閉所述目標虛擬機時,所述SI之后還包括:
[0018]S4、在所述共享存儲空間刪除所述目標虛擬機的識別文件。[0019]相應地,本發明還提供一種多虛擬機管理裝置,所述多虛擬機管理裝置包括:
[0020]存儲單元,用于設置共享存儲空間,且多臺物理機能夠在所述共享存儲空間中讀與文件;
[0021]識別文件生成單元,所述識別文件生成單元能夠在啟動目標虛擬機時,利用啟動該目標虛擬機的物理機在預設的共享存儲空間中生成所述目標虛擬機的識別文件以記錄所述目標虛擬機的運行信息。
[0022]優選地,所述多虛擬機管理裝置還包括:判斷單元,用于查看所述共享存儲空間中的各所述識別文件以判斷所述目標虛擬機的運行狀態,若所述目標虛擬機未啟動,則啟動所述目標虛擬機,并觸發所述識別文件生成單元。
[0023]優選地,所述識別文件中包括:所述目標虛擬機的名稱、所述目標虛擬機的ID、運行所述目標虛擬機的所述物理機的名稱。
[0024]優選地,所述識別文件中還包括:所述目標虛擬機的運行計數器;
[0025]所述目標虛擬機在運行時,所述識別文件生成單元還用于按預設的時間間隔定期更新所述目標虛擬機的運行計數器。
[0026]優選地,當將正在運行的目標虛擬機從一臺物理機遷移到另一物理機上時,所述識別文件生成單元還用于:
[0027]在所述共享存儲空間更新所述正在運行的目標虛擬機的識別文件以更新所述正在運行的目標虛擬機的運行信息。
[0028]優選地,所述識別文件生成單元更新所述正在運行的目標虛擬機的識別文件時,將所述識別文件中的運行所述正在運行的目標虛擬機的物理機的名稱修改為所述另一物理機的名稱,并將所述正在運行的目標虛擬機的運行計數器重新計數。
[0029]優選地,所述多虛擬機管理裝置還包括:
[0030]識別文件刪除單元,用于當關閉所述目標虛擬機時,在所述共享存儲空間刪除所述目標虛擬機的識別文件。
[0031]可以看出,本發明通過在共享存儲空間生成虛擬機的識別文件,能夠智能地獲取虛擬機的運行信息。與現有技術相比,本發明通過讀取共享存儲空間中的識別文件即可獲知某一虛擬機的運行情況以及運行該虛擬機的物理機位置,顯著地減少了人力成本和時間成本。此外,在遷移虛擬機時,本發明也能夠及時更新虛擬機的運行信息。
【專利附圖】
【附圖說明】
[0032]附圖是用來提供對本發明的進一步理解,并且構成說明書的一部分,與下面的【具體實施方式】一起用于解釋本發明,但并不構成對本發明的限制。在附圖中:
[0033]圖1為本發明所提供的多虛擬機管理方法流程圖;
[0034]圖2為本發明所提供的多虛擬機管理方法另一流程圖;
[0035]圖3為本發明所提供的多虛擬機管理方法再一流程圖;
[0036]圖4為本發明所提供的多虛擬機管理裝置示例圖。
[0037]附圖標記說明
[0038]10-存儲單元;20_識別文件生成單元;30_判斷單元;40_識別文件刪除單元。【具體實施方式】
[0039]以下結合附圖對本發明的【具體實施方式】進行詳細說明。應當理解的是,此處所描述的【具體實施方式】僅用于說明和解釋本發明,并不用于限制本發明。
[0040]作為本發明的一個方面,提供一種多虛擬機管理方法,如圖1所示,當啟動目標虛擬機時,該方法可以包括:
[0041]S1、利用啟動該目標虛擬機的物理機在預設的共享存儲空間中生成所述目標虛擬機的識別文件以記錄所述目標虛擬機的運行信息。
[0042]要使得在多臺物理機運行多臺虛擬機時,能夠自動化地獲取各虛擬機的運行狀態信息,可以預先設置一個共享存儲空間,使得多臺物理機能夠在該共享存儲空間進行讀寫文件的操作。具體地,當在某一物理機上啟動一個目標虛擬機時,可以利用該物理機在上述預設的共享存儲空間中生成一個與該目標虛擬機對應的識別文件,并且,在該識別文件中記錄該目標虛擬機的運行信息。因此,可以利用上述方法,通過讀取共享存儲空間中各識別文件來獲取對應虛擬機的運行信息。與現有技術相比,采用上述方法后能夠實現自動化地獲取虛擬機的運行信息,而無需再通過人工到相應物理機上取查看。
[0043]具體地,本發明中所述的共享存儲空間可以但不限于通過NFS (Network FileSystem,網絡文件系統)或集群文件系統實現,而本發明中所述的虛擬機可以但不限于利用Xen虛擬化技術實現。可以預先修改Xen虛擬服務的啟動配置文件,使得物理機在啟動虛擬機時,在共享存儲空間生成對應的識別文件。且在共享存儲空間生成的虛擬機的識別文件可以為lock文件,以使得同一時間只能由一臺物理機對識別文件進行讀寫。此外,本發明中所述的物理機可以但不限于安裝SUSE Linux操作系統。
[0044]更進一步地,在啟動某一目標虛擬機之前,還可以先根據共享存儲空間中的各識別文件判斷該目標虛擬機是否已被啟動,即,如圖2所示,在上述步驟SI之前,還可以包括:
[0045]S01、查看所述共享存儲空間中的各所述識別文件以判斷所述目標虛擬機的運行狀態,若所述目標虛擬機未啟動,則啟動所述目標虛擬機,并執行Si。
[0046]具體地,在某一物理機上啟動某一目標虛擬機之前,可以先查看共享存儲空間中的是否存在該目標虛擬機的識別文件,若不存在,則說明該目標虛擬機未被啟動,可以啟動該目標虛擬機并執行步驟SI ;若共享存儲空間中已存在該目標虛擬機的識別文件,并且根據識別文件中的信息判斷該目標虛擬機正在運行時,則說明該目標虛擬機已被啟動,相應地,可以不執行SI。
[0047]更進一步地,在共享存儲空間中所生成的目標虛擬機的識別文件中可以包括:所述目標虛擬機的名稱、所述目標虛擬機的ID、運行所述目標虛擬機的所述物理機的名稱。在識別文件中記錄上述信息,能夠通過識別文件唯一地確定該識別文件對應的虛擬機,以及運行該虛擬機的物理機。具體地,虛擬機的ID可以為預先分配的虛擬機的UUID(Universally Unique Identifier,通用唯一識別碼)。
[0048]更進一步地,識別文件中還可以包括:所述目標虛擬機的運行計數器,且如圖3所示,在所述目標虛擬機在運行時,上述SI之后還可以包括:S2、利用運行所述目標虛擬機的物理機按預設的時間間隔定期更新所述目標虛擬機的運行計數器。具體地,虛擬機在運行時,可以利用運行該虛擬機的物理機定期更新該虛擬機的識別文件中運行計數器,例如,可以每隔預設的時間間隔后在該虛擬機的運行計數器中加I。這樣,可以通過運行計數器判斷虛擬機的運行狀態,例如,若某一正在運行的虛擬機的運行計數器超過預設的時間閾值沒有更新,則認為該虛擬機的運行出現了問題(例如死機、斷電等),可以及時的對故障虛擬機定位并采取相應措施。
[0049]更進一步地,當將正在運行的目標虛擬機從一臺物理機遷移到另一物理機上時,如圖3所示,在SI之后還可以包括:
[0050]S3、在所述共享存儲空間更新所述正在運行的目標虛擬機的識別文件以更新所述正在運行的目標虛擬機的運行信息。
[0051]具體地,當將某一正在運行的虛擬機從一臺物理機遷移到另一物理機上時,可以在遷移后,利用該另一物理機更新共享存儲空間中的該虛擬機的識別文件以更新該虛擬機的運行信息。優選地,可以將該虛擬機的識別文件中運行該虛擬機的物理機的名稱,修改為該另一物理機的名稱,并且,可以將該虛擬機的運行計數器重新計數。通過上述步驟,能夠在某一虛擬機進行遷移后,及時更新該虛擬機的運行信息。
[0052]更進一步地,當所述關閉目標虛擬機時,如圖3所示,在上述SI之后,還可以包括:
[0053]S4、在所述共享存儲空間刪除所述目標虛擬機的識別文件。
[0054]具體地,當關閉某一正在運行的目標虛擬機時,可以利用運行該目標虛擬機的物理機刪除共享存儲空間中該目標虛擬機的識別文件,這樣,能夠避免再次啟動該目標虛擬機時產生沖突。
[0055]可以理解的是,上述根據圖3所示的SI?S4為針對虛擬機運行時可能遇到的不同情況執行的步驟,在實際應用中,無需按照步驟標號順序來執行。
[0056]上述為對本發明所提供的方法進行的描述,可以看出,本發明通過在共享存儲空間生成虛擬機的識別文件,能夠智能地獲取虛擬機的運行信息。與現有技術相比,本發明通過讀取共享存儲空間中的識別文件即可獲知某一虛擬機的運行情況以及運行該虛擬機的物理機位置,顯著地減少了人力成本和時間成本。此外,在遷移虛擬機時,本發明也能夠及時更新虛擬機的運行信息。
[0057]相應地,本發明提供一種多虛擬機管理裝置,用于實現上述本發明所提供的方法,具體地,可以如圖4所示,該多虛擬機管理裝置包括存儲單元10和識別文件生成單元20。
[0058]存儲單元10用于設置共享存儲空間,并使得多臺物理機能夠在所述共享存儲空間中讀寫文件;
[0059]識別文件生成單元20,用于當啟動目標虛擬機時,利用啟動該目標虛擬機的物理機在預設的共享存儲空間中生成所述目標虛擬機的識別文件以記錄所述目標虛擬機的運
行信息。
[0060]其中,識別文件生成單元20可以設置在物理機中。
[0061]更進一步地,該多虛擬機管理裝置還可以包括:判斷單元30,用于查看所述共享存儲空間中的各所述識別文件以判斷所述目標虛擬機的運行狀態,若所述目標虛擬機未啟動,則啟動所述目標虛擬機,并觸發識別文件生成單元20 ;若所述目標虛擬機已啟動,則不觸發所述識別文件生成單元20。判斷單元30可以設置在物理機中。
[0062]更進一步地,識別文件中可以包括:所述目標虛擬機的名稱、所述目標虛擬機的ID、運行所述目標虛擬機的所述物理機的名稱。
[0063]優選地,識別文件中還可以包括:所述虛擬機的運行計數器,所述目標虛擬機在運行時,識別文件生成單元20按預設的時間間隔定期更新所述目標虛擬機的運行計數器。
[0064]更進一步地,識別文件生成單元20還可以用于:當將正在運行的目標虛擬機遷移到新的物理機上時,在所述共享存儲空間更新所述正在運行的目標虛擬機的識別文件以更新所述正在運行的目標虛擬機的運行信息。
[0065]優選地,識別文件生成單元20更新所述正在運行的目標虛擬機的識別文件時,將所述識別文件中的運行所述正在運行的目標虛擬機的物理機的名稱修改為所述新的物理機的名稱,并將所述正在運行的目標虛擬機的運行計數器重新計數
[0066]更進一步地,該多虛擬機管理裝置還可以包括:識別文件刪除單元40,用于當關閉所述目標虛擬機時,在所述共享存儲空間刪除所述目標虛擬機的識別文件。識別文件刪除單元40可以設置在物理機中。
[0067]可以理解的是,以上實施方式僅僅是為了說明本發明的原理而采用的示例性實施方式,然而本發明并不局限于此。對于本領域內的普通技術人員而言,在不脫離本發明的精神和實質的情況下,可以做出各種變型和改進,這些變型和改進也視為本發明的保護范圍。
【權利要求】
1.一種多虛擬機管理方法,其特征在于,當啟動目標虛擬機時,所述多虛擬機管理方法包括: 51、利用啟動該目標虛擬機的物理機在預設的共享存儲空間中生成所述目標虛擬機的識別文件以記錄所述目標虛擬機的運行信息。
2.根據權利要求1所述的多虛擬機管理方法,其特征在于,所述SI之前還包括: SO1、查看所述共享存儲空間中的各所述識別文件以判斷所述目標虛擬機的運行狀態,若所述目標虛擬機未啟動,則啟動所述目標虛擬機,并執行Si。
3.根據權利要求1所述的多虛擬機管理方法,其特征在于,所述識別文件中包括:所述目標虛擬機的名稱、所述目標虛擬機的ID、運行所述目標虛擬機的所述物理機的名稱。
4.根據權利要求3所述的多虛擬機管理方法,其特征在于,所述識別文件中還包括:所述目標虛擬機的運行計數器; 所述目標虛擬機在運行時,所述SI之后還包括: 52、利用運行所述目標虛擬機的物理機按預設的時間間隔定期更新所述目標虛擬機的運行計數器。
5.根據權利要求4所述的多虛擬機管理方法,其特征在于,當將正在運行的目標虛擬機從一臺物理機遷移到另一物理機上時,所述SI之后還包括: 53、在所述共享存儲空間更新所述正在運行的目標虛擬機的識別文件以更新所述正在運行的目標虛擬機的運行信息。`
6.根據權利要求5所述的多虛擬機管理方法,其特征在于,所述S3中更新所述正在運行的目標虛擬機的識別文件包括: 將所述識別文件中的運行所述正在運行的目標虛擬機的物理機的名稱修改為所述另一物理機的名稱,并將所述正在運行的目標虛擬機的運行計數器重新計數。
7.根據權利要求1至6中任意一項所述的多虛擬機管理方法,其特征在于,當關閉所述目標虛擬機時,所述Si之后還包括: 54、在所述共享存儲空間刪除所述目標虛擬機的識別文件。
8.一種多虛擬機管理裝置,其特征在于,所述多虛擬機管理裝置包括: 存儲單元,用于設置共享存儲空間,且多臺物理機能夠在所述共享存儲空間中讀寫文件; 識別文件生成單元,所述識別文件生成單元能夠在啟動目標虛擬機時,利用啟動該目標虛擬機的物理機在預設的共享存儲空間中生成所述目標虛擬機的識別文件以記錄所述目標虛擬機的運行信息。
9.根據權利要求8所述的多虛擬機管理裝置,其特征在于,所述多虛擬機管理裝置還包括:判斷單元,用于查看所述共享存儲空間中的各所述識別文件以判斷所述目標虛擬機的運行狀態,若所述目標虛擬機未啟動,則啟動所述目標虛擬機,并觸發所述識別文件生成單元。
10.根據權利要求8所述的多虛擬機管理裝置,其特征在于,所述識別文件中包括:所述目標虛擬機的名稱、所述目標虛擬機的ID、運行所述目標虛擬機的所述物理機的名稱。
11.根據權利要求10所述的多虛擬機管理裝置,其特征在于,所述識別文件中還包括:所述目標虛擬機的運行計數器;所述目標虛擬機在運行時,所述識別文件生成單元還用于按預設的時間間隔定期更新所述目標虛擬機的運行計數器。
12.根據權利要求11所述的多虛擬機管理裝置,其特征在于,當將正在運行的目標虛擬機從一臺物理機遷移到另一物理機上時,所述識別文件生成單元還用于: 在所述共享存儲空間更新所述正在運行的目標虛擬機的識別文件以更新所述正在運行的目標虛擬機的運行信息。
13.根據權利要求12所述的多虛擬機管理裝置,其特征在于,所述識別文件生成單元更新所述正在運行的目標虛擬機的識別文件時,將所述識別文件中的運行所述正在運行的目標虛擬機的物理機的名稱修改為所述另一物理機的名稱,并將所述正在運行的目標虛擬機的運行計數器重新計數。
14.根據權利要求8至13中任意一項所述的多虛擬機管理裝置,其特征在于,所述多虛擬機管理裝置還包括: 識別文件刪除單元,用于當關閉所述目標虛擬機時,在所述共享存儲空間刪除所述目標虛擬機的識別文件。
【文檔編號】G06F9/455GK103729233SQ201310714363
【公開日】2014年4月16日 申請日期:2013年12月20日 優先權日:2013年12月20日
【發明者】馬新波 申請人:中電長城網際系統應用有限公司