用于虚拟化集群的选举方法及装置.pdf

上传人:1520****312 文档编号:525246 上传时间:2018-02-20 格式:PDF 页数:15 大小:1.73MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410301929.8

申请日:

2014.06.27

公开号:

CN104079647A

公开日:

2014.10.01

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||著录事项变更IPC(主分类):H04L 29/08变更事项:申请人变更前:杭州华三通信技术有限公司变更后:新华三技术有限公司变更事项:地址变更前:310052 浙江省杭州市滨江区长河路466号变更后:310052 浙江省杭州市滨江区长河路466号|||实质审查的生效IPC(主分类):H04L 29/08申请日:20140627|||公开

IPC分类号:

H04L29/08; H04L12/24

主分类号:

H04L29/08

申请人:

杭州华三通信技术有限公司

发明人:

罗逸秀

地址:

310052 浙江省杭州市滨江区长河路466号

优先权:

专利代理机构:

北京博思佳知识产权代理有限公司 11415

代理人:

林祥

PDF下载: PDF下载
内容摘要

本发明提供一种用于虚拟化集群的选举方法及装置,应用于虚拟化集群中的任一主机,该方法包括:获取虚拟化集群中所有主机的资源占用参数信息;对所述虚拟化集群中的当前主机及所述虚拟化集群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;分别判断每个求和结果是否满足小于或等于预设的第一阈值,并筛除所述其他主机中不满足条件的主机;在所述其他主机中剩余的满足条件的主机中,确定当前主机对应的备份主机。通过本发明的技术方案,可以在选举备份主机时,避免占用过大的带宽,且不会限制虚拟化集群的规模。

权利要求书

1.  一种用于虚拟化集群的选举方法,应用于虚拟化集群中的任一主机,其特征在于,包括:
获取虚拟化集群中所有主机的资源占用参数信息;
对所述虚拟化集群中的当前主机及所述虚拟化集群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;
分别判断每个求和结果是否满足小于或等于预设的第一阈值,并筛除所述其它主机中不满足条件的主机;
在所述其它主机中剩余的满足条件的主机中,确定当前主机对应的备份主机。

2.
  根据权利要求1所述的方法,其特征在于,在获取虚拟化集群中所有主机的资源占用参数信息时,获取虚拟化集群中除当前主机之外的其他主机的资源占用参数信息包括:
向所述其他主机分别发送信息获取请求,并接收分别返回的所述其他主机的资源占用参数信息;
或者,向所述虚拟化集群中的管理主机发送信息获取请求,并接收所述管理主机返回的所述其他主机的资源占用参数信息。

3.
  根据权利要求1所述的方法,其特征在于,在获取虚拟化集群中所有主机的资源占用参数信息时,获取当前主机的资源占用参数信息包括:
向所述虚拟化集群中的管理主机发送信息获取请求,并接收所述管理主机返回的当前主机的资源占用参数信息;
或者,读取当前主机中的所有虚拟机的资源占用参数信息,并叠加得到所述当前主机的资源占用参数信息。

4.
  根据权利要求1所述的方法,其特征在于,在所述其他主机中剩余的满足条件的主机中,确定当前主机对应的备份主机包括:
获取所有剩余的其他主机对应的资源占用参数信息的平均值;
计算每一其他主机对应的资源占用参数信息与所述平均值之间的差值;
选择对应的差值最小的其他主机,作为当前主机的备份主机。

5.
  根据权利要求1所述的方法,其特征在于,还包括:
建立对应于当前主机的组群,并将所述备份主机添加至该组群中。

6.
  根据权利要求5所述的方法,其特征在于,还包括:
接收来自所示虚拟化集群中的其他主机的备份主机选举报文;
若当前主机所属组群的数量已经达到预设上限,则返回验证失败消息;否则从所述备份主机选取报文中读取所述其他主机的资源占用参数信息,并与当前主机的资源占用参数信息进行求和计算;
若求和结果小于预设的第二阈值,则返回验证成功消息,否则返回验证失败消息。

7.
  根据权利要求5所述的方法,其特征在于,还包括:
获取所述虚拟化集群中除当前主机之外的所有其他主机的资源占用参数信息;
计算所有其他主机的资源占用参数信息的平均值;
筛选出资源占用参数信息小于所述平均值的其他主机,并从中确定所述当前主机的仲裁主机;
将确定的仲裁主机添加至对应于所述当前主机的组群中;
其中,若在预设时间长度内,所述当前主机未接收到来自所述备份主机的保活报文,或未接收到所述备份主机返回的保活报文的响应报文,则向预配置的仲裁主机发送仲裁请求,以由仲裁主机判定发生故障的主机。

8.
  一种用于虚拟化集群的选举装置,应用于虚拟化集群中的任一主机,其特征在于,包括:
获取单元,用于获取虚拟化集群中所有主机的资源占用参数信息;
计算单元,用于对所述虚拟化集群中的当前主机及所述虚拟化集群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;
筛除单元,用于分别判断每个求和结果是否满足小于或等于预设的第一阈值,并筛除所述其他主机中不满足条件的主机;
确定单元,用于在所述其他主机中剩余的满足条件的主机中,确定当前主机对应的备份主机。

9.
  根据权利要求8所述的装置,其特征在于,所述获取单元在获取虚拟化集群中所有主机的资源占用参数信息时,通过下述方式获取虚拟化集群中除当前主机之外的其他主机的资源占用参数信息:
向所述其他主机分别发送信息获取请求,并接收分别返回的所述其他主机的资源占用参数信息;
或者,向所述虚拟化集群中的管理主机发送信息获取请求,并接收所述管理主机返回的所述其他主机的资源占用参数信息。

10.
  根据权利要求8所述的装置,其特征在于,所述获取单元在获取虚拟化集群中所有主机的资源占用参数信息时,通过下述方式获取当前主机的资源占用参数信息:
向所述虚拟化集群中的管理主机发送信息获取请求,并接收所述管理主机返回的当前主机的资源占用参数信息;
或者,读取当前主机中的所有虚拟机的资源占用参数信息,并叠加得到所述当前主机的资源占用参数信息。

11.
  根据权利要求8所述的装置,其特征在于,所述确定单元具体用于:
获取所有剩余的其他主机对应的资源占用参数信息的平均值;
计算每一其他主机对应的资源占用参数信息与所述平均值之间的差值;
选择对应的差值最小的其他主机,作为当前主机的备份主机。

12.
  根据权利要求8所述的装置,其特征在于,还包括:
创建单元,用于建立对应于当前主机的组群,并将所述备份主机添加至该组群中。

13.
  根据权利要求12所述的装置,其特征在于,还包括:
接收单元,用于接收来自所示虚拟化集群中的其他主机的备份主机选举 报文;
处理单元,用于在当前主机所属组群的数量已经达到预设上限的情况下,返回验证失败消息;否则从所述备份主机选取报文中读取所述其他主机的资源占用参数信息,并与当前主机的资源占用参数信息进行求和计算;若求和结果小于预设的第二阈值,则返回验证成功消息,否则返回验证失败消息。

14.
  根据权利要求12所述的方法,其特征在于:
所述获取单元获取所述虚拟化集群中除当前主机之外的所有其他主机的资源占用参数信息;
所述计算单元计算所有其他主机的资源占用参数信息的平均值;
所述确定单元筛选出资源占用参数信息小于所述平均值的其他主机,从中确定所述当前主机的仲裁主机,并将该仲裁主机添加至对应于所述当前主机的组群中;
所述装置还包括:发送单元,用于当在预设时间长度内,所述当前主机未接收到来自所述备份主机的保活报文,或未接收到所述备份主机返回的保活报文的响应报文时,向预配置的仲裁主机发送仲裁请求,以由仲裁主机判定发生故障的主机。

说明书

用于虚拟化集群的选举方法及装置
技术领域
本发明涉及云计算技术领域,尤其涉及用于虚拟化集群的选举方法及装置。
背景技术
在云计算领域,通过虚拟化技术的运用,使得业务应用由传统的硬件服务器转移到虚拟化的服务器平台上,构成相应的虚拟化集群。如图1所示,虚拟化集群通常包括一组物理服务器主机,每台主机上运行一个或多个虚拟机(VM,Virtual Machine)。
在虚拟化技术中,通常会使用虚拟化集群提供硬件层面的故障恢复高可靠保障,其技术目标是实现当某一台主机故障时,可以将其上运行的虚拟机运行到集群中的其他可用的主机上,以确保业务的永续。
然而,在相关技术中,当某台主机故障后,需要在所有剩余的主机中进行选举计算,需要占用较大的管理带宽,且限制了集群中主机的数量规模,尤其是当同时出现多点故障时,将极大地影响整个集群的稳定性。
发明内容
有鉴于此,本发明提供一种新的技术方案,可以解决相关技术中在选举备份主机时,由于参与的主机数量较多而导致的带宽占用较大、集群规模受限的技术问题。
为实现上述目的,本发明提供技术方案如下:
根据本发明的第一方面,提出了一种用于虚拟化集群的选举方法,应用 于虚拟化集群中的任一主机,包括:
获取虚拟化集群中所有主机的资源占用参数信息;
对所述虚拟化集群中的当前主机及所述虚拟化集群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;
分别判断每个求和结果是否满足小于或等于预设的第一阈值,并筛除所述其他主机中不满足条件的主机;
在所述其他主机中剩余的满足条件的主机中,确定当前主机对应的备份主机。
根据本发明的第二方面,还提出了一种用于虚拟化集群的选举装置,应用于虚拟化集群中的任一主机,包括:
获取单元,用于获取虚拟化集群中所有主机的资源占用参数信息;
计算单元,用于对所述虚拟化集群中的当前主机及所述虚拟化集群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;
筛除单元,用于分别判断每个求和结果是否满足小于或等于预设的第一阈值,并筛除所述其他主机中不满足条件的主机;
确定单元,用于在所述其他主机中剩余的满足条件的主机中,确定当前主机对应的备份主机。
由以上技术方案可见,本发明通过由每台主机单独计算对应的备份主机,无需其他主机的参与,从而有助于节省虚拟化集群的管理带宽,并且避免对虚拟化集群的规模和扩展造成限制。
附图说明
图1示出了虚拟化集群的结构示意图;
图2示出了根据本发明的一示例性实施例的用于虚拟化集群的选举方法的示意流程图;
图3示出了根据本发明的一示例性实施例的虚拟机与物理服务器之间的 关系示意图;
图4示出了根据本发明的一示例性实施例的选择备份主机的示意流程图;
图5示出了根据本发明的一示例性实施例的验证选中的备份主机的示意流程图;
图6示出了根据本发明的一示例性实施例的在虚拟化集群中建立组群的示意图;
图7示出了根据本发明的一示例性实施例的虚拟机故障恢复时间的示意图;
图8示出了根据本发明的一示例性实施例的选择仲裁主机的示意流程图;
图9示出了根据本发明的一示例性实施例的用于虚拟化集群的选举装置的示意框图。
具体实施方式
本发明通过由每台主机单独计算对应的备份主机,无需其他主机的参与,从而有助于节省虚拟化集群的管理带宽,并且避免对虚拟化集群的规模和扩展造成限制。
为对本发明进行进一步说明,提供下列实施例:
图2示出了根据本发明的一示例性实施例的选择备份主机的方法的示意流程图。
如图2所示,根据本发明的一示例性实施例的选择备份主机的方法,应用于虚拟化集群中的任一主机,包括:
步骤201,获取虚拟化集群中所有主机的资源占用参数信息;
步骤202,根据所述资源占用参数信息,确定当前主机在所述虚拟化集群中的备份主机。
在上述实施例中,由虚拟化集群中的每台主机确定对应的备份主机,即每台主机的备份主机都是通过独立的计算过程得到的,而无需其他主机的参与,从而节省虚拟化集群的管理带宽,并且避免对虚拟化集群的规模和扩展 造成限制。
其中,“资源占用参数信息”即用于表明主机的资源占用情况的参数信息,该参数信息可以包括但不限于:CPU占用率、内存占用率、硬盘占用率等。
下面以一典型应用场景为例,对上述的选择备份主机的方法进行详细描述。在该典型应用场景中,假定虚拟化集群包括100台虚拟机,平均分布在10台物理服务器中(即每台物理服务器上配置10台虚拟机),即图3所示的host1、host2……host10等主机。
在上述虚拟化集群运行的过程中,假定需要计算任一主机hostX(host1至host10中的任一主机)对应的备份主机,即从除hostX之外的其余9台主机中选择一台作为hostX的备份主机,使得当hostX出现故障时,能够及时将hostX上的虚拟机转移至备份主机上,尽可能减少对相应业务的影响。
对应于上述的步骤201,hostX即当前主机,需要获取所处虚拟化集群中所有主机的资源占用信息,则其获取过程可以分为:获取当前主机hostX的资源占用参数信息和其他主机的资源占用参数信息,下面分别进行详细介绍。
当前主机:
作为一示例性实施例,可以直接读取当前主机hostX(物理服务器)的CPU占用率、内存占用率、硬盘占用率等资源占用参数信息。
作为另一示例性实施例,也可以读取当前主机hostX中运行的所有虚拟机(即10台虚拟机)的运行状态信息,以确定每台虚拟机的资源占用参数信息,并将所有虚拟机对应的每项资源占用参数信息进行数值叠加(即对所有虚拟机对应的CPU占用率、内存占用率、硬盘占用率等分别进行求和处理),从而将计算结果作为当前主机hostX的资源占用参数信息。比如图3所示,假定当前主机hostX中配置有VM1、VM2……VM10等虚拟机,则可以分别获取每台虚拟机的运行状态信息,从而统计和计算出当前主机hostX的资源占用参数信息。当基于所有虚拟机的资源占用参数信息来计算当前主机 hostX的资源占用参数信息时,相对于直接读取当前主机hostX作为物理服务器的资源占用参数信息,显然有助于提升该资源占用参数信息的准确率。
其他主机:
作为一示例性实施例,可以由当前主机hostX向每一其他主机发起请求(可以通过单播或组播方式实现),以分别获取每一其他主机的资源占用参数信息。
作为另一示例性实施例,虚拟化集群中可以配置有“管理主机”(Manager),该管理主机负责收集虚拟化集群中所有主机的运行状态,并维护一个对应于所有主机的信息列表HA-host-list,该信息列表中包含每台主机的资源占用参数信息,因而当前主机hostX可以直接向管理主机请求该HA-host-list列表,从而获取所有的其他主机的资源占用参数信息。由于不需要向每台主机分别发起请求,而仅需要向管理主机发起对HA-host-list列表的获取请求,因而有助于节省管理带宽。
对应于上述的步骤202,在确定当前主机hostX的备份主机时,应当优先选择虚拟化集群中的资源占用率低的主机,以避免影响该虚拟化集群的运行状况。
作为一示例性实施例,可以直接将每一其他主机的资源占用参数信息与预设上限阈值进行比较,筛选出对应的资源占用参数信息小于或等于该预设上限阈值的主机,并在这些主机中选择出当前主机hostX的备份主机。
作为另一示例性实施例,还可以对当前主机hostX的资源占用参数信息进行一并考虑,以进一步提升筛选的“门槛”。比如图4所示,其筛选步骤可以包括:
步骤402,分别将虚拟化集群中除当前主机hostX之外的每一其他主机和当前主机hostX的资源占用参数信息进行求和计算。假定当前主机hostX为host2,且该虚拟化集群中的每台主机对应的资源占用参数信息如表1所示,则每台主机的资源占用参数信息为对应的CPU占用率和内存占用率,需要分 别将每一主机的CPU占用率/内存占用率与host2对应的参数值进行求和。具体地,比如将host1和host2对应的资源占用参数信息进行求和计算时,得到的求和结果:CPU占用率之和为140%、内存占用率为60%……比如将host2和host10对应的资源占用参数信息进行求和计算时,得到的求和结果:CPU占用率之和为100%、内存占用率为35%。

