CN114880080B - 一种虚拟机高可用方法及计算集群 - Google Patents

一种虚拟机高可用方法及计算集群 Download PDF

Info

Publication number
CN114880080B
CN114880080B CN202210807011.5A CN202210807011A CN114880080B CN 114880080 B CN114880080 B CN 114880080B CN 202210807011 A CN202210807011 A CN 202210807011A CN 114880080 B CN114880080 B CN 114880080B
Authority
CN
China
Prior art keywords
computing node
node
computing
control node
virtual machine
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
CN202210807011.5A
Other languages
English (en)
Other versions
CN114880080A (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.)
State Grid Siji Location Service Co ltd
State Grid Information and Telecommunication Co Ltd
Original Assignee
State Grid Information and Telecommunication 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 State Grid Information and Telecommunication Co Ltd filed Critical State Grid Information and Telecommunication Co Ltd
Priority to CN202210807011.5A priority Critical patent/CN114880080B/zh
Publication of CN114880080A publication Critical patent/CN114880080A/zh
Application granted granted Critical
Publication of CN114880080B publication Critical patent/CN114880080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种虚拟机高可用方法及计算集群,属于虚拟机技术领域。虚拟机高可用方法包括计算节点步骤和控制节点步骤;计算节点步骤包括:计算节点判断是否进行宕机检测,若是,则计算节点通过第一预设途径联系控制节点,若无法联系到控制节点,则执行脑裂保护;控制节点步骤包括:控制节点判断是否对计算节点进行宕机检测,若是,则控制节点通过第二预设途径联系计算节点;若无法联系到计算节点,则控制节点将计算节点标记为停止状态,将对应的虚拟机标记为故障中状态;控制节点对故障中状态的虚拟机进行启动操作,并在启动失败的次数大于第一阈值时将虚拟机标记为停止状态。本发明的方法减少了虚拟机服务停机时间,提升了虚拟机的可用性。

Description

