一种检测云主机脑裂情况的方法及设备与流程

未命名 08-02 阅读:82 评论:0


1.本技术涉及计算机领域,尤其涉及一种检测云主机脑裂情况的方法及设备。


背景技术:

2.云计算是近些年兴起的技术,它可以实现充分利用硬件资源并合理按需分配的场景,其中一个用途广泛的模块就是云主机。在实际应用中,云主机的运行依托于对应的虚拟操作系统模拟器(qemu)进程,若是一台云主机出现了脑裂的情况,即一台云主机因故障导致同时有多个对应的qemu进程运行,极有可能会造成云主机的数据丢失与损坏,这是非常严重的事故。
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.图1示出根据本技术的一个方面提供的一种应用于检测端的检测云主机脑裂情况的方法流程示意图;
42.图2示出根据本技术另一个方面还提供的一种应用于代理服务端的检测云主机脑裂情况的方法流程示意图;
43.图3示出本技术一实施例中构建的新的探测机制的流程交互图。
44.附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
45.下面结合附图对本技术作进一步详细描述。
46.在本技术一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(central processing unit,cpu))、输入/输出接口、网络接口和内存。
47.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(random access memory,ram)和/或非易失性内存等形式,如只读存储器(read only memory,rom)或闪存(flash ram)。内存是计算机可读介质的示例。
48.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(phase-change ram,pram)、静态随机存取存储器(static random access memory,sram)、动态随机存取存储器(dynamic random access memory,dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(compact disc read-only memory,cd-rom)、数字多功能光盘(digital versatile disk,dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
49.针对处理网络故障与探测间隔内信息缺失的问题,单靠检测端单方面获取当时的云主机状态是不行的,因此本技术所述的方法构建的探测机制分为了两个部分:探测端及代理服务端,从而能够保证在网络波动或两次探测的间隔中如果出现了脑裂的情况,在检测的时候也能发现并能给出相应的信息提示。具体的方法过程如下:
50.图1示出根据本技术的一个方面提供的一种应用于检测端的检测云主机脑裂情况的方法流程示意图,该方法包括:步骤s11~步骤s13,其中,
51.步骤s11,获取运行在物理机上的代理服务所收集到的云主机的状态信息;在此,在新构建的探测机制中存在一个运行在提供物理资源的物理机上的代理服务(agent)端,该代理服务端收集物理机上的云主机的状态信息,从而检测端从代理服务端获取云主机的状态信息,因agent运行在物理机内部,当出现的网络故障或处于探测间隔时间内时,物理
机上的云主机状态也仍然会被记录下来,从而避免了探测信息缺失以及探测间隔出现短暂的脑裂情况。
52.步骤s12,根据所述云主机的状态信息对比各个物理机上收集到的同一台云主机的运行时间节点,得到对比结果;在此,利用从代理服务端获取到的环境中所有云主机的状态信息,进行对比各个物理机上收集到的同一台云主机的运行时间节点,判断是否出现重叠以及出现重叠的次数,从而得到对比结果,该对比结果包括是否出现了重叠、重叠次数以及重叠的时间节点。比如物理机a上收集到的云主机a、b、c的状态信息,物理机b上收集的云主机a、d、e的状态信息,对比物理机a和物理机b上的云主机a的状态信息,判断运行时的时间节点是否发生了重叠以及重叠次数。
53.步骤s13,根据所述对比结果判断云主机是否发生脑裂。在此,根据上述的对比结果判断云主机的运行时间节点是否发生了重叠以及重叠情况,进而判断是否发生了脑裂情况。比如若不同物理机上记录的同一台云主机的运行时间节点有一段连续的重叠时间点,则认为出现了脑裂现象。
54.在本技术一实施例中,所述方法包括:若所述云主机发生脑裂,则向接收方发送提示信息,其中,所述提示信息包括云主机信息、云主机所在的物理机信息、脑裂发生时间段信息及脑裂预警信息。在此,当检测到云主机发生脑裂情况时,按照预先设置的方案向设定的接收方发出提示信息,该提示信息包括云主机信息、云主机所在物理机信息、发生脑裂时间段信息和脑裂预警信息,云主机信息包括唯一标识码,云主机所在物理机信息包括物理机的ip,发生脑裂时间段信息包括在哪些时间节点发生脑裂、发生脑裂的开始时间和结束时间、哪几段时间段等,脑裂预警信息包括发生脑裂的预警提示(如某某物理机上的某个云主机发生了脑裂)、连续重叠时间段信息、重叠几次等。
55.在本技术一实施例中,获取运行在物理机上的代理服务所收集到的云主机的状态信息之前,包括:从代理服务端定时获取日志信息,并按照物理机的网协地址分类保存日志信息。在此,检测端定时从运行在物理机上的agent获取收集的运行云主机时的日志信息,按照物理机的ip进行分类保存至不同文件中,比如收集来的日志信息会按照host_ip_vm_running_status.log的格式命名,保存在检测端的固定目录下,比如目录:/var/log/vmsplitbrain_checker/。每个物理机收集来的日志信息按照物理机ip分类保存在不同文件中。
56.在本技术一实施例中,所述方法包括:对获取到的云主机的状态信息按照物理机的网协地址进行保存并进行去重处理,得到去重后的云主机的状态信息。在此,将获取到的云主机的状态信息按照物理机ip进行保存,按照:秒级时间戳运行中的vmuuid1运行中的vmuuid2
……
的格式,每秒收集的信息占据一行进行整理。进而统计出需要检测的云主机,对统计出的云主机的状态信息进行去重,去重时按照云主机的唯一标识码(uuid)去掉重复的uuid,一个uuid保留一个。
57.接上述实施例,将去重后的云主机的状态信息存储在标识列表中,判断所述标识列表是否为空,若是,则待下一次从所述代理服务端收集日志信息。在此,将去重后的云主机的状态信息进行整理,存储在云主机的uuid列表中。从而在进行检测云主机是否发生脑裂时,先判断uuid列表是否为空,如果为空,则检测端需要待下一次日志收集进而获取到代理服务端收集到有关云主机的状态信息。
58.接上述实施例,若所述标识列表不为空,则根据所述标识列表中的云主机的状态信息获取同一云主机在所有物理机上运行的时间点;对比同一台云主机的运行的时间点是否发生重叠。在此,当uuid列表不为空时,按照uuid获取同一个云主机在所有物理机上运行的时间节点,并检测是否有时间节点重叠,如果不同物理机上记录的同一台云主机的运行时间有一段连续的重叠时间点,则认为出现了脑裂现象。出现连续的多个重叠时间点,具体几个可以设置,例如设定的是5个:物理机a收集云主机1的运行时间点为10点0分0秒至10秒,物理机b收集云主机1的运行时间点为10点0分5秒至2分,有连续的5个时间点重叠即视为发生了脑裂,可按照需求按不同的方式发送不同的报警信息。
59.图2示出根据本技术另一个方面还提供的一种应用于代理服务端的检测云主机脑裂情况的方法流程示意图,该方法包括:步骤s21~步骤s23,其中,
60.步骤s21,定时收集当前时间节点物理机上运行的云主机的状态信息;在此,运行在提供物理资源的物理机上设置代理服务(agent)端,其中物理资源包括cpu和内存,agent会定时收集信息,比如每秒收集一下当前时间节点物理机上运行着的云主机的状态信息。
61.步骤s22,在日志文件中记录当前时间节点,并记录所有云主机的状态信息;接着,步骤s23,根据接收到的检测端发送的收集请求将所有云主机的状态信息发送至所述检测端。在此,将当前时间节点记录在日志文件中并也记录所有云主机的状态信息,进而生成日志信息以供检测端获取日志信息,从日志信息中检测云主机是否发生脑裂情况,即当收到检测端发送的收集请求时将云主机的状态信息发送给检测端,发送的形式是通过日志信息方式,检测端收到日志信息进行分类保存以及整理后检测云主机列表中的云主机是否存在发生脑裂的情况。
62.在本技术一实施例中,所述方法包括:将环境中所有物理机定时与时间同步服务器进行时间同步。在此,使用ntp服务实现时间同步,设立一台时间同步服务器,将环境中所有的物理机定时与这台时间同步服务器进行同步,从而保证环境中的所有物理机时间保持一致,保证各物理机不会出现时间错位的情况,避免了探测机制误判。
63.在本技术一实施例中,定时收集当前时间节点物理机运行的云主机的虚拟操作系统模拟器进程;记录对应的唯一标识码,并打上秒级时间戳,得到云主机的状态信息。在此,新的探测机制中存在独立于物理机之外的检测端,检测端不再是去获取云主机的实时状态,而是去获取agent所收集到的云主机状态信息,agent每秒收集一下当前时间节点物理机运行的云主机的qemu进程,记录一下对应的唯一标识码(uuid),并打上秒级的时间戳,因agent是运行在物理机内部,哪怕出现的网络故障或处于探测间隔时间内,物理机上的云主机状态也仍然可以被记录下来。
64.在本技术一实施例中,每秒获取一次当前物理机运行状态的云主机;判断是否存在运行的云主机,若否,则在日志文件中只记录秒级时间节点,若是,则在日志文件中记录秒级时间节点并记录所有云主机的唯一标识码。在此,在agent端每秒获取一次当前物理机上运行状态的云主机,判断是否存在运行状态的云主机,若否,则在日志文件中只记录秒级时间点,若是则在日志文件中记录当前秒级时间节点的同时也记录下所有云主机的唯一标识码(uuid)。从而通过在物理机上设立的agent方式来解决网络故障与探测间隔内信息缺失的问题。
65.图3示出本技术一实施例中构建的新的探测机制的流程交互图,在agent端,每秒
获取一次当前物理机上运行的状态的云主机,判断是否存在运行状态的云主机,若是则在日志文件中记录当前秒级时间节点,并记录下所有云主机的唯一标识符,打上秒级的时间戳;从而方便检测端获取进行检测云主机的情况。在检测端,会定时从agent获取日志信息,按照物理机ip分类保存日志信息,获取环境中所有运行中的云主机uuid列表并去重,判断uuid列表是否为空,若否,则按照uuid获取同一个云主机在所有物理机上运行的时间节点,并检测是否有时间节点重叠,若检测存在连续的重叠时间点,则认为云主机发生了脑裂现象,根据检测结果发出信息提示:哪台云主机在哪几台物理机上的哪段时间内,运行时间重叠,疑似出现脑裂现象,请尽快排查。在检测端设定日志保留时间进行定时清理,该保留时间根据需求进行自设定。当检测云主机状况完毕后,可手动停止检测端和agent端的运行。
66.此外,本技术实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种检测云主机脑裂情况的方法。
67.在本技术一实施例中,还提供了一种检测云主机脑裂情况的检测端设备,所述检测端设备包括:
68.一个或多个处理器;以及
69.存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
70.例如,计算机可读指令在被执行时使所述一个或多个处理器:
71.获取运行在物理机上的代理服务所收集到的云主机的状态信息;
72.根据所述云主机的状态信息对比各个物理机上收集到的同一台云主机的运行时间节点,得到对比结果;
73.根据所述对比结果判断云主机是否发生脑裂。
74.根据本技术再一个方面,还提供了一种检测云主机脑裂情况的代理服务端设备,该代理服务端设备包括:
75.一个或多个处理器;以及
76.存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
77.例如,计算机可读指令在被执行时使所述一个或多个处理器:
78.定时收集当前时间节点物理机上运行的云主机的状态信息;
79.在日志文件中记录当前时间节点,并记录所有云主机的状态信息;
80.根据接收到的检测端发送的收集请求将所有云主机的状态信息发送至所述检测端。
81.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
82.需要注意的是,本技术可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本技术的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本技术的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本技术的一些步骤或功能可采用硬件来实现,例
如,作为与处理器配合从而执行各个步骤或功能的电路。
83.另外,本技术的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本技术的方法和/或技术方案。而调用本技术的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本技术的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本技术的多个实施例的方法和/或技术方案。
84.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

技术特征:
1.一种检测云主机脑裂情况的方法,应用于检测端,其特征在于,所述方法包括:获取运行在物理机上的代理服务所收集到的云主机的状态信息;根据所述云主机的状态信息对比各个物理机上收集到的同一台云主机的运行时间节点,得到对比结果;根据所述对比结果判断云主机是否发生脑裂。2.根据权利要求1所述的方法,其特征在于,所述方法包括:若所述云主机发生脑裂,则向接收方发送提示信息,其中,所述提示信息包括云主机信息、云主机所在的物理机信息、脑裂发生时间段信息及脑裂预警信息。3.根据权利要求1所述的方法,其特征在于,获取运行在物理机上的代理服务所收集到的云主机的状态信息之前,包括:从代理服务端定时获取日志信息,并按照物理机的网协地址分类保存日志信息。4.根据权利要求1或3所述的方法,其特征在于,所述方法包括:对获取到的云主机的状态信息按照物理机的网协地址进行保存并进行去重处理,得到去重后的云主机的状态信息。5.根据权利要求4所述的方法,其特征在于,所述方法包括:将去重后的云主机的状态信息存储在标识列表中,判断所述标识列表是否为空,若是,则待下一次从所述代理服务端收集日志信息。6.根据权利要求5所述的方法,其特征在于,根据所述云主机的状态信息对比各个物理机上收集到的同一台云主机的运行时间节点,包括:若所述标识列表不为空,则根据所述标识列表中的云主机的状态信息获取同一云主机在所有物理机上运行的时间点;对比同一台云主机的运行的时间点是否发生重叠。7.一种检测云主机脑裂情况的方法,应用于代理服务端,其特征在于,所述方法包括:定时收集当前时间节点物理机上运行的云主机的状态信息;在日志文件中记录当前时间节点,并记录所有云主机的状态信息;根据接收到的检测端发送的收集请求将所有云主机的状态信息发送至所述检测端。8.根据权利要求7所述的方法,其特征在于,所述方法包括:将环境中所有物理机定时与时间同步服务器进行时间同步。9.根据权利要求7所述的方法,其特征在于,定时收集当前时间节点物理机上运行的云主机的状态信息包括:定时收集当前时间节点物理机运行的云主机的虚拟操作系统模拟器进程;记录对应的唯一标识码,并打上秒级时间戳,得到云主机的状态信息。10.根据权利要求7所述的方法,其特征在于,定时收集当前时间节点物理机上运行的云主机的状态信息之前,包括:每秒获取一次当前物理机运行状态的云主机;判断是否存在运行的云主机,若否,则在日志文件中只记录秒级时间节点,若是,则在日志文件中记录秒级时间节点并记录所有云主机的唯一标识码。11.一种检测云主机脑裂情况的检测端设备,其特征在于,所述检测端设备包括:一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至6中任一项所述方法的操作。12.一种检测云主机脑裂情况的代理服务端设备,其特征在于,所述代理服务端设备包括:一个或多个处理器;以及存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求7至10中任一项所述方法的操作。13.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至10中任一项所述的方法。

技术总结
本申请的目的是提供一种检测云主机脑裂情况的方法及设备,本申请通过在代理服务端定时收集当前时间节点物理机上运行的云主机的状态信息;在日志文件中记录当前时间节点,并记录所有云主机的状态信息;根据接收到的检测端发送的收集请求将所有云主机的状态信息发送至所述检测端。在检测端获取运行在物理机上的代理服务所收集到的云主机的状态信息;根据所述云主机的状态信息对比各个物理机上收集到的同一台云主机的运行时间节点,得到对比结果;根据所述对比结果判断云主机是否发生脑裂。从而避免了探测信息缺失以及探测间隔出现短暂的脑裂情况。短暂的脑裂情况。短暂的脑裂情况。


技术研发人员:冉恒滔
受保护的技术使用者:上海云轴信息科技有限公司
技术研发日:2023.05.17
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