主机CPU占用率内存占用率host180%35%host260%25%host1040%10%

表1
步骤404,将求和结果与预设的第一阈值进行比较。当某个求和结果大于第一阈值时,丢弃该求和结果对应的主机,否则保留对应的主机。其中,第一阈值可以由开发者根据实际情况和需求进行设置,也可以由用户在应用过程中进行编辑。由于资源占用参数信息可能包含多个,则对应的“第一阈值”也应当为多个,以分别对应于每个参数信息。
作为一示例性实施例,在经过步骤404的筛选后,可以直接在未筛除的主机中选择任一主机来作为当前主机hostX的备份主机。
作为另一示例性实施例,为了使得所有主机的备份主机被尽可能平均地分配至各台主机,在步骤404之后,还可以进一步执行下述步骤:
步骤406,针对步骤404中,相应的求和结果小于或等于第一阈值的主机,计算这些主机的所有求和结果的平均值。
步骤408,针对参与步骤406的平均值计算的每个求和结果,计算每个求和结果与平均值之间的差值。
步骤410,选择差值最小的主机作为当前主机hostX的备份主机。在该实施例中,通过平均值的计算和差值的比较,使得选择出的备份主机并非剩余计算资源最小的主机,实现了将“备份主机”平均分配在集群中,使得每 台主机不可用时,受影响的主机数量都不会过多,有助于提升虚拟化集群的整体稳定性。
需要说明的是:主机的资源占用参数信息可能包含多个参数,如同时包含主机的CPU占用率和内存占用率,则步骤410中得到的“差值最小”将同时对应于“CPU占用率的差值最小”和“内存占用率的差值最小”,则当所有参数对应的“差值最小”的主机均相同时,比如“CPU占用率的差值最小”和“内存占用率的差值最小”的主机均为hostY,直接选择该主机hostY为备份主机;当不同参数对应的“差值最小”的主机不相同时,比如“CPU占用率的差值最小”的主机为hostY1、“内存占用率的差值最小”的主机为hostY2,则需要根据预先配置的各个参数的优先级,选择优先级最高的参数对应的“差值最小”的主机,比如当“CPU占用率”的优先级高于“内存占用率”时,选择主机hostY1为当前主机hostX的备份主机。
此外,通过当前主机hostX的计算,选择了主机hostY为对应的备份主机后,还可以由该主机hostY进一步确定是否可以作为当前主机hostX的备份主机,其判断步骤如图5所示:
步骤502,主机hostY在接收到来自当前主机hostX的vote(选举)报文,该vote报文表明需要将主机hostY作为hostX的备份主机。如图6所示,在虚拟化集群中,可以为每台主机建立对应的组群(Group),比如当主机hostY作为当前主机hostX的备份主机时,相当于将主机hostY作为当前主机hostX对应的组群1中的成员。
为了便于说明,以组群1为例。由于组群1是针对当前主机hostX建立的,因而可以为当前主机hostX配置对应的角色为Main,而当主机hostY作为当前主机hostX的备份主机时,为主机hostY配置对应的角色为Backup;同时,对于主机hostY而言,也建立了对应的组群(图中未示出)且作为该组群中的Main;此外,主机hostY还可能作为其他组群的成员,并且作为Backup等各种类型的角色。
步骤504,对于每台主机来说,可以限制其被分配的组群数量,比如仅允许主机hostY加入a个组群,则主机hostY可以判断其当前已经加入的组群数量是否超出预设上限,即已经加入的组群数量为b时,判断是否满足b+1>a,若满足,则说明已经超出上限,进入步骤512,否则说明未超出上限,进入步骤506。
步骤506,主机hostY从接收到的vote报文中,读取当前主机hostX的资源占用参数信息,如CPU占用率和内存占用率等。
步骤508,主机hostY将当前主机hostX的资源占用参数信息,与主机hostY自身的资源占用参数信息进行求和计算,比如分别将主机hostY的CPU占用率和当前主机hostX的CPU占用率相加,以及将主机hostY的内存占用率和当前主机hostX的内存占用率相加。
步骤510,将求和结果与预设的第二阈值进行比较。当求和结果大于第二阈值时,进入步骤512,否则进入步骤514。其中,类似于“第一阈值”,第二阈值可以由开发者根据实际情况和需求进行设置,也可以由用户在应用过程中进行编辑;同时,由于资源占用参数信息可能包含多个,则对应的“第二阈值”也应当为多个,以分别对应于每个参数信息。
步骤512,向当前主机hostX返回验证失败消息,需要当前主机hostX重新选择备份主机。
步骤514,向当前主机hostX返回验证成功消息,则主机hostY加入组群1,并作为当前主机hostX的备份主机。
如图7所示,在相关技术中,虚拟化集群中任一主机发生故障后,对应于故障恢复时间1,具体包括:1)从主机发生故障开始,至虚拟化集群发现该主机发生故障的时间t1;2)剩余主机计算协商备份主机的时间t2;3)从选择出的备份主机启动原本位于故障主机中的虚拟机开始,直至虚拟机恢复正常工作的时间t3。为了缩短加快主机的故障恢复处理速度,本发明提出了进一步的改进:在每台主机加入虚拟化集群时,就通过上述实施例的选择备 份主机的方法,计算对应的备份主机。
在本实施例中,通过更换备份主机的计算时机,使得在虚拟化集群发现主机发生故障之后,可以直接在对应的备份主机上重启相应的虚拟机,从而对应于图7所示的故障恢复时间2,相比于故障恢复时间1而言,节省了计算备份主机的时间t2。
由于时间t3是不可控的,即虚拟机的启动时间一定,因而为了进一步缩短故障恢复时间,本发明提出了进一步的改进。具体地,以图6所示的组群1为例,除了上述的角色Main和角色Backup之外,还可以包含其他更多的角色,比如角色Arbiter(仲裁)。假定主机hostZ为组群1中的仲裁主机,则主机hostX、主机hostZ和主机hostY之间相互保持联络,比如以周期性的keepalive(保活)报文的形式。举例来说,假定当主机hostX发现无法与对应的备份主机hostY保持联络时,主机hostX无法确定究竟是自身发生故障,还是主机hostY发生故障,因而主机hostX可以通过向仲裁主机hostZ发送验证报文,并由仲裁主机hostZ分别确定主机hostX和主机hostY的运行状态,从而确定是否主机hostX发生故障,或主机hostY发生故障;当主机hostY发现无法与主机hostX保持联络时,也可以通过上述方式进行确认,此处不再赘述。
因此,通过对仲裁主机的配置,能够加快对故障主机的发现,从而及时执行相应的故障恢复操作。
相应地,图8示出了根据本发明的一示例性实施例的选择仲裁主机的示意流程,包括:
步骤802,以当前主机hostX为例。针对虚拟化集群中除当前主机hostX之外的所有其他主机,计算所有其他主机的CPU占用率的平均值。当然,此处仅以“CPU占用率”为例进行说明,本领域技术人员能够理解的是,显然可以采用任意类型的资源占用参数信息,比如内存占用率等,也可以实现对仲裁主机的顺利选取。
步骤804,将每一其他主机的CPU占用率与计算得到的平均值进行比较,若大于平均值则丢弃对应的主机,否则保留对应的主机。
步骤806,在保留的所有主机中,随机选取一台主机作为当前主机hostX的仲裁主机。由于“仲裁”并不需要占用很多计算资源,因而可以通过步骤804的初步筛选后,执行随机选取即可。当然,本领域技术人员应该理解的是:显然可以通过类似图4所示的步骤408和步骤410的方式,对主机执行进一步筛选,以确定最终的仲裁主机,此处不再赘述。
此外,通过当前主机hostX的计算,选择了主机hostZ为对应组群的仲裁主机后,类似于备份主机hostY,还可以由该主机hostZ进一步确定是否可以作为当前主机hostX的仲裁主机,其判断步骤可以包括:
主机hostZ在接收到来自当前主机hostX的vote’报文,该vote’报文表明需要将主机hostZ作为hostX的仲裁主机。假定预配置为主机hostZ仅允许被分配至a’个组群,则主机hostZ可以判断其当前已经加入的组群数量是否超出预设上限,即已经加入的组群数量为b’时,判断是否满足b’+1>a’,若满足,则说明已经超出上限,返回验证失败消息,否则说明未超出上限,返回验证成功消息。
对应于上述的用于虚拟化集群的选举装置,本发明还进一步提出了图9所示的根据本申请的一示例性实施例的用于虚拟化集群的选举装置的示意框图。
请参考图9,根据本申请的一示例性实施例的用于虚拟化集群的选举装置可以包括:
获取单元,用于获取虚拟化集群中所有主机的资源占用参数信息;
计算单元,用于对所述虚拟化集群中的当前主机及所述虚拟化集群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;
筛除单元,用于分别判断每个求和结果是否满足小于或等于预设的第一阈值,并筛除所述其他主机中不满足条件的主机;
确定单元,用于在所述其他主机中剩余的满足条件的主机中,确定当前主机对应的备份主机。
可选的,所述获取单元在获取虚拟化集群中所有主机的资源占用参数信息时,通过下述方式获取虚拟化集群中除当前主机之外的其他主机的资源占用参数信息:
向所述其他主机分别发送信息获取请求,并接收分别返回的所述其他主机的资源占用参数信息;
或者,向所述虚拟化集群中的管理主机发送信息获取请求,并接收所述管理主机返回的所述其他主机的资源占用参数信息。
可选的,所述获取单元在获取虚拟化集群中所有主机的资源占用参数信息时,通过下述方式获取当前主机的资源占用参数信息:
向所述虚拟化集群中的管理主机发送信息获取请求,并接收所述管理主机返回的当前主机的资源占用参数信息;
或者,读取当前主机中的所有虚拟机的资源占用参数信息,并叠加得到所述当前主机的资源占用参数信息。
可选的,所述确定单元具体用于:
获取所有剩余的其他主机对应的资源占用参数信息的平均值;
计算每一其他主机对应的资源占用参数信息与所述平均值之间的差值;
选择对应的差值最小的其他主机,作为当前主机的备份主机。
可选的,还包括:
创建单元,用于建立对应于当前主机的组群,并将所述备份主机添加至该组群中。
可选的,还包括:
接收单元,用于接收来自所示虚拟化集群中的其他主机的备份主机选举报文;
处理单元,用于在当前主机所属组群的数量已经达到预设上限的情况下,返回验证失败消息;否则从所述备份主机选取报文中读取所述其他主机的资源占用参数信息,并与当前主机的资源占用参数信息进行求和计算;若求和结果小于预设的第二阈值,则返回验证成功消息,否则返回验证失败消息。
可选的,所述获取单元获取所述虚拟化集群中除当前主机之外的所有其他主机的资源占用参数信息;
所述计算单元计算所有其他主机的资源占用参数信息的平均值;
所述确定单元筛选出资源占用参数信息小于所述平均值的其他主机,从中确定所述当前主机的仲裁主机,并将该仲裁主机添加至对应于所述当前主机的组群中;
所述装置还包括:发送单元,用于当在预设时间长度内,所述当前主机未接收到来自所述备份主机的保活报文,或未接收到所述备份主机返回的保活报文的响应报文时,向预配置的仲裁主机发送仲裁请求,以由仲裁主机判定发生故障的主机。
因此,本发明通过由每台主机单独计算对应的备份主机,无需其他主机的参与,从而有助于节省虚拟化集群的管理带宽,并且避免对虚拟化集群的规模和扩展造成限制。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