一种虚拟机高可用方法及计算集群
技术领域
本发明属于虚拟机技术领域,特别是涉及一种虚拟机高可用方法及计算集群。
背景技术
在云计算中,虚拟机被大量使用以取代物理机作为应用部署的载体,如何提升虚拟机的可靠性、减少虚拟机服务停机时间非常重要。
发明内容
本发明的目的在于克服现有技术的一项或多项不足,提供一种虚拟机高可用方法及计算集群。
本发明的目的是通过以下技术方案来实现的:
根据本发明的第一方面,一种虚拟机高可用方法,应用于计算集群,所述计算集群包括控制节点和计算节点,所述计算节点和控制节点心跳连接,所述虚拟机高可用方法包括计算节点步骤和控制节点步骤中的至少一种;
所述计算节点步骤包括:
计算节点判断是否进行宕机检测;
若计算节点进行宕机检测,则所述计算节点通过第一预设途径联系所述控制节点;
若所述计算节点通过第一预设途径无法联系到所述控制节点,则该计算节点执行脑裂保护;
所述控制节点步骤包括:
控制节点判断是否对计算节点进行宕机检测;
若对计算节点进行宕机检测,则控制节点通过第二预设途径联系所述计算节点;
若控制节点通过第二预设途径无法联系到所述计算节点,则控制节点将所述计算节点标记为停止状态,并将该计算节点上的虚拟机标记为故障中状态;
控制节点对处于故障中状态的虚拟机进行启动操作,若处于故障中状态的虚拟机启动失败的次数大于第一阈值,则将该虚拟机标记为停止状态。
优选的,计算节点判断是否进行宕机检测,包括:
若计算节点心跳曾经发送成功,则判断当前心跳是否发送超时;
若当前心跳发送超时,则计算节点判断是否超过预设的故障检测时段;
若未超过故障检测时段,则进行宕机检测。
优选的,所述计算节点通过第一预设途径联系所述控制节点,包括:
计算节点检测其所有已配IP的网卡链路是否全部中断;
若计算节点所有已配IP的网卡链路全部中断,则计算节点通过第一预设途径无法联系到所述控制节点;
若计算节点所有已配IP的网卡链路未全部中断,则计算节点检测预设的第一探测IP清单中所有IP是否全部超时;
若第一探测IP清单中所有IP全部超时,则计算节点通过第一预设途径无法联系到所述控制节点。
优选的,所述计算节点通过第一预设途径联系所述控制节点,包括:
计算节点判断是否已启用光纤心跳块;
若已启用光纤心跳块,则计算节点通过光纤心跳块发送心跳信息;
若计算节点通过光纤心跳块发送心跳信息失败的次数大于第二阈值,则计算节点通过第一预设途径无法联系到所述控制节点;
若未启用光纤心跳块,则计算节点检测其所有已配IP的网卡链路是否全部中断;
若计算节点所有已配IP的网卡链路未全部中断,则计算节点检测预设的第二探测IP清单中所有IP是否全部超时;
若第二探测IP清单中所有IP全部超时,则计算节点判断存储路径是否存在;
若计算节点所有已配IP的网卡链路全部中断,则计算节点判断存储路径是否存在;
若存储路径不存在,则计算节点通过第一预设途径无法联系到所述控制节点;
若存储路径存在,则计算节点启用光纤心跳块,并通过光纤心跳块发送心跳信息。
优选的,计算节点执行脑裂保护,包括:
计算节点销毁本机上的虚拟机。
优选的,控制节点判断是否对计算节点进行宕机检测,包括:
控制节点遍历所有处于运行中状态、且心跳超时的计算节点;
控制节点判断所述计算节点是否过了故障检测时段;
若计算节点未过故障检测时段,则控制节点将所述计算节点标记为故障中状态,并对所述计算节点进行宕机检测。
优选的,控制节点判断是否对计算节点进行宕机检测,包括:
控制节点遍历所有处于故障中状态的计算节点;
控制节点判断所述计算节点是否过了故障检测时段;
若计算节点未过故障检测时段,则控制节点对所述计算节点进行宕机检测。
优选的,控制节点通过第二预设途径联系所述计算节点,包括
控制节点将计算节点的标记为检测中状态;
控制节点判断所述计算节点所有已配IP的网卡链路是否全部中断;
若所述计算节点所有已配IP的网卡链路全部中断,则检测是否已启用光纤心跳块;
若已启用光纤心跳块,则检测光纤心跳块到所述计算节点的心跳是否正常;
若光纤心跳块到所述计算节点的心跳不正常,则通过旁路监听的方式监听来自所述计算节点的网络请求;
若未启用光纤心跳块,则通过旁路监听的方式监听来自所述计算节点的网络请求;
若通过旁路监听的方式未监听到来自所述计算节点的网络请求,则控制节点通过第二预设途径无法联系到所述计算节点。
优选的,控制节点对处于故障中状态的虚拟机进行启动操作,包括:
控制节点遍历所有处于故障中状态的虚拟机;
控制节点检测所述处于故障中状态的虚拟机是否被锁定;
若所述虚拟机未锁定,则控制节点采用多线程锁定方式对处于故障中状态的虚拟机进行在其它主机上的启动操作,所述其它主机为所述计算集群中该虚拟机原宿主机以外的其他计算节点。
根据本发明的第二方面,一种计算集群,包括控制节点、计算节点、通信网和光纤存储,所述计算节点和控制节点心跳连接;
所述控制节点和计算节点与所述通信网连接;
所述控制节点和计算节点与所述光纤存储连接;
所述计算节点在光纤存储上创建有对应的光纤心跳块;
所述控制节点用于执行本发明的第一方面中的控制节点步骤;
所述计算节点用于执行本发明的第一方面中的计算节点步骤。
本发明的有益效果是:本发明提出的虚拟机高可用方法能够在尽可能短的时间内将服务中断的虚拟机恢复运行,减少了虚拟机服务停机时间,提升了虚拟机的可用性。
附图说明
图1为本发明中计算节点步骤的一个实施例的流程图;
图2为计算节点通过第一预设途径联系所述控制节点的一个实施例的流程图;
图3为计算节点通过第一预设途径联系所述控制节点的又一个实施例的流程图;
图4为本发明中控制节点步骤的一个实施例的流程图;
图5为控制节点判断是否对计算节点进行宕机检测的一个实施例的流程图;
图6为控制节点判断是否对计算节点进行宕机检测的又一个实施例的流程图;
图7为控制节点通过第二预设途径联系所述计算节点的一个实施例的流程图。
具体实施方式
下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1-图7,本实施例提供了一种虚拟机高可用方法及计算集群:
本发明提供的一种虚拟机高可用方法的一个实施例包括:一种虚拟机高可用方法,应用于计算集群,所述计算集群包括控制节点和计算节点,所述计算节点和控制节点心跳连接。一般的,所述计算集群中设置有一个管理网,计算节点和控制节点通过管理网实现心跳连接,同时还设置有一个备用的冗余网或者光线存储。
所述虚拟机高可用方法包括计算节点步骤和控制节点步骤中的至少一种。
如图1所示,所述计算节点步骤包括:
S100. 计算节点判断是否进行宕机检测,若进行宕机检测,则执行S200。
在一个实施例中,所述S100包括:
S110. 若计算节点心跳曾经发送成功,则判断当前心跳是否发送超时,若心跳超时则执行S120。
例如,心跳超时时间设置为5秒。
S120. 计算节点判断是否超过预设的故障检测时段,若未超过故障检测时段,则计算节点进行宕机检测。
在又一个实施例中,若超过故障检测时段,则将该计算节点的心跳状态设置为从未发送成功过。
S200. 所述计算节点通过第一预设途径联系所述控制节点,若所述计算节点通过第一预设途径无法联系到所述控制节点,则执行S300。
如图2所示,在一个实施例中,所述计算节点通过第一预设途径联系所述控制节点,包括:
S211.计算节点检测其所有已配IP的网卡链路是否全部中断:若计算节点所有已配IP的网卡链路全部中断,则认为计算节点通过第一预设途径无法联系到所述控制节点;若计算节点所有已配IP的网卡链路未全部中断,则执行S212。
在又一个实施例中,计算节点在采集主机注册信息时,将所有网卡设备信息缓存起来;检测时从缓存中遍历所有已配IP的网卡信息,采用命令“ethtool 网卡设备名”检测,从输出结果中找到link detected 项的值,如果非”yes”,则判定为连接中断。
S212. 计算节点检测预设的第一探测IP清单中所有IP是否全部超时,若第一探测IP清单中所有IP全部超时,则认为计算节点通过第一预设途径无法联系到所述控制节点。
在又一个实施例中,计算节点在通信异常时实施脑裂保护,通过向第一探测IP清单中所有IP发起通信请求来确认自身是否已成为通信孤岛。所述第一IP探测清单由当前控制节点所有有效静态IP地址、pacemaker集群虚拟IP、第三方主机IP三部分构成,其中第三方主机IP由当前资源池下0-3个在线主机真实IP地址构成,用于防止控制节点全部宕机导致全池执行脑裂保护。
如图3所示,在一个实施例中,所述计算节点通过第一预设途径联系所述控制节点,包括:
S221. 计算节点判断是否已启用光纤心跳块:若是,则执行S222;若否,则执行S223。
S222. 计算节点向对应的光纤心跳块发送心跳,若向光纤心跳块发送心跳连续失败的次数大于第二阈值,则认为计算节点通过第一预设途径无法联系到所述控制节点。
S223. 计算节点检测其所有已配IP的网卡链路是否全部中断:若计算节点所有已配IP的网卡链路未全部中断,则执行S224;若计算节点所有已配IP的网卡链路全部中断,则执行S225。
S224. 计算节点检测预设的第二探测IP清单中所有IP是否全部超时,若第二探测IP清单中所有IP全部超时,则执行S225。
在又一个实施例中,计算节点在通信异常时尝试检测自己与当前控制节点之间是否还有IP能够通信;第二探测IP清单由当前控制节点所有有效静态IP地址、pacemaker集群虚拟IP两部分构成。
探测IP(第一探测IP清单和第二探测IP清单中的IP)的生成方式为:由于资源池环境中的主机状态是实时变化的,控制节点也不是固定不变的;因此,探测IP将由当前控制节点在接收每次心跳请求时实时生成,并返回给计算节点。
第一探测IP清单和第二探测IP清单的检测方式为:取得IP数量N,开启N个线程(线程内部执行命令:ping ip地址,一旦ping通则唤醒父线程,并标识为能到达, X秒内无响应则结束命令线程),当前线程wait X秒等待任意线程ping通网IP后唤醒。
S225. 计算节点判断存储路径是否存在:若存储路径不存在,则认为节点通过第一预设途径无法联系到所述控制节点;若存储路径存在,则计算节点启用光纤心跳块,然后执行S222。
S300. 计算节点执行脑裂保护。
一般的,脑裂是指多个虚拟机运行实例同时读写同一份虚拟磁盘,导致虚拟机磁盘文件损坏;一般来说,如果一个虚拟机同时在多个物理机上运行时,就是脑裂的状态。
在又一个实施例中,计算节点执行脑裂保护,包括:计算节点销毁本机上的虚拟机。例如,执行脑裂保护时,尝试用命令killall -9 –w qemu-kvm杀掉本机上所有虚拟机进程;如果因nfs挂载异常导致文件系统卡死,或domain太多进程杀死太慢,直接采用命令:echo b >/proc/sysrq-trigger,直接杀死操作系统。
如图4所示,所述控制节点步骤包括:
K100.控制节点判断是否对计算节点进行宕机检测,若对计算节点进行宕机检测,则执行K200。
如图5所示,在一个实施例中,控制节点判断是否对计算节点进行宕机检测,包括:
K111.控制节点遍历所有处于运行中状态、且心跳超时的计算节点。
一般的,所述计算节点为控制器的会话管理器中已存在会话的计算节点,从而排除刚启动还没有会话连接的情形。
K112.控制节点判断所述计算节点是否过了故障检测时段,若计算节点未过故障检测时段,则执行K113。
K113.控制节点将所述计算节点标记为故障中状态,并认为需对所述计算节点进行宕机检测。
在又一个实施例中,在控制节点将计算节点标记为故障中状态的同时,控制节点执行以下操作:进行主机(计算节点)心跳超时的告警;清理该计算节点心跳缓存、心跳监听器缓存;注销并关闭与该计算节点的会话。
在又一个实施例中,若计算节点已过故障检测时段,则控制节点执行如下操作:将所述计算节点标记为掉线状态;进行主机掉线告警;清理该计算节点心跳缓存、心跳监听器缓存;注销并关闭与该计算节点的会话。
如图6所示,在一个实施例中,控制节点判断是否对计算节点进行宕机检测,包括:
K121.控制节点遍历所有处于故障中状态的计算节点。
K122.控制节点判断所述计算节点是否过了故障检测时段,若计算节点未过故障检测时段,则认为需对所述计算节点进行宕机检测。
在又一个实施例中,若计算节点已过故障检测时段,则控制节点执行如下操作:将所述计算节点设置为掉线状态;将所述计算机上的虚拟机设置为无法确定状态,并锁定所述虚拟机;告警无法确定虚拟机状态。
本实施例中,控制节点对宕机检测采用事件监听方式,可以支持大规模并发故障处理。这里采用瞬时事件触发和任务轮循并行的方式,从而保证检测与恢复的时间最小化,同时又能保证各个环节失败后能自动重试。多点并发启动时,虚拟机启动采用 “排它锁”,确保谁优先抢到虚拟机启动锁,由谁执行启动操作,避免两线程同时执行虚拟机启动引起脑裂。
K200. 控制节点通过第二预设途径联系所述计算节点,若控制节点通过第二预设途径无法联系到所述计算节点,则执行K300。
如图7所示,在一个实施例中,控制节点通过第二预设途径联系所述计算节点,包括:
K210.控制节点将计算节点的标记为检测中状态。
K220. 控制节点判断所述计算节点所有已配IP的网卡链路是否全部中断,若所述计算节点所有已配IP的网卡链路全部中断,则执行K230。
在又一个实施例中,若所述计算节点所有已配IP的网卡链路未全部中断,则将所述计算节点标记为故障中状态,等待下一次检测。
K230. 检测是否已启用光纤心跳块:若已启用光纤心跳块,则执行K240;若未启用光纤心跳块,则执行K250。
K240.检测光纤心跳块到所述计算节点的心跳是否正常,若光纤心跳块到所述计算节点的心跳不正常,则执行K250。
在又一个实施例中,若光纤心跳块到所述计算节点的心跳正常,则控制节点执行如下操作:告警所述计算节点网络通讯全面中断,可能导致其上所有虚拟机网络中断;将所述计算节点标记为掉线状态。
K250. 控制节点通过旁路监听的方式监听来自所述计算节点的网络请求,若通过旁路监听的方式未监听到来自所述计算节点的网络请求,则认为控制节点通过第二预设途径无法联系到所述计算节点。
例如,若在10秒内收到一个数据包即认为监听到来自所述计算节点的网络请求。
例如,控制节点从数据库取得计算节点所含IP地址表列,取得该计算节点IP地址数量N,开启N个线程(线程内部执行命令:ping ip地址,一旦ping通则唤醒父线程,并标识为网关可通,8秒内无响应则销毁命令线程),当前线程wait 8秒等待任意线程ping通网关后唤醒。
K300. 控制节点将所述计算节点标记为停止状态,并将该计算节点上的虚拟机标记为故障中状态。
在又一个实施例中,K300步骤还包括控制节点告警虚拟机宕机,并清洗虚拟机的宿主机。
K400. 控制节点对处于故障中状态的虚拟机进行启动操作,若处于故障中状态的虚拟机启动失败的次数大于第一阈值,则将该虚拟机标记为停止状态。
控制节点对处于故障中状态的虚拟机进行启动操作,具体是尝试在所述虚拟机原宿主机以外的其他计算节点上启动该虚拟机。
在又一个实施例中,控制节点对处于故障中状态的虚拟机进行启动操作,包括:
K410.控制节点遍历所有处于故障中状态的虚拟机;
K420.控制节点检测所述处于故障中状态的虚拟机是否被锁定,若所述虚拟机未锁定,则执行K430;
K430.控制节点采用多线程锁定方式对处于故障中状态的虚拟机进行在其它主机上的启动操作,所述其它主机为所述计算集群中该虚拟机原宿主机以外的其他计算节点。
本发明提供的一种计算集群的一个实施例包括:一种计算集群,包括控制节点、计算节点、通信网和光纤存储,所述计算节点和控制节点心跳连接,所述控制节点和计算节点与所述通信网连接;所述控制节点和计算节点与所述光纤存储连接;所述计算节点在光纤存储上创建有对应的光纤心跳块;所述控制节点用于执行上述实施例示出的控制节点步骤;所述计算节点用于执行上述实施例示出的计算节点步骤。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (9)

