一種虛擬機的重建方法和裝置的制造方法
【技術領域】
[0001]本發明涉及計算機領域,尤其涉及一種虛擬機的重建方法和裝置。
【背景技術】
[0002]為了降低電信運營商的運營商成本,提出了電信云的方案,例如NFV,NFV通過標準的IT虛擬化技術,把網絡設備統一到工業化標準的高性能和大容量的服務器、交換機和存儲平臺上。NFV的網絡架構為:最下面的是硬件資源(Hardware resources),硬件資源上是虛擬化層(Virtualizat1n Layer),用于提供虛擬的計算資源、存儲資源和網絡資源給網元,硬件資源和虛擬機層統稱為NFVI。NFVI上可以支持各種虛擬網絡功能(VNF),由軟件實現,VNF 上面是 EMS,EMS 上面是 OSS。VIM(Virtualized Infrastructure Manager,虛擬基礎設施管理器,簡稱VIM)用于管理NFVI,其上的VNFM(Virtual Network Funct1nManager,虛擬網絡功能管理器,簡稱VNFM)用于管理各種VNF,VNF之上Orchestrator用于編排各種網絡資源,組成一個網絡。V頂、VNFM和V頂統稱為MANO (Management andOrchestrat1n)
[0003]在云計算的架構中將硬件資源劃分以服務器為粒度的集群,不同的集群之間的硬件資源的物理隔離。當發現某個集群中的服務器故障時,云管理平臺將會把故障服務器上的VM迀移到該集群中的其他服務器上,以提高虛擬機運行的可靠性。但是由于不同的集群的硬件資源分布的差異,這種虛擬機迀移的方法存在的問題是各個集群中的硬件資源無法得到充分的利用。
【發明內容】
[0004]本發明實施例所要解決的技術問題在于,提供一種虛擬機的重建方法和裝置。可解決現有技術中各集群的資源利用率不高的問題。
[0005]為了解決上述技術問題,本發明實施例提供了一種虛擬機的重建方法,包括:
[0006]當V頂檢測到業務集群中的源服務器發生故障時,確定所述源服務器部署的m個虛擬機;
[0007]所述V頂在所述業務集群中重建所述m個虛擬機;
[0008]若所述業務集群的空閑資源不足導致所述m個虛擬機的重建失敗,所述V頂查詢與所述業務集群關聯的冗余集群;
[0009]所述V頂從所述冗余集群中調度η個服務器給所述業務集群,并在所述業務集群中再次重建所述m個虛擬機;或
[0010]所述V頂將所述m個虛擬機調度到所述冗余集群中,并在所述冗余集群中再次重建所述m個虛擬機;其中,η為大于I的整數。
[0011 ] 結合第一方面,在第一種可能的實現方式中,所述V頂從所述冗余集群中調度η個服務器給所述業務集群,并在所述業務集群中再次重建所述m個虛擬機之后,還包括:
[0012]若所述V頂檢測到所述源服務器恢復正常或被替換為新的服務器,所述V頂指示所述VNFM將所述m個虛擬機迀移到所述源服務器或所述新的服務器上,以及所述V頂將所述η個服務器調度回所述冗余集群;或
[0013]若所述V頂檢測到所述源服務器恢復正常或被替換為新的服務器,所述V頂將所述源服務器或所述新的服務器調度回所述冗余集群中。
[0014]結合第一方面,在第二種可能的實現方式中,所述V頂將所述m個虛擬機調度到所述冗余集群中,并在所述冗余集群中再次重建所述m個虛擬機之后,還包括:
[0015]若所述V頂檢測到所述源服務器恢復正常或被替換為新的服務器,所述V頂將所述m個虛擬機調度至所述源服務器上或新的服務器上。
[0016]結合第一方面至第一方面的第二種可能的實現方式中的任意一種,在第三種可能的實現方式中,所述當VM檢測到業務集群中的源服務器發生故障時,確定所述源服務器部署的m個虛擬機之前,還包括:
[0017]所述V頂根據所述VNFM發送的綁定請求將所述業務集群和所述冗余集群進行綁定,并保存所述業務集群和所述冗余集群的關聯關系;
[0018]所述VIM向所述VNFM返回表示綁定成功的反饋消息。
[0019]結合第一方面,在第四種可能的實現方式中,所述冗余集群包括部署有虛擬機的業務集群或未部署虛擬機的集群。
[0020]本發明實施例第二方面提供了一種虛擬機的重建方法,包括:
[0021]當V頂檢測到第一業務集群中的源服務器發生故障時,向VNFM發出故障通知消息;
[0022]所述VNFM根據所述故障通知消息確定所述源服務器發生故障,并確定所述源服務器部署的m個虛擬機;
[0023]所述VNFM在所述第一業務集群中重建所述m個虛擬機,向所述V頂發送重建結果;
[0024]若所述第一業務集群的空閑資源不足導致所述m個虛擬機重建失敗,所述V頂查詢與所述第一業務集群關聯的第二業務集群;
[0025]所述V頂指示所述VNFM在所述第二業務集群中重建所述m個虛擬機;或
[0026]所述V頂從所述第二業務集群中調度η個服務器給所述第一業務集群,并指示所述VNFM再次在所述第二業務集群中重建所述m個虛擬機。
[0027]結合第二方面,在第一種可能的實現方式中,所述V頂指示所述VNFM在所述第二業務集群中重建所述m個虛擬機之后,還包括:
[0028]若所述V頂檢測到所述源服務器恢復正常或被替換為新的服務器,所述V頂指示所述VNFM將所述m個虛擬機迀移到所述源服務器或所述新的服務器上,以及所述V頂將所述η個服務器調度回所述第二業務集群;或
[0029]若所述V頂檢測到所述源服務器恢復正常或被替換為新的服務器,所述V頂將所述源服務器或所述新的服務器調度回所述第二業務集群中。
[0030]結合第二方面,在第二種可能的實現方式中,所述當V頂檢測到第一業務集群中的源服務器發生故障時,向VNFM發出故障消息之前,還包括:
[0031]所述V頂根據所述VNFM發送的綁定請求將所述第一業務集群和第二集群進行綁定,并保存所述第一業務集群和所述第二集群的關聯關系;
[0032]所述VIM向所述VNFM返回表示綁定成功的反饋消息。
[0033]本發明實施例第三方面提供了一種虛擬機的裝置,所述裝置包括V頂,所述V頂包括:
[0034]確定模塊,用于當檢測到業務集群中的源服務器發生故障時,確定所述源服務器部署的m個虛擬機;
[0035]第一重建模塊,用于在所述業務集群中重建所述m個虛擬機;
[0036]查詢模塊,用于若所述m個虛擬機的重建結果為失敗,查詢與所述業務集群關聯的冗余集群;
[0037]第二重建模塊,用于從所述冗余集群中調度η個服務器給所述業務集群,并在所述業務集群中再次重建所述m個虛擬機;或
[0038]將所述m個虛擬機調度到所述冗余集群中,并在所述冗余集群中再次重建所述m個虛擬機;其中,η為大于I的整數。
[0039]結合第三方面,在第一種可能的實現方式中,所述V頂還包括:
[0040]第一恢復模塊,用于若檢測到所述源服務器恢復正常或被替換為新的服務器,指示所述VNFM將所述m個虛擬機迀移到所述源服務器或所述新的服務器上,以及將所述η個服務器調度回所述冗余集群;或
[0041]若所述V頂檢測到所述源服務器恢復正常或被替換為新的服務器,所述V頂將所述源服務器或所述新的服務器調度回所述冗余集群中。
[0042]結合第三方面,在第二種可能的實現方式中,所述V頂還包括:
[0043]第二恢復模塊,用于若檢測到所述源服務器恢復正常或被替換為新的服務器,所述V頂將所述m個虛擬機調度至所述源服務器上或新的服務器上。
[0044]結合第三方面至第二種可能的實現方式中的任意一種,在第三種可能的實現方式中,所述VIM還包括:
[0045]綁定模塊,用于根據所述VNFM發送的綁定請求將所述業務集群和所述冗余集群進行綁定,并保存所述業務集群和所述冗余集群的關聯關系;向所述VNFM返回表示綁定成功的反饋消息。
[0046]本發明實施例第四方面提供了一種虛擬機的重建裝置,所述重建裝置包括V頂和VNFM,其中,
[0047]當所述V頂檢測到第一業務集群中的源服務器發生故障時,向所述VNFM發出故障通知消息;
[0048]所述VNFM根據所述故障通知消息確定所述源服務器發生故障,并確定所述源服務器部署的m個虛擬機;
[0049]所述VNFM在所述第一業務集群中重建所述m個虛擬機,向所述V頂發送重建結果;
[0050]若所述第一業務集群的空閑資源不足導致所述m個虛擬機重建失敗,所述V頂查詢與所述第一業務集群關聯的第二業務集群;
[0051]所述V頂指示所述VNFM在所述第二業務集群中重建所述m個虛擬機;或
[0052]所述V頂從所述第二業務集群中調度η個服務器給所述第一業務集群,并指示所述VNFM再次在所述第二業務集群中重建所述m個虛擬機。
[0053]結合第四方面,在第一種可能的實現方式中,所述V頂還用于:
[0054]若檢測到所述源服