一种HA预警方法及虚拟资源管理器.pdf

上传人:b*** 文档编号:6163311 上传时间:2019-05-13 格式:PDF 页数:16 大小:1.12MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310571736.X

申请日:

2013.11.13

公开号:

CN103593249A

公开日:

2014.02.19

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/00申请日:20131113|||公开

IPC分类号:

G06F11/00; G06F9/455

主分类号:

G06F11/00

申请人:

华为技术有限公司

发明人:

刘宝起

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京中博世达专利商标代理有限公司 11274

代理人:

申健

PDF下载: PDF下载
内容摘要

本发明实施例提供的HA预警方法及虚拟资源管理器,涉及通信领域,可以在产生HA预警时减少误差,提高HA预警准确度。所述方法包括:将服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源作为虚拟机标准规格;选择N个CPU资源最大的服务器为预设故障服务器,剩余服务器为预设正常服务器;针对每一台预设正常服务器,计算预设正常服务器的状态值并将各个预设正常服务器的状态值相加,获得服务器状态值总和;针对服务器集群中的每一台虚拟机,计算虚拟机的状态值,并将各个虚拟机的状态值相加,获得虚拟机状态值总和;比较虚拟机状态值总和是否大于服务器状态值总和;若大于,则发出HA预警,若小于等于,则不发出HA预警。

权利要求书

权利要求书
1.  一种HA预警方法,应用于一个服务器集群,其特征在于,包括:
确定虚拟机标准规格,其中,所述虚拟机标准规格为所述服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源;
选择所述服务器集群中的N个CPU资源最大的服务器为预设故障服务器,剩余服务器为预设正常服务器,所述N为大于0的整数,所述资源包括CPU资源和内存资源;
针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值,所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的资源的比值中的最小值;
将各个所述预设正常服务器的所述状态值相加,获得服务器状态值总和;
针对所述服务器集群中的每一台虚拟机,计算所述虚拟机的状态值,所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中的最大值;
将各个所述虚拟机的状态值相加,获得虚拟机状态值总和;
比较所述虚拟机状态值总和是否大于所述服务器状态值总和;
若大于,则发出HA预警,若小于等于,则不发出HA预警。

2.  根据权利要求1所述的方法,其特征在于,所述选择所述服务器集群中的N个CPU资源最大的服务器为预设故障服务器,包括:
将所有所述服务器按照CPU资源从大到小的顺序排序,若所述服务器的CPU资源相同,则按照内存资源从大到小的顺序排序,获得服务器资源顺序表;
选择所述服务器资源顺序表中的前N台服务器为预设故障服务器。

3.  根据权利要求2所述的方法,其特征在于,在获得所述服务器资源顺序表时,若所述服务器的CPU资源和内存资源均相同,则按照服务器的索引号从小到大排序。

4.  根据权利要求1-3任意一项所述的方法,其特征在于,
若所述服务器集群承载的业务为普通业务,则所述N为1或2;若所述服务器集群承载的业务为重要业务,则所述N为所述服务器集群中服务器的个数的50%。

5.  根据权利要求1-4任意一项所述的方法,其特征在于,所述预设正常服务器的状态值为:所述预设正常服务器的CPU资源除以所述 虚拟机标准规格中的CPU资源后向下取整得到的值,以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内存资源后向下取整得到的值,中的最小值。

6.  根据权利要求1-4任意一项所述的方法,其特征在于,在所述虚拟机的CPU资源和内存资源均小于等于所述虚拟机标准规格中的CPU资源和内存资源时,所述虚拟机的状态值为1;在所述虚拟机的CPU资源大于所述虚拟机标准规格中的CPU资源,或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时,所述虚拟机的状态值为:所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值,以及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值,中的最大值。

7.  根据权利要求1所述的方法,其特征在于,所述针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值,还包括:
若所述预设正常服务器出现异常,则将出现异常的预设正常服务器的状态值设置为0。

8.  根据权利要求1所述的方法,其特征在于,所述针对每一台所述虚拟机,计算所述虚拟机的状态值,还包括:
若所述虚拟机出现异常,则将出现异常的虚拟机的状态值设置为0。

9.  一种虚拟资源管理器,其特征在于,包括:
确定单元,用于确定虚拟机标准规格,其中,所述虚拟机标准规格为所述服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源;
选择单元,用于选择所述服务器集群中的N个CPU资源最大的服务器为预设故障服务器,剩余服务器为预设正常服务器,所述N为大于0的整数,所述资源包括CPU资源和内存资源;
计算单元,用于针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值,所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的资源的比值中的最小值;
所述计算单元还用于,将各个所述预设正常服务器的所述状态值相加,获得服务器状态值总和;
所述计算单元还用于,针对所述服务器集群中的每一台虚拟机, 计算所述虚拟机的状态值,所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中的最大值;
所述计算单元还用于,将各个所述虚拟机的状态值相加,获得虚拟机状态值总和;
比较单元,用于比较所述计算单元获得的所述虚拟机状态值总和是否大于所述计算单元获得的所述服务器状态值总和;
预警单元,用于在所述比较单元比较出所述虚拟机状态值总和大于所述服务器状态值总和时发出HA预警;在所述比较单元比较出所述虚拟机状态值总和小于等于所述服务器状态值总和时不发出HA预警。

10.  根据权利要求9所述的虚拟资源管理器,其特征在于,所述选择单元具体用于,将所有所述服务器按照CPU资源从大到小的顺序排序,若所述服务器的CPU资源相同,则按照内存资源从大到小的顺序排序,获得服务器资源顺序表;并选择所述服务器资源顺序表中的前N台服务器为预设故障服务器。

11.  根据权利要求10所述的虚拟资源管理器,其特征在于,所述选择单元还用于,在获得所述服务器资源顺序表时,若所述服务器的CPU资源和内存资源均相同,则按照服务器的索引号从小到大排序。

12.  根据权利要求9-11任意一项所述的虚拟资源管理器,其特征在于,若所述服务器集群承载的业务为普通业务,则所述N为1或2;若所述服务器集群承载的业务为重要业务,则所述N为所述服务器集群中服务器的个数的50%。

13.  根据权利要求9-12任意一项所述的虚拟资源管理器,其特征在于,所述预设正常服务器的CPU资源除以所述确定单元确定的所述虚拟机标准规格中的CPU资源后向下取整得到的值,以及所述预设正常服务器的内存资源除以所述确定单元确定的所述虚拟机标准规格中的内存资源后向下取整得到的值,中的最小值。

14.  根据权利要求9-12任意一项所述的虚拟资源管理器,其特征在于,在所述虚拟机的CPU资源和内存资源均小于等于所述确定单元确定的所述虚拟机标准规格中的CPU资源和内存资源时,所述虚拟机的状态值为1;在所述虚拟机的CPU资源大于所述确定单元确定的所述虚拟机标准规格中的CPU资源,或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时,所述虚拟机的状态值为:所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的 值,以及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值,中的最大值。

15.  根据权利要求9所述的虚拟资源管理器,其特征在于,所述计算单元还用于,在所述预设正常服务器出现异常时,将出现异常的预设正常服务器的状态值设置为0。

16.  根据权利要求9所述的虚拟资源管理器,其特征在于,所述计算单元还用于,在所述虚拟机出现异常时,将出现异常的虚拟机的状态值设置为0。

说明书