1.一种虚拟机高可用方法,应用于计算集群,所述计算集群包括控制节点和计算节点,所述计算节点和控制节点心跳连接,其特征在于,所述虚拟机高可用方法包括计算节点步骤和控制节点步骤;
所述计算节点步骤包括:
计算节点判断是否进行宕机检测;
若计算节点进行宕机检测,则所述计算节点通过第一预设途径联系所述控制节点;
若所述计算节点通过第一预设途径无法联系到所述控制节点,则该计算节点执行脑裂保护;
所述控制节点步骤包括:
控制节点判断是否对计算节点进行宕机检测;
若对计算节点进行宕机检测,则控制节点通过第二预设途径联系所述计算节点;
若控制节点通过第二预设途径无法联系到所述计算节点,则控制节点将所述计算节点标记为停止状态,并将该计算节点上的虚拟机标记为故障中状态;
控制节点对处于故障中状态的虚拟机进行启动操作,若处于故障中状态的虚拟机启动失败的次数大于第一阈值,则将该虚拟机标记为停止状态;
控制节点通过第二预设途径联系所述计算节点,包括
控制节点将计算节点的标记为检测中状态;
控制节点判断所述计算节点所有已配IP的网卡链路是否全部中断;
若所述计算节点所有已配IP的网卡链路全部中断,则检测是否已启用光纤心跳块;
若已启用光纤心跳块,则检测光纤心跳块到所述计算节点的心跳是否正常;
若光纤心跳块到所述计算节点的心跳不正常,则通过旁路监听的方式监听来自所述计算节点的网络请求;
若未启用光纤心跳块,则通过旁路监听的方式监听来自所述计算节点的网络请求;
若通过旁路监听的方式未监听到来自所述计算节点的网络请求,则控制节点通过第二预设途径无法联系到所述计算节点。
2.根据权利要求1所述的一种虚拟机高可用方法,其特征在于,计算节点判断是否进行宕机检测,包括:
若计算节点心跳曾经发送成功,则判断当前心跳是否发送超时;
若当前心跳发送超时,则计算节点判断是否超过预设的故障检测时段;
若未超过故障检测时段,则进行宕机检测。
3.根据权利要求1所述的一种虚拟机高可用方法,其特征在于,所述计算节点通过第一预设途径联系所述控制节点,包括:
计算节点检测其所有已配IP的网卡链路是否全部中断;
若计算节点所有已配IP的网卡链路全部中断,则计算节点通过第一预设途径无法联系到所述控制节点;
若计算节点所有已配IP的网卡链路未全部中断,则计算节点检测预设的第一探测IP清单中所有IP是否全部超时;
若第一探测IP清单中所有IP全部超时,则计算节点通过第一预设途径无法联系到所述控制节点。
4.根据权利要求1所述的一种虚拟机高可用方法,其特征在于,所述计算节点通过第一预设途径联系所述控制节点,包括:
计算节点判断是否已启用光纤心跳块;
若已启用光纤心跳块,则计算节点通过光纤心跳块发送心跳信息;
若计算节点通过光纤心跳块发送心跳信息失败的次数大于第二阈值,则计算节点通过第一预设途径无法联系到所述控制节点;
若未启用光纤心跳块,则计算节点检测其所有已配IP的网卡链路是否全部中断;
若计算节点所有已配IP的网卡链路未全部中断,则计算节点检测预设的第二探测IP清单中所有IP是否全部超时;
若第二探测IP清单中所有IP全部超时,则计算节点判断存储路径是否存在;
若计算节点所有已配IP的网卡链路全部中断,则计算节点判断存储路径是否存在;
若存储路径不存在,则计算节点通过第一预设途径无法联系到所述控制节点;
若存储路径存在,则计算节点启用光纤心跳块,并通过光纤心跳块发送心跳信息。
5.根据权利要求1所述的一种虚拟机高可用方法,其特征在于,计算节点执行脑裂保护,包括:
计算节点销毁本机上的虚拟机。
6.根据权利要求1所述的一种虚拟机高可用方法,其特征在于,控制节点判断是否对计算节点进行宕机检测,包括:
控制节点遍历所有处于运行中状态、且心跳超时的计算节点;
控制节点判断所述计算节点是否过了故障检测时段;
若计算节点未过故障检测时段,则控制节点将所述计算节点标记为故障中状态,并对所述计算节点进行宕机检测。
7.根据权利要求1所述的一种虚拟机高可用方法,其特征在于,控制节点判断是否对计算节点进行宕机检测,包括:
控制节点遍历所有处于故障中状态的计算节点;
控制节点判断所述计算节点是否过了故障检测时段;
若计算节点未过故障检测时段,则控制节点对所述计算节点进行宕机检测。
8.根据权利要求1所述的一种虚拟机高可用方法,其特征在于,控制节点对处于故障中状态的虚拟机进行启动操作,包括:
控制节点遍历所有处于故障中状态的虚拟机;
控制节点检测所述处于故障中状态的虚拟机是否被锁定;
若所述虚拟机未锁定,则控制节点采用多线程锁定方式对处于故障中状态的虚拟机进行在其它主机上的启动操作,所述其它主机为所述计算集群中该虚拟机原宿主机以外的其他计算节点。
9.一种计算集群,其特征在于,包括控制节点、计算节点、通信网和光纤存储,所述计算节点和控制节点心跳连接;
所述控制节点和计算节点与所述通信网连接;
所述控制节点和计算节点与所述光纤存储连接;
所述计算节点在光纤存储上创建有对应的光纤心跳块;
所述控制节点用于执行如权利要求1-8中任一所述的控制节点步骤;
所述计算节点用于执行如权利要求1-8中任一所述的计算节点步骤。
CN202210807011.5A 2022-07-11 2022-07-11 一种虚拟机高可用方法及计算集群 Active CN114880080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210807011.5A CN114880080B (zh) 2022-07-11 2022-07-11 一种虚拟机高可用方法及计算集群

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210807011.5A CN114880080B (zh) 2022-07-11 2022-07-11 一种虚拟机高可用方法及计算集群

