CN103593249B - 一种ha预警方法及虚拟资源管理器 - Google Patents

一种ha预警方法及虚拟资源管理器 Download PDF

Info

Publication number
CN103593249B
CN103593249B CN201310571736.XA CN201310571736A CN103593249B CN 103593249 B CN103593249 B CN 103593249B CN 201310571736 A CN201310571736 A CN 201310571736A CN 103593249 B CN103593249 B CN 103593249B
Authority
CN
China
Prior art keywords
server
virtual machine
state value
cpu resource
memory source
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.)
Active
Application number
CN201310571736.XA
Other languages
English (en)
Other versions
CN103593249A (zh
Inventor
刘宝起
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Huiju Jiaxing Technology Co ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310571736.XA priority Critical patent/CN103593249B/zh
Publication of CN103593249A publication Critical patent/CN103593249A/zh
Application granted granted Critical
Publication of CN103593249B publication Critical patent/CN103593249B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种HA预警方法及虚拟资源管理器
技术领域
本发明涉及通信领域,尤其涉及一种HA(highavailability,高可用性)预警方法及虚拟资源管理器。
背景技术
在云计算中采用虚拟化技术,可以允许一个服务器可以同时为多个虚拟机提供服务,并且每一个虚拟机都可以独立运行而互不影响,从而显著提高工作效率。针对某一个有多台服务器的集群,管理员可以提前假定该集群中会有任意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服务器均有rounddown(2U/1U)=2,rounddown(1G/1G)=1,即CPU资源2U除以虚拟机标准规格中的CPU资源1U,得到2向下取整得到2。内存资源1G除以虚拟机标准规格中的CPU资源1G,得到1向下取整得到1。由于1小于2,所以2台2U1G服务器的状态值均为1。这里rounddown在数学公式中表示向下取整,在计算过程中,如果得到的结果不是整数,如1.6,向下取整得到的结果就是1。
同理,对于1台3U3G服务器均有,rounddown(3U/1U)=3,rounddown(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虚拟机有roundup(2U/1U)=2,roundup(1G/1G)=1,即CPU资源2U除以虚拟机标准规格中的CPU资源1U,得到2向上取整得到2。内存资源1G除以虚拟机标准规格中的CPU资源1G,得到1向上取整得到1。由于2大于1,所以这台2U1G虚拟机的状态值为2。roundup,在数学公式中表示向上取整,在计算过程中,如果得到的结果不是整数,如1.4,向上取整得到的结果就是2。
同理,对于1台1U2G虚拟机均有roundup(1U/1U)=1,roundup(2G/1G)=2,2大于1,所以这台1U2G虚拟机的状态值为2。对于2台1U1G虚拟机均有roundup(1U/1U)=1,roundup(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台预设正常服务器,均有rounddown(1U/2U)=0,rounddown(1G/2G)=0,所以2台1U1G服务器的状态值为0,因此所述正常服务器状态值总和为0。对于1台2U2G虚拟机有roundup(2U/2U)=1,roundup(2G/2G)=1,所以这台2U2G虚拟机的状态值均为1,所以所述虚拟机状态值总和为1。又因为,1大于0,最终产生HA预警,故,本发明提供的方法与现有技术的第一种方法相比更加准确。
若集群中有3台3U3G服务器,各服务器下的虚拟机规格分别为2U1G、1U2G、1U1G,预设N等于1,则应用现有技术中的第二种方法,最终的结果是产生HA预警,但事实上此时集群中正常服务器是能够承载集群下所有虚拟机的正常运行的,不应该产生HA预警。而应用本发明提供的方法,这三种规格的虚拟机均有一台,将任意一台的规格作为虚拟机的标准规格,可确定所述虚拟机标准规格为1U1G。排除1台3U3G服务器,对于剩余的2台3U3G服务器均有rounddown(3U/1U)=3,rounddown(3G/1G)=3,所以2台3U3G服务器的状态值均为3,所述正常服务器状态总值为6。对于2U1G虚拟机,roundup(2U/1U)=2,roundup(1G/1G)=1,2大于1,所以2U1G虚拟机的状态值为2。对于1U2G虚拟机,roundup(1U/1U)=1,roundup(2G/1G)=2,2大于1,所以1U2G虚拟机的状态值为2。对于1U1G虚拟机,roundup(1U/1U)=1,roundup(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、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种HA预警方法,应用于一个服务器集群,其特征在于,包括:
确定虚拟机标准规格,其中,所述虚拟机标准规格为所述服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源;
选择所述服务器集群中的N个CPU资源最大的服务器为预设故障服务器,剩余服务器为预设正常服务器,所述N为大于0的整数;
针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值,所述预设正常服务器的状态值为:所述预设正常服务器的CPU资源除以所述虚拟机标准规格中的CPU资源后向下取整得到的值,以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内存资源后向下取整得到的值,中的最小值;
将各个所述预设正常服务器的所述状态值相加,获得服务器状态值总和;
针对所述服务器集群中的每一台虚拟机,计算所述虚拟机的状态值,所述虚拟机的状态值为;在所述虚拟机的CPU资源和内存资源均小于等于所述虚拟机标准规格中的CPU资源和内存资源时,所述虚拟机的状态值为1;在所述虚拟机的CPU资源大于所述虚拟机标准规格中的CPU资源,或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时,所述虚拟机的状态值为:所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值,以及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值,中的最大值;
将各个所述虚拟机的状态值相加,获得虚拟机状态值总和;
比较所述虚拟机状态值总和是否大于所述服务器状态值总和;
若大于,则发出HA预警,若小于等于,则不发出HA预警。
2.根据权利要求1所述的方法,其特征在于,所述选择所述服务器集群中的N个CPU资源最大的服务器为预设故障服务器,包括:
将所有所述服务器按照CPU资源从大到小的顺序排序,若所述服务器的CPU资源相同,则按照内存资源从大到小的顺序排序,获得服务器资源顺序表;
选择所述服务器资源顺序表中的前N台服务器为预设故障服务器。
3.根据权利要求2所述的方法,其特征在于,在获得所述服务器资源顺序表时,若所述服务器的CPU资源和内存资源均相同,则按照服务器的索引号从小到大排序。
4.根据权利要求1)3任意一项所述的方法,其特征在于,
若所述服务器集群承载的业务为普通业务,则所述N为1或2;若所述服务器集群承载的业务为重要业务,则所述N为所述服务器集群中服务器的个数的50%。
5.根据权利要求1所述的方法,其特征在于,所述针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值,还包括:
若所述预设正常服务器出现异常,则将出现异常的预设正常服务器的状态值设置为0。
6.根据权利要求1所述的方法,其特征在于,所述针对每一台所述虚拟机,计算所述虚拟机的状态值,还包括:
若所述虚拟机出现异常,则将出现异常的虚拟机的状态值设置为0。
7.一种虚拟资源管理器,其特征在于,包括:
确定单元,用于确定虚拟机标准规格,其中,所述虚拟机标准规格为服务器集群中同一规格个数最多的虚拟机的CPU资源和内存资源;
选择单元,用于选择所述服务器集群中的N个CPU资源最大的服务器为预设故障服务器,剩余服务器为预设正常服务器,所述N为大于0的整数;
计算单元,用于针对每一台所述预设正常服务器,计算所述预设正常服务器的状态值,所述预设正常服务器的状态值:所述预设正常服务器的状态值为:所述预设正常服务器的CPU资源除以所述虚拟机标准规格中的CPU资源后向下取整得到的值,以及所述预设正常服务器的内存资源除以所述虚拟机标准规格中的内存资源后向下取整得到的值,中的最小值;
所述计算单元还用于,将各个所述预设正常服务器的所述状态值相加,获得服务器状态值总和;
所述计算单元还用于,针对所述服务器集群中的每一台虚拟机,计算所述虚拟机的状态值,所述虚拟机的状态值为;在所述虚拟机的CPU资源和内存资源均小于等于所述虚拟机标准规格中的CPU资源和内存资源时,所述虚拟机的状态值为1;在所述虚拟机的CPU资源大于所述虚拟机标准规格中的CPU资源,或所述虚拟机的内存资源大于所述虚拟机标准规格中的内存资源时,所述虚拟机的状态值为;所述虚拟机的CPU资源除以所述虚拟机标准规格中的CPU资源后向上取整得到的值,以及所述虚拟机的内存资源除以所述虚拟机标准规格中的内存资源后向上取整得到的值,中的最大值;
所述计算单元还用于,将各个所述虚拟机的状态值相加,获得虚拟机状态值总和;
比较单元,用于比较所述计算单元获得的所述虚拟机状态值总和是否大于所述计算单元获得的所述服务器状态值总和;
预警单元,用于在所述比较单元比较出所述虚拟机状态值总和大于所述服务器状态值总和时发出HA预警;在所述比较单元比较出所述虚拟机状态值总和小于等于所述服务器状态值总和时不发出HA预警。
8.根据权利要求7所述的虚拟资源管理器,其特征在于,所述选择单元具体用于,将所有所述服务器按照CPU资源从大到小的顺序排序,若所述服务器的CPU资源相同,则按照内存资源从大到小的顺序排序,获得服务器资源顺序表;并选择所述服务器资源顺序表中的前N台服务器为预设故障服务器。
9.根据权利要求8所述的虚拟资源管理器,其特征在于,所述选择单元还用于,在获得所述服务器资源顺序表时,若所述服务器的CPU资源和内存资源均相同,则按照服务器的索引号从小到大排序。
10.根据权利要求7)9任意一项所述的虚拟资源管理器,其特征在于,若所述服务器集群承载的业务为普通业务,则所述N为1或2;若所述服务器集群承载的业务为重要业务,则所述N为所述服务器集群中服务器的个数的50%。
11.根据权利要求7所述的虚拟资源管理器,其特征在于,所述计算单元还用于,在所述预设正常服务器出现异常时,将出现异常的预设正常服务器的状态值设置为0。
12.根据权利要求7所述的虚拟资源管理器,其特征在于,所述计算单元还用于,在所述虚拟机出现异常时,将出现异常的虚拟机的状态值设置为0。
CN201310571736.XA 2013-11-13 2013-11-13 一种ha预警方法及虚拟资源管理器 Active CN103593249B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310571736.XA CN103593249B (zh) 2013-11-13 2013-11-13 一种ha预警方法及虚拟资源管理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310571736.XA CN103593249B (zh) 2013-11-13 2013-11-13 一种ha预警方法及虚拟资源管理器

Publications (2)

Publication Number Publication Date
CN103593249A CN103593249A (zh) 2014-02-19
CN103593249B true CN103593249B (zh) 2016-02-03

Family

ID=50083404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310571736.XA Active CN103593249B (zh) 2013-11-13 2013-11-13 一种ha预警方法及虚拟资源管理器

Country Status (1)

Country Link
CN (1) CN103593249B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461683B (zh) * 2014-11-07 2017-11-24 华为技术有限公司 一种虚拟机非法配置的校验方法、装置及系统
CN113434256B (zh) * 2021-07-05 2023-06-30 云宏信息科技股份有限公司 一种云资源横向扩展方法、可读存储介质
CN115396681B (zh) * 2022-07-06 2024-03-15 苏州达家迎信息技术有限公司 账户管理方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811141A (zh) * 2011-06-01 2012-12-05 鸿富锦精密工业(深圳)有限公司 虚拟机运行监测系统及方法
CN103309723A (zh) * 2012-03-16 2013-09-18 鸿富锦精密工业(深圳)有限公司 虚拟机资源整合系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4227035B2 (ja) * 2004-02-03 2009-02-18 株式会社日立製作所 計算機システム、管理装置、ストレージ装置及びコンピュータ装置
US20130263117A1 (en) * 2012-03-28 2013-10-03 International Business Machines Corporation Allocating resources to virtual machines via a weighted cost ratio

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811141A (zh) * 2011-06-01 2012-12-05 鸿富锦精密工业(深圳)有限公司 虚拟机运行监测系统及方法
CN103309723A (zh) * 2012-03-16 2013-09-18 鸿富锦精密工业(深圳)有限公司 虚拟机资源整合系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于虚拟化技术的灾备系统模型研究;王晓东等;《计算机与网络》;20100115(第1期);全文 *

Also Published As

Publication number Publication date
CN103593249A (zh) 2014-02-19

Similar Documents

Publication Publication Date Title
CN108287660B (zh) 数据存储方法和设备
CN107450855B (zh) 一种用于分布式存储的模型可变的数据分布方法及系统
CN105243004A (zh) 一种故障资源检测方法及装置
CN103593249B (zh) 一种ha预警方法及虚拟资源管理器
CN112737800A (zh) 服务节点故障定位方法、调用链生成方法及服务器
CN103559093A (zh) 一种服务器资源的配置方法及装置
CN105871581A (zh) 云计算中报警信息的处理方法及装置
CN112799923A (zh) 系统异常原因确定方法、装置、设备及存储介质
CN112148779A (zh) 确定业务指标的方法、装置及存储介质
CN110932901A (zh) 一种告警等级调整方法及系统
CN104991822A (zh) 一种管理内存的方法和装置
CN113704046B (zh) 一种故障告警处理方法及装置、设备、存储介质
CN112732408A (zh) 一种用于计算节点资源优化的方法
CN111062503B (zh) 一种电网监控告警处理方法、系统、终端及存储介质
CN108768748B (zh) 一种用于电力通信服务的故障诊断方法、装置及存储介质
CN104657216A (zh) 一种资源池的资源分配方法及装置
CN111866210A (zh) 一种虚拟ip均衡分配方法、系统、终端及存储介质
CN115484233B (zh) 数通芯片中链路聚合报文的转发方法、装置、设备及介质
CN112070548B (zh) 一种用户分层的方法、装置、设备及存储介质
CN105825332A (zh) 基于云计算的电能计量监测平台及其方法
CN105373451A (zh) 一种虚拟机放置的方法及装置
CN115529219A (zh) 告警分析方法、装置、计算机可读存储介质及电子设备
CN104283943A (zh) 一种集群服务器的通信优化方法
Liang et al. A heuristic virtual machine scheduling algorithm in cloud data center
CN114205214A (zh) 一种电力通信网络故障识别方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191211

Address after: 314200 2nd floor, No.135 Hongxia Road, Danghu street, Pinghu City, Jiaxing City, Zhejiang Province

Patentee after: JIAXING BEST ELECTRONIC TECHNOLOGY CO.,LTD.

Address before: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20191211

Address after: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220613

Address after: Room 2301-14, 109 caodiu Road, Danghu street, Pinghu City, Jiaxing City, Zhejiang Province, 314200

Patentee after: Zhongke Huiju (Jiaxing) Technology Co.,Ltd.

Address before: 314200 inner 2nd floor, No.135 Hongxia Road, Danghu street, Pinghu City, Jiaxing City, Zhejiang Province

Patentee before: JIAXING BEST ELECTRONIC TECHNOLOGY CO.,LTD.

TR01 Transfer of patent right