说明书一种HA预警方法及虚拟资源管理器
技术领域
本发明涉及通信领域,尤其涉及一种HA(high availability,高可用性)预警方法及虚拟资源管理器。
背景技术
在云计算中采用虚拟化技术,可以允许一个服务器可以同时为多个虚拟机提供服务,并且每一个虚拟机都可以独立运行而互不影响,从而显著提高工作效率。针对某一个有多台服务器的集群,管理员可以提前假定该集群中会有任意N台服务器(N为大于零的正整数)出现故障,系统会进行HA预警计算,即计算剩余的正常服务器的资源,并检测剩余的正常服务器的资源是否可以承载集群下所有虚拟机的正常运行,如果不能承载集群下所有虚拟机的正常运行则产生HA预警。这样管理员就可以据HA预警对集群进行扩容或者减容操作。
现有技术中的一种HA预警方法是,假定资源最多的N台服务器出现故障,统计剩余的预设正常服务器的CPU资源总和及内存资源总和,统计集群中的虚拟机的CPU资源总和及内存资源总和。如果剩余的预设正常服务器的CPU资源总和小于虚拟机CPU资源总和,或剩余的预设正常服务器的内存总和小于虚拟机的内存总和,就会产生HA预警。示例的,可以用aUbG的形式表示服务器和虚拟机的规格,其中U代表CPU,G代表内存,假设一个集群中有三台规格都为1U1G服务器和一个规格为2U2G的虚拟机,预设N等于1,这时剩余的预设正常服务器的CPU资源总和及内存资源总和为2U2G,根据上述算法是可以承载该集群下规格为2U2G的虚拟机的正常运行,不应产生HA预警;但事实上一个规格为2U2G的虚拟机是不能被两个规格为1U1G的服务器承载的,即此时集群中正常服务器是不能够承载集群下所有虚拟机的正常运行的,应该产生HA预警。故按照上述的HA预警方法存在误差。
还存在一种HA预警方法,检测集群下虚拟机CPU资源和内存资源的最大值,将这两个最大值预设为虚拟机标准规格,假定资源最多的N台服务器出现故障,然后统计剩余的预设正常服务器中CPU资源、内存资源均大于或等于虚拟机标准规格中的CPU资源和内存资源的服务器数量X,统计集群中虚拟机的总数量Y。当X小于Y时产生HA预警。 示例的,假设集群中有三台服务器且规格分别为3U3G,各服务器下的虚拟机规格分别为2U1G、1U2G、1U1G,预设N等于1;根据上述算法确定出的虚拟机标准规格为2U2G,这时剩余的2台服务器均有3U大于2U、3G大于2G,所以X等于2,而Y等于3,由于2小于3所以产生HA预警。事实上剩余的2台规格为3U3G的服务器可以承载上述三种规格的虚拟机的正常运行,不需要产生HA预警,所以这种HA预警方法也存在误差。
发明内容
本发明的实施例提供的一种HA预警方法及虚拟资源管理器,可以在产生HA预警时减少误差,提高HA预警准确度。
第一方面,公开了一种HA预警方法,包括:
确定虚拟机标准规格,其中,所述虚拟机标准规格为所述服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源;
选择所述服务器集群中的N个CPU资源最大的服务器为预设故障服务器,剩余服务器为预设正常服务器,所述N为大于0的整数,所述资源包括CPU资源和内存资源;
针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值,所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的资源的比值中的最小值;
将各个所述预设正常服务器的所述状态值相加,获得服务器状态值总和;
针对所述服务器集群中的每一台虚拟机,计算所述虚拟机的状态值,所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中的最大值;
将各个所述虚拟机的状态值相加,获得虚拟机状态值总和;
比较所述虚拟机状态值总和是否大于所述服务器状态值总和;
若大于,则发出HA预警,若小于等于,则不发出HA预警。
结合第一方面,在第一种可能的实现方式中,所述选择所述服务器集群中的N个CPU资源最大的服务器为预设故障服务器,包括:
将所有所述服务器按照CPU资源从大到小的顺序排序,若所述服务器的CPU资源相同,则按照内存资源从大到小的顺序排序,获得服务器资源顺序表;
选择所述服务器资源顺序表中的前N台服务器为预设故障服务器。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在获得所述服务器资源顺序表时,若所述服务器的CPU资源和内存资源均相同,则按照服务器的索引号从小到大排序。
结合第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,若所述服务器集群承载的业务为普通业务,则所述N为1或2;若所述服务器集群承载的业务为重要业务,则所述N为所述服务器集群中服务器的个数的50%。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式和第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述预设正常服务器的状态值为:所述预设正常服务器的CPU资源除以所述虚拟机标准规格中的CPU资源后向下取整得到的值,以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内存资源后向下取整得到的值,中的最小值。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式和第一方面的第三种可能的实现方式,在第四种可能的实现方式中,在所述虚拟机的CPU资源和内存资源均小于等于所述虚拟机标准规格中的CPU资源和内存资源时,所述虚拟机的状态值为1;在所述虚拟机的CPU资源大于所述虚拟机标准规格中的CPU资源,或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时,所述虚拟机的状态值为:所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值,以及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值,中的最大值。
结合第一方面,在第六种可能的实现方式中,所述针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值,还包括:
若所述预设正常服务器出现异常,则将出现异常的预设正常服务器的状态值设置为0。
结合第一方面,在第七种可能的实现方式中,所述针对每一台所述虚拟机,计算所述虚拟机的状态值,还包括:
若所述虚拟机出现异常,则将出现异常的虚拟机的状态值设置为0。
第二方面,公开了一种虚拟资源管理器,包括:
确定单元,用于确定虚拟机标准规格,其中,所述虚拟机标准规格为所述服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源;
选择单元,用于选择所述服务器集群中的N个CPU资源最大的服务器为预设故障服务器,剩余服务器为预设正常服务器,所述N为大于0的整数,所述资源包括CPU资源和内存资源;
计算单元,用于针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值,所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的资源的比值中的最小值;
所述计算单元还用于,将各个所述预设正常服务器的所述状态值相加,获得服务器状态值总和;
所述计算单元还用于,针对所述服务器集群中的每一台虚拟机,计算所述虚拟机的状态值,所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中的最大值;
所述计算单元还用于,将各个所述虚拟机的状态值相加,获得虚拟机状态值总和;
比较单元,用于比较所述计算单元获得的所述虚拟机状态值总和是否大于所述计算单元获得的所述服务器状态值总和;
预警单元,用于在所述比较单元比较出所述虚拟机状态值总和大于所述服务器状态值总和时发出HA预警;在所述比较单元比较出所述虚拟机状态值总和小于等于所述服务器状态值总和时不发出HA预警。
结合第二方面,在第一种可能的实现方式中,所述选择单元具体用于,将所有所述服务器按照CPU资源从大到小的顺序排序,若所述服务器的CPU资源相同,则按照内存资源从大到小的顺序排序,获得服务器资源顺序表;并选择所述服务器资源顺序表中的前N台服务器为预设故障服务器。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述选择单元还用于,在获得所述服务器资源顺序表时,若所述服务器的CPU资源和内存资源均相同,则按照服务器的索引号从小到大排序。
结合第二方面、第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第三种可能的实现方式中,若所述服务器 集群承载的业务为普通业务,则所述N为1或2;若所述服务器集群承载的业务为重要业务,则所述N为所述服务器集群中服务器的个数的50%。
结合第二方面、第二方的第一种可能的实现方式、第二方面的第二种可能的实现方式和第二方的第三种可能的实现方式,在第四种可能的实现方式中,所述预设正常服务器的状态值为:所述预设正常服务器的CPU资源除以所述虚拟机标准规格中的CPU资源后向下取整得到的值,以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内存资源后向下取整得到的值,中的最小值。
结合第二方面、第二方面的第一种可能的实现方式、第二方面的第二种可能的实现方式和第二方面的第三种可能的实现方式,在第五种可能的实现方式中,在所述虚拟机的CPU资源和内存资源均小于等于所述虚拟机标准规格中的CPU资源和内存资源时,所述虚拟机的状态值为1;在所述虚拟机的CPU资源大于所述虚拟机标准规格中的CPU资源,或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时,所述虚拟机的状态值为:所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值,以及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值,中的最大值。
结合第二方面,在第六种可能的实现方式中,所述计算单元还用于,在所述预设正常服务器出现异常时,将出现异常的预设正常服务器的状态值设置为0。
结合第二方面,在第七种可能的实现方式中,所述计算单元还用于,在所述虚拟机出现异常时,将出现异常的虚拟机的状态值设置为0。
本发明实施例提供的HA预警方法及虚拟资源管理器,将服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源,作为虚拟机标准规格,计算集群中各个预设正常服务器的状态值和各个虚拟机的状态值,然后将各个预设正常服务器的状态值相加获得预设正常服务器状态值总和,将各个虚拟机的状态值相加获得,比较所述虚拟机状态值总和是否大于所述预设正常服务器状态值总和,若大于,则产生HA预警。与现有技术中仅比较预设正常服务器总资源和虚拟机总资源,或将所有虚拟机中CPU资源和内存资源的最大值作为虚拟机标准规格的CPU资源和内存资源,导致HA预警出现误差相比,本发明提供的HA 预警方法,将虚拟机的标准规格修订为众数,代表了数据的一般水平,故可以在产生HA预警时减少误差,提高HA预警准确度。
附图说明
图1为本发明实施例1提供的一种HA预警方法的流程示意图;
图2为本发明实施例2提供的一种虚拟资源管理器的结构框图;
图3为本发明实施例3提供的一种虚拟资源管理器的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本发明实施例提供了一种HA预警方法,应用于一个服务器集群,如图1所示,所述方法包括以下步骤:
101、确定虚拟机标准规格。
其中,所述虚拟机标准规格为所述服务器集群中同一规格个数最多的虚拟机的规格,所述虚拟机的规格包括CPU资源和内存资源。
众数是一组数据中出现次数最多的数值,代表数据的一般水平。将所述服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源作为虚拟机标准规格中的CPU资源和内存资源,可以表示集群中虚拟机规格的普遍情况,进而提高HA预警的准确性。
示例的,若集群A中有1台2U1G虚拟机、1台1U2G虚拟机、2台1U1G虚拟机,其中1U1G虚拟机是个数最多的虚拟机,所以在该集群中,确定的虚拟机标准规格为1U1G。
102、选择所述服务器集群中的N个CPU资源最大的服务器为预设故障服务器,剩余服务器为预设正常服务器,所述N为大于0的整数。
针对某一个有多台服务器的集群,管理员可以提前假定该集群中会有任意N台服务器(N为大于零的正整数)出现故障,系统会进行HA预警计算,即计算剩余的正常服务器的资源,并检测剩余的正常服务器的资源是否可以承载集群下所有虚拟机的正常运行,如果不能承 载集群下所有虚拟机的正常运行则产生HA预警。这样管理员就可以据HA预警对集群进行扩容或者减容操作。
这里,选择所述服务器集群中的N个资源最大的服务器为预设故障服务器的方法主要包括:将所有所述服务器按照CPU资源从大到小的顺序排序,,若所述服务器的CPU资源相同,则按照内存资源从大到小的顺序排序,获得服务器资源顺序表,其中若所述服务器的CPU资源和内存资源均相同,则按照服务器的索引号从小到大排序。选择所述服务器资源顺序表中的前N台服务器为预设故障服务器。
若服务器集群当前承载的业务为普通业务,在进行HA预警时,首先将所述N设置为1-2台。若服务器集群当前承载的业务为重要业务,则将N设置为集群中服务器个数50%。示例的,在集群A中有2台2U1G服务器、1台3U3G服务器、1台4U2G。若当前业务为普通业务,则将N设置为1(或2),这时在集群A中,获得的服务器资源顺序表中的前1台为规格为4U2G的服务器,故将这台服务器设置为预设故障服务器,则剩余的2台2U1G服务器、1台3U3G服务器均为预设正常服务器。
103、针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值。
其中,所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的资源的比值中的最小值。所述预设正常服务器的状态值的具体为:所述预设正常服务器的CPU资源除以所述虚拟机标准规格中的CPU资源后向下取整得到的值,以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内存资源后向下取整得到的值,中的最小值。
计算所述预设正常服务器的状态值,在所述预设正常服务器出现异常时,针对该预设正常服务器进行上述计算步骤,可以获得准确的HA预警结果。
或者,在所述预设正常服务器出现异常时,将该预设正常服务器的状态值设置为0,可以得到更为准确的HA预警结果。这里所述预设正常服务器出现异常包括:如果某一台服务器下电后,该服务器的管理节点会将该服务器属性设置为False,进而在计算所述预设正常服务器的状态值时,若该服务器属性为False,则不计算该服务器的状态值。在进行HA预警之前,会将集群下的服务器的属性设置为Ture,并将所述服务器资源顺序表中的前N台服务器的属性设置为False,通常剩余 的服务器的属性应均为Ture,但如果某服务器出现异常,例如某一台服务器下电,则剩余的服务器中就会出现属性为False的预设正常服务器。
示例的,有步骤101可知,集群A中虚拟机标准规格为1U1G。针对集群A中的所有预设正常服务器,计算所述预设正常服务器的状态值。对于2台2U1G服务器均有round down(2U/1U)=2,round down(1G/1G)=1,即CPU资源2U除以虚拟机标准规格中的CPU资源1U,得到2向下取整得到2。内存资源1G除以虚拟机标准规格中的CPU资源1G,得到1向下取整得到1。由于1小于2,所以2台2U1G服务器的状态值均为1。这里round down在数学公式中表示向下取整,在计算过程中,如果得到的结果不是整数,如1.6,向下取整得到的结果就是1。
同理,对于1台3U3G服务器均有,round down(3U/1U)=3,round down(3G/1G)=3,所以3台3U3G服务器的状态值为3。
104、将各个所述预设正常服务器的所述状态值相加,获得服务器状态值总和。
示例的,在集群A中计算获得2U1G服务器和3U3G服务器的所述预设正常服务器的状态值分别为1、3,由于集群A所述预设正常服务器有2台2U1G服务器和1台3U3G服务器和,1×2+3×1=5,得到所述服务器状态值总和为5。
105、针对所述服务器集群中的每一台虚拟机,计算所述虚拟机的状态值。
其中,所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中的最大值。所述虚拟机的状态值具体包括:在所述虚拟机的CPU资源和内存资源均小于等于所述虚拟机标准规格中的CPU资源和内存资源时,所述虚拟机的状态值为1;在所述虚拟机的CPU资源大于所述虚拟机标准规格中的CPU资源,或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时,所述虚拟机的状态值为:所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值,以及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值,中的最大值。
计算所述虚拟机的状态值,在所述虚拟机出现异常时,针对该虚拟机进行上述计算步骤,可以获得准确的HA预警结果。
或者,在所述虚拟机出现异常时,将该虚拟机的状态值设置为0,可以得到更为准确的HA预警结果。这里,所述虚拟机出现异常包括:虚拟机时HA属性为False,进而在计算所述虚拟机的状态值时,不计算该虚拟机的状态值。在进行HA预警之前,会将集群下虚拟机的HA属性设置为True或False,不设置的虚拟机HA属性默认为False。
示例的,有步骤101可知,集群A中虚拟机标准规格为1U1G。针对集群A中的所有虚拟机,计算所述虚拟机的状态值。对于1台2U1G虚拟机有round up(2U/1U)=2,round up(1G/1G)=1,即CPU资源2U除以虚拟机标准规格中的CPU资源1U,得到2向上取整得到2。内存资源1G除以虚拟机标准规格中的CPU资源1G,得到1向上取整得到1。由于2大于1,所以这台2U1G虚拟机的状态值为2。round up,在数学公式中表示向上取整,在计算过程中,如果得到的结果不是整数,如1.4,向上取整得到的结果就是2。
同理,对于1台1U2G虚拟机均有round up(1U/1U)=1,round up(2G/1G)=2,2大于1,所以这台1U2G虚拟机的状态值为2。对于2台1U1G虚拟机均有round up(1U/1U)=1,round up(1G/1G)=1,所以这3台1U1G虚拟机的状态值均为1。
106、将各个所述虚拟机的状态值相加,获得虚拟机状态值总和。
示例的,在集群A中计算获得2U1G虚拟机、1U2G虚拟机和1U1G虚拟机的所述虚拟机的状态值分别为2、2、1,由于集群A中有1台2U1G虚拟机、1台1U2G虚拟机和2台1U1G虚拟机,2×1+2×1+1×2=6得到所述服务器状态值总和为6。
107、比较所述虚拟机状态值总和是否大于所述服务器状态值总和。
若大于,则进行步骤108。
示例的,集群A中,所述虚拟机状态值总和为6,所述服务器状态值总和为5,5小于6,所以进行步骤108。这里,若步骤106获得的所述虚拟机状态值总和不大于步骤104获得的所述服务器状态值总和,则不会进行步骤108。
108、发出HA预警。
发出所述HA预警后,管理员就可以根据所述HA预警对集群进行扩容或减容的操作。
若一个集群中有3台1U1G服务器和1台2U2G虚拟机,预设N等 于1,则应用现有技术中的第一种方法,最终的结果是不产生HA预警,但事实上此时集群中正常服务器是不能够承载集群下所有虚拟机的正常运行的,应该产生HA预警。而应用本发明提供的方法,首先将2U2G确定为所述虚拟机标准规格。对于2台预设正常服务器,均有round down(1U/2U)=0,round down(1G/2G)=0,所以2台1U1G服务器的状态值为0,因此所述正常服务器状态值总和为0。对于1台2U2G虚拟机有round up(2U/2U)=1,round up(2G/2G)=1,所以这台2U2G虚拟机的状态值均为1,所以所述虚拟机状态值总和为1。又因为,1大于0,最终产生HA预警,故,本发明提供的方法与现有技术的第一种方法相比更加准确。
若集群中有3台3U3G服务器,各服务器下的虚拟机规格分别为2U1G、1U2G、1U1G,预设N等于1,则应用现有技术中的第二种方法,最终的结果是产生HA预警,但事实上此时集群中正常服务器是能够承载集群下所有虚拟机的正常运行的,不应该产生HA预警。而应用本发明提供的方法,这三种规格的虚拟机均有一台,将任意一台的规格作为虚拟机的标准规格,可确定所述虚拟机标准规格为1U1G。排除1台3U3G服务器,对于剩余的2台3U3G服务器均有round down(3U/1U)=3,round down(3G/1G)=3,所以2台3U3G服务器的状态值均为3,所述正常服务器状态总值为6。对于2U1G虚拟机,round up(2U/1U)=2,round up(1G/1G)=1,2大于1,所以2U1G虚拟机的状态值为2。对于1U2G虚拟机,round up(1U/1U)=1,round up(2G/1G)=2,2大于1,所以1U2G虚拟机的状态值为2。对于1U1G虚拟机,round up(1U/1U)=1,round up(1G/1G)=1,所以1U1G虚拟机的状态值为1。故所述虚拟机状态值总和为2+2+1=5。又因为5不大于6,最终不产生HA预警,故,本发明提供的方法与现有技术的第二种方法相比更加准确。
本发明实施例提供的HA预警方法,将服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源,作为虚拟机标准规格,计算集群中各个预设正常服务器的状态值和各个虚拟机的状态值,然后将各个预设正常服务器的状态值相加获得预设正常服务器状态值总和,将各个虚拟机的状态值相加获得,比较所述虚拟机状态值总和是否大于所述预设正常服务器状态值总和,若大于,则产生HA预警。与现有技术中仅比较预设正常服务器总资源和虚拟机总资源,或将所有虚拟机 中CPU资源和内存资源的最大值作为虚拟机标准规格的CPU资源和内存资源,导致HA预警出现误差相比,本发明提供的HA预警方法,将虚拟机的标准规格修订为众数,代表了数据的一般水平,故可以在产生HA预警时减少误差,提高HA预警准确度。
实施例2:
本发明实施例提供了一种虚拟资源管理器,如图2所示,包括:确定单元201、选择单元202、计算单元203、比较单元204和预警单元205。
确定单元201,用于确定虚拟机标准规格,其中,所述虚拟机标准规格为所述服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源。
选择单元202,用于选择所述服务器集群中的N个CPU资源最大的服务器为预设故障服务器,剩余服务器为预设正常服务器,所述N为大于0的整数,所述资源包括CPU资源和内存资源。
计算单元203,用于针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值,所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的资源的比值中的最小值。所述计算单元203还用于,将各个所述预设正常服务器的所述状态值相加,获得服务器状态值总和。
所述计算单元203还用于,针对所述服务器集群中的每一台虚拟机,计算所述虚拟机的状态值,所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中的最大值。所述计算单元203还用于,将各个所述虚拟机的状态值相加,获得虚拟机状态值总和。
比较单元204,用于比较所述计算单元获得的所述虚拟机状态值总和是否大于所述计算单元获得的所述服务器状态值总和;
预警单元205,用于在所述比较单元204比较出所述虚拟机状态值总和大于所述服务器状态值总和时发出HA预警;在所述比较单元204比较出所述虚拟机状态值总和小于等于所述服务器状态值总和时不发出HA预警。
所述选择单元202具体用于,将所有所述服务器按照CPU资源从大到小的顺序排序,若所述服务器的CPU资源相同,则按照内存资源 从大到小的顺序排序,获得服务器资源顺序表;选择所述服务器资源顺序表中的前N台服务器为预设故障服务器。
所述选择单元202还用于,在获得所述服务器资源顺序表时,若所述服务器的CPU资源和内存资源均相同,则按照服务器的索引号从小到大排序。
所述选择单元202具体用于,在所述服务器集群承载的业务为普通业务时,将所述N设置为1或2;在所述服务器集群承载的业务为重要业务时,将所述N设置为所述服务器集群中服务器的个数的50%。
这里,所述预设正常服务器的状态值为:所述预设正常服务器的CPU资源除以所述确定单元201确定的所述虚拟机标准规格中的CPU资源后向下取整得到的值,以及所述预设正常服务器的内存资源除以所述确定单元201确定的所述虚拟机标准规格中的内存资源后向下取整得到的值,中的最小值。
所述虚拟机的状态值具体包括:在所述虚拟机的CPU资源和内存资源均小于等于所述确定单元201确定的所述虚拟机标准规格中的CPU资源和内存资源时,所述虚拟机的状态值为1;在所述虚拟机的CPU资源大于所述确定单元201确定的所述虚拟机标准规格中的CPU资源,或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时,所述虚拟机的状态值为:所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值,以及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值,中的最大值。
所述计算单元203还用于,在所述预设正常服务器出现异常时,将出现异常的预设正常服务器的状态值设置为0。
所述计算单元203还用于,在所述虚拟机出现异常时,将出现异常的虚拟机的状态值设置为0。
本发明实施例提供的虚拟资源管理器,将服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源,作为虚拟机标准规格,计算集群中各个预设正常服务器的状态值和各个虚拟机的状态值,然后将各个预设正常服务器的状态值相加获得预设正常服务器状态值总和,将各个虚拟机的状态值相加获得,比较所述虚拟机状态值总和是否大于所述预设正常服务器状态值总和,若大于,则产生HA预警。与现有技术中仅比较预设正常服务器总资源和虚拟机总资源,或将所有 虚拟机中CPU资源和内存资源的最大值作为虚拟机标准规格的CPU资源和内存资源,导致HA预警出现误差相比,本发明提供的HA预警方法,将虚拟机的标准规格修订为众数,代表了数据的一般水平,故可以在产生HA预警时减少误差,提高HA预警准确度。
实施例3:
本发明实施例提供了一种虚拟资源管理器,如图3所示,所述NAS设备包括:存储器301以及与存储器301连接的处理器302。其中,存储器303中存储一组程序代码,且处理器302用于调用存储器301中存储的程序代码,用于执行以下操作:
处理器302,用于确定虚拟机标准规格,其中,所述虚拟机标准规格为所述服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源。
所述处理器302,用于选择所述服务器集群中的N个资源最大的服务器为预设故障服务器,剩余服务器为预设正常服务器,所述N为大于0的整数,所述资源包括CPU资源和内存资源。
所述处理器302,用于针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值,所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的资源的比值中的最小值。所述处理器302,还用于,将各个所述预设正常服务器的所述状态值相加,获得服务器状态值总和。
所述处理器302还用于,针对所述服务器集群中的每一台虚拟机,计算所述虚拟机的状态值,所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中的最大值。所述处理器302还用于,将各个所述虚拟机的状态值相加,获得虚拟机状态值总和。
所述处理器302,用于比较获得的所述虚拟机状态值总和是否大于获得的所述服务器状态值总和。
所述处理器302,用于在比较出所述虚拟机状态值总和大于所述服务器状态值总和时发出HA预警;在比较出所述虚拟机状态值总和小于等于所述服务器状态值总和时不发出HA预警。
所述处理器302,具体用于将所有所述服务器按照CPU资源从大到小的顺序排序,若所述服务器的CPU资源相同,则按照内存资源从大到小的顺序排序,获得服务器资源顺序表;选择所述服务器资源顺序表中的前N台服务器为预设故障服务器。
所述处理器302还用于,在获得所述服务器资源顺序表时,若所述服务器的CPU资源和内存资源均相同,则按照服务器的索引号从小到大排序。
所述处理器302具体用于,在所述服务器集群承载的业务为普通业务时,将所述N设置为1或2;在所述服务器集群承载的业务为重要业务时,将所述N设置为所述服务器集群中服务器的个数的50%。
这里,所述预设正常服务器的状态值为:所述预设正常服务器的CPU资源除以所述虚拟机标准规格中的CPU资源后向下取整得到的值,以及所述预设正常服务器的内存资源除以确定的所述虚拟机标准规格中的内存资源后向下取整得到的值,中的最小值。
所述虚拟机的状态值具体包括:在所述虚拟机的CPU资源和内存资源均小于等于所述虚拟机标准规格中的CPU资源和内存资源时,所述虚拟机的状态值为1;在所述虚拟机的CPU资源大于所述虚拟机标准规格中的CPU资源,或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时,所述虚拟机的状态值为:所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值,以及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值,中的最大值。
所述处理器302还用于,在所述预设正常服务器出现异常时,将出现异常的预设正常服务器的状态值设置为0。
所述处理器302还用于,在所述虚拟机出现异常时,将出现异常的虚拟机的状态值设置为0。
本发明实施例提供的虚拟资源管理器,将服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源,作为虚拟机标准规格,计算集群中各个预设正常服务器的状态值和各个虚拟机的状态值,然后将各个预设正常服务器的状态值相加获得预设正常服务器状态值总和,将各个虚拟机的状态值相加获得,比较所述虚拟机状态值总和是否大于所述预设正常服务器状态值总和,若大于,则产生HA预警。与现有技术中仅比较预设正常服务器总资源和虚拟机总资源,或将所有虚拟机中CPU资源和内存资源的最大值作为虚拟机标准规格的CPU资源和内存资源,导致HA预警出现误差相比,本发明提供的HA预警方法,将虚拟机的标准规格修订为众数,代表了数据的一般水平,故可以在产生HA预警时减少误差,提高HA预警准确度。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