Publications (2)

Publication Number Publication Date
CN114880080A CN114880080A (zh) 2022-08-09
CN114880080B true CN114880080B (zh) 2022-09-20

Family

ID=82682710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210807011.5A Active CN114880080B (zh) 2022-07-11 2022-07-11 一种虚拟机高可用方法及计算集群

Country Status (1)

Country Link
CN (1) CN114880080B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118413436B (zh) * 2024-06-27 2024-09-13 苏州元脑智能科技有限公司 故障处理方法、产品、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357038A (zh) * 2015-10-26 2016-02-24 北京百度网讯科技有限公司 监控虚拟机集群的方法和系统
CN106598700A (zh) * 2016-12-12 2017-04-26 武汉烽火信息集成技术有限公司 基于pacemaker的虚拟机的秒级高可用实现方法
CN107404522A (zh) * 2017-07-20 2017-11-28 郑州云海信息技术有限公司 一种跨节点的虚拟机集群高可用实现方法和装置
CN108449200A (zh) * 2018-02-02 2018-08-24 云宏信息科技股份有限公司 一种基于控制节点的屏蔽信息写入方法及装置
CN114090184A (zh) * 2021-11-26 2022-02-25 中国电信集团系统集成有限责任公司 一种虚拟化集群高可用性的实现方法和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9916214B2 (en) * 2015-11-17 2018-03-13 International Business Machines Corporation Preventing split-brain scenario in a high-availability cluster
CN109684032B (zh) * 2018-12-04 2021-04-27 武汉烽火信息集成技术有限公司 防脑裂的OpenStack虚拟机高可用计算节点装置及管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105357038A (zh) * 2015-10-26 2016-02-24 北京百度网讯科技有限公司 监控虚拟机集群的方法和系统
CN106598700A (zh) * 2016-12-12 2017-04-26 武汉烽火信息集成技术有限公司 基于pacemaker的虚拟机的秒级高可用实现方法
CN107404522A (zh) * 2017-07-20 2017-11-28 郑州云海信息技术有限公司 一种跨节点的虚拟机集群高可用实现方法和装置
CN108449200A (zh) * 2018-02-02 2018-08-24 云宏信息科技股份有限公司 一种基于控制节点的屏蔽信息写入方法及装置
CN114090184A (zh) * 2021-11-26 2022-02-25 中国电信集团系统集成有限责任公司 一种虚拟化集群高可用性的实现方法和设备

