一种虚拟机热迁移策略的生成系统及其生成方法
文献发布时间:2023-06-19 09:57:26
技术领域
本发明涉及虚拟机技术领域,尤其涉及一种虚拟机热迁移策略的生成系统及其生成方法。
背景技术
虚拟化技术随着云计算的开展得到广泛应用,其中热迁移技术可以方便的将虚拟机在业务不中断的情况下,从一台物理机迁移到另一台物理机。在选取待迁移的虚拟机对象、以及迁移目的物理机时,云平台采用负载均衡策略或者节能策略,这些策略把每个虚拟机当成独立的个体考虑。事实上,同一物理机上可能运行的两个或两个以上的虚拟机存在关联性,这些存在关联性的虚拟机之间有密切的网络通信。如果热迁移策略不考虑虚拟机之间的关联性,会导致本来在同一物理机上的关联虚拟机,在热迁移后被分散到不同的物理机上,引起性能下降。因为同一物理机上的关联虚拟机之间,网络通信只在物理机内部的虚拟交换机上进行,网络通信性能优于跨物理机的网络通信场景。
现有虚拟机热迁移策略,以VMware产品为例,有DRS(Distributed ResourceScheduler)负载均衡策略和DPM(Distributed Power Management)电源节能策略,这些策略没有考虑虚拟机之间的关联性,导致热迁移后,同一物理机上的关联虚拟机被分散到不同物理机上,造成关联虚拟机之间网络通信性能下降。
发明内容
本发明提供了一种虚拟机热迁移策略的生成系统及其生成方法,以防止同一台源物理机上的关联虚拟机被分散到不同的目的物理机上,从而防止热迁移后的关联虚拟机之间的网络通信性能下降,确保热迁移后的关联虚拟机整体性能不下降。
第一方面,本发明提供了一种虚拟机热迁移策略的生成系统,该生成系统包括:一台源物理机、安装在源物理机上的虚拟机监视器(Hypervisor)。在虚拟机监视器上安装有多个虚拟机、以及关联虚拟机管理装置。其中,关联虚拟机管理装置用于根据多个虚拟机之间的网络通信情况,判断并记录多个虚拟机中是否存在至少一个关联虚拟机组;每个关联虚拟机组包括至少两个虚拟机,且每个关联虚拟机组中的任意一个虚拟机与该关联虚拟机组的其他虚拟机中的至少一个虚拟机之间具有关联性。该生成系统还包括与关联虚拟机管理装置通信连接的调度系统,该调度系统根据关联虚拟机管理装置的判断及记录结果,生成虚拟机热迁移策略。其中,该虚拟机热迁移策略包括将在同一个关联虚拟机组中的所有虚拟机迁移到同一台目的物理机。
在上述的方案中,通过设置关联虚拟机管理装置,以判断并记录多个虚拟机中是否存在至少一个关联虚拟机组,使调度系统根据关联虚拟机管理装置的判断及记录结果,生成包含有将同一个关联虚拟机组中的所有虚拟机迁移到同一台目的物理机的虚拟机热迁移策略。与现有技术中仅仅考虑DRS负载均衡策略和DPM电源节能策略的虚拟机热迁移策略相比,本申请的方案还考虑同一台源物理机上的多个虚拟机是否存在关联虚拟机组,所生成的虚拟机热迁移策略包括将在同一个关联虚拟机组中的所有虚拟机迁移到同一台目的物理机,从而防止同一台源物理机上的关联虚拟机被分散到不同的目的物理机上,从而防止热迁移后的关联虚拟机之间的网络通信性能下降,确保热迁移后的关联虚拟机整体性能不下降。
在一个具体的实施方式中,虚拟机监视器上还安装有虚拟交换机,多个虚拟机之间通过虚拟交换机进行网络通信。关联虚拟机管理装置通过虚拟交换机统计多个虚拟机之间的网络通信情况。
在一个具体的实施方式中,多个虚拟机中,如果两个虚拟机之间通过虚拟交换机进行网络通信的频次不小于设定阈值,则管理虚拟机管理装置将该两个虚拟机记录到同一个关联虚拟机组中。以便于判断任意两个虚拟机之间是否具有关联性。
在一个具体的实施方式中,虚拟交换机为OpenVSwitch(一种虚拟交换软件)。
在一个具体的实施方式中,关联虚拟机管理装置通过虚拟机监视器获取多个虚拟机中每个虚拟机所在的网卡MAC或VLAN地址(其中,MAC地址为Media Access ControlAddress,也称为硬件地址;VLAN地址为Virtual Local Area Network地址,也称为虚拟局域网地址),并根据虚拟交换机显示的各个虚拟机所在的网卡MAC或VLAN地址,识别并确认每个虚拟机。
在一个具体的实施方式中,调度系统为云平台调度系统。
第二方面,本发明还提供了一种基于上述虚拟机热迁移策略生成系统的生成方法,该生成方法包括:关联虚拟机管理装置根据多个虚拟机之间的网络通信情况,判断并记录多个虚拟机中是否存在至少一个关联虚拟机组;其中,每个关联虚拟机组包含至少两个虚拟机,且每个关联虚拟机组中的任意一个虚拟机与该关联虚拟机组的其他虚拟机中的至少一个虚拟机之间具有关联性。之后,调度系统根据关联虚拟机管理装置的判断及记录结果,生成虚拟机热迁移策略;其中,虚拟机热迁移策略包括将同一个关联虚拟机组中的所有虚拟机迁移到同一台目的物理机上。
在上述的方案中,通过关联虚拟机管理装置判断并记录多个虚拟机中是否存在至少一个关联虚拟机组,调度系统根据关联虚拟机管理装置的判断及记录结果,生成包含有将同一个关联虚拟机组中的所有虚拟机迁移到同一台目的物理机的虚拟机热迁移策略。与现有技术中仅仅考虑DRS负载均衡策略和DPM电源节能策略的虚拟机热迁移策略相比,本申请的方案还考虑同一台源物理机上的多个虚拟机是否存在关联虚拟机组,所生成的虚拟机热迁移策略包括将在同一个关联虚拟机组中的所有虚拟机迁移到同一台目的物理机,从而防止同一台源物理机上的关联虚拟机被分散到不同的目的物理机上,从而防止热迁移后的关联虚拟机之间的网络通信性能下降,确保热迁移后的关联虚拟机整体性能不下降。
在一个具体的实施方式方式中,虚拟机监视器上还安装有虚拟交换机,多个虚拟机之间通过虚拟交换机进行网络通信。关联虚拟机管理装置根据多个虚拟机之间的网络通信情况,判断并记录多个虚拟机中是否存在至少一个关联虚拟机包括:关联虚拟机管理装置通过虚拟交换机统计多个虚拟机之间的网络通信情况;关联虚拟机管理装置根据统计结果,判断并记录多个虚拟机中是否存在至少一个关联虚拟机组。
在一个具体的实施方式中,关联虚拟机管理装置根据统计结果,判断并记录多个虚拟机中是否存在至少一个关联虚拟机包括:多个虚拟机中,如果两个虚拟机之间通过虚拟交换机进行网络通信的频次不小于设定阈值,则关联虚拟机管理装置将该两个虚拟机记录到同一个关联虚拟机组中。以便于判断任意两个虚拟机之间是否具有关联性。
在一个具体的实施方式中,该生成方法还包括:关联虚拟机管理装置通过虚拟机监视器获取多个虚拟机中每个虚拟机所在的网卡MAC或VLAN地址,并根据虚拟交换机显示的各个虚拟机所在的网卡MAC或VLAN地址,识别并确认每个虚拟机。
第三方面,本发明还提供了一种虚拟机热迁移系统,该虚拟机热迁移系统包括上述任意一种虚拟机热迁移策略的生成系统、以及目的物理机。通过设置关联虚拟机管理装置,以判断并记录多个虚拟机中是否存在至少一个关联虚拟机组,使调度系统根据关联虚拟机管理装置的判断及记录结果,生成包含有将同一个关联虚拟机组中的所有虚拟机迁移到同一台目的物理机的虚拟机热迁移策略。与现有技术中仅仅考虑DRS负载均衡策略和DPM电源节能策略的虚拟机热迁移策略相比,本申请的方案还考虑同一台源物理机上的多个虚拟机是否存在关联虚拟机组,所生成的虚拟机热迁移策略包括将在同一个关联虚拟机组中的所有虚拟机迁移到同一台目的物理机,从而防止同一台源物理机上的关联虚拟机被分散到不同的目的物理机上,从而防止热迁移后的关联虚拟机之间的网络通信性能下降,确保热迁移后的关联虚拟机整体性能不下降。
附图说明
图1为本发明实施例提供的虚拟机热迁移策略的生成系统的示意框图;
图2为本发明实施例提供的虚拟机热迁移策略的生成方法的一种流程图;
图3为本发明实施例提供的虚拟机热迁移策略的生成方法的另一种流程图。
附图标记:
10-虚拟机监视器 11-关联虚拟机管理装置
12-虚拟交换机
20-虚拟机 30-调度系统
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了方便理解本发明实施例提供的虚拟机热迁移策略的生成系统,下面首先说明一下本发明实施例提供的虚拟机热迁移策略的生成系统的应用场景,虚拟机热迁移策略的生成系统用于生成虚拟机热迁移策略,其中,热迁移策略主要规划如何将一台源物理机上的多个虚拟机热迁移到目的物理机。下面结合附图对该虚拟机热迁移策略的生成系统进行详细的叙述。
参考图1,本发明实施例提供的生成系统包括一台源物理机(图中未示出),在源物理机上安装有虚拟机监视器10。在虚拟机监视器10上安装有多个虚拟机20,其中,虚拟机20的个数可以为2个、3个、4个、5个、7个等不少于2个的任意值。为了便于识别不同的虚拟机20,可以采用如图1所示的对虚拟机20进行编号的方式。虚拟机20的类型可以为任意类型,比如虚拟机20可以为Web Server虚拟机20,还可以为数据库虚拟机20。
继续参考图1,在虚拟机监视器10上还安装有关联虚拟机管理装置11,关联虚拟机管理装置11用于根据多个虚拟机20之间的网络通信情况,判断并记录多个虚拟机20中是否存在至少一个关联虚拟机组。其中,每个关联虚拟机组包括至少两个虚拟机20,且每个关联虚拟机组中的任意一个虚拟机20与该关联虚拟机组的其他虚拟机20中的至少一个虚拟机20之间具有关联性。
如图1所示的虚拟机20热迁移生成系统,该生成系统还包括与关联虚拟机管理装置11通信连接的调度系统30,参考图1及图2,该调度系统30根据关联虚拟机管理装置11的判断及记录结果,生成虚拟机热迁移策略。其中,该虚拟机热迁移策略包括将在同一个关联虚拟机组中的所有虚拟机20迁移到同一台目的物理机。通过设置关联虚拟机管理装置11,以判断并记录多个虚拟机20中是否存在至少一个关联虚拟机组,使调度系统30根据关联虚拟机管理装置11的判断及记录结果,生成包含有将同一个关联虚拟机组中的所有虚拟机20迁移到同一台目的物理机的虚拟机热迁移策略。与现有技术中仅仅考虑DRS负载均衡策略和DPM电源节能策略的虚拟机热迁移策略相比,本申请的方案还考虑同一台源物理机上的多个虚拟机20是否存在关联虚拟机组,所生成的虚拟机热迁移策略包括将在同一个关联虚拟机组中的所有虚拟机20迁移到同一台目的物理机,从而防止同一台源物理机上的关联虚拟机20被分散到不同的目的物理机上,从而防止热迁移后的关联虚拟机20之间的网络通信性能下降,确保热迁移后的关联虚拟机20整体性能不下降。
参考图1,在虚拟机监视器10上还可以安装有虚拟交换机12,多个虚拟机20之间通过虚拟交换机12进行网络通信。即同一台源物理机上的任意两个虚拟机20之间可以通过虚拟交换机12进行网络通信。具体的,每个虚拟机20可以通过虚拟交换机12与其他的虚拟机20进行东西向网络通信,还可以使虚拟机20与外部进行南北向网络通信。在设置虚拟交换机12时,该虚拟交换机12可以为OpenVSwitch,也可以为其他能够实现任意两个虚拟机20进行网络通信的交换机。
另外,关联虚拟机管理装置11可以通过虚拟机监视器10获取多个虚拟机20中每个虚拟机20所在的网卡MAC或VLAN地址,并根据虚拟交换机12显示的各个虚拟机20所在的网卡MAC或VLAN地址,识别并确认每个虚拟机20。由于虚拟交换机12上显示的是各个虚拟机20所在的网卡MAC或VLAN地址,关联虚拟机管理装置11可以通过虚拟机监视器10获取每个虚拟机20所在的网卡MAC或VLAN地址,之后结合虚拟交换机12上显示的各个虚拟机20所在的网卡MAC或VLAN地址,确认并识别每个虚拟机20。
关联虚拟机管理装置11在统计多个虚拟机20之间的网络通信情况时,参考图1及图3,关联虚拟机管理装置11可以通过虚拟交换机12统计多个虚拟机20之间的网络通信情况。例如,参考图3,关联虚拟机管理装置11可以通过虚拟交换机12统计任意两个虚拟交换机12之间的网络通信情况。之后,根据统计结果,判断并记录多个虚拟机20中是否存在至少一个关联虚拟机组。
在具体判断多个虚拟机20中是否存在至少一个关联虚拟机组时,多个虚拟机20中,如果两个虚拟机20之间通过虚拟交换机12进行网络通信的频次不小于设定阈值,则管理虚拟机20管理装置可以将该两个虚拟机20记录到同一个关联虚拟机组中。以便于判断任意两个虚拟机20之间是否具有关联性。即可以通过判断任意两个虚拟机20之间的网络通信频次,来判断两个虚拟机20之间是否存在关联性。其中,设定阈值的大小具体与源物理机的硬件性能、网络通信的带宽、虚拟机20具体运行的环境等因素有关。当然,还可以通过判断任意两个虚拟机20之间的网络通信的数据传输包大小等其他指标,来判断两个虚拟机20之间是否具有关联性。需要解释的是,划分到同一个关联虚拟机组中的虚拟机20只需与该关联虚拟机组中的其他虚拟机20中的至少一个虚拟机20具有关联性即可,并不要求该虚拟机20与同一关联虚拟机组中的其他的所有虚拟机20都具有关联性。
在设定调度系统30时,参考图1,该调度系统30可以为云平台调度系统,当然,还可以为其他能够生成热迁移策略,并对虚拟机20进行热迁移的调度系统。
通过设置关联虚拟机管理装置11,以判断并记录多个虚拟机20中是否存在至少一个关联虚拟机组,使调度系统30根据关联虚拟机管理装置11的判断及记录结果,生成包含有将同一个关联虚拟机组中的所有虚拟机20迁移到同一台目的物理机的虚拟机热迁移策略。与现有技术中仅仅考虑DRS负载均衡策略和DPM电源节能策略的虚拟机热迁移策略相比,本申请的方案还考虑同一台源物理机上的多个虚拟机20是否存在关联虚拟机组,所生成的虚拟机热迁移策略包括将在同一个关联虚拟机组中的所有虚拟机20迁移到同一台目的物理机,从而防止同一台源物理机上的关联虚拟机20被分散到不同的目的物理机上,从而防止热迁移后的关联虚拟机20之间的网络通信性能下降,确保热迁移后的关联虚拟机20整体性能不下降。
另外,本发明实施例还提供了一种基于上述虚拟机热迁移策略生成系统的生成方法,参考图1及图2,该生成方法包括:
Step10:关联虚拟机管理装置11根据多个虚拟机20之间的网络通信情况,判断并记录多个虚拟机20中是否存在至少一个关联虚拟机组;其中,每个关联虚拟机组包含至少两个虚拟机20,且每个关联虚拟机组中的任意一个虚拟机20与该关联虚拟机组的其他虚拟机20中的至少一个虚拟机20之间具有关联性;
Step20:调度系统30根据关联虚拟机管理装置11的判断及记录结果,生成虚拟机热迁移策略;其中,虚拟机热迁移策略包括将同一个关联虚拟机组中的所有虚拟机20迁移到同一台目的物理机上。
通过关联虚拟机管理装置11判断并记录多个虚拟机20中是否存在至少一个关联虚拟机组,调度系统30根据关联虚拟机管理装置11的判断及记录结果,生成包含有将同一个关联虚拟机组中的所有虚拟机20迁移到同一台目的物理机的虚拟机热迁移策略。与现有技术中仅仅考虑DRS负载均衡策略和DPM电源节能策略的虚拟机热迁移策略相比,本申请的方案还考虑同一台源物理机上的多个虚拟机20是否存在关联虚拟机组,所生成的虚拟机热迁移策略包括将在同一个关联虚拟机组中的所有虚拟机20迁移到同一台目的物理机,从而防止同一台源物理机上的关联虚拟机20被分散到不同的目的物理机上,从而防止热迁移后的关联虚拟机20之间的网络通信性能下降,确保热迁移后的关联虚拟机20整体性能不下降。
参考图1,可以在虚拟机监视器10上安装虚拟交换机12,多个虚拟机20之间通过虚拟交换机12进行网络通信。即同一台源物理机上的任意两个虚拟机20之间可以通过虚拟交换机12进行网络通信。具体的,每个虚拟机20可以通过虚拟交换机12与其他的虚拟机20进行东西向网络通信,还可以使虚拟机20与外部进行南北向网络通信。在设置虚拟交换机12时,该虚拟交换机12可以为OpenVSwitch,也可以为其他能够实现任意两个虚拟机20进行网络通信的交换机。
关联虚拟机管理装置11根据多个虚拟机20之间的网络通信情况,判断并记录多个虚拟机20中是否存在至少一个关联虚拟机20时,参考图3,关联虚拟机管理装置11可以先通过虚拟交换机12统计多个虚拟机20之间的网络通信情况。之后,关联虚拟机管理装置11根据统计结果,判断并记录多个虚拟机20中是否存在至少一个关联虚拟机组。
关联虚拟机管理装置11在根据统计结果,判断并记录多个虚拟机20中是否存在至少一个关联虚拟机20时,运行在同一台源物理机上的多个虚拟机20中,如果两个虚拟机20之间通过虚拟交换机12进行网络通信的频次不小于设定阈值,则关联虚拟机管理装置11将该两个虚拟机20记录到同一个关联虚拟机组中。以便于判断任意两个虚拟机20之间是否具有关联性。即可以通过判断任意两个虚拟机20之间的网络通信频次,来判断两个虚拟机20之间是否存在关联性。其中,设定阈值的大小具体与源物理机的硬件性能、网络通信的带宽、虚拟机20具体运行的环境等因素有关。当然,还可以通过判断任意两个虚拟机20之间的网络通信的数据传输包大小等其他指标,来判断两个虚拟机20之间是否具有关联性。需要解释的是,划分到同一个关联虚拟机组中的虚拟机20只需与该关联虚拟机组中的其他虚拟机20中的至少一个虚拟机20具有关联性即可,并不要求该虚拟机20与同一关联虚拟机组中的其他的所有虚拟机20都具有关联性。
另外,关联虚拟机管理装置11可以通过虚拟机监视器10获取多个虚拟机20中每个虚拟机20所在的网卡MAC或VLAN地址,并根据虚拟交换机12显示的各个虚拟机20所在的网卡MAC或VLAN地址,识别并确认每个虚拟机20。由于虚拟交换机12上显示的是各个虚拟机20所在的网卡MAC或VLAN地址,关联虚拟机管理装置11可以通过虚拟机监视器10获取每个虚拟机20所在的网卡MAC或VLAN地址,之后结合虚拟交换机12上显示的各个虚拟机20所在的网卡MAC或VLAN地址,确认并识别每个虚拟机20。
另外,本发明实施例还提供了一种虚拟机20热迁移系统,参考图1,该虚拟机20热迁移系统包括上述任意一种虚拟机热迁移策略的生成系统、以及目的物理机。通过设置关联虚拟机管理装置11,以判断并记录多个虚拟机20中是否存在至少一个关联虚拟机组,使调度系统30根据关联虚拟机管理装置11的判断及记录结果,生成包含有将同一个关联虚拟机组中的所有虚拟机20迁移到同一台目的物理机的虚拟机热迁移策略。与现有技术中仅仅考虑DRS负载均衡策略和DPM电源节能策略的虚拟机热迁移策略相比,本申请的方案还考虑同一台源物理机上的多个虚拟机20是否存在关联虚拟机组,所生成的虚拟机热迁移策略包括将在同一个关联虚拟机组中的所有虚拟机20迁移到同一台目的物理机,从而防止同一台源物理机上的关联虚拟机20被分散到不同的目的物理机上,从而防止热迁移后的关联虚拟机20之间的网络通信性能下降,确保热迁移后的关联虚拟机20整体性能不下降。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
- 一种虚拟机热迁移策略的生成系统及其生成方法
- 一种基于混合虚拟化的终端虚拟机生成系统及方法