一种HA预警方法及虚拟资源管理器.pdf_第1页
第1页 / 共16页
一种HA预警方法及虚拟资源管理器.pdf_第2页
第2页 / 共16页
一种HA预警方法及虚拟资源管理器.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《一种HA预警方法及虚拟资源管理器.pdf》由会员分享,可在线阅读,更多相关《一种HA预警方法及虚拟资源管理器.pdf(16页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103593249 A (43)申请公布日 2014.02.19 CN 103593249 A (21)申请号 201310571736.X (22)申请日 2013.11.13 G06F 11/00(2006.01) G06F 9/455(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 刘宝起 (74)专利代理机构 北京中博世达专利商标代理 有限公司 11274 代理人 申健 (54) 发明名称 一种 HA 预警方法及虚拟资源管理器 (57) 摘要 本发明实施例提供的 HA 预警方法及虚。

2、拟资 源管理器, 涉及通信领域, 可以在产生 HA 预警时 减少误差, 提高HA预警准确度。 所述方法包括 : 将 服务器集群中同一规格个数最多的虚拟机的 CPU 资源和内存资源作为虚拟机标准规格 ; 选择 N 个 CPU 资源最大的服务器为预设故障服务器, 剩余 服务器为预设正常服务器 ; 针对每一台预设正常 服务器, 计算预设正常服务器的状态值并将各个 预设正常服务器的状态值相加, 获得服务器状态 值总和 ; 针对服务器集群中的每一台虚拟机, 计 算虚拟机的状态值, 并将各个虚拟机的状态值相 加, 获得虚拟机状态值总和 ; 比较虚拟机状态值 总和是否大于服务器状态值总和 ; 若大于, 则发。

3、 出 HA 预警, 若小于等于, 则不发出 HA 预警。 (51)Int.Cl. 权利要求书 3 页 说明书 10 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书10页 附图2页 (10)申请公布号 CN 103593249 A CN 103593249 A 1/3 页 2 1. 一种 HA 预警方法, 应用于一个服务器集群, 其特征在于, 包括 : 确定虚拟机标准规格, 其中, 所述虚拟机标准规格为所述服务器集群中同一规格个数 最多的虚拟机的 CPU 资源和内存资源 ; 选择所述服务器集群中的 N 个 CPU 资源最大的服务器为预设故障服。

4、务器, 剩余服务器 为预设正常服务器, 所述 N 为大于 0 的整数, 所述资源包括 CPU 资源和内存资源 ; 针对每一台所述预设正常服务器, 计算所述预设正常服务器的状态值, 所述预设正常 服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的资源的比值中 的最小值 ; 将各个所述预设正常服务器的所述状态值相加, 获得服务器状态值总和 ; 针对所述服务器集群中的每一台虚拟机, 计算所述虚拟机的状态值, 所述虚拟机的状 态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中的最大值 ; 将各个所述虚拟机的状态值相加, 获得虚拟机状态值总和 ; 比较所述虚拟机状态值总和是否大于所。

5、述服务器状态值总和 ; 若大于, 则发出 HA 预警, 若小于等于, 则不发出 HA 预警。 2.根据权利要求1所述的方法, 其特征在于, 所述选择所述服务器集群中的N个CPU资 源最大的服务器为预设故障服务器, 包括 : 将所有所述服务器按照CPU资源从大到小的顺序排序, 若所述服务器的CPU资源相同, 则按照内存资源从大到小的顺序排序, 获得服务器资源顺序表 ; 选择所述服务器资源顺序表中的前 N 台服务器为预设故障服务器。 3. 根据权利要求 2 所述的方法, 其特征在于, 在获得所述服务器资源顺序表时, 若所述 服务器的 CPU 资源和内存资源均相同, 则按照服务器的索引号从小到大排序。

6、。 4. 根据权利要求 1-3 任意一项所述的方法, 其特征在于, 若所述服务器集群承载的业务为普通业务, 则所述 N 为 1 或 2 ; 若所述服务器集群承载 的业务为重要业务, 则所述 N 为所述服务器集群中服务器的个数的 50%。 5. 根据权利要求 1-4 任意一项所述的方法, 其特征在于, 所述预设正常服务器的状态 值为 : 所述预设正常服务器的 CPU 资源除以所述虚拟机标准规格中的 CPU 资源后向下取整 得到的值, 以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内存资源后 向下取整得到的值, 中的最小值。 6. 根据权利要求 1-4 任意一项所述的方法, 其特征在于。

7、, 在所述虚拟机的 CPU 资源和 内存资源均小于等于所述虚拟机标准规格中的 CPU 资源和内存资源时, 所述虚拟机的状态 值为 1 ; 在所述虚拟机的 CPU 资源大于所述虚拟机标准规格中的 CPU 资源, 或所述虚拟机的 内存资源大于所述虚拟机标准规格中的内存资源时, 所述虚拟机的状态值为 : 所述虚拟机 的 CPU 资源除以所述虚拟机标准规格中的 CPU 资源后向上取整得到的值, 以及所述虚拟机 的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值, 中的最大值。 7. 根据权利要求 1 所述的方法, 其特征在于, 所述针对每一台所述预设正常服务器, 计 算所述预设正常服务器的。

8、状态值, 还包括 : 若所述预设正常服务器出现异常, 则将出现异常的预设正常服务器的状态值设置为 0。 8. 根据权利要求 1 所述的方法, 其特征在于, 所述针对每一台所述虚拟机, 计算所述虚 拟机的状态值, 还包括 : 权 利 要 求 书 CN 103593249 A 2 2/3 页 3 若所述虚拟机出现异常, 则将出现异常的虚拟机的状态值设置为 0。 9. 一种虚拟资源管理器, 其特征在于, 包括 : 确定单元, 用于确定虚拟机标准规格, 其中, 所述虚拟机标准规格为所述服务器集群中 同一规格个数最多的虚拟机的 CPU 资源和内存资源 ; 选择单元, 用于选择所述服务器集群中的 N 个 。

9、CPU 资源最大的服务器为预设故障服务 器, 剩余服务器为预设正常服务器, 所述 N 为大于 0 的整数, 所述资源包括 CPU 资源和内存 资源 ; 计算单元, 用于针对每一台所述预设正常服务器, 计算所述预设正常服务器的状态值, 所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的 资源的比值中的最小值 ; 所述计算单元还用于, 将各个所述预设正常服务器的所述状态值相加, 获得服务器状 态值总和 ; 所述计算单元还用于, 针对所述服务器集群中的每一台虚拟机, 计算所述虚拟机的状 态值, 所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中 的最大。

10、值 ; 所述计算单元还用于, 将各个所述虚拟机的状态值相加, 获得虚拟机状态值总和 ; 比较单元, 用于比较所述计算单元获得的所述虚拟机状态值总和是否大于所述计算单 元获得的所述服务器状态值总和 ; 预警单元, 用于在所述比较单元比较出所述虚拟机状态值总和大于所述服务器状态值 总和时发出 HA 预警 ; 在所述比较单元比较出所述虚拟机状态值总和小于等于所述服务器 状态值总和时不发出 HA 预警。 10. 根据权利要求 9 所述的虚拟资源管理器, 其特征在于, 所述选择单元具体用于, 将 所有所述服务器按照CPU资源从大到小的顺序排序, 若所述服务器的CPU资源相同, 则按照 内存资源从大到小的。

11、顺序排序, 获得服务器资源顺序表 ; 并选择所述服务器资源顺序表中 的前 N 台服务器为预设故障服务器。 11. 根据权利要求 10 所述的虚拟资源管理器, 其特征在于, 所述选择单元还用于, 在获 得所述服务器资源顺序表时, 若所述服务器的 CPU 资源和内存资源均相同, 则按照服务器 的索引号从小到大排序。 12. 根据权利要求 9-11 任意一项所述的虚拟资源管理器, 其特征在于, 若所述服务器 集群承载的业务为普通业务, 则所述 N 为 1 或 2 ; 若所述服务器集群承载的业务为重要业 务, 则所述 N 为所述服务器集群中服务器的个数的 50%。 13. 根据权利要求 9-12 任意。

12、一项所述的虚拟资源管理器, 其特征在于, 所述预设正常 服务器的CPU资源除以所述确定单元确定的所述虚拟机标准规格中的CPU资源后向下取整 得到的值, 以及所述预设正常服务器的内存资源除以所述确定单元确定的所述虚拟机标准 规格中的内存资源后向下取整得到的值, 中的最小值。 14. 根据权利要求 9-12 任意一项所述的虚拟资源管理器, 其特征在于, 在所述虚拟机 的CPU资源和内存资源均小于等于所述确定单元确定的所述虚拟机标准规格中的CPU资源 和内存资源时, 所述虚拟机的状态值为 1 ; 在所述虚拟机的 CPU 资源大于所述确定单元确定 的所述虚拟机标准规格中的 CPU 资源, 或所述虚拟机。

13、的内存资源大于所述虚拟机标准规格 权 利 要 求 书 CN 103593249 A 3 3/3 页 4 中的内存资源时, 所述虚拟机的状态值为 : 所述虚拟机的 CPU 资源除以所述虚拟机标准规 格中的 CPU 资源后向上取整得到的值, 以及所述虚拟机的内存资源除以所述虚拟机标准规 格中的内存资源后向上取整得到的值, 中的最大值。 15. 根据权利要求 9 所述的虚拟资源管理器, 其特征在于, 所述计算单元还用于, 在所 述预设正常服务器出现异常时, 将出现异常的预设正常服务器的状态值设置为 0。 16. 根据权利要求 9 所述的虚拟资源管理器, 其特征在于, 所述计算单元还用于, 在所 述虚。

14、拟机出现异常时, 将出现异常的虚拟机的状态值设置为 0。 权 利 要 求 书 CN 103593249 A 4 1/10 页 5 一种 HA 预警方法及虚拟资源管理器 技术领域 0001 本发明涉及通信领域, 尤其涉及一种 HA(high availability, 高可用性) 预警方 法及虚拟资源管理器。 背景技术 0002 在云计算中采用虚拟化技术, 可以允许一个服务器可以同时为多个虚拟机提供服 务, 并且每一个虚拟机都可以独立运行而互不影响, 从而显著提高工作效率。 针对某一个有 多台服务器的集群, 管理员可以提前假定该集群中会有任意 N 台服务器 (N 为大于零的正整 数) 出现故障,。

15、 系统会进行 HA 预警计算, 即计算剩余的正常服务器的资源, 并检测剩余的正 常服务器的资源是否可以承载集群下所有虚拟机的正常运行, 如果不能承载集群下所有虚 拟机的正常运行则产生 HA 预警。这样管理员就可以据 HA 预警对集群进行扩容或者减容操 作。 0003 现有技术中的一种 HA 预警方法是, 假定资源最多的 N 台服务器出现故障, 统计剩 余的预设正常服务器的 CPU 资源总和及内存资源总和, 统计集群中的虚拟机的 CPU 资源总 和及内存资源总和。 如果剩余的预设正常服务器的CPU资源总和小于虚拟机CPU资源总和, 或剩余的预设正常服务器的内存总和小于虚拟机的内存总和, 就会产生。

16、 HA 预警。示例的, 可以用 aUbG 的形式表示服务器和虚拟机的规格, 其中 U 代表 CPU,G 代表内存, 假设一个集 群中有三台规格都为 1U1G 服务器和一个规格为 2U2G 的虚拟机, 预设 N 等于 1, 这时剩余的 预设正常服务器的 CPU 资源总和及内存资源总和为 2U2G, 根据上述算法是可以承载该集群 下规格为 2U2G 的虚拟机的正常运行, 不应产生 HA 预警 ; 但事实上一个规格为 2U2G 的虚拟 机是不能被两个规格为 1U1G 的服务器承载的, 即此时集群中正常服务器是不能够承载集 群下所有虚拟机的正常运行的, 应该产生 HA 预警。故按照上述的 HA 预警方。

17、法存在误差。 0004 还存在一种 HA 预警方法, 检测集群下虚拟机 CPU 资源和内存资源的最大值, 将这 两个最大值预设为虚拟机标准规格, 假定资源最多的 N 台服务器出现故障, 然后统计剩余 的预设正常服务器中 CPU 资源、 内存资源均大于或等于虚拟机标准规格中的 CPU 资源和内 存资源的服务器数量 X, 统计集群中虚拟机的总数量 Y。当 X 小于 Y 时产生 HA 预警。示例 的, 假设集群中有三台服务器且规格分别为 3U3G, 各服务器下的虚拟机规格分别为 2U1G、 1U2G、 1U1G, 预设N等于1 ; 根据上述算法确定出的虚拟机标准规格为2U2G, 这时剩余的2台 服务。

18、器均有 3U 大于 2U、 3G 大于 2G, 所以 X 等于 2, 而 Y 等于 3, 由于 2 小于 3 所以产生 HA 预 警。事实上剩余的 2 台规格为 3U3G 的服务器可以承载上述三种规格的虚拟机的正常运行, 不需要产生 HA 预警, 所以这种 HA 预警方法也存在误差。 发明内容 0005 本发明的实施例提供的一种 HA 预警方法及虚拟资源管理器, 可以在产生 HA 预警 时减少误差, 提高 HA 预警准确度。 0006 第一方面, 公开了一种 HA 预警方法, 包括 : 说 明 书 CN 103593249 A 5 2/10 页 6 0007 确定虚拟机标准规格, 其中, 所述。

19、虚拟机标准规格为所述服务器集群中同一规格 个数最多的虚拟机的 CPU 资源和内存资源 ; 0008 选择所述服务器集群中的 N 个 CPU 资源最大的服务器为预设故障服务器, 剩余服 务器为预设正常服务器, 所述 N 为大于 0 的整数, 所述资源包括 CPU 资源和内存资源 ; 0009 针对每一台所述预设正常服务器, 计算所述预设正常服务器的状态值, 所述预设 正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格中的资源的比 值中的最小值 ; 0010 将各个所述预设正常服务器的所述状态值相加, 获得服务器状态值总和 ; 0011 针对所述服务器集群中的每一台虚拟机, 计算所述。

20、虚拟机的状态值, 所述虚拟机 的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比值中的最大值 ; 0012 将各个所述虚拟机的状态值相加, 获得虚拟机状态值总和 ; 0013 比较所述虚拟机状态值总和是否大于所述服务器状态值总和 ; 0014 若大于, 则发出 HA 预警, 若小于等于, 则不发出 HA 预警。 0015 结合第一方面, 在第一种可能的实现方式中, 所述选择所述服务器集群中的 N 个 CPU 资源最大的服务器为预设故障服务器, 包括 : 0016 将所有所述服务器按照 CPU 资源从大到小的顺序排序, 若所述服务器的 CPU 资源 相同, 则按照内存资源从大到小的顺序排。

21、序, 获得服务器资源顺序表 ; 0017 选择所述服务器资源顺序表中的前 N 台服务器为预设故障服务器。 0018 结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 在获得所 述服务器资源顺序表时, 若所述服务器的 CPU 资源和内存资源均相同, 则按照服务器的索 引号从小到大排序。 0019 结合第一方面、 第一方面的第一种可能的实现方式或第一方面的第二种可能的实 现方式, 在第三种可能的实现方式中, 若所述服务器集群承载的业务为普通业务, 则所述 N 为 1 或 2 ; 若所述服务器集群承载的业务为重要业务, 则所述 N 为所述服务器集群中服务器 的个数的 50%。 002。

22、0 结合第一方面、 第一方面的第一种可能的实现方式、 第一方面的第二种可能的实 现方式和第一方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述预设正常 服务器的状态值为 : 所述预设正常服务器的 CPU 资源除以所述虚拟机标准规格中的 CPU 资 源后向下取整得到的值, 以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中 的内存资源后向下取整得到的值, 中的最小值。 0021 结合第一方面、 第一方面的第一种可能的实现方式、 第一方面的第二种可能的实 现方式和第一方面的第三种可能的实现方式, 在第四种可能的实现方式中, 在所述虚拟机 的 CPU 资源和内存资源均小于等于所述虚。

23、拟机标准规格中的 CPU 资源和内存资源时, 所述 虚拟机的状态值为 1 ; 在所述虚拟机的 CPU 资源大于所述虚拟机标准规格中的 CPU 资源, 或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时, 所述虚拟机的状态值 为 : 所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值, 以 及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值, 中 的最大值。 0022 结合第一方面, 在第六种可能的实现方式中, 所述针对每一台所述预设正常服务 说 明 书 CN 103593249 A 6 3/10 页 7 器, 计算所述预设正常服务器的状。

24、态值, 还包括 : 0023 若所述预设正常服务器出现异常, 则将出现异常的预设正常服务器的状态值设置 为 0。 0024 结合第一方面, 在第七种可能的实现方式中, 所述针对每一台所述虚拟机, 计算所 述虚拟机的状态值, 还包括 : 0025 若所述虚拟机出现异常, 则将出现异常的虚拟机的状态值设置为 0。 0026 第二方面, 公开了一种虚拟资源管理器, 包括 : 0027 确定单元, 用于确定虚拟机标准规格, 其中, 所述虚拟机标准规格为所述服务器集 群中同一规格个数最多的虚拟机的 CPU 资源和内存资源 ; 0028 选择单元, 用于选择所述服务器集群中的 N 个 CPU 资源最大的服。

25、务器为预设故障 服务器, 剩余服务器为预设正常服务器, 所述 N 为大于 0 的整数, 所述资源包括 CPU 资源和 内存资源 ; 0029 计算单元, 用于针对每一台所述预设正常服务器, 计算所述预设正常服务器的状 态值, 所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机标准规格 中的资源的比值中的最小值 ; 0030 所述计算单元还用于, 将各个所述预设正常服务器的所述状态值相加, 获得服务 器状态值总和 ; 0031 所述计算单元还用于, 针对所述服务器集群中的每一台虚拟机, 计算所述虚拟机 的状态值, 所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源的比。

26、 值中的最大值 ; 0032 所述计算单元还用于, 将各个所述虚拟机的状态值相加, 获得虚拟机状态值总 和 ; 0033 比较单元, 用于比较所述计算单元获得的所述虚拟机状态值总和是否大于所述计 算单元获得的所述服务器状态值总和 ; 0034 预警单元, 用于在所述比较单元比较出所述虚拟机状态值总和大于所述服务器状 态值总和时发出 HA 预警 ; 在所述比较单元比较出所述虚拟机状态值总和小于等于所述服 务器状态值总和时不发出 HA 预警。 0035 结合第二方面, 在第一种可能的实现方式中, 所述选择单元具体用于, 将所有所述 服务器按照CPU资源从大到小的顺序排序, 若所述服务器的CPU资源。

27、相同, 则按照内存资源 从大到小的顺序排序, 获得服务器资源顺序表 ; 并选择所述服务器资源顺序表中的前 N 台 服务器为预设故障服务器。 0036 结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述选择 单元还用于, 在获得所述服务器资源顺序表时, 若所述服务器的 CPU 资源和内存资源均相 同, 则按照服务器的索引号从小到大排序。 0037 结合第二方面、 第二方面的第一种可能的实现方式或第二方面的第二种可能的实 现方式, 在第三种可能的实现方式中, 若所述服务器集群承载的业务为普通业务, 则所述 N 为 1 或 2 ; 若所述服务器集群承载的业务为重要业务, 则所述 。

28、N 为所述服务器集群中服务器 的个数的 50%。 0038 结合第二方面、 第二方的第一种可能的实现方式、 第二方面的第二种可能的实现 说 明 书 CN 103593249 A 7 4/10 页 8 方式和第二方的第三种可能的实现方式, 在第四种可能的实现方式中, 所述预设正常服务 器的状态值为 : 所述预设正常服务器的 CPU 资源除以所述虚拟机标准规格中的 CPU 资源后 向下取整得到的值, 以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内 存资源后向下取整得到的值, 中的最小值。 0039 结合第二方面、 第二方面的第一种可能的实现方式、 第二方面的第二种可能的实 现方式和第。

29、二方面的第三种可能的实现方式, 在第五种可能的实现方式中, 在所述虚拟机 的 CPU 资源和内存资源均小于等于所述虚拟机标准规格中的 CPU 资源和内存资源时, 所述 虚拟机的状态值为 1 ; 在所述虚拟机的 CPU 资源大于所述虚拟机标准规格中的 CPU 资源, 或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时, 所述虚拟机的状态值 为 : 所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值, 以 及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值, 中 的最大值。 0040 结合第二方面, 在第六种可能的实现方式中, 所述计算单元。

30、还用于, 在所述预设正 常服务器出现异常时, 将出现异常的预设正常服务器的状态值设置为 0。 0041 结合第二方面, 在第七种可能的实现方式中, 所述计算单元还用于, 在所述虚拟机 出现异常时, 将出现异常的虚拟机的状态值设置为 0。 0042 本发明实施例提供的 HA 预警方法及虚拟资源管理器, 将服务器集群中同一规格 个数最多的虚拟机的 CPU 资源和内存资源, 作为虚拟机标准规格, 计算集群中各个预设正 常服务器的状态值和各个虚拟机的状态值, 然后将各个预设正常服务器的状态值相加获得 预设正常服务器状态值总和, 将各个虚拟机的状态值相加获得, 比较所述虚拟机状态值总 和是否大于所述预设。

31、正常服务器状态值总和, 若大于, 则产生 HA 预警。与现有技术中仅比 较预设正常服务器总资源和虚拟机总资源, 或将所有虚拟机中 CPU 资源和内存资源的最大 值作为虚拟机标准规格的 CPU 资源和内存资源, 导致 HA 预警出现误差相比, 本发明提供的 HA 预警方法, 将虚拟机的标准规格修订为众数, 代表了数据的一般水平, 故可以在产生 HA 预警时减少误差, 提高 HA 预警准确度。 附图说明 0043 图 1 为本发明实施例 1 提供的一种 HA 预警方法的流程示意图 ; 0044 图 2 为本发明实施例 2 提供的一种虚拟资源管理器的结构框图 ; 0045 图 3 为本发明实施例 3。

32、 提供的一种虚拟资源管理器的结构框图。 具体实施方式 0046 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 0047 实施例 1 : 0048 本发明实施例提供了一种HA预警方法, 应用于一个服务器集群, 如图1所示, 所述 方法包括以下步骤 : 说 明 书 CN 103593249 A 8 5/10 页 9 0049 101、 确定虚拟机标准规格。 0050。

33、 其中, 所述虚拟机标准规格为所述服务器集群中同一规格个数最多的虚拟机的规 格, 所述虚拟机的规格包括 CPU 资源和内存资源。 0051 众数是一组数据中出现次数最多的数值, 代表数据的一般水平。将所述服务器集 群中同一规格个数最多的虚拟机的CPU资源和内存资源作为虚拟机标准规格中的CPU资源 和内存资源, 可以表示集群中虚拟机规格的普遍情况, 进而提高 HA 预警的准确性。 0052 示例的, 若集群 A 中有 1 台 2U1G 虚拟机、 1 台 1U2G 虚拟机、 2 台 1U1G 虚拟机, 其中 1U1G 虚拟机是个数最多的虚拟机, 所以在该集群中, 确定的虚拟机标准规格为 1U1G。。

34、 0053 102、 选择所述服务器集群中的 N 个 CPU 资源最大的服务器为预设故障服务器, 剩 余服务器为预设正常服务器, 所述 N 为大于 0 的整数。 0054 针对某一个有多台服务器的集群, 管理员可以提前假定该集群中会有任意 N 台服 务器 (N 为大于零的正整数) 出现故障, 系统会进行 HA 预警计算, 即计算剩余的正常服务器 的资源, 并检测剩余的正常服务器的资源是否可以承载集群下所有虚拟机的正常运行, 如 果不能承载集群下所有虚拟机的正常运行则产生 HA 预警。这样管理员就可以据 HA 预警对 集群进行扩容或者减容操作。 0055 这里, 选择所述服务器集群中的 N 个资。

35、源最大的服务器为预设故障服务器的方法 主要包括 : 将所有所述服务器按照 CPU 资源从大到小的顺序排序, , 若所述服务器的 CPU 资 源相同, 则按照内存资源从大到小的顺序排序, 获得服务器资源顺序表, 其中若所述服务器 的 CPU 资源和内存资源均相同, 则按照服务器的索引号从小到大排序。选择所述服务器资 源顺序表中的前 N 台服务器为预设故障服务器。 0056 若服务器集群当前承载的业务为普通业务, 在进行 HA 预警时, 首先将所述 N 设置 为1-2台。 若服务器集群当前承载的业务为重要业务, 则将N设置为集群中服务器个数50%。 示例的, 在集群 A 中有 2 台 2U1G 服。

36、务器、 1 台 3U3G 服务器、 1 台 4U2G。若当前业务为普通 业务, 则将 N 设置为 1(或 2) , 这时在集群 A 中, 获得的服务器资源顺序表中的前 1 台为规 格为 4U2G 的服务器, 故将这台服务器设置为预设故障服务器, 则剩余的 2 台 2U1G 服务器、 1 台 3U3G 服务器均为预设正常服务器。 0057 103、 针对每一台所述预设正常服务器, 计算所述预设正常服务器的状态值。 0058 其中, 所述预设正常服务器的状态值为所述预设正常服务器的资源与所述虚拟机 标准规格中的资源的比值中的最小值。所述预设正常服务器的状态值的具体为 : 所述预设 正常服务器的 C。

37、PU 资源除以所述虚拟机标准规格中的 CPU 资源后向下取整得到的值, 以及 所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内存资源后向下取整得到 的值, 中的最小值。 0059 计算所述预设正常服务器的状态值, 在所述预设正常服务器出现异常时, 针对该 预设正常服务器进行上述计算步骤, 可以获得准确的 HA 预警结果。 0060 或者, 在所述预设正常服务器出现异常时, 将该预设正常服务器的状态值设置为 0, 可以得到更为准确的 HA 预警结果。这里所述预设正常服务器出现异常包括 : 如果某一 台服务器下电后, 该服务器的管理节点会将该服务器属性设置为 False, 进而在计算所述预。

38、 设正常服务器的状态值时, 若该服务器属性为 False, 则不计算该服务器的状态值。在进行 HA 预警之前, 会将集群下的服务器的属性设置为 Ture, 并将所述服务器资源顺序表中的前 说 明 书 CN 103593249 A 9 6/10 页 10 N 台服务器的属性设置为 False, 通常剩余的服务器的属性应均为 Ture, 但如果某服务器出 现异常, 例如某一台服务器下电, 则剩余的服务器中就会出现属性为 False 的预设正常服 务器。 0061 示例的, 有步骤 101 可知, 集群 A 中虚拟机标准规格为 1U1G。针对集群 A 中的所 有预设正常服务器, 计算所述预设正常服务。

39、器的状态值。对于 2 台 2U1G 服务器均有 round down(2U/1U) =2, round down(1G/1G) =1, 即 CPU 资源 2U 除以虚拟机标准规格中的 CPU 资 源 1U, 得到 2 向下取整得到 2。内存资源 1G 除以虚拟机标准规格中的 CPU 资源 1G, 得到 1 向下取整得到 1。由于 1 小于 2, 所以 2 台 2U1G 服务器的状态值均为 1。这里 round down 在数学公式中表示向下取整, 在计算过程中, 如果得到的结果不是整数, 如 1.6, 向下取整得 到的结果就是 1。 0062 同理, 对于 1 台 3U3G 服务器均有, ro。

40、und down(3U/1U) =3, round down(3G/1G) =3, 所以 3 台 3U3G 服务器的状态值为 3。 0063 104、 将各个所述预设正常服务器的所述状态值相加, 获得服务器状态值总和。 0064 示例的, 在集群 A 中计算获得 2U1G 服务器和 3U3G 服务器的所述预设正常服务器 的状态值分别为 1、 3, 由于集群 A 所述预设正常服务器有 2 台 2U1G 服务器和 1 台 3U3G 服务 器和, 12+31=5, 得到所述服务器状态值总和为 5。 0065 105、 针对所述服务器集群中的每一台虚拟机, 计算所述虚拟机的状态值。 0066 其中, 。

41、所述虚拟机的状态值为所述虚拟机的资源与所述虚拟机标准规格中的资源 的比值中的最大值。所述虚拟机的状态值具体包括 : 在所述虚拟机的 CPU 资源和内存资源 均小于等于所述虚拟机标准规格中的 CPU 资源和内存资源时, 所述虚拟机的状态值为 1 ; 在 所述虚拟机的 CPU 资源大于所述虚拟机标准规格中的 CPU 资源, 或所述虚拟机的内存资源 大于所述虚拟机标准规格中的内存资源时, 所述虚拟机的状态值为 : 所述虚拟机的 CPU 资 源除以所述虚拟机标准规格中的 CPU 资源后向上取整得到的值, 以及所述虚拟机的内存资 源除以所述虚拟机标准规格中的内存资源后向上取整得到的值, 中的最大值。 0。

42、067 计算所述虚拟机的状态值, 在所述虚拟机出现异常时, 针对该虚拟机进行上述计 算步骤, 可以获得准确的 HA 预警结果。 0068 或者, 在所述虚拟机出现异常时, 将该虚拟机的状态值设置为 0, 可以得到更为准 确的 HA 预警结果。这里, 所述虚拟机出现异常包括 : 虚拟机时 HA 属性为 False, 进而在计 算所述虚拟机的状态值时, 不计算该虚拟机的状态值。在进行 HA 预警之前, 会将集群下虚 拟机的 HA 属性设置为 True 或 False, 不设置的虚拟机 HA 属性默认为 False。 0069 示例的, 有步骤 101 可知, 集群 A 中虚拟机标准规格为 1U1G。

43、。针对集群 A 中的所有 虚拟机, 计算所述虚拟机的状态值。对于 1 台 2U1G 虚拟机有 round up(2U/1U) =2, round up (1G/1G) =1, 即 CPU 资源 2U 除以虚拟机标准规格中的 CPU 资源 1U, 得到 2 向上取整得到 2。内存资源 1G 除以虚拟机标准规格中的 CPU 资源 1G, 得到 1 向上取整得到 1。由于 2 大 于 1, 所以这台 2U1G 虚拟机的状态值为 2。round up, 在数学公式中表示向上取整, 在计算 过程中, 如果得到的结果不是整数, 如 1.4, 向上取整得到的结果就是 2。 0070 同理, 对于 1 台 1。

44、U2G 虚拟机均有 round up(1U/1U) =1, round up(2G/1G) =2,2 大于 1, 所以这台 1U2G 虚拟机的状态值为 2。对于 2 台 1U1G 虚拟机均有 round up (1U/1U) =1, round up(1G/1G) =1, 所以这 3 台 1U1G 虚拟机的状态值均为 1。 说 明 书 CN 103593249 A 10 7/10 页 11 0071 106、 将各个所述虚拟机的状态值相加, 获得虚拟机状态值总和。 0072 示例的, 在集群A中计算获得2U1G虚拟机、 1U2G虚拟机和1U1G虚拟机的所述虚拟 机的状态值分别为 2、 2、 1。

45、, 由于集群 A 中有 1 台 2U1G 虚拟机、 1 台 1U2G 虚拟机和 2 台 1U1G 虚拟机, 21+21+12=6 得到所述服务器状态值总和为 6。 0073 107、 比较所述虚拟机状态值总和是否大于所述服务器状态值总和。 0074 若大于, 则进行步骤 108。 0075 示例的, 集群A中, 所述虚拟机状态值总和为6, 所述服务器状态值总和为5,5小于 6, 所以进行步骤108。 这里, 若步骤106获得的所述虚拟机状态值总和不大于步骤104获得 的所述服务器状态值总和, 则不会进行步骤 108。 0076 108、 发出 HA 预警。 0077 发出所述 HA 预警后, 。

46、管理员就可以根据所述 HA 预警对集群进行扩容或减容的操 作。 0078 若一个集群中有 3 台 1U1G 服务器和 1 台 2U2G 虚拟机, 预设 N 等于 1, 则应用现 有技术中的第一种方法, 最终的结果是不产生 HA 预警, 但事实上此时集群中正常服务器是 不能够承载集群下所有虚拟机的正常运行的, 应该产生 HA 预警。而应用本发明提供的方 法, 首先将 2U2G 确定为所述虚拟机标准规格。对于 2 台预设正常服务器, 均有 round down (1U/2U) =0, round down(1G/2G) =0, 所以 2 台 1U1G 服务器的状态值为 0, 因此所述正常服 务器状。

47、态值总和为 0。对于 1 台 2U2G 虚拟机有 round up(2U/2U) =1, round up(2G/2G) =1, 所以这台 2U2G 虚拟机的状态值均为 1, 所以所述虚拟机状态值总和为 1。又因为, 1 大 于 0, 最终产生 HA 预警, 故, 本发明提供的方法与现有技术的第一种方法相比更加准确。 0079 若集群中有 3 台 3U3G 服务器, 各服务器下的虚拟机规格分别为 2U1G、 1U2G、 1U1G, 预设 N 等于 1, 则应用现有技术中的第二种方法, 最终的结果是产生 HA 预警, 但事实上此时 集群中正常服务器是能够承载集群下所有虚拟机的正常运行的, 不应该。

48、产生 HA 预警。而 应用本发明提供的方法, 这三种规格的虚拟机均有一台, 将任意一台的规格作为虚拟机的 标准规格, 可确定所述虚拟机标准规格为 1U1G。排除 1 台 3U3G 服务器, 对于剩余的 2 台 3U3G 服务器均有 round down(3U/1U) =3, round down(3G/1G) =3, 所以 2 台 3U3G 服务器 的状态值均为 3, 所述正常服务器状态总值为 6。对于 2U1G 虚拟机, round up(2U/1U) =2, round up(1G/1G) =1,2 大于 1, 所以 2U1G 虚拟机的状态值为 2。对于 1U2G 虚拟机, round u。

49、p(1U/1U) =1, round up(2G/1G) =2,2 大于 1, 所以 1U2G 虚拟机的状态值为 2。对于 1U1G 虚拟机, round up(1U/1U) =1, round up(1G/1G) =1, 所以 1U1G 虚拟机的状态值为 1。故 所述虚拟机状态值总和为 2+2+1=5。又因为 5 不大于 6, 最终不产生 HA 预警, 故, 本发明提 供的方法与现有技术的第二种方法相比更加准确。 0080 本发明实施例提供的 HA 预警方法, 将服务器集群中同一规格个数最多的虚拟机 的 CPU 资源和内存资源, 作为虚拟机标准规格, 计算集群中各个预设正常服务器的状态值 和各个虚拟机的状态值, 然后将各个预设正常服务器的状态值相加获得预设正常服务器状 态值总和, 将各个虚拟机的状态值相加获得, 比较所述虚拟机状态值总和是否大于所述预 设正常服务器状态值总和, 若大于, 则产生 HA 预警。与现有技术中仅比较预设正常服务器 总资源和虚拟机总。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1