Also Published As

Publication number Publication date
CN114880080A (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
TWI746512B (zh) 實體機器故障分類處理方法、裝置和虛擬機器恢復方法、系統
US6986076B1 (en) Proactive method for ensuring availability in a clustered system
US7213179B2 (en) Automated and embedded software reliability measurement and classification in network elements
CN108847982B (zh) 一种分布式存储集群及其节点故障切换方法和装置
US6757836B1 (en) Method and apparatus for resolving partial connectivity in a clustered computing system
CN110716842B (zh) 集群故障检测方法和装置
KR20000011835A (ko) 네트워크의분산애플리케이션에대한고장검출및소정의복제스타일로복구하는방법및장치
US20080288812A1 (en) Cluster system and an error recovery method thereof
CN114090184B (zh) 一种虚拟化集群高可用性的实现方法和设备
CN103812675A (zh) 一种实现业务交付平台异地容灾切换的方法和系统
CN106789306A (zh) 通信设备软件故障检测收集恢复方法和系统
JP2006079603A (ja) 高可用性クラスタ化のためのスマートカード
CN114880080B (zh) 一种虚拟机高可用方法及计算集群
US20040073648A1 (en) Network calculator system and management device
CN109600264A (zh) CloudStack云平台
CN107181834A (zh) 一种redis管理虚拟IP地址的方法、装置及redis系统
CA2365427A1 (en) Internal product fault monitoring apparatus and method
JP5285044B2 (ja) クラスタシステム復旧方法及びサーバ及びプログラム
JPH0728667A (ja) 故障許容コンピュータシステム
JP3248485B2 (ja) クラスタシステム、クラスタシステムにおける監視方式およびその方法
US10095590B2 (en) Controlling the operating state of a fault-tolerant computer system
CN116225607A (zh) 数据库的管理方法和装置
CN113342596A (zh) 一种设备指标的分布式监控方法、系统及装置
JPH10133963A (ja) 計算機の故障検出・回復方式
Corsava et al. Self-healing intelligent infrastructure for computational clusters

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231115

Address after: 102200 4th floor, block C, State Grid Smart Grid Research Institute, North District of future science and Technology City, Changping District, Beijing

Patentee after: STATE GRID INFORMATION & TELECOMMUNICATION GROUP Co.,Ltd.

Patentee after: State Grid Siji Location Service Co.,Ltd.

Address before: 102200 4th floor, block C, State Grid Smart Grid Research Institute, North District of future science and Technology City, Changping District, Beijing

Patentee before: STATE GRID INFORMATION & TELECOMMUNICATION GROUP Co.,Ltd.

TR01 Transfer of patent right