一种虚拟机动态迁移方法和装置
技术领域
本发明涉及云计算领域,尤其涉及一种虚拟机动态迁移方法和装置。
背景技术
随着互联网技术的快速发展,云计算建立了一种新型的信息服务环境,使得用户可以根据需求获取各种类型的虚拟云服务资源,即物理机(PM,PhysicalMachine)-虚拟机(VM,Visual Machine)云资源服务技术。
目前,虚拟云服务资源的动态迁移,主要将VM添加到负载较轻的PM上以保证资源的均衡利用。由于用户可以自由的加入或退出云计算环境,VM的这种添加策略给PM的运行带来了很多的不确定性和复杂性,一旦PM宕机,其上运行的应用和程序(主要以VM实例的形式存在)也随之故障,系统在事后恢复的时候存在延迟,而且也不能完全恢复,需要付出的系统开销很大,对基础设施即服务(IAAS,Infrastructure as a Service)云系统的性能造成了严重的负面影响。
发明内容
为解决上述技术问题,本发明实施例提供一种虚拟机动态迁移方法和装置,在PM宕机之前对运行于所述PM上的VM进行动态迁移,通过事前预测的方式避免PM宕机,提高虚拟云服务资源的利用效率和云服务提供商的管理效率,并有效地避免资源浪费。
本发明的技术方案是这样实现的:
本发明实施例提供一种虚拟机动态迁移方法,所述方法包括:
每隔第一预设时间获取基础设施即服务IAAS云系统中所有物理机的历史宕机数据和当前状态数据;
确定所述IAAS云系统中所有物理机的宕机风险预测值;
将所述IAAS云系统中每一个物理机的宕机风险预测值分别与预设宕机风险值进行比较,并将所述宕机风险预测值大于所述预设宕机风险值的物理机上承载的虚拟机迁入到所述IAAS云系统中承载最低的物理机上,直至所述IAAS云系统中任一个物理机的宕机风险预测值均小于等于所述预设宕机风险值。
进一步地,所述将所述IAAS云系统中每一个物理机的宕机风险预测值分别与预设宕机风险值进行比较,并将所述宕机风险预测值大于所述预设宕机风险值的物理机上承载的虚拟机迁入到所述IAAS云系统中承载最低的物理机上,包括:
所述IAAS云系统包括M个物理机,M大于等于2,M为自然数,j为所述M个物理机中任一个物理机,j大于等于1且小于等于M,j为自然数,
将第j个物理机的宕机风险预测值与第一预设宕机风险值进行比较,所述第一预设宕机风险值为与所述第j个物理机对应的预设宕机风险值;
当所述第j个物理机的宕机风险预测值大于所述第一预设宕机风险值时,将所述第j个物理机上承载的虚拟机逐次迁入到所述IAAS云系统中承载最低的物理机上,直至迁出所述虚拟机后确定所述第j个物理机的宕机风险预测值小于等于所述第一预设宕机风险值。
进一步地,所述第j个物理机的历史宕机数据包括:
所述第j个物理机在第二预设时间内宕机事件发生的第一次数、第一CPU利用率发生的第二次数、第一内存利用率发生的第三次数和第一硬盘存储利用率发生的第四次数,在所述宕机事件发生时,所述第一CPU利用率发生的第一概率、第一内存利用率发生的第二概率和第一硬盘存储利用率发生的第三概率。
进一步地,所述IAAS云系统包括N个虚拟机,i为所述N个虚拟机中任一个虚拟机,N大于等于1,N为自然数,i大于等于1且小于等于N,i为自然数,所述第j个物理机的当前状态数据包括:
所述第j个物理机上的第二CPU利用率、第二内存利用率和第二硬盘存储利用率,第i个虚拟机在所述第j个物理机上的第三CPU利用率、第三内存利用率和第三硬盘存储利用率。
进一步地,确定所述第j个物理机的宕机风险预测值,包括:
确定在所述第二预设时间内所述宕机事件发生的第四概率,确定在所述第二预设时间内所述第一CPU利用率发生的第五概率,确定在所述第二预设时间内所述第一内存利用率发生的第六概率,确定在所述第二预设时间内所述第一硬盘存储利用率发生的第七概率;
根据所述第一概率、所述第四概率和所述第五概率确定所述第二CPU利用率发生时所述宕机事件发生的第八概率,根据所述第二概率、所述第四概率和所述第六概率确定所述第二内存利用率发生时所述宕机事件发生的第九概率,根据所述第三概率、所述第四概率和所述第七概率确定所述第二硬盘存储利用率发生时所述宕机事件发生的第十概率;
根据所述第八概率、所述第九概率和所述第十概率确定所述第j个物理机的宕机风险预测值。
本发明实施例还提供一种虚拟机动态迁移装置,所述虚拟机动态迁移装置包括:获取单元、确定单元、处理单元;其中,
所述获取单元,用于每隔第一预设时间获取基础设施即服务IAAS云系统中所有物理机的历史宕机数据和当前状态数据;
所述确定单元,用于确定所述IAAS云系统中所有物理机的宕机风险预测值;
所述处理单元,用于将所述IAAS云系统中每一个物理机的宕机风险预测值分别与预设宕机风险值进行比较,并将所述宕机风险预测值大于所述预设宕机风险值的物理机上承载的虚拟机迁入到所述IAAS云系统中承载最低的物理机上,直至所述IAAS云系统中任一个物理机的宕机风险预测值均小于等于所述预设宕机风险值。
进一步地,所述IAAS云系统包括M个物理机,M大于等于2,M为自然数,j为所述M个物理机中任一个物理机,j大于等于1且小于等于M,j为自然数,
所述处理单元,用于将第j个物理机的宕机风险预测值与第一预设宕机风险值进行比较,所述第一预设宕机风险值为与所述第j个物理机对应的预设宕机风险值;还用于当所述第j个物理机的宕机风险预测值大于所述第一预设宕机风险值时,将所述第j个物理机上承载的虚拟机逐次迁入到所述IAAS云系统中承载最低的物理机上,直至迁出所述虚拟机后确定所述第j个物理机的宕机风险预测值小于等于所述第一预设宕机风险值。
进一步地,所述第j个物理机的历史宕机数据包括:
所述第j个物理机在第二预设时间内宕机事件发生的第一次数、第一CPU利用率发生的第二次数、第一内存利用率发生的第三次数和第一硬盘存储利用率发生的第四次数,在所述宕机事件发生时,所述第一CPU利用率发生的第一概率、第一内存利用率发生的第二概率和第一硬盘存储利用率发生的第三概率。
进一步地,所述IAAS云系统包括N个虚拟机,i为所述N个虚拟机中任一个虚拟机,N大于等于1,N为自然数,i大于等于1且小于等于N,i为自然数,所述第j个物理机的当前状态数据包括:
所述第j个物理机上的第二CPU利用率、第二内存利用率和第二硬盘存储利用率,第i个虚拟机在所述第j个物理机上的第三CPU利用率、第三内存利用率和第三硬盘存储利用率。
进一步地,所述确定单元,用于确定在所述第二预设时间内所述宕机事件发生的第四概率,还用于确定在所述第二预设时间内所述第一CPU利用率发生的第五概率,还用于确定在所述第二预设时间内所述第一内存利用率发生的第六概率,还用于确定在所述第二预设时间内所述第一硬盘存储利用率发生的第七概率;还用于根据所述第一概率、所述第四概率和所述第五概率确定所述第二CPU利用率发生时所述宕机事件发生的第八概率,还用于根据所述第二概率、所述第四概率和所述第六概率确定所述第二内存利用率发生时所述宕机事件发生的第九概率,还用于根据所述第三概率、所述第四概率和所述第七概率确定所述第二硬盘存储利用率发生时所述宕机事件发生的第十概率;还用于根据所述第八概率、所述第九概率和所述第十概率确定所述第j个物理机的宕机风险预测值。
本发明实施例提供了一种虚拟机动态迁移方法和装置,每隔第一预设时间获取基础设施即服务IAAS云系统中所有物理机的历史宕机数据和当前状态数据;确定所述IAAS云系统中所有物理机的宕机风险预测值;将所述IAAS云系统中每一个物理机的宕机风险预测值分别与预设宕机风险值进行比较,并将所述宕机风险预测值大于预设宕机风险值的物理机上承载的虚拟机迁入到所述IAAS云系统中承载最低的物理机上,直至所述IAAS云系统中任一个物理机的宕机风险预测值均小于等于所述预设宕机风险值。本发明实施例提供的虚拟机动态迁移方法和装置,通过对每个PM的历史宕机数据和当前状态数据进行分析、建模,获得所述每个PM宕机风险预测值并据此判断是否应进行VM动态迁移,能在PM宕机之前对运行于其上的VM进行动态迁移,通过事前预测的方式来避免PM宕机,有效的降低了PM宕机的可能性,从而,提高虚拟云服务资源的利用效率和云服务提供商的管理效率,并有效地避免资源浪费。
附图说明
图1为本发明实施例提供的虚拟机动态迁移方法流程示意图一;
图2为本发明实施例提供的虚拟机动态迁移方法流程示意图二;
图3为本发明实施例提供的虚拟机动态迁移装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
本发明实施例提供一种虚拟机动态迁移方法,所述方法是应用于N个虚拟机(VM,Visual Machine)部署到M个物理机(PM,Physical Machine)上所构成的方案,具体如下:
设定所述N个VM为:VM={vm1,vm2,...,vmi,...,vmN}(1≤i≤N),vmi表示第i个VM;所述第i个VM的组成为:分别表示第i个VM在第j个PM上的CPU利用率、内存利用率和硬盘存储利用率,N大于等于1,N为自然数,i为自然数。
设定所述M个PM为:PM={pm1,pm2,...,pmj,...,pmM}(1≤j≤M),pmj表示第j个PM,所述第j个PM的组成为:pmj={Cj,Mj,Dj},Cj,Mj,Dj分别表示第j个PM上的CPU利用率、内存利用率和硬盘存储利用率,M大于等于2,M为自然数,j为自然数。
如图1所示,所述虚拟机动态迁移方法,可以包括以下步骤:
步骤101、每隔第一预设时间获取IAAS云系统中所有物理机的历史宕机数据和当前状态数据。
具体的,本发明实施例提供的虚拟机动态迁移方法的执行主体为虚拟机动态迁移装置。虚拟机动态迁移装置每隔第一预设时间周期Tn获取IAAS云系统中所有M个PM的历史宕机数据和当前状态数据。其中,第一预设时间可以为5分钟、8分钟,或者其它的值,本发明实施例对此不限定。
其中,所述历史宕机数据包括M个PM中每一个PM的历史宕机数据,j为所述M个PM中任一个PM,所述M个物理机中第j个PM的历史宕机数据包括:第j个PM在第二预设时间内宕机事件发生的第一次数、第一CPU利用率发生的第二次数、第一内存利用率发生的第三次数和第一硬盘存储利用率发生的第四次数;在所述宕机事件发生时,所述第一CPU利用率发生的第一概率;在所述宕机事件发生时,所述第一内存利用率发生的第二概率;在所述宕机事件发生时,所述第一硬盘存储利用率发生的第三概率。
其中,第二预设时间可以为在获取当前状态数据之前的1个月或3个月,即过去1个月或过去3个月,本发明实施例对此不限定。
示例性的,对于第j个PM,在过去T时间内宕机事件Bj发生次数为Sj;在过去T时间内CPU利用率事件发生的次数在宕机事件发生时,事件发生的概率在过去T时间内内存利用率事件发生次数在宕机事件发生时,事件发生的概率在过去T时间内硬盘存储利用率事件发生次数在宕机事件发生时,事件发生的概率其中,T的单位可以是秒、分钟、小时、天、星期、月或者年。
所述当前状态数据包括M个PM中每一个PM的当前状态数据,j为所述M个PM中任一个PM,i为所述N个VM中任一个VM,第j个PM的当前状态数据包括:第j个物理机上的第二CPU利用率、第二内存利用率和第二硬盘存储利用率,第i个虚拟机在第j个PM上的第三CPU利用率、第三内存利用率和第三硬盘存储利用率。
示例性的,第j个PM当前状态数据包括:第j个PM上的CPU利用率、内存利用率和硬盘存储利用率Cj,Mj,Dj;第i个VM在第j个PM物理机上的CPU利用率、内存利用率和硬盘存储利用率
需要说明的是,本发明实施例的虚拟机动态迁移方法选取CPU利用率、内存利用率和硬盘存储利用率这三个因素作为宕机预测因子,符合目前宕机公认产生成因机理。
步骤102、确定所述IAAS云系统中所有PM的宕机风险预测值。
具体的,虚拟机动态迁移装置确定所述IAAS云系统中所有M个PM的宕机风险预测值{P1,P2,...,Pj,...,PM}(1≤j≤M),其中,确定第j个物理机的宕机风险预测值,具体包括:
确定在所述第二预设时间内所述宕机事件发生的第四概率;确定在所述第二预设时间内所述第一CPU利用率发生的第五概率,确定在所述第二预设时间内所述第一内存利用率发生的第六概率,确定在所述第二预设时间内所述第一硬盘存储利用率发生的第七概率;
根据所述第一概率、所述第四概率和所述第五概率确定所述第二CPU利用率发生时所述宕机事件发生的第八概率;根据所述第二概率、所述第四概率和所述第六概率确定所述第二内存利用率发生时所述宕机事件发生的第九概率;根据所述第三概率、所述第四概率和所述第七概率确定所述第二硬盘存储利用率发生时所述宕机事件发生的第十概率;
根据所述第八概率、所述第九概率和所述第十概率确定所述第j个物理机的宕机风险预测值。
示例性的,第j个PM的宕机风险预测值Pj计算过程如下:
首先,确定在第二预设时间T内宕机事件B的发生概率为:P(Bj)=Sj/T;
其次,计算在第二预设时间T内CPU利用率事件的发生概率为:
计算在第二预设时间T内内存利用率事件的发生概率为:
计算在第二预设时间T内硬盘存储利用率事件的发生概率为:
然后,计算当Cj发生时宕机事件发生的概率,Cj为获取第j个PM的当前CPU利用率,在第j个PM的历史宕机数据的CPU利用率事件中查找与第j个PM的当前CPU利用率Cj相同的CPU利用率为根据所述在宕机事件发生时的概率在第二预设时间T内宕机事件B的发生概率P(Bj)以及在第二预设时间内的发生概率进行计算,如下所示:
计算当Mj发生时宕机事件发生的概率,Mj为获取第j个PM的当前内存利用率,在第j个PM的历史宕机数据的内存利用率中查找与第j个PM的当前内存利用率Dj相同的内存利用率为根据所述在宕机事件发生时的概率在第二预设时间T内宕机事件B的发生概率P(Bj)以及在第二预设时间内的发生概率进行计算,如下所示:
计算当Dj发生时宕机事件发生的概率,Dj为获取第j个PM的当前硬盘存储利用率,在第j个PM的历史宕机数据的硬盘存储利用率中查找与第j个PM的当前硬盘存储利用率Dj相同的硬盘存储利用率为根据所述在宕机事件发生时的概率在第二预设时间T内宕机事件B的发生概率P(Bj)以及在第二预设时间内的发生概率进行计算,如下所示:
最后,计算第j个PM的宕机风险预测值:
其中,为CPU利用率事件加权系数,为内存利用率事件加权系数,为硬盘存储利用率事件加权系数。
具体的,根据上述第j个PM的宕机风险预测值的方法计算IAAS云系统中所有M个PM的宕机风险预测值。
步骤103、将所述IAAS云系统中每一个物理机的宕机风险预测值分别与预设宕机风险值进行比较,并将所述宕机风险预测值大于预设宕机风险值的物理机上承载的虚拟机迁入到所述IAAS云系统中承载最低的物理机上,直至所述IAAS云系统中任一个物理机的宕机风险预测值均小于等于所述预设宕机风险值。
具体的,虚拟机动态迁移装置将所述M个PM的宕机风险预测值分别与预设宕机风险值进行比较,j为所述M个物理机中任一个物理机,对于第j个物理机的宕机风险预测值与第一预设宕机风险值的判断包括:
将第j个物理机的宕机风险预测值与第一预设宕机风险值进行比较,所述第一预设宕机风险值为与所述第j个物理机对应的预设宕机风险值;
当所述第j个物理机的宕机风险预测值大于所述第一预设宕机风险值时,将所述第j个物理机上承载的虚拟机逐次迁入到所述IAAS云系统中承载最低的物理机上,直至迁出所述虚拟机后确定所述第j个物理机的宕机风险预测值小于等于所述第一预设宕机风险值。
示例性的,将所述M个PM的宕机风险预测值P1,P2,...,Pj,...,PM分别与预设宕机风险值Pexp进行比较,对于第j个PM,当所述第j个PM的宕机风险预测值Pj大于预设宕机风险值Pexp,则将所述第j个PM上承载的VM逐次迁入到IAAS系统中承载最低的PM上,直至迁出VM后所述第j个PM重新计算的的宕机风险预测值小于等于预设宕机风险值,即Pj≤Pexp。
其中,所述PM承载计算方法为:
Hj=αCj+βMj+γDj
其中,α,β,γ分别为第j个PM的CPU利用率、内存利用率和硬盘存储利用率加权系数。
根据上述第j个物理机的宕机风险预测值与第一预设宕机风险值相同的判断方法分别对所述IAAS云系统中M个PM的宕机风险预测值P1,P2,...,Pj,...,PM进行判断,直至所述IAAS云系统中M个PM的宕机风险预测值P1,P2,...,Pj,...,PM均小于等于预设宕机风险值Pexp。
需要说明的是,本发明实施例的虚拟机动态迁移方法兼顾了各PM的差异性,依据不同PM各自的宕机发生规律对每个PM采取不同的控制策略,例如,可以对不同PM设置不同的预设宕机风险值,从而,可以有效节约系统开销。
本发明实施例提供的虚拟机动态迁移方法,通过对每个PM的历史宕机数据和当前状态数据进行分析、建模,获得所述每个PM宕机风险预测值并据此判断是否应进行VM动态迁移,能在PM宕机之前对运行于其上的VM进行动态迁移,通过事前预测的方式来避免PM宕机,有效的降低了PM宕机的可能性,从而,提高虚拟云服务资源的利用效率和云服务提供商的管理效率,并有效地避免资源浪费。
实施例二
本发明实施例提供一种虚拟机动态迁移方法,所述方法是应用于N个VM部署到M个PM上所构成的方案,具体如下:
设定所述N个VM为:VM={vm1,vm2,...,vmi,...,vmN}(1≤i≤N),vmi表示第i个VM;所述第i个VM的组成为:分别表示第i个虚拟机在第j个物理机上的CPU利用率、内存利用率和硬盘存储利用率,N大于等于1,N为自然数,i为自然数。
设定所述M个PM为:PM={pm1,pm2,...,pmj,...,pmM}(1≤j≤M),pmj表示第j个PM,所述第j个PM的组成为:pmj={Cj,Mj,Dj},Cj,Mj,Dj分别表示第j个物理机上的CPU利用率、内存利用率和硬盘存储利用率,M大于等于2,M为自然数,j为自然数。
示例性的,IAAS云系统中有4个PM,6个VM,其中,VM在PM上承载的情况如下:
PM1(VM1),即PM1上承载了VM1;
PM2(VM2,VM3),即PM2上承载了VM2和VM3;
PM3(VM4,VM5),即PM3上承载了VM4和VM5;
PM4(VM6),即PM4上承载了VM6。
如图2所示,所述虚拟机动态迁移方法,可以包括以下步骤:
步骤201、每隔第一预设时间获取IAAS云系统中所有物理机的历史宕机数据和当前状态数据。
具体的,本发明实施例提供的虚拟机动态迁移方法的执行主体为虚拟机动态迁移装置。其中,第一预设时间可以为5分钟、8分钟,或者其它的值,本发明实施例对此不限定。
示例性的,虚拟机动态迁移装置每隔第一预设时间周期5分钟获取IAAS云系统中所有4个PM的历史宕机数据和当前状态数据。
其中,所述历史宕机数据包括M个PM中每一个PM的历史宕机数据,j为所述M个PM中任一个PM,1≤j≤4,所述M个物理机中第j个PM的历史宕机数据包括:第j个PM在第二预设时间内宕机事件发生的第一次数、第一CPU利用率发生的第二次数、第一内存利用率发生的第三次数和第一硬盘存储利用率发生的第四次数;在所述宕机事件发生时,所述第一CPU利用率发生的第一概率;在所述宕机事件发生时,所述第一内存利用率发生的第二概率;在所述宕机事件发生时,所述第一硬盘存储利用率发生的第三概率。
其中,第二预设时间可以为在获取当前状态数据之前的1个月或3个月,即过去1个月或过去3个月,本发明实施例对此不限定。
其中,第一预设时间、第二预设时间的单位可以是秒、分钟、小时、天、星期、月或者年。
示例性的,对于第j(1≤j≤4)个PM,在过去3个月内宕机事件Bj发生次数为Sj;在过去3个月内CPU利用率事件发生的次数在宕机事件发生时,事件发生的概率在过去3个月内内存利用率事件发生次数在宕机事件发生时,事件发生的概率在过去3个月内硬盘存储利用率事件发生次数在宕机事件发生时,事件发生的概率
所述当前状态数据包括M个PM中每一个PM的当前状态数据,j为所述M个PM中任一个PM,i为所述N个VM中任一个VM,第j个PM的当前状态数据包括:第j个物理机上的第二CPU利用率、第二内存利用率和第二硬盘存储利用率,第i个虚拟机在第j个PM上的第三CPU利用率、第三内存利用率和第三硬盘存储利用率。
示例性的,第j个PM当前状态数据包括:第j个PM上的CPU利用率、内存利用率和硬盘存储利用率Cj,Mj,Dj;第i个VM在第j个PM物理机上的CPU利用率、内存利用率和硬盘存储利用率
需要说明的是,本发明实施例的虚拟机动态迁移方法选取CPU利用率、内存利用率和硬盘存储利用率这三个因素作为宕机预测因子,符合目前宕机公认产生成因机理。
步骤202、确定所述IAAS云系统中所有PM的宕机风险预测值。
示例性的,虚拟机动态迁移装置计算IAAS系统中所有4个PM的宕机风险预测值{P1,P2,...,Pj,...,PM}(1≤j≤4),其中,第j个PM的宕机风险预测值Pj计算过程包括:
确定在所述第二预设时间内所述宕机事件发生的第四概率;确定在所述第二预设时间内所述第一CPU利用率发生的第五概率,确定在所述第二预设时间内所述第一内存利用率发生的第六概率,确定在所述第二预设时间内所述第一硬盘存储利用率发生的第七概率;
根据所述第一概率、所述第四概率和所述第五概率确定所述第二CPU利用率发生时所述宕机事件发生的第八概率;根据所述第二概率、所述第四概率和所述第六概率确定所述第二内存利用率发生时所述宕机事件发生的第九概率;根据所述第三概率、所述第四概率和所述第七概率确定所述第二硬盘存储利用率发生时所述宕机事件发生的第十概率;
根据所述第八概率、所述第九概率和所述第十概率确定所述第j个物理机的宕机风险预测值。
示例性的,第j个PM的宕机风险预测值Pj计算过程如下:
首先,确定在第二预设时间T内宕机事件B的发生概率为:P(Bj)=Sj/T;
其次,计算在第二预设时间T内CPU利用率事件的发生概率为:
计算在第二预设时间T内内存利用率事件的发生概率为:
计算在第二预设时间T内硬盘存储利用率事件的发生概率为:
然后,计算当Cj发生时宕机事件发生的概率,Cj为获取第j个PM的当前CPU利用率,在第j个PM的历史宕机数据的CPU利用率事件中查找与第j个PM的当前CPU利用率Cj相同的CPU利用率为根据所述在宕机事件发生时的概率在第二预设时间T内宕机事件B的发生概率P(Bj)以及在第二预设时间内的发生概率进行计算,如下所示:
计算当Mj发生时宕机事件发生的概率,Mj为获取第j个PM的当前内存利用率,在第j个PM的历史宕机数据的内存利用率中查找与第j个PM的当前内存利用率Dj相同的内存利用率为根据所述在宕机事件发生时的概率在第二预设时间T内宕机事件B的发生概率P(Bj)以及在第二预设时间内的发生概率进行计算,如下所示:
计算当Dj发生时宕机事件发生的概率,Dj为获取第j个PM的当前硬盘存储利用率,在第j个PM的历史宕机数据的硬盘存储利用率中查找与第j个PM的当前硬盘存储利用率Dj相同的硬盘存储利用率为根据所述在宕机事件发生时的概率在第二预设时间T内宕机事件B的发生概率P(Bj)以及在第二预设时间内的发生概率进行计算,如下所示:
最后,计算第j个PM的宕机风险预测值:
其中,为CPU利用率事件加权系数,为内存利用率事件加权系数,为硬盘存储利用率事件加权系数。
具体的,根据上述第j个PM的宕机风险预测值的方法计算IAAS云系统中所有4个PM的宕机风险预测值。
例如:计算IAAS云系统中所有4个PM的宕机风险预测值分别为:
P1=20%,P2=60%,P3=90%,P4=40%
步骤203、将第j个物理机的宕机风险预测值与第一预设宕机风险值进行比较,所述第一预设宕机风险值为与所述第j个物理机对应的预设宕机风险值;当所述第j个物理机的宕机风险预测值大于所述第一预设宕机风险值时,将所述第j个物理机上承载的虚拟机逐次迁入到所述IAAS云系统中承载最低的物理机上,直至迁出所述虚拟机后确定所述第j个物理机的宕机风险预测值小于等于所述第一预设宕机风险值。
示例性的,虚拟机动态迁移装置将所述第j个PM的宕机风险预测值Pj与第一预设宕机风险值Pexp进行比较,若第j个PM的宕机风险预测值Pj大于第一预设宕机风险值Pexp,则将所述第j个PM上承载的一个VM迁入到IAAS系统中承载最低的PM上,迁出一个VM后,根据上述步骤202重新计算所述第j个PM的宕机风险预测值,若迁出一个VM后所述第j个PM的宕机风险预测值大于预设宕机风险值,则再迁出一个VM并重新计算所述第j个PM的宕机风险预测值,直至迁出VM后所述第j个PM重新计算的的宕机风险预测值小于等于预设宕机风险值,即Pj≤Pexp。
其中,所述PM承载计算方法为:
Hj=αCj+βMj+γDj
其中,α,β,γ分别为第j个PM的CPU利用率、内存利用率和硬盘存储利用率加权系数。
示例性的,若预设宕机风险值为:Pexp=80%,
4个PM承载为:H1=40%,H2=60%,H3=80%,H4=30%
当PM3的宕机风险预测值Pj大于所设定宕机风险值Pexp,则将PM3上所承载的VM5迁移到承载最低的PM4上,即:
PM1(VM1);
PM2(VM2,VM3);
PM3(VM4);
PM4(VM6,VM5)。
步骤204、根据所述第j个物理机的宕机风险预测值的判断方法分别对所述IAAS云系统中M个PM的宕机风险预测值进行判断,直至所述IAAS云系统中M个PM的宕机风险预测值均小于等于预设宕机风险值。
具体的,虚拟机动态迁移装置根据上述第j个物理机的宕机风险预测值与第一预设宕机风险值相同的判断方法分别对所述IAAS云系统中M个PM的宕机风险预测值P1,P2,...,Pj,...,PM进行判断,即,将所述M个PM的宕机风险预测值P1,P2,...,Pj,...,PM分别与预设宕机风险值Pexp进行比较,若所述M个PM中的一个PM宕机风险预测值大于所设定的宕机风险值,则将该PM上承载的VM逐次迁入到IAAS系统中承载最低的PM上,直至所述IAAS云系统中M个PM的宕机风险预测值P1,P2,...,Pj,...,PM均小于等于预设宕机风险值Pexp。
示例性的,经过迁移后,4个PM的宕机风险预测值分别为:
P1=20%,P2=60%,P3=50%,P4=70%
当4个PM的宕机风险预测值均小于等于预设宕机风险值Pexp时,流程结束。在下个周期5分钟后再执行步骤201至步骤204以实现虚拟机的动态迁移。
需要说明的是,本发明实施例的虚拟机动态迁移方法兼顾了各PM的差异性,依据不同PM各自的宕机发生规律对每个PM采取不同的控制策略,例如,对不同PM设置不同的预设宕机风险值,从而,可以有效节约系统开销。
本发明实施例提供的虚拟机动态迁移方法,通过对每个PM的历史宕机数据和当前状态数据进行分析、建模,获得所述每个PM宕机风险预测值并据此判断是否应进行VM动态迁移,能在PM宕机之前对运行于其上的VM进行动态迁移,通过事前预测的方式来避免PM宕机,有效的降低了PM宕机的可能性,从而,提高虚拟云服务资源的利用效率和云服务提供商的管理效率,并有效地避免资源浪费。
实施例三
本发明实施例提供一种虚拟机动态迁移装置1,如图3所示,虚拟机动态迁移装置1包括:获取单元10、确定单元11、处理单元12;其中,
所述获取单元10,用于每隔第一预设时间获取基础设施即服务IAAS云系统中所有物理机的历史宕机数据和当前状态数据。
所述确定单元11,用于确定所述IAAS云系统中所有物理机的宕机风险预测值。
所述处理单元12,用于将所述IAAS云系统中每一个物理机的宕机风险预测值分别与预设宕机风险值进行比较,并将所述宕机风险预测值大于预设宕机风险值的物理机上承载的虚拟机迁入到所述IAAS云系统中承载最低的物理机上,直至所述IAAS云系统中任一个物理机的宕机风险预测值均小于等于所述预设宕机风险值。
进一步地,所述IAAS云系统包括M个物理机,M大于等于2,M为自然数,j为所述M个物理机中任一个物理机,j大于等于1且小于等于M,j为自然数,
所述处理单元12,用于将第j个物理机的宕机风险预测值与第一预设宕机风险值进行比较,所述第一预设宕机风险值为与所述第j个物理机对应的预设宕机风险值;还用于当所述第j个物理机的宕机风险预测值大于所述第一预设宕机风险值时,将所述第j个物理机上承载的虚拟机逐次迁入到所述IAAS云系统中承载最低的物理机上,直至迁出所述虚拟机后确定所述第j个物理机的宕机风险预测值小于等于所述第一预设宕机风险值。
进一步地,所述第j个物理机的历史宕机数据包括:
所述第j个物理机在第二预设时间内宕机事件发生的第一次数、第一CPU利用率发生的第二次数、第一内存利用率发生的第三次数和第一硬盘存储利用率发生的第四次数,在所述宕机事件发生时,所述第一CPU利用率发生的第一概率、第一内存利用率发生的第二概率和第一硬盘存储利用率发生的第三概率。
进一步地,所述IAAS云系统包括N个虚拟机,i为所述N个虚拟机中任一个虚拟机,N大于等于1,N为自然数,i大于等于1且小于等于N,i为自然数,所述第j个物理机的当前状态数据包括:
所述第j个物理机上的第二CPU利用率、第二内存利用率和第二硬盘存储利用率,第i个虚拟机在所述第j个物理机上的第三CPU利用率、第三内存利用率和第三硬盘存储利用率。
进一步地,所述确定单元11,用于确定在所述第二预设时间内所述宕机事件发生的第四概率,还用于确定在所述第二预设时间内所述第一CPU利用率发生的第五概率,还用于确定在所述第二预设时间内所述第一内存利用率发生的第六概率,还用于确定在所述第二预设时间内所述第一硬盘存储利用率发生的第七概率;还用于根据所述第一概率、所述第四概率和所述第五概率确定所述第二CPU利用率发生时所述宕机事件发生的第八概率,还用于根据所述第二概率、所述第四概率和所述第六概率确定所述第二内存利用率发生时所述宕机事件发生的第九概率,还用于根据所述第三概率、所述第四概率和所述第七概率确定所述第二硬盘存储利用率发生时所述宕机事件发生的第十概率;还用于根据所述第八概率、所述第九概率和所述第十概率确定所述第j个物理机的宕机风险预测值。
在实际应用中,所述获取单元10、确定单元11以及处理单元12可由位于虚拟机动态迁移装置上的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)等实现。
具体的,本发明实施例提供的虚拟机动态迁移装置的理解可以参考实施例一至实施例二的虚拟机动态迁移方法的说明,本实施例在此不再赘述。
本发明实施例提供的虚拟机动态迁移装置,通过对每个PM的历史宕机数据和当前状态数据进行分析、建模,获得所述每个PM宕机风险预测值并据此判断是否应进行VM动态迁移,能在PM宕机之前对运行于其上的VM进行动态迁移,通过事前预测的方式来避免PM宕机,有效的降低了PM宕机的可能性,从而,提高虚拟云服务资源的利用效率和云服务提供商的管理效率,并有效地避免资源浪费。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。