用于虚拟化集群的选举方法及装置.pdf_第1页
第1页 / 共15页
用于虚拟化集群的选举方法及装置.pdf_第2页
第2页 / 共15页
用于虚拟化集群的选举方法及装置.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《用于虚拟化集群的选举方法及装置.pdf》由会员分享,可在线阅读,更多相关《用于虚拟化集群的选举方法及装置.pdf(15页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104079647A43申请公布日20141001CN104079647A21申请号201410301929822申请日20140627H04L29/08200601H04L12/2420060171申请人杭州华三通信技术有限公司地址310052浙江省杭州市滨江区长河路466号72发明人罗逸秀74专利代理机构北京博思佳知识产权代理有限公司11415代理人林祥54发明名称用于虚拟化集群的选举方法及装置57摘要本发明提供一种用于虚拟化集群的选举方法及装置,应用于虚拟化集群中的任一主机,该方法包括获取虚拟化集群中所有主机的资源占用参数信息;对所述虚拟化集群中的当前主机及所述虚拟化集。

2、群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;分别判断每个求和结果是否满足小于或等于预设的第一阈值,并筛除所述其他主机中不满足条件的主机;在所述其他主机中剩余的满足条件的主机中,确定当前主机对应的备份主机。通过本发明的技术方案,可以在选举备份主机时,避免占用过大的带宽,且不会限制虚拟化集群的规模。51INTCL权利要求书3页说明书7页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书7页附图4页10申请公布号CN104079647ACN104079647A1/3页21一种用于虚拟化集群的选举方法,应用于虚拟化集群中的任一主机,其特征在于。

3、,包括获取虚拟化集群中所有主机的资源占用参数信息;对所述虚拟化集群中的当前主机及所述虚拟化集群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;分别判断每个求和结果是否满足小于或等于预设的第一阈值,并筛除所述其它主机中不满足条件的主机;在所述其它主机中剩余的满足条件的主机中,确定当前主机对应的备份主机。2根据权利要求1所述的方法,其特征在于,在获取虚拟化集群中所有主机的资源占用参数信息时,获取虚拟化集群中除当前主机之外的其他主机的资源占用参数信息包括向所述其他主机分别发送信息获取请求,并接收分别返回的所述其他主机的资源占用参数信息;或者,向所述虚拟化集群中的管理主机发。

4、送信息获取请求,并接收所述管理主机返回的所述其他主机的资源占用参数信息。3根据权利要求1所述的方法,其特征在于,在获取虚拟化集群中所有主机的资源占用参数信息时,获取当前主机的资源占用参数信息包括向所述虚拟化集群中的管理主机发送信息获取请求,并接收所述管理主机返回的当前主机的资源占用参数信息;或者,读取当前主机中的所有虚拟机的资源占用参数信息,并叠加得到所述当前主机的资源占用参数信息。4根据权利要求1所述的方法,其特征在于,在所述其他主机中剩余的满足条件的主机中,确定当前主机对应的备份主机包括获取所有剩余的其他主机对应的资源占用参数信息的平均值;计算每一其他主机对应的资源占用参数信息与所述平均值。

5、之间的差值;选择对应的差值最小的其他主机,作为当前主机的备份主机。5根据权利要求1所述的方法,其特征在于,还包括建立对应于当前主机的组群,并将所述备份主机添加至该组群中。6根据权利要求5所述的方法,其特征在于,还包括接收来自所示虚拟化集群中的其他主机的备份主机选举报文;若当前主机所属组群的数量已经达到预设上限,则返回验证失败消息;否则从所述备份主机选取报文中读取所述其他主机的资源占用参数信息,并与当前主机的资源占用参数信息进行求和计算;若求和结果小于预设的第二阈值,则返回验证成功消息,否则返回验证失败消息。7根据权利要求5所述的方法,其特征在于,还包括获取所述虚拟化集群中除当前主机之外的所有其。

6、他主机的资源占用参数信息;计算所有其他主机的资源占用参数信息的平均值;筛选出资源占用参数信息小于所述平均值的其他主机,并从中确定所述当前主机的仲裁主机;将确定的仲裁主机添加至对应于所述当前主机的组群中;权利要求书CN104079647A2/3页3其中,若在预设时间长度内,所述当前主机未接收到来自所述备份主机的保活报文,或未接收到所述备份主机返回的保活报文的响应报文,则向预配置的仲裁主机发送仲裁请求,以由仲裁主机判定发生故障的主机。8一种用于虚拟化集群的选举装置,应用于虚拟化集群中的任一主机,其特征在于,包括获取单元,用于获取虚拟化集群中所有主机的资源占用参数信息;计算单元,用于对所述虚拟化集群。

7、中的当前主机及所述虚拟化集群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;筛除单元,用于分别判断每个求和结果是否满足小于或等于预设的第一阈值,并筛除所述其他主机中不满足条件的主机;确定单元,用于在所述其他主机中剩余的满足条件的主机中,确定当前主机对应的备份主机。9根据权利要求8所述的装置,其特征在于,所述获取单元在获取虚拟化集群中所有主机的资源占用参数信息时,通过下述方式获取虚拟化集群中除当前主机之外的其他主机的资源占用参数信息向所述其他主机分别发送信息获取请求,并接收分别返回的所述其他主机的资源占用参数信息;或者,向所述虚拟化集群中的管理主机发送信息获取请求,并。

8、接收所述管理主机返回的所述其他主机的资源占用参数信息。10根据权利要求8所述的装置,其特征在于,所述获取单元在获取虚拟化集群中所有主机的资源占用参数信息时,通过下述方式获取当前主机的资源占用参数信息向所述虚拟化集群中的管理主机发送信息获取请求,并接收所述管理主机返回的当前主机的资源占用参数信息;或者,读取当前主机中的所有虚拟机的资源占用参数信息,并叠加得到所述当前主机的资源占用参数信息。11根据权利要求8所述的装置,其特征在于,所述确定单元具体用于获取所有剩余的其他主机对应的资源占用参数信息的平均值;计算每一其他主机对应的资源占用参数信息与所述平均值之间的差值;选择对应的差值最小的其他主机,作。

9、为当前主机的备份主机。12根据权利要求8所述的装置,其特征在于,还包括创建单元,用于建立对应于当前主机的组群,并将所述备份主机添加至该组群中。13根据权利要求12所述的装置,其特征在于,还包括接收单元,用于接收来自所示虚拟化集群中的其他主机的备份主机选举报文;处理单元,用于在当前主机所属组群的数量已经达到预设上限的情况下,返回验证失败消息;否则从所述备份主机选取报文中读取所述其他主机的资源占用参数信息,并与当前主机的资源占用参数信息进行求和计算;若求和结果小于预设的第二阈值,则返回验证成功消息,否则返回验证失败消息。14根据权利要求12所述的方法,其特征在于所述获取单元获取所述虚拟化集群中除当。

10、前主机之外的所有其他主机的资源占用参权利要求书CN104079647A3/3页4数信息;所述计算单元计算所有其他主机的资源占用参数信息的平均值;所述确定单元筛选出资源占用参数信息小于所述平均值的其他主机,从中确定所述当前主机的仲裁主机,并将该仲裁主机添加至对应于所述当前主机的组群中;所述装置还包括发送单元,用于当在预设时间长度内,所述当前主机未接收到来自所述备份主机的保活报文,或未接收到所述备份主机返回的保活报文的响应报文时,向预配置的仲裁主机发送仲裁请求,以由仲裁主机判定发生故障的主机。权利要求书CN104079647A1/7页5用于虚拟化集群的选举方法及装置技术领域0001本发明涉及云计算。

11、技术领域,尤其涉及用于虚拟化集群的选举方法及装置。背景技术0002在云计算领域,通过虚拟化技术的运用,使得业务应用由传统的硬件服务器转移到虚拟化的服务器平台上,构成相应的虚拟化集群。如图1所示,虚拟化集群通常包括一组物理服务器主机,每台主机上运行一个或多个虚拟机VM,VIRTUALMACHINE。0003在虚拟化技术中,通常会使用虚拟化集群提供硬件层面的故障恢复高可靠保障,其技术目标是实现当某一台主机故障时,可以将其上运行的虚拟机运行到集群中的其他可用的主机上,以确保业务的永续。0004然而,在相关技术中,当某台主机故障后,需要在所有剩余的主机中进行选举计算,需要占用较大的管理带宽,且限制了集。

12、群中主机的数量规模,尤其是当同时出现多点故障时,将极大地影响整个集群的稳定性。发明内容0005有鉴于此,本发明提供一种新的技术方案,可以解决相关技术中在选举备份主机时,由于参与的主机数量较多而导致的带宽占用较大、集群规模受限的技术问题。0006为实现上述目的,本发明提供技术方案如下0007根据本发明的第一方面,提出了一种用于虚拟化集群的选举方法,应用于虚拟化集群中的任一主机,包括0008获取虚拟化集群中所有主机的资源占用参数信息;0009对所述虚拟化集群中的当前主机及所述虚拟化集群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;0010分别判断每个求和结果是否满足小。

13、于或等于预设的第一阈值,并筛除所述其他主机中不满足条件的主机;0011在所述其他主机中剩余的满足条件的主机中,确定当前主机对应的备份主机。0012根据本发明的第二方面,还提出了一种用于虚拟化集群的选举装置,应用于虚拟化集群中的任一主机,包括0013获取单元,用于获取虚拟化集群中所有主机的资源占用参数信息;0014计算单元,用于对所述虚拟化集群中的当前主机及所述虚拟化集群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;0015筛除单元,用于分别判断每个求和结果是否满足小于或等于预设的第一阈值,并筛除所述其他主机中不满足条件的主机;0016确定单元,用于在所述其他主机中。

14、剩余的满足条件的主机中,确定当前主机对应的备份主机。0017由以上技术方案可见,本发明通过由每台主机单独计算对应的备份主机,无需其说明书CN104079647A2/7页6他主机的参与,从而有助于节省虚拟化集群的管理带宽,并且避免对虚拟化集群的规模和扩展造成限制。附图说明0018图1示出了虚拟化集群的结构示意图;0019图2示出了根据本发明的一示例性实施例的用于虚拟化集群的选举方法的示意流程图;0020图3示出了根据本发明的一示例性实施例的虚拟机与物理服务器之间的关系示意图;0021图4示出了根据本发明的一示例性实施例的选择备份主机的示意流程图;0022图5示出了根据本发明的一示例性实施例的验证。

15、选中的备份主机的示意流程图;0023图6示出了根据本发明的一示例性实施例的在虚拟化集群中建立组群的示意图;0024图7示出了根据本发明的一示例性实施例的虚拟机故障恢复时间的示意图;0025图8示出了根据本发明的一示例性实施例的选择仲裁主机的示意流程图;0026图9示出了根据本发明的一示例性实施例的用于虚拟化集群的选举装置的示意框图。具体实施方式0027本发明通过由每台主机单独计算对应的备份主机,无需其他主机的参与,从而有助于节省虚拟化集群的管理带宽,并且避免对虚拟化集群的规模和扩展造成限制。0028为对本发明进行进一步说明,提供下列实施例0029图2示出了根据本发明的一示例性实施例的选择备份主。

16、机的方法的示意流程图。0030如图2所示,根据本发明的一示例性实施例的选择备份主机的方法,应用于虚拟化集群中的任一主机,包括0031步骤201,获取虚拟化集群中所有主机的资源占用参数信息;0032步骤202,根据所述资源占用参数信息,确定当前主机在所述虚拟化集群中的备份主机。0033在上述实施例中,由虚拟化集群中的每台主机确定对应的备份主机,即每台主机的备份主机都是通过独立的计算过程得到的,而无需其他主机的参与,从而节省虚拟化集群的管理带宽,并且避免对虚拟化集群的规模和扩展造成限制。0034其中,“资源占用参数信息”即用于表明主机的资源占用情况的参数信息,该参数信息可以包括但不限于CPU占用率。

17、、内存占用率、硬盘占用率等。0035下面以一典型应用场景为例,对上述的选择备份主机的方法进行详细描述。在该典型应用场景中,假定虚拟化集群包括100台虚拟机,平均分布在10台物理服务器中即每台物理服务器上配置10台虚拟机,即图3所示的HOST1、HOST2HOST10等主机。0036在上述虚拟化集群运行的过程中,假定需要计算任一主机HOSTXHOST1至HOST10中的任一主机对应的备份主机,即从除HOSTX之外的其余9台主机中选择一台作为HOSTX的备份主机,使得当HOSTX出现故障时,能够及时将HOSTX上的虚拟机转移至备份主机上,尽可能减少对相应业务的影响。说明书CN104079647A3。

18、/7页70037对应于上述的步骤201,HOSTX即当前主机,需要获取所处虚拟化集群中所有主机的资源占用信息,则其获取过程可以分为获取当前主机HOSTX的资源占用参数信息和其他主机的资源占用参数信息,下面分别进行详细介绍。0038当前主机0039作为一示例性实施例,可以直接读取当前主机HOSTX物理服务器的CPU占用率、内存占用率、硬盘占用率等资源占用参数信息。0040作为另一示例性实施例,也可以读取当前主机HOSTX中运行的所有虚拟机即10台虚拟机的运行状态信息,以确定每台虚拟机的资源占用参数信息,并将所有虚拟机对应的每项资源占用参数信息进行数值叠加即对所有虚拟机对应的CPU占用率、内存占用。

19、率、硬盘占用率等分别进行求和处理,从而将计算结果作为当前主机HOSTX的资源占用参数信息。比如图3所示,假定当前主机HOSTX中配置有VM1、VM2VM10等虚拟机,则可以分别获取每台虚拟机的运行状态信息,从而统计和计算出当前主机HOSTX的资源占用参数信息。当基于所有虚拟机的资源占用参数信息来计算当前主机HOSTX的资源占用参数信息时,相对于直接读取当前主机HOSTX作为物理服务器的资源占用参数信息,显然有助于提升该资源占用参数信息的准确率。0041其他主机0042作为一示例性实施例,可以由当前主机HOSTX向每一其他主机发起请求可以通过单播或组播方式实现,以分别获取每一其他主机的资源占用参。

20、数信息。0043作为另一示例性实施例,虚拟化集群中可以配置有“管理主机”MANAGER,该管理主机负责收集虚拟化集群中所有主机的运行状态,并维护一个对应于所有主机的信息列表HAHOSTLIST,该信息列表中包含每台主机的资源占用参数信息,因而当前主机HOSTX可以直接向管理主机请求该HAHOSTLIST列表,从而获取所有的其他主机的资源占用参数信息。由于不需要向每台主机分别发起请求,而仅需要向管理主机发起对HAHOSTLIST列表的获取请求,因而有助于节省管理带宽。0044对应于上述的步骤202,在确定当前主机HOSTX的备份主机时,应当优先选择虚拟化集群中的资源占用率低的主机,以避免影响该虚。

21、拟化集群的运行状况。0045作为一示例性实施例,可以直接将每一其他主机的资源占用参数信息与预设上限阈值进行比较,筛选出对应的资源占用参数信息小于或等于该预设上限阈值的主机,并在这些主机中选择出当前主机HOSTX的备份主机。0046作为另一示例性实施例,还可以对当前主机HOSTX的资源占用参数信息进行一并考虑,以进一步提升筛选的“门槛”。比如图4所示,其筛选步骤可以包括0047步骤402,分别将虚拟化集群中除当前主机HOSTX之外的每一其他主机和当前主机HOSTX的资源占用参数信息进行求和计算。假定当前主机HOSTX为HOST2,且该虚拟化集群中的每台主机对应的资源占用参数信息如表1所示,则每台。

22、主机的资源占用参数信息为对应的CPU占用率和内存占用率,需要分别将每一主机的CPU占用率/内存占用率与HOST2对应的参数值进行求和。具体地,比如将HOST1和HOST2对应的资源占用参数信息进行求和计算时,得到的求和结果CPU占用率之和为140、内存占用率为60比如将HOST2和HOST10对应的资源占用参数信息进行求和计算时,得到的求和结果CPU占用率之和为100、内存占用率为35。说明书CN104079647A4/7页80048主机CPU占用率内存占用率HOST18035HOST26025HOST1040100049表10050步骤404,将求和结果与预设的第一阈值进行比较。当某个求和结。

23、果大于第一阈值时,丢弃该求和结果对应的主机,否则保留对应的主机。其中,第一阈值可以由开发者根据实际情况和需求进行设置,也可以由用户在应用过程中进行编辑。由于资源占用参数信息可能包含多个,则对应的“第一阈值”也应当为多个,以分别对应于每个参数信息。0051作为一示例性实施例,在经过步骤404的筛选后,可以直接在未筛除的主机中选择任一主机来作为当前主机HOSTX的备份主机。0052作为另一示例性实施例,为了使得所有主机的备份主机被尽可能平均地分配至各台主机,在步骤404之后,还可以进一步执行下述步骤0053步骤406,针对步骤404中,相应的求和结果小于或等于第一阈值的主机,计算这些主机的所有求和。

24、结果的平均值。0054步骤408,针对参与步骤406的平均值计算的每个求和结果,计算每个求和结果与平均值之间的差值。0055步骤410,选择差值最小的主机作为当前主机HOSTX的备份主机。在该实施例中,通过平均值的计算和差值的比较,使得选择出的备份主机并非剩余计算资源最小的主机,实现了将“备份主机”平均分配在集群中,使得每台主机不可用时,受影响的主机数量都不会过多,有助于提升虚拟化集群的整体稳定性。0056需要说明的是主机的资源占用参数信息可能包含多个参数,如同时包含主机的CPU占用率和内存占用率,则步骤410中得到的“差值最小”将同时对应于“CPU占用率的差值最小”和“内存占用率的差值最小”。

25、,则当所有参数对应的“差值最小”的主机均相同时,比如“CPU占用率的差值最小”和“内存占用率的差值最小”的主机均为HOSTY,直接选择该主机HOSTY为备份主机;当不同参数对应的“差值最小”的主机不相同时,比如“CPU占用率的差值最小”的主机为HOSTY1、“内存占用率的差值最小”的主机为HOSTY2,则需要根据预先配置的各个参数的优先级,选择优先级最高的参数对应的“差值最小”的主机,比如当“CPU占用率”的优先级高于“内存占用率”时,选择主机HOSTY1为当前主机HOSTX的备份主机。0057此外,通过当前主机HOSTX的计算,选择了主机HOSTY为对应的备份主机后,还可以由该主机HOSTY。

26、进一步确定是否可以作为当前主机HOSTX的备份主机,其判断步骤如图5所示0058步骤502,主机HOSTY在接收到来自当前主机HOSTX的VOTE选举报文,该VOTE报文表明需要将主机HOSTY作为HOSTX的备份主机。如图6所示,在虚拟化集群中,可以为说明书CN104079647A5/7页9每台主机建立对应的组群GROUP,比如当主机HOSTY作为当前主机HOSTX的备份主机时,相当于将主机HOSTY作为当前主机HOSTX对应的组群1中的成员。0059为了便于说明,以组群1为例。由于组群1是针对当前主机HOSTX建立的,因而可以为当前主机HOSTX配置对应的角色为MAIN,而当主机HOSTY。

27、作为当前主机HOSTX的备份主机时,为主机HOSTY配置对应的角色为BACKUP;同时,对于主机HOSTY而言,也建立了对应的组群图中未示出且作为该组群中的MAIN;此外,主机HOSTY还可能作为其他组群的成员,并且作为BACKUP等各种类型的角色。0060步骤504,对于每台主机来说,可以限制其被分配的组群数量,比如仅允许主机HOSTY加入A个组群,则主机HOSTY可以判断其当前已经加入的组群数量是否超出预设上限,即已经加入的组群数量为B时,判断是否满足B1A,若满足,则说明已经超出上限,进入步骤512,否则说明未超出上限,进入步骤506。0061步骤506,主机HOSTY从接收到的VOTE。

28、报文中,读取当前主机HOSTX的资源占用参数信息,如CPU占用率和内存占用率等。0062步骤508,主机HOSTY将当前主机HOSTX的资源占用参数信息,与主机HOSTY自身的资源占用参数信息进行求和计算,比如分别将主机HOSTY的CPU占用率和当前主机HOSTX的CPU占用率相加,以及将主机HOSTY的内存占用率和当前主机HOSTX的内存占用率相加。0063步骤510,将求和结果与预设的第二阈值进行比较。当求和结果大于第二阈值时,进入步骤512,否则进入步骤514。其中,类似于“第一阈值”,第二阈值可以由开发者根据实际情况和需求进行设置,也可以由用户在应用过程中进行编辑;同时,由于资源占用参。

29、数信息可能包含多个,则对应的“第二阈值”也应当为多个,以分别对应于每个参数信息。0064步骤512,向当前主机HOSTX返回验证失败消息,需要当前主机HOSTX重新选择备份主机。0065步骤514,向当前主机HOSTX返回验证成功消息,则主机HOSTY加入组群1,并作为当前主机HOSTX的备份主机。0066如图7所示,在相关技术中,虚拟化集群中任一主机发生故障后,对应于故障恢复时间1,具体包括1从主机发生故障开始,至虚拟化集群发现该主机发生故障的时间T1;2剩余主机计算协商备份主机的时间T2;3从选择出的备份主机启动原本位于故障主机中的虚拟机开始,直至虚拟机恢复正常工作的时间T3。为了缩短加快。

30、主机的故障恢复处理速度,本发明提出了进一步的改进在每台主机加入虚拟化集群时,就通过上述实施例的选择备份主机的方法,计算对应的备份主机。0067在本实施例中,通过更换备份主机的计算时机,使得在虚拟化集群发现主机发生故障之后,可以直接在对应的备份主机上重启相应的虚拟机,从而对应于图7所示的故障恢复时间2,相比于故障恢复时间1而言,节省了计算备份主机的时间T2。0068由于时间T3是不可控的,即虚拟机的启动时间一定,因而为了进一步缩短故障恢复时间,本发明提出了进一步的改进。具体地,以图6所示的组群1为例,除了上述的角色MAIN和角色BACKUP之外,还可以包含其他更多的角色,比如角色ARBITER仲。

31、裁。假定主机HOSTZ为组群1中的仲裁主机,则主机HOSTX、主机HOSTZ和主机HOSTY之间相互保持联络,比如以周期性的KEEPALIVE保活报文的形式。举例来说,假定当主机HOSTX发现无法与对应的备份主机HOSTY保持联络时,主机HOSTX无法确定究竟是自身发生故障,还是主说明书CN104079647A6/7页10机HOSTY发生故障,因而主机HOSTX可以通过向仲裁主机HOSTZ发送验证报文,并由仲裁主机HOSTZ分别确定主机HOSTX和主机HOSTY的运行状态,从而确定是否主机HOSTX发生故障,或主机HOSTY发生故障;当主机HOSTY发现无法与主机HOSTX保持联络时,也可以通。

32、过上述方式进行确认,此处不再赘述。0069因此,通过对仲裁主机的配置,能够加快对故障主机的发现,从而及时执行相应的故障恢复操作。0070相应地,图8示出了根据本发明的一示例性实施例的选择仲裁主机的示意流程,包括0071步骤802,以当前主机HOSTX为例。针对虚拟化集群中除当前主机HOSTX之外的所有其他主机,计算所有其他主机的CPU占用率的平均值。当然,此处仅以“CPU占用率”为例进行说明,本领域技术人员能够理解的是,显然可以采用任意类型的资源占用参数信息,比如内存占用率等,也可以实现对仲裁主机的顺利选取。0072步骤804,将每一其他主机的CPU占用率与计算得到的平均值进行比较,若大于平均。

33、值则丢弃对应的主机,否则保留对应的主机。0073步骤806,在保留的所有主机中,随机选取一台主机作为当前主机HOSTX的仲裁主机。由于“仲裁”并不需要占用很多计算资源,因而可以通过步骤804的初步筛选后,执行随机选取即可。当然,本领域技术人员应该理解的是显然可以通过类似图4所示的步骤408和步骤410的方式,对主机执行进一步筛选,以确定最终的仲裁主机,此处不再赘述。0074此外,通过当前主机HOSTX的计算,选择了主机HOSTZ为对应组群的仲裁主机后,类似于备份主机HOSTY,还可以由该主机HOSTZ进一步确定是否可以作为当前主机HOSTX的仲裁主机,其判断步骤可以包括0075主机HOSTZ在。

34、接收到来自当前主机HOSTX的VOTE报文,该VOTE报文表明需要将主机HOSTZ作为HOSTX的仲裁主机。假定预配置为主机HOSTZ仅允许被分配至A个组群,则主机HOSTZ可以判断其当前已经加入的组群数量是否超出预设上限,即已经加入的组群数量为B时,判断是否满足B1A,若满足,则说明已经超出上限,返回验证失败消息,否则说明未超出上限,返回验证成功消息。0076对应于上述的用于虚拟化集群的选举装置,本发明还进一步提出了图9所示的根据本申请的一示例性实施例的用于虚拟化集群的选举装置的示意框图。0077请参考图9,根据本申请的一示例性实施例的用于虚拟化集群的选举装置可以包括0078获取单元,用于获。

35、取虚拟化集群中所有主机的资源占用参数信息;0079计算单元,用于对所述虚拟化集群中的当前主机及所述虚拟化集群中除当前主机之外的其他主机中的每一个主机的资源占用参数信息分别进行求和计算;0080筛除单元,用于分别判断每个求和结果是否满足小于或等于预设的第一阈值,并筛除所述其他主机中不满足条件的主机;0081确定单元,用于在所述其他主机中剩余的满足条件的主机中,确定当前主机对应的备份主机。0082可选的,所述获取单元在获取虚拟化集群中所有主机的资源占用参数信息时,通过下述方式获取虚拟化集群中除当前主机之外的其他主机的资源占用参数信息说明书CN104079647A107/7页110083向所述其他主。

36、机分别发送信息获取请求,并接收分别返回的所述其他主机的资源占用参数信息;0084或者,向所述虚拟化集群中的管理主机发送信息获取请求,并接收所述管理主机返回的所述其他主机的资源占用参数信息。0085可选的,所述获取单元在获取虚拟化集群中所有主机的资源占用参数信息时,通过下述方式获取当前主机的资源占用参数信息0086向所述虚拟化集群中的管理主机发送信息获取请求,并接收所述管理主机返回的当前主机的资源占用参数信息;0087或者,读取当前主机中的所有虚拟机的资源占用参数信息,并叠加得到所述当前主机的资源占用参数信息。0088可选的,所述确定单元具体用于0089获取所有剩余的其他主机对应的资源占用参数信。

37、息的平均值;0090计算每一其他主机对应的资源占用参数信息与所述平均值之间的差值;0091选择对应的差值最小的其他主机,作为当前主机的备份主机。0092可选的,还包括0093创建单元,用于建立对应于当前主机的组群,并将所述备份主机添加至该组群中。0094可选的,还包括0095接收单元,用于接收来自所示虚拟化集群中的其他主机的备份主机选举报文;0096处理单元,用于在当前主机所属组群的数量已经达到预设上限的情况下,返回验证失败消息;否则从所述备份主机选取报文中读取所述其他主机的资源占用参数信息,并与当前主机的资源占用参数信息进行求和计算;若求和结果小于预设的第二阈值,则返回验证成功消息,否则返回。

38、验证失败消息。0097可选的,所述获取单元获取所述虚拟化集群中除当前主机之外的所有其他主机的资源占用参数信息;0098所述计算单元计算所有其他主机的资源占用参数信息的平均值;0099所述确定单元筛选出资源占用参数信息小于所述平均值的其他主机,从中确定所述当前主机的仲裁主机,并将该仲裁主机添加至对应于所述当前主机的组群中;0100所述装置还包括发送单元,用于当在预设时间长度内,所述当前主机未接收到来自所述备份主机的保活报文,或未接收到所述备份主机返回的保活报文的响应报文时,向预配置的仲裁主机发送仲裁请求,以由仲裁主机判定发生故障的主机。0101因此,本发明通过由每台主机单独计算对应的备份主机,无需其他主机的参与,从而有助于节省虚拟化集群的管理带宽,并且避免对虚拟化集群的规模和扩展造成限制。0102以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。说明书CN104079647A111/4页12图1图2说明书附图CN104079647A122/4页13图3图4说明书附图CN104079647A133/4页14图5图6说明书附图CN104079647A144/4页15图7图8图9说明书附图CN104079647A15。

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

当前位置:首页 > 电学 > 电通信技术


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