一种数据处理方法、服务器集群及存储介质转让专利

申请号 : CN201910039468.4

文献号 : CN109818785B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许广彬朱从林谭瑞忠郭晓许刚

申请人 : 无锡华云数据技术服务有限公司

摘要 :

本发明涉及一种数据处理方法、服务器集群及存储介质,属于云计算技术领域。该方法应用于服务器集群,服务器集群包括:第一节点服务器和第二节点服务器,方法包括:第一节点服务器在确定第二节点服务器的第二网络数据符合预设异常条件时,第一节点服务器判断自身的第一网络数据是否符合预设异常条件;在为否时,第一节点服务器从集群数据库中获取部署于第二节点服务器上的至少一个第二虚拟机的第一配置信息;第一节点服务器基于第一配置信息将部署于第二节点服务器上的至少一个第二虚拟机疏散到自身上重建。该方法实现了云平台节点发生故障时,可自动地将受影响的虚拟机疏散至其他健康的节点上进行重建,整个过程无需人工介入干预。

权利要求 :

1.一种数据处理方法,其特征在于,应用于服务器集群,所述服务器集群包括:第一节点服务器和第二节点服务器,所述第一节点服务器和所述第二节点服务器通过网络连接,所述第一节点服务器和所述第二节点服务器均部署有用于监控自身网络数据的监控工具;

所述方法包括:

所述第一节点服务器在确定所述第二节点服务器的第二网络数据符合预设异常条件时,所述第一节点服务器判断自身的第一网络数据是否符合所述预设异常条件;

在为否时,所述第一节点服务器从集群数据库中获取部署于所述第二节点服务器上的至少一个第二虚拟机的第一配置信息;

所述第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建。

2.根据权利要求1所述的方法,其特征在于,在所述第一节点服务器判断自身的第一网络数据是否符合所述预设异常条件之前,所述方法还包括:所述第一节点服务器定期轮询所述第二节点服务器的所述第二网络数据;

所述第一节点服务器判断所述第二网络数据是否符合预设异常条件。

3.根据权利要求2所述的方法,其特征在于,所述监控工具包括:用于监控存储网络的网络数据的第一监控代理、用于监控管理网络的网络数据的第二监控代理、用于监控业务网络的网络数据的第三监控代理,所述第一节点服务器判断所述第二节点服务器的第二网络数据是否符合预设异常条件,包括:所述第一节点服务器通过所述第一监控代理判断所述第二节点服务器的存储网络中的网络数据是否符合预设异常条件;或所述第一节点服务器通过所述第二监控代理判断所述第二节点服务器的管理网络中的网络数据是否符合预设异常条件;或第一节点服务器通过所述第三监控代理判断所述第二节点服务器的业务网络中的网络数据是否符合预设异常条件。

4.根据权利要求1-3中任一权项所述的方法,其特征在于,所述第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建之前,所述方法还包括:所述第一节点服务器确定自身的剩余资源消耗是否大于所述第一配置信息中的最小资源消耗;

在为是时,执行步骤:所述第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建。

5.根据权利要求4所述的方法,其特征在于,在所述第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建之后,所述方法还包括:更新所述第一配置信息,获得经更新第一配置信息。

6.根据权利要求5所述的方法,其特征在于,在更新所述第一配置信息之后,所述方法还包括:在所述第二网络数据恢复正常时,所述第二节点服务器根据所述经更新第一配置信息删除所述第一配置信息。

7.一种服务器集群,其特征在于,包括:第一节点服务器和第二节点服务器,所述第一节点服务器和所述第二节点服务器通过网络连接,所述第一节点服务器和所述第二节点服务器均部署有用于监控自身网络数据的监控工具;

所述第一节点服务器,用于在确定所述第二节点服务器的第二网络数据符合预设异常条件时,判断自身的第一网络数据是否符合所述预设异常条件;

在为否时,所述第一节点服务器,还用于从集群数据库中获取部署于所述第二节点服务器上的至少一个第二虚拟机的第一配置信息;

所述第一节点服务器,还用于基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建。

8.根据权利要求7所述的服务器集群,其特征在于:

所述第一节点服务器,还用于定期轮询所述第二节点服务器的所述第二网络数据;

所述第一节点服务器,还用于判断所述第二网络数据是否符合预设异常条件。

9.根据权利要求8所述的服务器集群,其特征在于,所述监控工具包括:用于监控存储网络的网络数据的第一监控代理、用于监控管理网络的网络数据的第二监控代理、用于监控业务网络的网络数据的第三监控代理;

所述第一节点服务器,还用于通过所述第一监控代理判断所述第二节点服务器的存储网络中的网络数据是否符合预设异常条件;或所述第一节点服务器,还用于通过所述第二监控代理判断所述第二节点服务器的管理网络中的网络数据是否符合预设异常条件;或第一节点服务器,还用于通过所述第三监控代理判断所述第二节点服务器的业务网络中的网络数据是否符合预设异常条件。

10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-6中任一项所述的方法。

说明书 :

一种数据处理方法、服务器集群及存储介质

技术领域

[0001] 本发明属于云计算技术领域,具体涉及一种数据处理方法、服务器集群及存储介质。

背景技术

[0002] 通常云平台部署于数据中心内部,用于将数据中心硬件能力虚拟化后提供给客户。常见的云平台包括Open Stack、VMWare vSphere、Xen Server、Ovirt等。目前,云平台在运行的过程中一旦某个节点宕机,或者发生其他异常情况,会发生客户无法连接、业务停止,不能正常运转或者操作等问题,目前的处理机制是:若该节点尚在运行,则通过手动进行迁移到其他健康节点;若该节点已经宕机,则只能通过虚拟机备份数据恢复到指定健康的节点。

发明内容

[0003] 鉴于此,本发明实施例在于提供一种数据处理方法、服务器集群及存储介质,以有效地改善现有云平台无法自动检测节点健康状态、无法自动疏散故障节点的虚拟机到健康节点的问题。
[0004] 本发明的实施例是这样实现的:
[0005] 第一方面,本发明实施例提供了一种数据处理方法,应用于服务器集群,所述服务器集群包括:第一节点服务器和第二节点服务器,所述方法包括:所述第一节点服务器在确定所述第二节点服务器的第二网络数据符合预设异常条件时,所述第一节点服务器判断自身的第一网络数据是否符合所述预设异常条件;在为否时,所述第一节点服务器从集群数据库中获取部署于所述第二节点服务器上的至少一个第二虚拟机的第一配置信息;所述第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建。
[0006] 本申请实施例中,第一节点服务器在确定第二节点服务器的第二网络数据符合预设异常条件时,判断自身的第一网络数据是否符合预设异常条件,在确认自身正常时,从集群数据库中获取部署于第二节点服务器上的至少一个第二虚拟机的第一配置信息,然后器基于第一配置信息将部署于第二节点服务器上的至少一个第二虚拟机疏散到自身上重建,实现了云平台节点发生故障时,可自动地将受影响的虚拟机疏散至其他健康的节点上进行重建,整个过程无需人工介入干预,改善现有云平台无法自动检测节点健康状态、无法自动疏散故障节点的虚拟机到健康节点的问题。同时,减少了业务长时间宕机风险,减少了人力成本,增强了业务连续性。
[0007] 结合第一方面的一种可能的实施方式,在所述第一节点服务器判断自身的第一网络数据是否符合所述预设异常条件之前,所述方法还包括:所述第一节点服务器定期轮询所述第二节点服务器的所述第二网络数据;所述第一节点服务器判断所述第二网络数据是否符合预设异常条件。本申请实施例中,第一节点服务器通过定期轮询第二节点服务器的第二网络数据,以此来判断其是否异常,该方式能及时获知第二节点服务器的异常与否,以便在第二节点服务器出现异常时,可自动地将受影响的虚拟机疏散至其他健康的节点上进行重建。
[0008] 结合第一方面的一种可能的实施方式,所述第二节点服务器中部署有监控工具,所述监控工具包括:用于监控存储网络的网络数据的第一监控代理、用于监控管理网络的网络数据的第二监控代理、用于监控业务网络的网络数据的第三监控代理,所述第一节点服务器判断所述第二节点服务器的第二网络数据是否符合预设异常条件,包括:所述第一节点服务器通过所述第一监控代理判断所述第二节点服务器的存储网络中的网络数据是否符合预设异常条件;或所述第一节点服务器通过所述第二监控代理判断所述第二节点服务器的管理网络中的网络数据是否符合预设异常条件;或第一节点服务器通过所述第三监控代理判断所述第二节点服务器的业务网络中的网络数据是否符合预设异常条件。本申请实施例中,通过在第二节点服务器上部署监控工具,以监控第二节点服务器的管理网络、存储网络、业务网络,只要管理网络、存储网络、业务网络中的任一网络数据符合预设异常条件就认为第二节点服务器异常,提高了故障的识别精度。
[0009] 结合第一方面的一种可能的实施方式,所述第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建之前,所述方法还包括:所述第一节点服务器确定自身的剩余资源消耗是否大于所述第一配置信息中的最小资源消耗;在为是时,执行步骤:所述第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建。本申请实施例中,在将将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建之前,需要先确定自身的剩余资源消耗大于第一配置信息中的最小资源消耗,以保证疏散重建成功。
[0010] 结合第一方面的一种可能的实施方式,在所述第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建之后,所述方法还包括:更新所述第一配置信息,获得经更新第一配置信息。本申请实施例中,在将将部署于第二节点服务器上的至少一个第二虚拟机疏散到自身上重建之后,还需要对应更新第一配置信息,以避免其余的节点服务器重复做这一动作,造成资源浪费和业务冲突。
[0011] 结合第一方面的一种可能的实施方式,在更新所述第一配置信息之后,所述方法还包括:在所述第二网络数据恢复正常时,所述第二节点服务器根据所述经更新第一配置信息删除所述第一配置信息。本申请实施例中,在第二网络数据恢复正常时,第二节点服务器根据经更新第一配置信息删除自身上保留的第一配置信息,以降低对业务的干扰。
[0012] 第二方面,本发明实施例还提供了一种服务器集群,包括:第一节点服务器和第二节点服务器,所述第一节点服务器,用于在确定所述第二节点服务器的第二网络数据符合预设异常条件时,判断自身的第一网络数据是否符合所述预设异常条件;在为否时,所述第一节点服务器,还用于从集群数据库中获取部署于所述第二节点服务器上的至少一个第二虚拟机的第一配置信息;所述第一节点服务器,还用于基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建。
[0013] 结合第二方面的一种可能的实施方式,所述第一节点服务器,还用于定期轮询所述第二节点服务器的所述第二网络数据;所述第一节点服务器,还用于判断所述第二网络数据是否符合预设异常条件。
[0014] 结合第二方面的一种可能的实施方式,所述第二节点服务器中部署有监控工具,所述监控工具包括:用于监控存储网络的网络数据的第一监控代理、用于监控管理网络的网络数据的第二监控代理、用于监控业务网络的网络数据的第三监控代理;所述第一节点服务器,还用于通过所述第一监控代理判断所述第二节点服务器的存储网络中的网络数据是否符合预设异常条件;或所述第一节点服务器,还用于通过所述第二监控代理判断所述第二节点服务器的管理网络中的网络数据是否符合预设异常条件;或第一节点服务器,还用于通过所述第三监控代理判断所述第二节点服务器的业务网络中的网络数据是否符合预设异常条件。
[0015] 结合第二方面的一种可能的实施方式,所述第一节点服务器,还用于确定自身的剩余资源消耗是否大于所述第一配置信息中的最小资源消耗。
[0016] 结合第二方面的一种可能的实施方式,所述第一节点服务器,还用于更新所述第一配置信息,获得经更新第一配置信息。
[0017] 结合第二方面的一种可能的实施方式,在所述第二网络数据恢复正常时,所述第二节点服务器,用于根据所述经更新第一配置信息删除所述第一配置信息。
[0018] 第三方面,本发明实施例还提供了一种存储介质,其上存储有存储介质,所述存储介质被处理器运行时执行上述第一方面实施例和/或结合第一方面的任一种可能的实施方式提供的方法。
[0019] 本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。

附图说明

[0020] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。
[0021] 图1示出了本发明实施例提供的一种服务器集群的结构示意图。
[0022] 图2示出了本发明实施例提供的一种部署于服务器集群中的各个节点服务器上的监控工具的示意图。
[0023] 图3示出了本发明实施例提供的一种数据处理方法的流程图。
[0024] 图4示出了本发明实施例提供的一种疏散示意图。

具体实施方式

[0025] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0026] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0027] 在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
[0028] 110上的虚拟机的配置信息。请参阅图1,图1为本发明实施例提供的一种基于云平台的服务器集群100的交互示意图。该服务器集群100包括:多个节点服务器110,多个节点服务器110通过网络彼此进行数据交互,也即各个节点服务器110通过网络相互连接,例如,以包括5个节点服务器110为例,分别为节点服务器A、节点服务器B、节点服务器C、节点服务器D以及节点服务器E,则节点服务器A通过网络分别与节点服务器B、节点服务器C、节点服务器D以及节点服务器E进行数据交互,同理,对于节点服务器B、节点服务器C、节点服务器D以及节点服务器E来说也是一样的,如节点服务器B通过网络分别与节点服务器A、节点服务器C、节点服务器D以及节点服务器E进行数据交互。本实施例中,所述服务器集群100中的各个节点服务器110上均部署有至少一个虚拟机。部署于各个节点服务器110上的虚拟机的配置信息存储于一个共用的集群数据库中,也就是说,任何一个节点服务器110均可以通过访问该集群数据库,从而可以获取其他各个节点服务器110上部署的虚拟机的配置信息。
[0029] 其中,在本发明实施例中,所述节点服务器110可以是,但不限于网络服务器、数据库服务器、云端服务器等。
[0030] 其中,上述的云平台可以是Open Stack、VMWare vSphere、Xen Server、Ovirt等。
[0031] 为了实现云平台节点(也即节点服务器110)在发生故障时,部署于故障节点(如第二节点服务器)上虚拟机自动疏散到健康节点(如第一节点服务器)上,本申请实施例中,通过在每个节点服务器110上部署用于监控自身网络数据的监控工具。其中,作为一种可选的实施方式,该监控工具包括:用于监控存储网络的网络数据的第一监控代理、用于监控管理网络的网络数据的第二监控代理、用于监控业务网络的网络数据的第三监控代理以及用于收集第一监控代理、第二监控代理以及第三监控代理的网络数据的监控服务。也即监控工具包括2部分,一部分是监控代理(Agent),另一部分是监控服务(Server),其中,监控代理负责监控存储网络、管理网络以及业务网络的网络数据,监控服务(Server)用于对监控代理(Agent)监控的网络数据进行收集汇总。部署于各个节点服务器110上的监控工具的示意图可以参见图2所示。
[0032] 通过在各个节点服务器110上部署监控工具,通过监控工具对各个节点服务器110的网络数据进行监控,以便在网络中的某个节点服务器110出现故障时,其余的节点服务器110能够及时获知这一状况,并检测自身的网络数据是否正常,在确定自身正常时,将部署于出现故障的节点服务器110上的虚拟机自动疏散到健康的节点服务器110上进行重建。例如,各个监控服务(Server)之间会自主选择一个Leader Server,其余的Follower Server会将各自汇总的网络数据转发给Leader Server,然后再由Leader Server将汇总的网络数据转发给Follower Server,以确保每一个Server均可以获得各个Server汇总的网络数据。
为了便于理解,还是以上述的包括5个节点服务器110为例,此时包括5个Server,假设以部署于节点服务器B上的Server为Leader Server,则其余的四个Follower Server会将各自汇总的网络数据转发给Leader Server,也即,部署于节点服务器A、节点服务器C、节点服务器D以及节点服务器E上的Server会将汇总的网络数据转发给部署于节点服务器B上的Server;然后再由部署于节点服务器B上的Server将汇总的数据转发给其他节点上的Server,如,Leader Server将自身的数据以及来自于节点服务器C、节点服务器D以及节点服务器E上的Server汇总的数据转发给节点服务器A上的Server,同理,对于节点服务器C、节点服务器D以及节点服务器E上的Server也是一样的。
[0033] 其中,对于各个Follower Server以及Leader Server之间的数据交互,可以是Leader Server定期轮询各个Follower Server以获得各个Follower Server各自汇总的网络数据,也可以是各个Follower Server定期将监控的网络数据上传给Leader Server。对于第一种情况,Follower Server只有收到Leader Server的询问请求时,才上传网络数据,而第二种情况,Follower Server不用收到Leader Server的询问请求时,就可以上传网络数据,无论采用哪种方式,对于各个节点服务器110来说,均可以获悉其他各个节点服务器110的网络数据,这样一旦网络中的某个节点服务器110出现故障时,其余的节点服务器110便能及时获知这一状况。例如,第一节点服务器在确定所述第二节点服务器的第二网络数据符合预设异常条件时,所述第一节点服务器判断自身的第一网络数据是否符合所述预设异常条件;在为否时,所述第一节点服务器从集群数据库中获取部署于所述第二节点服务器上的至少一个第二虚拟机的第一配置信息;所述第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建。其中,第一节点服务器以及第二节点服务器均为服务器集群100中的节点服务器110。其中,存在故障的节点服务器110可以被称之为第二节点服务器,正常的节点服务器110可以被称之为第一节点服务器。
[0034] 通过上述方式,便可以实现在云平台节点发生故障时,可自动地将受影响的虚拟机疏散至其他健康的节点上进行重建,并启动。整个过程由系统自动执行,无需人工介入干预,改善现有云平台无法自动检测节点健康状态、无法自动疏散故障节点的虚拟机到健康节点的问题。同时,减少了业务长时间宕机风险,减少了人力成本,增强了业务连续性。
[0035] 为了便于理解上述过程,下面将结合图3对其所包含的步骤进行说明,其中,图3示出的一种应用于上述服务器集群100的数据处理方法。
[0036] 步骤S101:所述第一节点服务器在确定所述第二节点服务器的第二网络数据符合预设异常条件时,所述第一节点服务器判断自身的第一网络数据是否符合所述预设异常条件。
[0037] 第一节点服务器以及第二节点服务器均为服务器集群100中的节点服务器110。在第一节点服务器在确定第二节点服务器的第二网络数据符合预设异常条件时,也即第二节点服务器存在故障时,第一节点服务器判断自身的第一网络数据是否符合所述预设异常条件,在为否时也即第一节点服务器处于健康状态时,则执行步骤S102,在为是时,则结束。
[0038] 其中,作为一种可选的实施方式,在所述第一节点服务器判断自身的第一网络数据是否符合所述预设异常条件之前,所述方法还包括:所述第一节点服务器定期轮询所述第二节点服务器的所述第二网络数据;所述第一节点服务器判断所述第二网络数据是否符合预设异常条件。也即,第一节点服务器定期向第二节点服务器发送询问请求,以获取第二节点服务器的第二网络数据,然后判断获取到的第二网络数据是否符合预设异常条件。当然,作为另一种实施方式,也可以是第二节点服务器定期自动向第一节点服务器上传自身的第二网络数据。
[0039] 其中,第二网络数据可以是管理网络的网络数据、业务网络的网络数据、存储网络的网络数据中的至少一种网络数据。判断是否符合预设异常条件可以是通过判断是否接收到对应的数据,例如,对于采用定期轮询的方式来说,若第一节点服务器向第二节点服务器发送了询问请求,若没有收到第二节点服务器反馈的第二网络数据,则说明符合预设异常条件;对于采用定期上传的方式来说,若第一节点服务器在规定的时间内没有接收到第二节点服务器上传的第二网络数据,则说明符合预设异常条件。此外,对于第二网络数据包含2种以上的网络数据时,如包含管理网络的网络数据、业务网络的网络数据、存储网络的网络数据时,若第一节点服务器没有接收其中某一个网络的网络数据,则说明符合预设异常条件,例如,只接收到管理网络的网络数据、业务网络的网络数据,没有接收到存储网络的网络数据时,则说明符合预设异常条件。
[0040] 若第一节点服务器接收到第二节点服务器的第二网络数据,通过判断该第二网络数据是否在正常范围内,若持续一段时间仍低于正常范围,则说明符合预设异常条件,其中,对于第二网络数据包含2种以上的网络数据时,只要管理网络、业务网络、存储网络中的任一网络数据若持续一段时间仍低于正常范围,就符合预设异常条件。
[0041] 其中,需要说明的是,上述示例的预设异常条件除了上述方式之外,还可以是其他,具体可以根据用户得具体需求来设定,不能将上述示例的预设异常条件理解成是对本申请的限制。
[0042] 其中,可以是在第二节点服务器中部署监控工具,来获取第二网络数据。其中,作为一种可选的实施方式,该监控工具包括:用于监控存储网络的网络数据的第一监控代理、用于监控管理网络的网络数据的第二监控代理、用于监控业务网络的网络数据的第三监控代理以及用于收集第一监控代理、第二监控代理以及第三监控代理的网络数据的监控服务。此时,所述第一节点服务器判断所述第二节点服务器的第二网络数据是否符合预设异常条件,包括:所述第一节点服务器通过所述第一监控代理判断所述第二节点服务器的存储网络中的网络数据是否符合预设异常条件;和/或所述第一节点服务器通过所述第二监控代理判断所述第二节点服务器的管理网络中的网络数据是否符合预设异常条件;和/或第一节点服务器通过所述第三监控代理判断所述第二节点服务器的业务网络中的网络数据是否符合预设异常条件。只要第二网络数据中的任一网络数据出现异常则说明第二节点服务器为故障节点。
[0043] 步骤S102:在为否时,所述第一节点服务器从集群数据库中获取部署于所述第二节点服务器上的至少一个第二虚拟机的第一配置信息。
[0044] 第一节点服务器在确定自身正常时,所述第一节点服务器从集群数据库中获取部署于所述第二节点服务器上的至少一个第二虚拟机的第一配置信息。其中,集群数据库存储有部署于服务器集群100中的各个节点服务器110上的虚拟机的配置信息。任何一个节点服务器110均可以通过访问该集群数据库,从而可以获取其他各个节点服务器110上部署的虚拟机的配置信息。
[0045] 其中,第一节点服务器判断自身的第一网络数据是否符合预设异常条件的过程与判断第二节点服务器的第二网络数据是否符合预设异常条件的过程一样,在此不再重复说明。
[0046] 步骤S103:所述第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建。
[0047] 第一节点服务器在获取到部署于第二节点服务器上的虚拟机的第一配置信息后,基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建。
[0048] 其中,第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建之前,所述方法还包括:所述第一节点服务器确定自身的剩余资源消耗是否大于所述第一配置信息中的最小资源消耗。由于第二节点服务器上部署了至少一个虚拟机,不同虚拟机所需的资源消耗不同,第一节点服务器想要将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建,就必须确定自身的剩余资源消耗是否大于所述第一配置信息中的最小资源消耗,也即确定自身的余资源消耗是否大于部署于第二节点服务器上的第二虚拟机所需的最小资源消耗。只有在第一节点服务器确定自身的剩余资源消耗大于所述第一配置信息中的最小资源消耗时,才能将其疏散到自身并进行重建。
[0049] 此外,作为一种可选的实施方式,在所述第一节点服务器基于所述第一配置信息将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建之后,所述方法还包括:更新所述第一配置信息,获得经更新第一配置信息(更新后的第一配置信息)。也就是说,第一节点服务器在将将部署于所述第二节点服务器上的至少一个第二虚拟机疏散到自身上重建之后,会基于疏散的情况更新第一配置信息,获得经更新第一配置信息,以便其余的节点服务器100在查询集群数据库中的配置信息时,能知悉这一状况,以避免重复疏散。
[0050] 此外,作为一种可选的实施方式,在更新所述第一配置信息之后,所述方法还包括:在所述第二网络数据恢复正常时,所述第二节点服务器根据所述经更新第一配置信息删除所述第一配置信息。也就是说,当第二节点服务器恢复正常时,第二节点服务器根据更新后的第一配置信息删除自身上保留的原第一配置信息,也即删除自身节点上残留的已经重建的虚拟机数据。
[0051] 为了便于理解,以图4所示的疏散示意图为例,进行说明。通过定期轮询监控工具,发现某个节点的网络数据异常时,并且持续一定时间,则触发云平台的疏散能力,首先对环境中其他节点进行健康检查并判断资源情况,然后对此故障节点上的虚拟机进行自动调配疏散到其他健康节点,进行重建并启动。假设节点1故障时,则部署于节点1上的虚拟机(VM1)自动疏散到接到节点2、节点3上重建;假设节点2故障时,则部署于节点2上的虚拟机(VM2)自动疏散到接到节点1、节点3上重建;假设节点3故障时,则部署于节点3上的虚拟机(VM3)自动疏散到接到节点1、节点2上重建。
[0052] 其中,每个健康节点在将部署于故障节点的虚拟机疏散到自身上重建的过程是一样的。假设节点1故障时,部署于节点1上的虚拟机有6个(分别为VM11、VM12、VM13、VM14、VM15、VM16),则节点2在对其进行疏散重建时,发现自身的剩余资源消耗,只够重建3个虚拟机(假设为VM12、VM13、VM14),则会将这3个虚拟机(为VM12、VM13、VM14)疏散到自身进行重建,同时更新第一配置信息,获得经更新第一配置信息,也即获得第二配置信息。当节点3在对节点1上的虚拟机进行疏散重建时,查看经更新第一配置信息(第二配置信息),发现还有3个虚拟机(VM11、VM15、VM16)需要疏散重建,假设自身的剩余资源消耗能够重建剩余的3个虚拟机(VM11、VM15、VM16),则会将这剩余的3个虚拟机(VM11、VM15、VM16)疏散到自身进行重建,同时更新经更新第一配置信息,获得更新后的经更新第一配置信息,也即获得第三配置信息。
[0053] 其中,需要说明的是,节点2在更新第一配置信息之前,第一配置信息中的6个虚拟机全部是部署于节点1上的。待节点2更新第一配置信息后,获得经更新第一配置信息后,此时,经更新第一配置信息中有三个虚拟机(VM12、VM13、VM14)是部署于节点2上,还有三个虚拟机(VM11、VM15、VM16)的配置关系不变,仍然是部署于节点1上,待节点3更新完经更新第一配置信息,也即更新第二配置信息后,会将剩余的3个虚拟机的部署关系更新为自身,获得第三配置信息。假设还存在健康的节点4,则节点4在对部署于节点1上虚拟机进行疏散重建时,此时查看第三配置信息,发现部署于节点1上虚拟机已经全部进行疏散重建,则结束。
[0054] 当第二节点服务器恢复正常时,第二节点服务器根据更新后的第一配置信息,结合上述示例,则根据第三配置信息,发现原先部署于自身上的虚拟机VM12、VM13、VM14现在部署于节点2上,原先部署于自身上的虚拟机VM11、VM15、VM16现在部署于节点3上,则会删除自身上保留的原第一配置信息。
[0055] 其中,需要说明的是,上述的示例仅在于方便理解,实际的疏散以及重建并不限于此,因此,不能将上述的示例理解成是对本申请的限制。
[0056] 本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器运行时,可以执行上述方法实施例所示的步骤。
[0057] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。如在服务器集群100中未提及的第一节点服务器以及第二节点服务器部分,可参见方法实施例中的相应的部分。
[0058] 在本申请所提供的实施例中,应该理解到,所揭露的方法,也可以通过其它的方式实现。以上所描述的方法实施例仅仅是示意性的,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0059] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0060] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。