本公开涉及云计算,尤其涉及一种宿主机故障修复方法及装置、系统、电子设备和存储介质。
背景技术:
1、随着云计算技术的迅速发展,越来越多的企业都在积极推动传统业务应用迁移上云,即把原来部署在物理服务器上的业务系统改为部署到云服务器上,因此,云计算服务的可用性在一定程度上决定着客户业务的可用性。云计算服务通常运行在数量众多的物理服务器(即宿主机)上,由于宿主机数量基数大以及云计算本身的复杂性,常常因软硬件的各种故障导致宿主机出现整体或局部性的故障。而宿主机上,通常运行着多个承载客户业务的云主机,宿主机的故障将导致云主机无法正常运行,从而影响云计算服务的可用性。因此,开发出一种检测和修复宿主机故障的方法对于提升云计算服务的可用性十分必要。
2、相关的云计算宿主机故障修复技术,一般通过智能平台管理接口(intelligentplatform management interface,ipmi)协议,采集宿主机电源状态、cpu状态、内存状态和网卡状态的性能数据,并将上述性能数据与预设的性能数据指标进行比较来判断对应的宿主机是否需要进行疏散处理,对故障的判定不够全面且具有漏判的可能性,例如,在实际判定情况中,也可能是电源、cpu、内存和网卡等硬件都正常,但提供云主机服务的宿主机的软件层面发生夯死故障,导致宿主机上的云主机不可用,从而影响客户业务;并且宿主机故障判定的逻辑比较固化,不具备可配置性和可扩展性。
3、因此,相关的云计算技术中,由于宿主机故障判定的方面不够全面以及故障判定的逻辑固化的问题,进而导致降低云计算服务的可用性。
技术实现思路
1、本公开提供了一种宿主机故障修复方法及装置、系统、电子设备和存储介质。其主要目的在于解决宿主机故障判定的方面不够全面以及故障判定的逻辑固化导致的云计算服务可用性降低的问题。
2、根据本公开的第一方面,提供了一种宿主机故障修复方法,所述方法应用于控制节点,包括:
3、在接收到被控节点发送的异常信息后,或在预设发送周期未接收到所述被控节点发送的心跳包后,根据故障判断规则对所述被控节点对应的宿主机进行至少一个故障的判定,所述故障判断规则包含预设判断顺序及判断逻辑;
4、将所述至少一个故障的集合确定为目标故障集;
5、从预先配置的故障集与处理方式集之间的映射关系,确定所述目标故障集对应的目标处理方式;
6、将所述目标处理方式发送至所述被控节点,以便所述被控节点根据所述目标处理方式对所述被控节点对应的宿主机进行修复。
7、可选地,所述根据故障判断规则对所述被控节点进行至少一个故障的判定包括:
8、确定所述故障判断规则中的预设判断顺序为依次执行硬件状态步骤、网络状态步骤、不同核心服务状态步骤的顺序;一个步骤对应一个判断逻辑;
9、根据所述执行步骤及对应的判断逻辑对所述被控节点对应的宿主机进行至少一个故障的判定。
10、可选地,所述根据所述执行步骤及对应的预设判断顺序对所述被控节点对应的宿主机进行至少一个故障的判定包括:
11、对所述被控节点对应的宿主机的所述电源状态进行检查,所述硬件状态包括电源状态;
12、在确定所述电源状态存在异常的情况下,则确定所述电源状态故障;
13、在确定所述电源状态正常的情况下,对所述被控节点对应的宿主机的所述网络状态进行检查,所述网络状态包括管理网连接及存储网连接;
14、在确定所述管理网连接异常的情况下,且确定所述存储网连接异常的情况下,则确定所述网络状态故障;
15、在确定所述存储网连接正常,和/或所述管理网连接正常的情况下,确定所述网络状态正常;
16、对所述不同核心服务状态进行检查,并确定存在故障的核心服务。
17、可选地,所述预设判断顺序及所述判断逻辑存储于有向无环图对应的配置文件中;
18、所述确定所述异常判断规则中的判断顺序为依次执行硬件状态步骤、网络状态步骤、不同核心服务状态步骤的顺序包括:
19、读取所述有向无环图对应的配置文件;
20、根据所述配置文件生成包含所述判断顺序及所述判断逻辑的有向无环图;
21、基于所述有向无环图确定所述故障判断规则中的判断顺序。
22、可选地,所述根据所述配置文件生成包含所述预设判断顺序及所述判断逻辑的有向无环图还包括:
23、在所述有向无环图对应的配置文件中新增判断顺序及对应的判断逻辑;
24、或,在所述有向无环图对应的配置文件中删除所述判断顺序及所述判断逻辑。
25、可选地,所述从预先配置的故障集与处理方式集之间的映射关系,确定所述目标故障集对应的目标处理方式,包括:
26、基于所述预先配置的故障集与处理方式集之间的映射关系,分别确定所述目标故障集中的故障或故障组合对应的多个处理方式,所述不同的处理方式对应不同的优先级;
27、根据优先级的排序结果从所述多个处理方式中确定目标处理方式。
28、可选地,在根据故障判断规则对所述被控节点对应的宿主机进行至少一个故障的判定前,所述方法包括:
29、向所述被控节点发送控制指令,所述控制指令用于指示所述被控节点采集所述被控节点对应宿主机的当前系统性能数据;以便所述被控节点执行所述控制指令,并将所述当前系统性能数据与预设系统性能数据指标的比对结果上传异常信息;
30、接收所述被控节点发送的所述异常信息;
31、监控所述被控节点是否按照所述预设发送周期发送心跳包。
32、根据本公开的第二方面,提供了一种宿主机故障修复装置,包括:
33、判定单元,用于在接收到被控节点发送的异常信息后,或在预设发送周期未接收到所述被控节点发送的心跳包后,根据故障判断规则对所述被控节点对应的宿主机进行至少一个故障的判定,所述故障判断规则包含预设判断顺序及判断逻辑;
34、第一确定单元,用于将所述至少一个故障的集合确定为目标故障集;
35、第二确定单元,用于从预先配置的故障集与处理方式集之间的映射关系,确定所述目标故障集对应的目标处理方式;
36、第一发送单元,用于将所述目标处理方式发送至所述被控节点,以便所述被控节点根据所述目标处理方式对所述被控节点对应的宿主机进行修复。
37、可选地,所述判定单元还用于:
38、确定所述故障判断规则中的预设判断顺序为依次执行硬件状态步骤、网络状态步骤、不同核心服务状态步骤的顺序;一个步骤对应一个判断逻辑;
39、根据所述执行步骤及对应的判断逻辑对所述被控节点对应的宿主机进行至少一个故障的判定。
40、可选地,所述判定单元包括:
41、第一检查模块,用于对所述被控节点对应的宿主机的所述电源状态进行检查,所述硬件状态包括电源状态;
42、第一确定模块,用于在确定所述电源状态存在异常的情况下,则确定所述电源状态故障;
43、第二检查模块,用于在确定所述电源状态正常的情况下,对所述被控节点对应的宿主机的所述网络状态进行检查,所述网络状态包括管理网连接及存储网连接;
44、第二确定模块,用于在确定所述管理网连接异常的情况下,且确定所述存储网连接异常的情况下,则确定所述网络状态故障;
45、第三确定模块,用于在确定所述存储网连接正常,和/或所述管理网连接正常的情况下,确定所述网络状态正常;
46、第三检查模块,用于对所述不同核心服务状态进行检查,并确定存在故障的核心服务。
47、可选地,所述预设判断顺序及所述判断逻辑存储于有向无环图对应的配置文件中;
48、可选地,所述判定单元还包括:
49、读取模块,用于读取所述有向无环图对应的配置文件;
50、生成模块,用于根据所述配置文件生成包含所述判断顺序及所述判断逻辑的有向无环图;
51、第四确定单元,用于基于所述有向无环图确定所述故障判断规则中的判断顺序。
52、可选地,所述生成模块还用于:
53、在所述有向无环图对应的配置文件中新增判断顺序及对应的判断逻辑;
54、或,在所述有向无环图对应的配置文件中删除所述判断顺序及所述判断逻辑。
55、可选地,所述第二确定单元包括:
56、第五确定模块,用于基于所述预先配置的故障集与处理方式集之间的映射关系,分别确定所述目标故障集中的故障或故障组合对应的多个处理方式,所述不同的处理方式对应不同的优先级;
57、第六确定模块,用于根据优先级的排序结果从所述多个处理方式中确定目标处理方式。
58、可选地,所述装置还包括:
59、第二发送单元,用于在根据异常判断规则对所述被控节点对应的宿主机进行至少一个故障的判定之前,向所述被控节点发送控制指令,所述控制指令用于指示所述被控节点采集所述被控节点对应宿主机的当前系统性能数据;以便所述被控节点执行所述控制指令;
60、上传单元,用于将所述当前系统性能数据与预设系统性能数据指标的比对结果上传异常信息;
61、接收单元,用于接收所述被控节点发送的所述异常信息;
62、监控单元,用于监控所述被控节点是否按照所述预设发送周期发送心跳包。
63、根据本公开的第三方面,提供了一种宿主机故障修复系统,其特征在于,所述系统包括第一宿主机及第二宿主机;
64、其中,所述第一宿主机中包括控制节点,所述控制节点包括前述的宿主机故障修复装置;
65、所述第二宿主机中包括被控节点,所述第一宿主机与所述第二宿主机相同或不同。
66、根据本公开的第四方面,提供了一种电子设备,包括:
67、至少一个处理器;以及
68、与所述至少一个处理器通信连接的存储器;其中,
69、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面所述的方法。
70、根据本公开的第五方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述第一方面所述的方法。
71、根据本公开的第六方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如前述第一方面所述的方法。
72、本公开提供的宿主机故障修复方法及装置、系统、电子设备和存储介质,在接收到被控节点发送的异常信息后,或在预设发送周期未接收到所述被控节点发送的心跳包后,根据故障判断规则对所述被控节点对应的宿主机进行至少一个故障的判定,所述故障判断规则包含预设判断顺序及判断逻辑;将所述至少一个故障的集合确定为目标故障集;从预先配置的故障集与处理方式集之间的映射关系,确定所述目标故障集对应的目标处理方式;将所述目标处理方式发送至所述被控节点,以便所述被控节点根据所述目标处理方式对所述目标故障集进行处理。本公开提供的宿主机故障修复方法,与相关技术相比,基于所述故障判断规则包含的预设判断顺序及判断逻辑对宿主机故障进行判定并确定对应的目标处理方式,增加了宿主机故障判定的全面性和可配置性,有效提升了宿主机故障判定的准确率,减少漏判,有效提升了宿主机故障判定的灵活性和可扩展性,并且基于目标处理方式及时修复宿主机故障,提升了云计算服务的可用性。
73、应当理解,本部分所描述的内容并非旨在标识本技术的实施例的关键或重要特征,也不用于限制本技术的范围。本技术的其它特征将通过以下的说明书而变得容易理解。