CN116841688A - 虚拟机故障迁移方法、装置及其应用 - Google Patents
虚拟机故障迁移方法、装置及其应用 Download PDFInfo
- Publication number
- CN116841688A CN116841688A CN202210305273.1A CN202210305273A CN116841688A CN 116841688 A CN116841688 A CN 116841688A CN 202210305273 A CN202210305273 A CN 202210305273A CN 116841688 A CN116841688 A CN 116841688A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- host
- node
- candidate node
- expected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013508 migration Methods 0.000 title claims abstract description 130
- 230000005012 migration Effects 0.000 title claims abstract description 130
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012544 monitoring process Methods 0.000 claims abstract description 42
- 238000012216 screening Methods 0.000 claims abstract description 19
- 230000015654 memory Effects 0.000 claims description 145
- 230000002093 peripheral effect Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000007774 longterm Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及IT基础领域,提供一种虚拟机故障迁移方法、装置及其应用。所述方法包括:获取待迁移虚拟机的虚拟机配置信息,根据虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表;获取候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载;根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将待迁移虚拟机迁移至目标迁移节点。本申请实施例提供的虚拟机故障迁移方法可以解决因宿主机节点的资源使用情况评估不准确而造成虚拟机迁移节点并非最优节点的技术问题。
Description
技术领域
本申请涉及IT基础技术领域,具体涉及一种虚拟机故障迁移方法、装置及其应用。
背景技术
目前,云计算已广泛应用于各个行业领域,云计算的显著特征之一是计算、存储以及网络资源的虚拟化,借助虚拟化技术,多个业务系统可以运行在同一台物理服务器上,在实际应用过程中,难免会发生物理服务器故障的情况,而当物理服务器出现故障无法提供虚拟化服务时,需要在其他无故障的物理服务器上重建虚拟机并恢复运行,从而实现虚拟机的故障迁移,避免虚拟机丢失或损坏,避免影响用户的正常使用。
在现有技术中,通常会先选出待重建恢复的虚拟机,根据该虚拟机的配置信息筛选出剩余资源以及重建能力满足要求的若干宿主机节点,进而将若干宿主机节点按实时剩余资源的多少进行排列,在其中找出最空闲的节点,在该最空闲的节点上重建虚拟机并启动虚拟机,从而完成虚拟机的故障迁移。
上述现有技术中存在以下缺点:
该现有技术是根据实时剩余资源来选取空闲节点的,但宿主机节点的资源使用情况是动态变化的,导致剩余资源也是动态变化的,容易发生在进行虚拟机的故障迁移时,对宿主机节点的剩余资源评估不准,而导致当前所选的空闲节点并非最空闲节点的情况,影响虚拟机在所选节点上的重建后的性能。
发明内容
本申请实施例提供一种虚拟机故障迁移方法,用以解决因宿主机节点的资源使用情况评估不准确而造成虚拟机迁移节点并非最优节点的技术问题。
第一方面,本申请实施例提供一种虚拟机故障迁移方法,包括:
获取待迁移虚拟机的虚拟机配置信息,根据虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表;
获取候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载;
根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将待迁移虚拟机迁移至目标迁移节点。
在一个实施例中,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载,包括:
根据每一候选节点的虚拟机性能监控数据确定每一候选节点的虚拟机使用期望值;虚拟机使用期望值包括虚拟机CPU使用期望值以及虚拟机内存使用期望值;
根据虚拟机CPU使用期望值以及虚拟机内存使用期望值确定每一候选节点对应的宿主机期望负载。
在一个实施例中,根据每一候选节点的虚拟机性能监控数据确定每一候选节点的虚拟机使用期望值,包括:
在每一候选节点的虚拟机性能监控数据中提取N个虚拟机CPU实时使用率以及M个虚拟机内存实时使用率,N和M均为大于1的整数;
确定N个虚拟机CPU实时使用率的中位数,得到每一候选节点的虚拟机CPU使用期望值;
确定M个虚拟机内存实时使用率的中位数,得到每一候选节点的虚拟机内存使用期望值。
在一个实施例中,根据虚拟机CPU使用期望值以及虚拟机内存使用期望值确定每一候选节点对应的宿主机期望负载,包括:
根据每一候选节点的虚拟机CPU使用期望值确定每一候选节点对应的宿主机CPU使用期望值;
根据每一候选节点的虚拟机内存使用期望值确定每一候选节点对应的宿主机内存使用期望值;
根据每一候选节点的宿主机CPU使用期望值以及宿主机内存使用期望值确定每一候选节点对应的宿主机期望负载。
在一个实施例中,根据每一候选节点的虚拟机CPU使用期望值确定每一候选节点对应的宿主机CPU使用期望值,包括:
获取每一候选节点的CPU核心数;
分别获取每一候选节点上承载的各个虚拟机的vCPU核心数;
根据每一候选节点上承载的各个虚拟机对应的虚拟机CPU使用期望值、每一候选节点上承载的各个虚拟机的vCPU核心数以及每一候选节点的CPU核心数确定每一候选节点对应的宿主机CPU使用期望值;
确定宿主机CPU使用期望值的计算公式如下:
Pavgp=(Pavg1*Cv1+Pavg2*Cv2+…)/Cp
其中,Pavgp为宿主机CPU使用期望值,Pavg1为每一候选节点上第一个虚拟机对应的虚拟机CPU使用期望值,Cv1为每一候选节点上第一个虚拟机对应的vCPU核心数,Pavg2为每一候选节点上第二个虚拟机对应的虚拟机CPU使用期望值,Cv2为每一候选节点上第二个虚拟机对应的vCPU核心数,Cp为CPU核心数。
在一个实施例中,根据每一候选节点的虚拟机内存使用期望值确定每一候选节点对应的宿主机内存使用期望值,包括:
获取每一候选节点的内存总额值;
分别获取每一候选节点上承载的各个虚拟机的内存分配值;
根据每一候选节点上承载的各个虚拟机对应的虚拟机内存使用期望值、每一候选节点上承载的各个虚拟机的内存分配值以及每一候选节点的内存总额值确定每一候选节点对应的宿主机内存使用期望值;
确定宿主机内存使用期望值的计算公式如下:
Mavgp=(Mavg1*Mv1+Mavg2*Mv2+…)/Mp
其中,Mavgp为宿主机内存使用期望值,Mavg1为每一候选节点上第一个虚拟机对应的虚拟机内存使用期望值,Mv1为每一候选节点上第一个虚拟机对应的内存分配值,Mavg2为每一候选节点上第二个虚拟机对应的虚拟机内存使用期望值,Mv2为每一候选节点上第二个虚拟机对应的内存分配值,Mp为内存总额值。
在一个实施例中,根据每一候选节点的宿主机CPU使用期望值以及宿主机内存使用期望值确定每一候选节点对应的宿主机期望负载,包括:
将每一候选节点的宿主机CPU使用期望值以及宿主机内存使用期望值进行加权平均,得到每一候选节点对应的宿主机期望负载;宿主机CPU使用期望值对应的权值小于宿主机内存使用期望值对应的权值。
在一个实施例中,根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,包括:
在所有的候选节点对应的宿主机期望负载中确定宿主机期望负载最低的两个节点,得到第一待选节点和第二待选节点;
将第一待选节点对应的宿主机内存使用期望值减去第二待选节点对应的宿主机内存使用期望值,得到内存期望差值;
若内存期望差值小于或等于第一预设比例,则将第一待选节点对应的宿主机CPU使用期望值减去第二待选节点对应的宿主机CPU使用期望值,得到CPU期望差值;
若CPU期望差值小于或等于第二预设比例,则第一待选节点上承载的虚拟机数量减去第二待选节点上承载的虚拟机数量,得到虚拟机数量差;
若虚拟机数量差小于或等于预设差值,则确定第一待选节点和第二待选节点中宿主机内存使用期望值较小的节点为目标迁移节点;
第一预设比例和第二预设比例大于零,预设差值为正整数。
在一个实施例中,虚拟机配置信息包含vCPU架构类型、vCPU指令集、配置内存、网络配置以及外设配置;
根据虚拟机配置信息筛选宿主机集群中的宿主机节点,包括:
获取宿主机节点的宿主机CPU架构类型、宿主机支持指令集、剩余内存、虚拟交换机配置以及外设组件互连性能;
若宿主机CPU架构类型与vCPU架构类型匹配,且宿主机支持指令集与vCPU指令集兼容,且剩余内存大于配置内存,且虚拟交换机配置承载网络配置信息,且外设组件互连性能能够满足外设配置,则确定宿主机节点为候选节点。
在一个实施例中,根据宿主机期望负载确定目标迁移节点之后,包括:
确定待迁移虚拟机列表中是否存在待迁移虚拟机,若存在,则执行获取待迁移虚拟机的虚拟机配置信息,至将待迁移虚拟机迁移至目标迁移节点的步骤,直至待迁移虚拟机列表不存在待迁移虚拟机。
第二方面,本申请实施例提供一种虚拟机故障迁移装置,包括:
宿主机筛选模块,用于获取待迁移虚拟机的虚拟机配置信息,根据虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表;
宿主机期望负载确定模块,用于获取候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载;
虚拟机迁移模块,用于根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将待迁移虚拟机迁移至目标迁移节点。
第三方面,本申请实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,处理器执行程序时实现第一方面所述的虚拟机故障迁移方法的步骤。
第四方面,本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现第一方面所述的虚拟机故障迁移方法的步骤。
本申请提供的技术方案可以包括以下有益效果:
通过获取待迁移虚拟机的虚拟机配置信息,根据虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表,进而获取候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载,根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将待迁移虚拟机迁移至目标迁移节点,能够准确有效体现出候选节点的长期负载水平,避免了采用实时负载来评估资源使用情况而导致评估结果不准确,造成目标迁移节点选取不准确的情况出现,提升虚拟机故障迁移的精准度,避免虚拟机丢失或损坏,提升虚拟机在所选节点上的重建后的性能。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的虚拟机故障迁移方法的流程示意图之一;
图2是本申请实施例提供的虚拟机故障迁移方法的流程示意图之二;
图3是本申请实施例提供的虚拟机故障迁移方法的流程示意图之三;
图4是本申请实施例提供的虚拟机故障迁移方法的流程示意图之四;
图5是本申请实施例提供的虚拟机故障迁移装置的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的虚拟机故障迁移方法的流程示意图之一。参照图1,本申请实施例提供一种虚拟机故障迁移方法,可以包括:
步骤101、获取待迁移虚拟机的虚拟机配置信息,根据虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表。
具体地,当一台物理主机,即宿主机出现故障,无法提供虚拟化服务时,该宿主机上承载的需要进行故障迁移的虚拟机即为待迁移虚拟机,进行故障迁移的目的可以包含有防止虚拟机丢失或损坏,防止虚拟机中断提供服务而导致用户的使用受到影响,从而确保宿主机级别的高可用。
而实现宿主机级别的高可用,需要将多台宿主机组成一个集群,即宿主机集群,每台宿主机作为集群中的节点,即宿主机节点,连接到一个共享存储设备上,集群内的所有虚拟机的磁盘数据都保存在共享存储上,因此,在本申请实施例中,虚拟机配置信息可以从该共享存储上进行调用获取。当宿主机集群中某一个宿主机节点发生故障时,可以通过宿主机集群中的控制节点根据该虚拟机配置信息筛选出其它健康可用的宿主机节点,在其它健康可用的宿主机节点上重建和回复虚拟机,从而实现虚拟机的故障迁移,其中,该控制节点可以是宿主机集群外的管理系统,也可以是宿主机集群内的某台被集群协议自动选举出来的宿主机节点,可以理解的是,控制节点的确定方式是多样的,需根据实际应用情况进行确定,此处不作唯一限定。
也可以理解的是,为了将虚拟机的磁盘数据进行保存,宿主机集群需要对集群内的每一宿主机节点的运行状态进行实时监控,该运行状态包括但不限于计算、存储和网络等资源状态,在监控的同时,当发现宿主机节点出现异常时,可以触发虚拟机执行故障迁移,从而触发获取待迁移虚拟机的虚拟机配置信息。
在本申请实施例中,可以理解的是,能够执行重建和恢复虚拟机的健康可用的宿主机节点可能是具有多个的,也可能是只有一个,需根据实际应用情况而定,因此可以将经过筛选后的宿主机节点汇总整合成候选节点列表,使得该候选节点列表的每一候选节点均是满足承载待迁移虚拟机硬性需求的宿主机节点,避免增加选取最优目标迁移节点的运算成本,提升迁移效率。
步骤102、获取候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载。
具体地,在本申请实施例中,确定目标迁移节点的判断原则即是确定最空闲的宿主机节点,而空闲程度的定义指标是剩余可用资源数量或比例,该剩余可用资源数量或比例可以包含但不限于剩余CPU资源数量或比例,以及剩余内存资源数量或比例,需根据实际应用情况而定,不作唯一限定。可以理解的是,剩余可用资源数量或比例与宿主机的负载成反比例,即宿主机的负载越大,剩余可用资源数量或比例则越小。
由于承载于宿主机节点上的虚拟机的资源使用情况会因为其承载业务系统的负载而变化,在1小时、1天、1周甚至1个月的周期之内动态变化,而不同的业务系统的负载波动性的变化周期及幅度也不同,因而通过监控宿主机节点的实时负载情况难以准确体现虚拟机及所在宿主机节点的长期负载水平,容易造成宿主机节点的负载情况以及剩余使用资源情况评估不准确的问题。
在本申请实施例中,会对与候选节点列表中每一候选节点对应的虚拟机性能监控数据进行获取,可以理解的是,该虚拟机性能监控数据是长期保存和记录的数据集,通过该虚拟机性能监控数据能够得知对应的候选节点上的虚拟机的长期运行状态,从而能够预估该候选节点的长期负载状态,从而得出该候选节点的宿主机期望负载,有效提升宿主机节点的长期负载水平的评估准确度。
步骤103、根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将待迁移虚拟机迁移至目标迁移节点。
在本申请实施例中,可以对所有的候选节点对应的宿主机期望负载进行排序,选择宿主机期望负载最低的宿主机节点来作为目标迁移节点,这是由于宿主机期望负载最低,则说明剩余可用资源数量或比例处于相对较高的水平,可以以其作为待迁移虚拟机的目标迁移节点,可以理解的是,在实际应用中,也可以根据宿主机期望负载通过其他的方式来确定目标迁移节点,需根据实际应用情况而定,此处不作唯一限定。
在确定目标迁移节点后,将待迁移虚拟机在该目标迁移节点上重建和恢复,从而实现虚拟机的故障迁移。
从上述实施例一中可以看出以下有益效果:
通过获取待迁移虚拟机的虚拟机配置信息,根据虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表,进而获取候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载,根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将待迁移虚拟机迁移至目标迁移节点,能够准确有效体现出候选节点的长期负载水平,避免了采用实时负载来评估资源使用情况而导致评估结果不准确,造成目标迁移节点选取不准确的情况出现,提升虚拟机故障迁移的精准度,避免虚拟机丢失或损坏,提升虚拟机在所选节点上的重建后的性能。
为了便于理解,以下提供了虚拟机故障迁移方法的一个实施例来进行说明,在实际应用中,会通过虚拟机CPU使用期望值、虚拟机内存使用期望值、宿主机CPU使用期望值以及宿主机内存使用期望值这些指标参数来确定宿主机期望负载,更好地解决宿主机节点的长期负载水平评估不准的问题。
图2为本申请实施例提供的虚拟机故障迁移方法的流程示意图之二。参照图2,本申请提供的一种虚拟机故障迁移方法的实施例二,可以包括:
在根据候选节点列表获取各个候选节点的虚拟机性能监控数据后,分别对各个虚拟机性能监控数据进行期望负载分析,其中,期望负载分析具体为:
步骤201、根据每一候选节点的虚拟机性能监控数据确定每一候选节点的虚拟机使用期望值。
虚拟机性能监控数据为在预设周期内的虚拟机的实时性能采样数据,在本申请实施例中,该预设周期可以设定为一周,可以理解的是,预设周期的设定时长可以根据计算量大小以及大多数业务系统的负载周期性特点等实际应用情况来进行设置,此处不作唯一限定。
其中,虚拟机使用期望值可以包括但不限于虚拟机CPU使用期望值以及虚拟机内存使用期望值,CPU即是中央处理器(central processing unit,简称CPU),作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。在确定虚拟机CPU使用期望值以及虚拟机内存使用期望值时,分别在在每一候选节点的虚拟机性能监控数据中提取N个虚拟机CPU实时使用率以及M个虚拟机内存实时使用率,N和M均为大于1的整数,可以理解的是,可以将预设周期内的所有虚拟机CPU实时使用率和所有虚拟机内存实时使用率进行提取,也可以在预设周期在截取一段时长,将该时长中的虚拟机CPU实时使用率以及虚拟机内存实时使用率进行提取,进一步地,虚拟机CPU实时使用率的提取数量N和虚拟机内存实时使用率的提取数量M可以是一致的,也可以是不一致的,在实际应用中,提取方式是多样的,需根据实际应用情况确定合适的提取方式,此处不作唯一限定。
为了减少极端值的影响,在本申请实施例中,可以通过确定N个虚拟机CPU实时使用率的中位数,得到每一候选节点对应的虚拟机CPU使用期望值,通过确定M个虚拟机内存实时使用率的中位数,得到每一候选节点对应的虚拟机内存使用期望值。可以通过以下表达式来进行表示:
Pavg=Median(P1,P2,P3,…,Pk,…,Pn);
Mavg=Median(M1,M2,M3,…,Mk,…,Mm);
其中,Pavg为虚拟机CPU使用期望值,Pk为N个虚拟机CPU实时使用率中第k个虚拟机CPU实时使用率,Pn为N个虚拟机CPU实时使用率中第N个虚拟机CPU实时使用率,Mavg为虚拟机内存使用期望值,Mk为M个虚拟机内存实时使用率中第k个虚拟机内存实时使用率,Mm为M个虚拟机内存实时使用率中第M个虚拟机内存实时使用率,Median为取中位数的函数符号。
可以理解的是,减少极端值的影响的方式是多样的,取中位数为其中一种方式,在实际应用中,需根据实际应用情况选择合适的减少极端值影响的方式,此处不作唯一限定。
步骤202、根据每一候选节点的虚拟机CPU使用期望值确定每一候选节点对应的宿主机CPU使用期望值。
获取每一候选节点的CPU核心数,CPU核心数是指中央处理器核心单元组的数量,是宿主机的设备出厂数据中记载的其中一项数据。
分别获取每一候选节点上承载的各个虚拟机的vCPU核心数,vCPU即是虚拟处理器,是指分配给虚拟机的物理的中央处理单元。
可以理解的是,获取CPU核心数和获取vCPU核心数可以是同时进行,也可以是先后进行,需根据实际应用情况而定,此处不作唯一限定。
在虚拟化的资源池中,宿主机上承载的虚拟机是随时会变化的,其资源使用情况主要受承载的虚拟机的数量及种类影响,周期性不再明显,因此,需要根据每一候选节点上承载的各个虚拟机对应的虚拟机CPU使用期望值、每一候选节点上承载的各个虚拟机的vCPU核心数以及每一候选节点的CPU核心数确定每一候选节点对应的宿主机CPU使用期望值,在本申请实施例中,示例性的,确定宿主机CPU使用期望值的计算公式如下:
Pavgp=(Pavg1*Cv1+Pavg2*Cv2+…)/Cp
其中,Pavgp为宿主机CPU使用期望值,可以理解的是,每一台宿主机上可以同时承载有多个虚拟机,Pavg1为每一候选节点上第一个虚拟机对应的虚拟机CPU使用期望值,Cv1为每一候选节点上第一个虚拟机对应的vCPU核心数,Pavg2为每一候选节点上第二个虚拟机对应的虚拟机CPU使用期望值,Cv2为每一候选节点上第二个虚拟机对应的vCPU核心数,以此类推,Cp为CPU核心数。
可以理解的是,确定宿主机CPU使用期望值的方式是多样的,采用上述计算公式确定宿主机CPU使用期望值的方式仅为示例性的,在实际应用中,需根据实际应用情况确定合适的方式,此处不作唯一限定。
步骤203、根据每一候选节点的虚拟机内存使用期望值确定每一候选节点对应的宿主机内存使用期望值。
获取每一候选节点的内存总额值;分别获取每一候选节点上承载的各个虚拟机的内存分配值,可以理解的是,获取内存总额值和获取内存分配值可以是同时进行,也可以是先后进行,需根据实际应用情况而定,此处不作唯一限定。
同样地,需要根据每一候选节点上承载的各个虚拟机对应的虚拟机内存使用期望值、每一候选节点上承载的各个虚拟机的内存分配值以及每一候选节点的内存总额值确定每一候选节点对应的宿主机内存使用期望值。在本申请实施例中,示例性的,确定宿主机内存使用期望值的计算公式如下:
Mavgp=(Mavg1*Mv1+Mavg2*Mv2+…)/Mp
其中,Mavgp为宿主机内存使用期望值,可以理解的是,每一台宿主机上可以同时承载有多个虚拟机,Mavg1为每一候选节点上第一个虚拟机对应的虚拟机内存使用期望值,Mv1为每一候选节点上第一个虚拟机对应的内存分配值,Mavg2为每一候选节点上第二个虚拟机对应的虚拟机内存使用期望值,Mv2为每一候选节点上第二个虚拟机对应的内存分配值,以此类推,Mp为内存总额值。
可以理解的是,步骤202和步骤203之间并无严格的时序关系,在实际应用中,步骤202和步骤203可以同时执行,也可以先后执行,不作唯一限定。
步骤204、根据每一候选节点的宿主机CPU使用期望值以及宿主机内存使用期望值确定每一候选节点对应的宿主机期望负载。
将每一候选节点的宿主机CPU使用期望值以及宿主机内存使用期望值进行加权平均,得到每一候选节点对应的宿主机期望负载,可以理解的是,相较而言,在实际应用中内存资源不足对用户业务系统的影响更大,因此可以设置宿主机CPU使用期望值对应的权值小于宿主机内存使用期望值对应的权值,优选地,宿主机CPU使用期望值对应的权值可以设置为0.8,而宿主机内存使用期望值对应的权值可以设置为1.2,也可以理解的是,权值的设定方式是多样的,需根据实际应用情况进行设定,此处不作唯一限定。
从上述实施例中可以看出以下有益效果:
通过根据每一候选节点的虚拟机性能监控数据确定每一候选节点的虚拟机使用期望值,进而确定宿主机CPU使用期望值以及宿主机内存使用期望值,根据每一候选节点的宿主机CPU使用期望值以及宿主机内存使用期望值确定每一候选节点对应的宿主机期望负载,能够准确有效体现出候选节点的长期负载水平,避免了采用实时负载来评估资源使用情况而导致评估结果不准确,造成目标迁移节点选取不准确的情况出现,提升虚拟机故障迁移的精准度。
为了便于理解,以下提供了虚拟机故障迁移方法的一个实施例来进行说明,在实际应用中,在根据宿主机期望负载确定目标迁移节点时,会综合考虑宿主机CPU使用期望值、宿主机内存使用期望值以及承载虚拟机数量的情况,对宿主机期望负载最低的两个节点进行精细化筛选,从而能够进一步提升目标迁移节点的选取准确度。
图3为本申请实施例提供的虚拟机故障迁移方法的流程示意图之三。参照图3,本申请提供的一种虚拟机故障迁移方法的实施例三,可以包括:
步骤301、在所有的候选节点对应的宿主机期望负载中确定宿主机期望负载最低的两个节点,得到第一待选节点和第二待选节点。
在确定全部候选节点对应的宿主机期望负载后,可以将宿主机期望负载进行排序,选取宿主机期望负载最低的两个节点,即分别得到第一待选节点和第二待选节点,作为精细化筛选的对象。
步骤302、确定第一待选节点和第二待选节点之间的内存期望差值,根据内存期望差值确定目标迁移节点。
将第一待选节点对应的宿主机内存使用期望值减去第二待选节点对应的宿主机内存使用期望值,得到内存期望差值,若内存期望差值大于第一预设比例,则确定第二待选节点为目标迁移节点,在本申请实施例中,第一预设比例大于零,第一预设比例的取值可以为5%,在实际应用中,第一预设比例的取值可以根据实际应用情况进行设定,此处不作唯一限定。可以理解的是,在宿主机期望负载最低的两个节点之间,会优先选择宿主机内存使用期望值更低的节点来作为目标迁移节点。
步骤303、若内存期望差值无法确定目标迁移节点,则确定第一待选节点和第二待选节点之间的CPU期望差值,根据CPU期望差值确定目标迁移节点。
若内存期望差值小于或等于第一预设比例,则将第一待选节点对应的宿主机CPU使用期望值减去第二待选节点对应的宿主机CPU使用期望值,得到CPU期望差值,若CPU期望差值大于第二预设比例,则确定第二待选节点为目标迁移节点,在本申请实施例中,第二预设比例大于零,第二预设比例的取值可以与第一预设比例的取值一致,均为5%,也可以与第一预设比例取值不一致,需根据实际应用情况来进行确定,此处不作唯一限定。可以理解的是,在第一待选节点和第二待选节点的宿主机内存使用期望值差距不大时,会优选宿主机CPU使用期望值更低的节点来作为目标迁移节点,而宿主机CPU使用期望值的考虑优先级会比宿主机内存使用期望值低。
步骤304、若CPU期望差值无法确定目标迁移节点,则确定第一待选节点和第二待选节点之间的虚拟机数量差,根据虚拟机数量差确定目标迁移节点。
若CPU期望差值小于或等于第二预设比例,还会考虑到宿主机节点承载的虚拟机越多,实际资源消耗更大的可能性也越大,则第一待选节点上承载的虚拟机数量减去第二待选节点上承载的虚拟机数量,得到虚拟机数量差,若虚拟机数量差大于预设差值,则确定第二待选节点为目标迁移节点,在本申请实施例中,预设差值为正整数,预设差值的取值可以为3,在实际应用中,预设差值的取值可以根据实际应用情况进行设定,此处不作唯一限定。可以理解的是,在第一待选节点和第二待选节点的宿主机内存使用期望值差距以及宿主机CPU使用期望值差距不大时,还会选择承载虚拟机数量更少的节点来作为目标迁移节点。
步骤305、若虚拟机数量差小于或等于预设差值,则确定第一待选节点和第二待选节点中宿主机内存使用期望值较小的节点为目标迁移节点。
在第一待选节点和第二待选节点的宿主机内存使用期望值差距、宿主机CPU使用期望值差距以及承载虚拟机数量差距均不大时,还是会优先考虑第一待选节点和第二待选节点的宿主机内存使用期望值差距的情况,在第一待选节点和第二待选节点之间选择宿主机内存使用期望值较小的节点为目标迁移节点,因为相较而言,在实际应用中内存资源不足对用户业务系统的影响更大。
步骤306、完成待迁移虚拟机列表中待迁移虚拟机的故障迁移。
在本申请实施例中,待迁移虚拟机列表为待迁移虚拟机汇总而成的列表,在选定目标迁移节点后,在该目标迁移节点上重建和恢复待迁移虚拟机,但为了增加迁移效率,无需等待待迁移虚拟机的重建和恢复步骤执行完毕,将该虚拟机视为该目标迁移节点上正在运行的虚拟机,避免在目标迁移节点上预留过多资源数量或比例的情况,防止宿主机资源快速假性耗尽,影响虚拟机的故障迁移效率,而可以立即执行确定待迁移虚拟机列表中是否存在待迁移虚拟机的步骤,判断待迁移虚拟机列表是否为空,若待迁移虚拟机列表中仍存在待迁移虚拟机在等待迁移,则重新执行获取待迁移虚拟机的虚拟机配置信息,至将待迁移虚拟机迁移至目标迁移节点的步骤,完成下一个待迁移虚拟机的故障迁移工作,直至待迁移虚拟机列表不存在待迁移虚拟机,则在最后一个待迁移虚拟机完成故障迁移后结束故障迁移工作的执行。
从上述实施例中可以看出以下有益效果:
通过综合考虑宿主机CPU使用期望值、宿主机内存使用期望值以及承载虚拟机数量的情况,对宿主机期望负载最低的两个节点进行精细化筛选,进一步减少了目标迁移节点选取的误差,进一步提升目标迁移节点的选取准确度,在待迁移虚拟机的重建和恢复过程中,立即进入下一个待迁移虚拟机的故障迁移流程,实现了虚拟机故障迁移的并行处理,可缩短宿主机故障对虚拟机承载业务的影响时间,提升云计算服务质量。
为了便于理解,以下提供了虚拟机故障迁移方法的一个实施例来进行说明,在实际应用中,虚拟机配置信息包含多方面的信息,以能够准确筛选出满足承载待迁移虚拟机硬性需求的宿主机节点,避免增加选取最优目标迁移节点的运算成本,较少运算误差情况,提升迁移效率。
图4为本申请实施例提供的虚拟机故障迁移方法的流程示意图之四。参照图4,本申请提供的一种虚拟机故障迁移方法的实施例四,可以包括:
步骤401、获取待迁移虚拟机的虚拟机配置信息。
虚拟机配置信息包含vCPU架构类型、vCPU指令集、配置内存、网络配置以及外设配置,vCPU架构类型是指虚拟处理器的架构类型,比如说x86架构的虚拟机;vCPU指令集是指虚拟处理器的指令集;配置内存是指虚拟机承载在宿主机上的最低内存要求;网络配置是指待迁移虚拟机所在的虚拟机网络的配置,虚拟机网络指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统所搭建构成的网络平台;外设配置是指待迁移虚拟机配置的PCI外设或USB外设,PCI外设是指符合外设组件互连标准的外部设备,例如图形处理器(graphics processing unit,GPU)等,USB外设是指通过USB转接口扩展和转接的外部设备。
步骤402、获取宿主机节点的性能信息。
获取宿主机节点的宿主机CPU架构类型、宿主机支持指令集、剩余内存、虚拟交换机配置以及外设组件互连性能;
步骤403、根据虚拟机配置信息筛选宿主机集群中的宿主机节点。
若宿主机CPU架构类型与vCPU架构类型匹配,例如x86架构的虚拟机只能运行在x86架构的宿主机上,且宿主机支持指令集与vCPU指令集兼容,且剩余内存大于配置内存,且虚拟交换机配置承载网络配置信息,即虚拟交换机配置承载了当前待迁移虚拟机所在网络,且外设组件互连性能能够满足外设配置,支持直通或虚拟化给待迁移虚拟机使用,则确定宿主机节点为候选节点。可以理解的是,至少同时符合上述四个条件的宿主机节点才能被认定为候选节点,在实际应用中,还会考虑虚拟机核心数与宿主机核心数是否匹配的问题,可见候选节点的认定方式是多样的,需根据实际应用情况增加适当的认定条件,此处不作唯一限定。
从上述实施例中可以看出以下有益效果:
通过根据虚拟机配置信息对宿主机节点进行筛选,从而筛选出满足承载待迁移虚拟机硬性需求的候选节点,提升效率,避免增加选取最优目标迁移节点的运算成本,较少运算误差情况,提升迁移效率。
下面对本申请实施例提供的虚拟机故障迁移装置进行描述,下文描述的虚拟机故障迁移装置与上文描述的虚拟机故障迁移方法可相互对应参照。
图5为本申请实施例提供的虚拟机故障迁移装置的结构示意图。参照图5,本申请实施例提供一种虚拟机故障迁移装置,可以包括:
宿主机筛选模块,用于获取待迁移虚拟机的虚拟机配置信息,根据虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表;
宿主机期望负载确定模块,用于获取候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载;可以理解的是,宿主机期望负载确定模块可以由虚拟机负载计算模块以及宿主机负载计算模块组成,虚拟机负载计算模块用于计算虚拟机CPU使用期望值以及虚拟机内存使用期望值,而宿主机负载计算模块用于计算宿主机CPU使用期望值、宿主机内存使用期望值以及根据宿主机CPU使用期望值和宿主机内存使用期望值计算宿主机期望负载。
虚拟机迁移模块,用于根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将待迁移虚拟机迁移至目标迁移节点。可以理解的是,为了选取尽量小的宿主机期望负载来作为目标迁移节点,虚拟机迁移模块可以包含有排序模块。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communication Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的计算机程序,以执行虚拟机故障迁移方法的步骤,例如包括:
获取待迁移虚拟机的虚拟机配置信息,根据虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表;
获取候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载;
根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将待迁移虚拟机迁移至目标迁移节点。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的虚拟机故障迁移方法的步骤,例如包括:
获取待迁移虚拟机的虚拟机配置信息,根据虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表;
获取候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载;
根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将待迁移虚拟机迁移至目标迁移节点。
另一方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行上述各实施例提供的方法的步骤,例如包括:
获取待迁移虚拟机的虚拟机配置信息,根据虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表;
获取候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载;
根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将待迁移虚拟机迁移至目标迁移节点。
所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (13)
1.一种虚拟机故障迁移方法,其特征在于,包括:
获取待迁移虚拟机的虚拟机配置信息,根据所述虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表;
获取所述候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载;
根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将所述待迁移虚拟机迁移至所述目标迁移节点。
2.根据权利要求1所述的虚拟机故障迁移方法,其特征在于,所述分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载,包括:
根据每一候选节点的虚拟机性能监控数据确定每一候选节点的虚拟机使用期望值;所述虚拟机使用期望值包括虚拟机CPU使用期望值以及虚拟机内存使用期望值;
根据所述虚拟机CPU使用期望值以及所述虚拟机内存使用期望值确定每一候选节点对应的宿主机期望负载。
3.根据权利要求2所述的虚拟机故障迁移方法,其特征在于,
所述根据每一候选节点的虚拟机性能监控数据确定每一候选节点的虚拟机使用期望值,包括:
在每一候选节点的虚拟机性能监控数据中提取N个虚拟机CPU实时使用率以及M个虚拟机内存实时使用率,所述N和所述M均为大于1的整数;
确定所述N个虚拟机CPU实时使用率的中位数,得到每一候选节点的虚拟机CPU使用期望值;
确定所述M个虚拟机内存实时使用率的中位数,得到每一候选节点的虚拟机内存使用期望值。
4.根据权利要求2所述的虚拟机故障迁移方法,其特征在于,
所述根据所述虚拟机CPU使用期望值以及所述虚拟机内存使用期望值确定每一候选节点对应的宿主机期望负载,包括:
根据每一候选节点的虚拟机CPU使用期望值确定每一候选节点对应的宿主机CPU使用期望值;
根据每一候选节点的虚拟机内存使用期望值确定每一候选节点对应的宿主机内存使用期望值;
根据每一候选节点的宿主机CPU使用期望值以及宿主机内存使用期望值确定每一候选节点对应的宿主机期望负载。
5.根据权利要求4所述的虚拟机故障迁移方法,其特征在于,
所述根据每一候选节点的虚拟机CPU使用期望值确定每一候选节点对应的宿主机CPU使用期望值,包括:
获取每一候选节点的CPU核心数;
分别获取每一候选节点上承载的各个虚拟机的vCPU核心数;
根据每一候选节点上承载的各个虚拟机对应的虚拟机CPU使用期望值、每一候选节点上承载的各个虚拟机的vCPU核心数以及每一候选节点的CPU核心数确定每一候选节点对应的宿主机CPU使用期望值;
确定所述宿主机CPU使用期望值的计算公式如下:
Pavgp=(Pavg1*Cv1+Pavg2*Cv2+…)/Cp
其中,Pavgp为所述宿主机CPU使用期望值,Pavg1为每一候选节点上第一个虚拟机对应的虚拟机CPU使用期望值,Cv1为每一候选节点上第一个虚拟机对应的vCPU核心数,Pavg2为每一候选节点上第二个虚拟机对应的虚拟机CPU使用期望值,Cv2为每一候选节点上第二个虚拟机对应的vCPU核心数,Cp为所述CPU核心数。
6.根据权利要求4所述的虚拟机故障迁移方法,其特征在于,
所述根据每一候选节点的虚拟机内存使用期望值确定每一候选节点对应的宿主机内存使用期望值,包括:
获取每一候选节点的内存总额值;
分别获取每一候选节点上承载的各个虚拟机的内存分配值;
根据每一候选节点上承载的各个虚拟机对应的虚拟机内存使用期望值、每一候选节点上承载的各个虚拟机的内存分配值以及每一候选节点的内存总额值确定每一候选节点对应的宿主机内存使用期望值;
确定所述宿主机内存使用期望值的计算公式如下:
Mavgp=(Mavg1*Mv1+Mavg2*Mv2+…)/Mp
其中,Mavgp为所述宿主机内存使用期望值,Mavg1为每一候选节点上第一个虚拟机对应的虚拟机内存使用期望值,Mv1为每一候选节点上第一个虚拟机对应的内存分配值,Mavg2为每一候选节点上第二个虚拟机对应的虚拟机内存使用期望值,Mv2为每一候选节点上第二个虚拟机对应的内存分配值,Mp为所述内存总额值。
7.根据权利要求2所述的虚拟机故障迁移方法,其特征在于,
所述根据每一候选节点的宿主机CPU使用期望值以及宿主机内存使用期望值确定每一候选节点对应的宿主机期望负载,包括:
将每一候选节点的宿主机CPU使用期望值以及宿主机内存使用期望值进行加权平均,得到每一候选节点对应的宿主机期望负载;所述宿主机CPU使用期望值对应的权值小于所述宿主机内存使用期望值对应的权值。
8.根据权利要求2所述的虚拟机故障迁移方法,其特征在于,
所述根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,包括:
在所有的候选节点对应的宿主机期望负载中确定所述宿主机期望负载最低的两个节点,得到第一待选节点和第二待选节点;
将所述第一待选节点对应的宿主机内存使用期望值减去所述第二待选节点对应的宿主机内存使用期望值,得到内存期望差值;
若所述内存期望差值小于或等于第一预设比例,则将所述第一待选节点对应的宿主机CPU使用期望值减去所述第二待选节点对应的宿主机CPU使用期望值,得到CPU期望差值;
若所述CPU期望差值小于或等于第二预设比例,则所述第一待选节点上承载的虚拟机数量减去所述第二待选节点上承载的虚拟机数量,得到虚拟机数量差;
若所述虚拟机数量差小于或等于预设差值,则确定所述第一待选节点和所述第二待选节点中宿主机内存使用期望值较小的节点为所述目标迁移节点;
所述第一预设比例和所述第二预设比例大于零,所述预设差值为正整数。
9.根据权利要求1所述的虚拟机故障迁移方法,其特征在于,
所述虚拟机配置信息包含vCPU架构类型、vCPU指令集、配置内存、网络配置以及外设配置;
所述根据所述虚拟机配置信息筛选宿主机集群中的宿主机节点,包括:
获取所述宿主机节点的宿主机CPU架构类型、宿主机支持指令集、剩余内存、虚拟交换机配置以及外设组件互连性能;
若所述宿主机CPU架构类型与所述vCPU架构类型匹配,且所述宿主机支持指令集与所述vCPU指令集兼容,且所述剩余内存大于所述配置内存,且所述虚拟交换机配置承载所述网络配置信息,且所述外设组件互连性能能够满足所述外设配置,则确定所述宿主机节点为所述候选节点。
10.根据权利要求1所述的虚拟机故障迁移方法,其特征在于,
所述根据所述宿主机期望负载确定目标迁移节点之后,包括:
确定待迁移虚拟机列表中是否存在所述待迁移虚拟机,若存在,则执行所述获取待迁移虚拟机的虚拟机配置信息,至所述将所述待迁移虚拟机迁移至所述目标迁移节点的步骤,直至所述待迁移虚拟机列表不存在所述待迁移虚拟机。
11.一种虚拟机故障迁移装置,其特征在于,包括:
宿主机筛选模块,用于获取待迁移虚拟机的虚拟机配置信息,根据所述虚拟机配置信息筛选宿主机集群中的宿主机节点,得到候选节点列表;
宿主机期望负载确定模块,用于获取所述候选节点列表中每一候选节点的虚拟机性能监控数据,分别根据每一虚拟机性能监控数据确定每一候选节点对应的宿主机期望负载;
虚拟机迁移模块,用于根据所有的候选节点对应的宿主机期望负载确定目标迁移节点,将所述待迁移虚拟机迁移至所述目标迁移节点。
12.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10任一项所述的虚拟机故障迁移方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10任一项所述的虚拟机故障迁移方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210305273.1A CN116841688A (zh) | 2022-03-25 | 2022-03-25 | 虚拟机故障迁移方法、装置及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210305273.1A CN116841688A (zh) | 2022-03-25 | 2022-03-25 | 虚拟机故障迁移方法、装置及其应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116841688A true CN116841688A (zh) | 2023-10-03 |
Family
ID=88169327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210305273.1A Pending CN116841688A (zh) | 2022-03-25 | 2022-03-25 | 虚拟机故障迁移方法、装置及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116841688A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806776A (zh) * | 2024-02-29 | 2024-04-02 | 山东海量信息技术研究院 | 一种数据迁移方法、装置及电子设备和存储介质 |
-
2022
- 2022-03-25 CN CN202210305273.1A patent/CN116841688A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806776A (zh) * | 2024-02-29 | 2024-04-02 | 山东海量信息技术研究院 | 一种数据迁移方法、装置及电子设备和存储介质 |
CN117806776B (zh) * | 2024-02-29 | 2024-05-10 | 山东海量信息技术研究院 | 一种数据迁移方法、装置及电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10652327B2 (en) | Migration of virtual machines | |
US10838803B2 (en) | Resource provisioning and replacement according to a resource failure analysis in disaggregated data centers | |
US8156370B2 (en) | Computer system and method of control thereof | |
US9935865B2 (en) | System and method for detecting and preventing service level agreement violation in a virtualized environment | |
US8875142B2 (en) | Job scheduling on a multiprocessing system based on reliability and performance rankings of processors and weighted effect of detected errors | |
JP4792047B2 (ja) | システム可用性の計算方法 | |
US10795735B1 (en) | Method and apparatus for load balancing virtual data movers between nodes of a storage cluster | |
US11169854B2 (en) | Node eligibility determinations | |
US20120011401A1 (en) | Dynamically modeling and selecting a checkpoint scheme based upon an application workload | |
US10846079B2 (en) | System and method for the dynamic expansion of a cluster with co nodes before upgrade | |
US8127101B2 (en) | File server which conducts a memory test upon boot up | |
US10754720B2 (en) | Health check diagnostics of resources by instantiating workloads in disaggregated data centers | |
US10353786B2 (en) | Virtualization substrate management device, virtualization substrate management system, virtualization substrate management method, and recording medium for recording virtualization substrate management program | |
US20020002448A1 (en) | Means for incorporating software into avilability models | |
CN112395047A (zh) | 虚拟机故障疏散方法、系统及计算机可读介质 | |
CN111181780A (zh) | 基于ha集群的主机池切换方法、系统、终端及存储介质 | |
CN111124728A (zh) | 业务自动恢复方法、系统、可读存储介质及服务器 | |
US20230418661A1 (en) | Decentralized resource scheduling | |
CN116841688A (zh) | 虚拟机故障迁移方法、装置及其应用 | |
CN110580195B (zh) | 一种基于内存热插拔的内存分配方法和装置 | |
US11294591B2 (en) | Apparatus configured to create extended configuration proposal of storage system including multiple notes | |
CN111866210A (zh) | 一种虚拟ip均衡分配方法、系统、终端及存储介质 | |
US10067778B2 (en) | Management system, recording medium and method for managing virtual machines | |
US11256553B2 (en) | Intelligent system to prioritize servers for envisaged requests | |
EP3180696B1 (en) | System, method, and computer program product for low impact backup |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |