CN115190040A - 虚拟机高可用的实现方法及装置 - Google Patents

虚拟机高可用的实现方法及装置 Download PDF

Info

Publication number
CN115190040A
CN115190040A CN202210565153.5A CN202210565153A CN115190040A CN 115190040 A CN115190040 A CN 115190040A CN 202210565153 A CN202210565153 A CN 202210565153A CN 115190040 A CN115190040 A CN 115190040A
Authority
CN
China
Prior art keywords
cluster
network card
placemaker
virtual machine
component
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.)
Granted
Application number
CN202210565153.5A
Other languages
English (en)
Other versions
CN115190040B (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.)
Inspur Communication Technology Co Ltd
Original Assignee
Inspur Communication Technology 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 Inspur Communication Technology Co Ltd filed Critical Inspur Communication Technology Co Ltd
Priority to CN202210565153.5A priority Critical patent/CN115190040B/zh
Publication of CN115190040A publication Critical patent/CN115190040A/zh
Application granted granted Critical
Publication of CN115190040B publication Critical patent/CN115190040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种虚拟机高可用的实现方法及装置,涉及云计算技术领域,所述方法包括:基于pacemaker集群监控计算节点的业务网卡的状态;通过masakari组件监听所述pacemaker集群;在确定所述masakari组件监听到所述pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对所述故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。本发明通过结合pacemaker集群和masakari组件监控虚拟机业务网络故障,以此触发故障计算节点上的虚拟机高可用,可以提高虚拟机高可用的准确性和可靠性。

Description

虚拟机高可用的实现方法及装置
技术领域
本发明涉及云计算技术领域,尤其涉及一种虚拟机高可用的实现方法及装置。
背景技术
目前OpenStack社区还没有一个成熟的计算节点故障恢复(虚拟机高可用)解决方案。虽然开源项目Masakari现已成为OpenStack的一个实现虚拟机高可用的独立开源项目,并且Masakari支持下面3种故障恢复:进程故障恢复、虚拟机故障恢复、计算节点故障恢复(虚拟机高可用)。但是Masakari目前仅能支持通过监控单平面网络(管理网络)故障来触发计算节点故障恢复,该触发机制存在如下缺陷,有可能计算节点的管理网络存在故障,但是虚拟机的业务网络和存储网络是正常的,并不影响虚拟机的使用,在这种情况下触发虚拟机高可用对用户来说可能就是灾难。
因此,如何提高虚拟机高可用的准确性和可靠性,成为业界亟需解决的问题。
发明内容
针对现有技术存在的问题,本发明提供一种虚拟机高可用的实现方法及装置。
第一方面,本发明提供一种虚拟机高可用的实现方法,包括:
基于pacemaker集群监控计算节点的业务网卡的状态;
通过masakari组件监听所述pacemaker集群;
在确定所述masakari组件监听到所述pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对所述故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。
可选地,根据本发明提供的一种虚拟机高可用的实现方法,基于pacemaker集群监控虚拟机计算节点的业务网卡的状态,包括:
在所述计算节点的业务网卡上创建虚拟网卡;
将所述计算节点添加至所述pacemaker集群中,并通过所述虚拟网卡监听所述业务网卡的状态。
可选地,根据本发明提供的一种虚拟机高可用的实现方法,在将所述计算节点添加至所述pacemaker集群中之前,所述方法还包括:
检测在所述计算节点的业务网卡上所创建的虚拟网卡是否正常工作,并检测所述虚拟网卡是否有对应的IP地址。
可选地,根据本发明提供的一种虚拟机高可用的实现方法,所述pacemaker集群包括以下组件:
pacemaker组件、corosync组件和pacemaker-remote组件。
可选地,根据本发明提供的一种虚拟机高可用的实现方法,所述方法还包括:
在安装所述pacemaker集群包括的组件时,通过所述pacemaker组件分别获取所述计算节点的主机信息和控制节点的主机信息;
基于所述计算节点的主机信息,生成部署在所述计算节点上的pacemaker-remote组件的配置文件信息,并基于所述控制节点的主机信息,生成部署在所述控制节点上的corosync组件的配置文件信息。
可选地,根据本发明提供的一种虚拟机高可用的实现方法,在基于pacemaker集群监控计算节点的业务网卡的状态之前,所述方法还包括:
创建由所述pacemaker集群和所述masakari组件构成的高可用集群对应的虚拟网络和子网。
第二方面,本发明还提供一种虚拟机高可用的实现装置,包括:
监控模块,用于基于pacemaker集群监控计算节点的业务网卡的状态;
监听模块,用于通过masakari组件监听所述pacemaker集群;
疏散模块,用于在确定所述masakari组件监听到所述pacemaker集群中有业务网卡的状态为故障状态的情况下,对故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述虚拟机高可用的实现方法。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述虚拟机高可用的实现方法。
第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述虚拟机高可用的实现方法。
本发明提供的虚拟机高可用的实现方法及装置,基于pacemaker集群监控计算节点的业务网卡的状态,并通过masakari组件监听pacemaker集群,在确定masakari组件监听到pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散,通过结合pacemaker集群和masakari组件监控虚拟机业务网络故障,以此触发故障计算节点上的虚拟机高可用,可以提高虚拟机高可用的准确性和可靠性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的虚拟机高可用的实现方法的流程示意图;
图2是本发明提供的虚拟机高可用的实现装置的结构示意图;
图3是本发明提供的电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于更加清晰地理解本发明各实施例,首先对一些相关的背景知识进行如下介绍。
OpenStack Masakari组件目前仅能支持通过监控单平面网络(管理网络)故障来触发计算节点故障恢复,这种触发机制在生产环境明显会缺陷,有可能计算节点的管理网络存在故障,但是虚拟机的业务网络和存储网络是正常的,并不影响虚拟机的使用,在这种情况下触发故障节点上所有虚拟机疏散会造成很大的问题,导致生产环境频繁的触发虚拟机疏散以及虚拟机脑裂问题的产生。
Masakari由controller服务与monitor服务组成,controller服务运行在控制节点,monitor服务运行在计算节点。
controller服务包括masakari-api和masakari-engine等服务,monitor服务包括masakari-processmonitor、masakari-instancemonitor和masakari-hostmonitor。
下面对本发明实施例中涉及到的masakari-api、masakari-engine和masakari-hostmonitor的作用进行说明:
masakari-api:运行在控制节点,提供服务API(Application ProgrammingInterface,应用程序编程接口)。通过RPC(Remote Procedure Call,远程过程调用)将发送到的处理API请求交由masakari-engine处理。
masakari-engine:运行在控制节点,通过以异步方式执行恢复工作流,处理masakari-api发送的通知。
masakari-hostmonitor:运行在计算节点,属于masakari-monitor,通过周期性发送crm_mon–X命令至pacemaker,以测计算节点是否有故障。
为了克服上述缺陷,本发明提供一种虚拟机高可用的实现方法及装置。下面结合图1-图3描述本发明提供的虚拟机高可用的实现方法及装置。
图1是本发明提供的虚拟机高可用的实现方法的流程示意图,如图1所示,该方法包括如下步骤100-步骤120:
步骤100,基于pacemaker集群监控计算节点的业务网卡的状态;
步骤110,通过masakari组件监听所述pacemaker集群;
步骤120,在确定所述masakari组件监听到所述pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对所述故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。
具体地,为了克服现有的Masakari组件仅能支持通过监控管理网络故障触发计算节点故障恢复,在管理网络存在故障的情况下,虚拟机的业务网络和存储网络是正常的,并不影响虚拟机的使用,在这种情况下触发故障节点上所有虚拟机疏散会造成生产环境频繁的触发虚拟机疏散,以及虚拟机脑裂问题产生的缺陷,本发明通过基于pacemaker集群监控计算节点的业务网卡的状态,并通过masakari组件监听pacemaker集群,在确定masakari组件监听到pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散,通过结合pacemaker集群和masakari组件监控虚拟机业务网络故障,以此触发故障计算节点上的虚拟机高可用,可以提高虚拟机高可用的准确性和可靠性。
可选地,在本发明实施例中,可以首先安装OpenStack masakari HA(HighAvailability,高可用性)相关组件,并在安装OpenStack masakari HA相关组件的过程中,安装pacemaker集群的组件,该pacemaker集群的组件可以是计算节点状态监控相关的组件。
具体地,在pacemaker集群的组件和masakari组件安装完成后,可以基于pacemaker集群监控计算节点的业务网卡的状态,并通过masakari组件监听pacemaker集群,在确定masakari组件监听到pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。
本发明提供的虚拟机高可用的实现方法,基于pacemaker集群监控计算节点的业务网卡的状态,并通过masakari组件监听pacemaker集群,在确定masakari组件监听到pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散,通过结合pacemaker集群和masakari组件监控虚拟机业务网络故障,以此触发故障计算节点上的虚拟机高可用,可以提高虚拟机高可用的准确性和可靠性。
可选地,基于pacemaker集群监控虚拟机计算节点的业务网卡的状态,包括:
在所述计算节点的业务网卡上创建虚拟网卡;
将所述计算节点添加至所述pacemaker集群中,并通过所述虚拟网卡监听所述业务网卡的状态。
具体地,可以首先在计算节点的业务网卡上创建虚拟网卡,其中,该虚拟网卡可以用于监听虚拟机业务网卡的状态,然后在将计算节点添加至pacemaker集群中之后,可以通过虚拟网卡监听业务网卡的状态。
可选地,还可以在控制节点的业务网卡上创建虚拟网卡。
具体地,在OpenStack masakari HA相关组件安装之前,可以先通过neutron组件的ovs在各个控制节点和计算节点的业务网卡上自动化创建虚拟网卡。
可以理解的是,创建虚拟网卡的目的是用于监听虚拟机业务网卡的状态,以此来判断计算节点的业务网卡的状态是否正常,进而通过masakari组件决策是否对故障计算节点上的虚拟机执行疏散操作。
本发明通过在计算节点的业务网卡上创建虚拟网卡,以通过虚拟网卡监听业务网卡的状态,使得pacemaker集群可以监控到计算节点的业务网卡的状态是否正常,进而实现通过masakari组件决策是否对故障计算节点上的虚拟机执行疏散操作。
可选地,在将所述计算节点添加至所述pacemaker集群中之前,所述方法还包括:
检测在所述计算节点的业务网卡上所创建的虚拟网卡是否正常工作,并检测所述虚拟网卡是否有对应的IP(Internet Protocol,网络互连协议)地址。
具体地,可以在pacemaker集群的组件的初始化阶段,检查在计算节点的业务网卡上创建的虚拟网卡是否正常工作,以及该虚拟网卡是否有IP地址。
可以理解的是,如果创建的虚拟网卡没有对应的IP地址或者没有成功创建虚拟网卡,那么pacemaker集群的容器组件就会启动失败;只有在OpenStack边缘云系统成功调用了neutron组件的ovs创建的虚拟网卡,并且DHCP(Dynamic Host ConfigurationProtocol,动态主机配置协议)动态获取到了虚拟网卡IP地址的情况下,pacemaker集群的所有容器组件才会正常启动。
可选地,pacemaker集群包括以下组件:pacemaker组件、corosync组件和pacemaker-remote组件。
具体地,在本发明实施例中,masakari底层心跳监控是基于pacemaker结合corosync的技术架构实现的,则pacemaker集群可以包括的组件有pacemaker组件、corosync组件和pacemaker-remote组件,它们的主要作用如下:
pacemaker组件:运行在控制节点上,是集群资源的管理者,主要作用是通过调用corosync组件提供的接口,确定集群资源的分配这里、服务的迁移策略和服务的运行的策略等。
corosync组件:运行在控制节点上,是集群管理套件的一部分,主要作用是提供消息传递层(messaging Layer),该消息传递层的主要作用是:将各主机间的各状态信息和空闲信息等一系列信息通过消息传递层互相传递。
pacemaker-remote组件:运行在计算节点上,pacemaker通过监控到每个计算节点上的pacemaker-remote的连接,以此决策该计算节点是否处于活动状态。
可选地,所述方法还包括:
在安装所述pacemaker集群包括的组件时,通过所述pacemaker组件分别获取所述计算节点的主机信息和控制节点的主机信息;
基于所述计算节点的主机信息,生成部署在所述计算节点上的pacemaker-remote组件的配置文件信息,并基于所述控制节点的主机信息,生成部署在所述控制节点上的corosync组件的配置文件信息。
具体地,在安装pacemaker组件、corosync组件和pacemaker-remote组件时,可以首先通过pacemaker组件分别获取计算节点的主机信息和控制节点的主机信息,然后基于计算节点的主机信息,生成部署在计算节点上的pacemaker-remote组件的配置文件信息,并基于控制节点的主机信息,生成部署在控制节点上的corosync组件的配置文件信息。
可选地,可以利用ansible脚本查询所有主机,包括控制节点的主机和计算节点的主机,并调用OpenStack命令为每一个主机分别创建port,并为每一个port分配MAC地址和IP地址。
可选地,在确定所有主机对应的port创建完成以后,可以首先利用kubectl命令获取所有主机的主机名称,然后利用主机名称,通过OpenStack port show命令获取各个主机对应的port的IP地址,并且将主机名称、IP地址组装成类似“主机名称:IP地址”这样的字典类型,存储在hacluster_port_list列表中。
可选地,可以利用ansible脚本将hacluster_port_list列表中的信息分解成各个主机对应的字典类型host_ip_dict“主机名称:IP地址”,并将控制节点和计算节点的主机名称、创建的port IP信息保存到hacluster_override.yaml文件中。
可选地,可以将计算节点的主机名称、创建的port IP信息传递给每个计算节点的主机对应的pacemaker-remote配置文件中。
可选地,可以在安装pacemaker集群的组件时,pacemaker组件从hacluster_override.yaml中可以获取对应的控制节点的主机名称和IP地址信息,并生成corosync组件的配置文件信息。
可选地,可以获取所有pacemaker-remote节点信息,以便于在pacemaker集群的所有组件容器(pod)安装完成后,将pacemaker-remote加入到pacemaker集群中进行管理和监控。
可选地,在安装pacemaker集群的组件pod时,控制节点上部署的corosync pod在pod的初始化(init)阶段,临时使用OpenStack nova组件的镜像启动一个临时容器完成以下操作:
(1)执行ovs-vsctl--may-exist add-port br-int$NAME命令将虚拟网卡hacluster0与虚拟网桥br-int进行绑定;
(2)执行命令ip link set dev$NAME address$HACLUSTER_PORT_MAC,以修改虚拟网卡的MAC地址与port的MAC地址相同;
(3)执行DHCP命令为虚拟网卡分配IP地址。
可选地,在上述的三个操作完成后,可以退出临时启动的OpenStack nova的pod。
可选地,在corosync pod启动之前的init阶段,可以执行一个检查虚拟网卡状态的脚本,以检查在计算节点上创建的虚拟网卡是否有IP地址,以及是否正常工作。
可选地,在安装pacemaker集群的组件pod时,计算节点上部署的pacemaker-remote pod在pod的init阶段,临时使用OpenStack nova组件的镜像启动一个临时容器完成以下操作:
(1)执行ovs-vsctl--may-exist add-port br-int$NAME命令将虚拟网卡hacluster0与虚拟网桥br-int进行绑定;
(2)执行命令ip link set dev$NAME address$HACLUSTER_PORT_MAC,以修改虚拟网卡的MAC地址与port的MAC地址相同;
(3)执行DHCP命令为虚拟网卡分配IP地址。
可选地,在上述三个操作完成后,可以退出临时启动的OpenStack nova的pod。
可选地,在pacemaker-remote pod启动之前的init阶段,可以执行一个检查虚拟网卡状态的脚本,以检查在计算节点上创建的虚拟网卡是否有IP地址,以及是否正常工作。
可选地,在确定corosync pod和pacemaker-remote pod都创建完成后,并且确定pacemaker pod也创建正常,可以通过在pacemaker-0pod里执行命令cibadmin--modify--scope resources–x/tmp/pacemaker-remote--${hostname}.xml,以将各个计算节点添加至pacemaker集群中进行监控和管理。
可选地,在确定pacemaker集群的组件和masakari组件安装完成后,在pacemaker集群监控到某个pacemaker-remote对应的业务网卡存在故障,则确定pacemaker-remote就存在故障。
可选地,masakari组件可以通过crm_mon-x周期性监控pacemaker集群的状态,以对故障的计算节点执行故障恢复操作。
可选地,在基于pacemaker集群监控计算节点的业务网卡的状态之前,所述方法还包括:
创建由所述pacemaker集群和所述masakari组件构成的高可用集群对应的虚拟网络和子网。
可选地,在安装OpenStack masakari HA相关组件之前,可以利用ansible脚本,调用neutron的ovs命令创建hacluster集群对应的虚拟网络和子网,其中,虚拟网络类型可以为VLAN(Virtual Local Area Network,虚拟局域网),子网可以为虚拟网卡的IP地址范围,hacluster集群即为由pacemaker集群和所述masakari组件构成的高可用集群。
可选地,可以在容器化部署的OpenStack边缘云环境下,基于masakari组件和pacemaker集群监控OpenStack虚拟机业务网络心跳故障,以此触发故障计算节点上的OpenStack虚拟机高可用,可以提高OpenStack虚拟机高可用的准确性和可靠性。
具体地,为了克服OpenStack社区现有的虚拟机高可用解决方案的缺陷,本发明实施例通过使masakari组件支持监控虚拟机的业务网络心跳故障,以此触发计算节点故障恢复虚拟机高可用,可以降低生产环境触发虚拟机的高可用的频次,避免虚拟机脑裂问题的产生,从而提高计算节点故障恢复的准确性和可靠性。
可以理解的是,当虚拟机的业务网络故障时,则可以确定虚拟机存在故障。
本发明提供的虚拟机高可用的实现方法,基于pacemaker集群监控计算节点的业务网卡的状态,并通过masakari组件监听pacemaker集群,在确定masakari组件监听到pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散,通过结合pacemaker集群和masakari组件监控虚拟机业务网络故障,以此触发故障计算节点上的虚拟机高可用,可以提高虚拟机高可用的准确性和可靠性。
下面对本发明提供的虚拟机高可用的实现装置进行描述,下文描述的虚拟机高可用的实现装置与上文描述的虚拟机高可用的实现方法可相互对应参照。
图2是本发明提供的虚拟机高可用的实现装置的结构示意图,如图2所示,该装置包括:监控模块210、监听模块220和疏散模块230;其中:
监控模块210用于基于pacemaker集群监控计算节点的业务网卡的状态;
监听模块220用于通过masakari组件监听所述pacemaker集群;
疏散模块230用于在确定所述masakari组件监听到所述pacemaker集群中有业务网卡的状态为故障状态的情况下,对故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。
具体地,本发明实施例提供的虚拟机高可用的实现装置,可以通过监控模块210基于pacemaker集群监控计算节点的业务网卡的状态;然后通过监听模块220通过masakari组件监听pacemaker集群;最后通过疏散模块230在确定masakari组件监听到pacemaker集群中有业务网卡的状态为故障状态的情况下,对故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。
本发明提供的虚拟机高可用的实现装置,基于pacemaker集群监控计算节点的业务网卡的状态,并通过masakari组件监听pacemaker集群,在确定masakari组件监听到pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散,通过结合pacemaker集群和masakari组件监控虚拟机业务网络故障,以此触发故障计算节点上的虚拟机高可用,可以提高虚拟机高可用的准确性和可靠性。
在此需要说明的是,本发明实施例提供的上述装置,能够实现上述虚拟机高可用的实现方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
图3是本发明提供的电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行上述各方法所提供的虚拟机高可用的实现方法,该方法包括:
基于pacemaker集群监控计算节点的业务网卡的状态;
通过masakari组件监听所述pacemaker集群;
在确定所述masakari组件监听到所述pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对所述故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的虚拟机高可用的实现方法,该方法包括:
基于pacemaker集群监控计算节点的业务网卡的状态;
通过masakari组件监听所述pacemaker集群;
在确定所述masakari组件监听到所述pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对所述故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的虚拟机高可用的实现方法,该方法包括:
基于pacemaker集群监控计算节点的业务网卡的状态;
通过masakari组件监听所述pacemaker集群;
在确定所述masakari组件监听到所述pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对所述故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种虚拟机高可用的实现方法,其特征在于,包括:
基于pacemaker集群监控计算节点的业务网卡的状态;
通过masakari组件监听所述pacemaker集群;
在确定所述masakari组件监听到所述pacemaker集群中有任意一个业务网卡的状态为故障状态的情况下,对所述故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。
2.根据权利要求1所述的虚拟机高可用的实现方法,其特征在于,基于pacemaker集群监控虚拟机计算节点的业务网卡的状态,包括:
在所述计算节点的业务网卡上创建虚拟网卡;
将所述计算节点添加至所述pacemaker集群中,并通过所述虚拟网卡监听所述业务网卡的状态。
3.根据权利要求2所述的虚拟机高可用的实现方法,其特征在于,在将所述计算节点添加至所述pacemaker集群中之前,所述方法还包括:
检测在所述计算节点的业务网卡上所创建的虚拟网卡是否正常工作,并检测所述虚拟网卡是否有对应的IP地址。
4.根据权利要求3所述的虚拟机高可用的实现方法,其特征在于,所述pacemaker集群包括以下组件:
pacemaker组件、corosync组件和pacemaker-remote组件。
5.根据权利要求4所述的虚拟机高可用的实现方法,其特征在于,所述方法还包括:
在安装所述pacemaker集群包括的组件时,通过所述pacemaker组件分别获取所述计算节点的主机信息和控制节点的主机信息;
基于所述计算节点的主机信息,生成部署在所述计算节点上的pacemaker-remote组件的配置文件信息,并基于所述控制节点的主机信息,生成部署在所述控制节点上的corosync组件的配置文件信息。
6.根据权利要求1-5任一项所述的虚拟机高可用的实现方法,其特征在于,在基于pacemaker集群监控计算节点的业务网卡的状态之前,所述方法还包括:
创建由所述pacemaker集群和所述masakari组件构成的高可用集群对应的虚拟网络和子网。
7.一种虚拟机高可用的实现装置,其特征在于,包括:
监控模块,用于基于pacemaker集群监控计算节点的业务网卡的状态;
监听模块,用于通过masakari组件监听所述pacemaker集群;
疏散模块,用于在所述masakari组件监听到所述pacemaker集群中有业务网卡的状态为故障状态的情况下,对故障状态的业务网卡所对应的计算节点上的虚拟机进行疏散。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述虚拟机高可用的实现方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述虚拟机高可用的实现方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述虚拟机高可用的实现方法。
CN202210565153.5A 2022-05-23 2022-05-23 虚拟机高可用的实现方法及装置 Active CN115190040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210565153.5A CN115190040B (zh) 2022-05-23 2022-05-23 虚拟机高可用的实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210565153.5A CN115190040B (zh) 2022-05-23 2022-05-23 虚拟机高可用的实现方法及装置

Publications (2)

Publication Number Publication Date
CN115190040A true CN115190040A (zh) 2022-10-14
CN115190040B CN115190040B (zh) 2023-09-29

Family

ID=83513559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210565153.5A Active CN115190040B (zh) 2022-05-23 2022-05-23 虚拟机高可用的实现方法及装置

Country Status (1)

Country Link
CN (1) CN115190040B (zh)

Cited By (1)

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

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012014673A (ja) * 2010-06-04 2012-01-19 Nippon Telegr & Teleph Corp <Ntt> クラスタシステム復旧方法及びサーバ及びプログラム
US20160283335A1 (en) * 2015-03-24 2016-09-29 Xinyu Xingbang Information Industry Co., Ltd. Method and system for achieving a high availability and high performance database cluster
CN107239383A (zh) * 2017-06-28 2017-10-10 郑州云海信息技术有限公司 一种OpenStack虚拟机的故障监控方法及装置
US20180295045A1 (en) * 2017-04-06 2018-10-11 At&T Intellectual Property I, L.P. Network service assurance system
US20190334990A1 (en) * 2018-04-27 2019-10-31 Exten Technologies, Inc. Distributed State Machine for High Availability of Non-Volatile Memory in Cluster Based Computing Systems
CN111966461A (zh) * 2020-08-14 2020-11-20 苏州浪潮智能科技有限公司 虚拟机集群节点守护方法、装置、设备及存储介质
CN113965459A (zh) * 2021-10-08 2022-01-21 浪潮云信息技术股份公司 基于consul进行主机网络监控实现计算节点高可用的方法
CN114064217A (zh) * 2021-11-29 2022-02-18 建信金融科技有限责任公司 一种基于OpenStack的节点虚拟机迁移方法及装置
CN114090184A (zh) * 2021-11-26 2022-02-25 中国电信集团系统集成有限责任公司 一种虚拟化集群高可用性的实现方法和设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012014673A (ja) * 2010-06-04 2012-01-19 Nippon Telegr & Teleph Corp <Ntt> クラスタシステム復旧方法及びサーバ及びプログラム
US20160283335A1 (en) * 2015-03-24 2016-09-29 Xinyu Xingbang Information Industry Co., Ltd. Method and system for achieving a high availability and high performance database cluster
US20180295045A1 (en) * 2017-04-06 2018-10-11 At&T Intellectual Property I, L.P. Network service assurance system
CN107239383A (zh) * 2017-06-28 2017-10-10 郑州云海信息技术有限公司 一种OpenStack虚拟机的故障监控方法及装置
US20190334990A1 (en) * 2018-04-27 2019-10-31 Exten Technologies, Inc. Distributed State Machine for High Availability of Non-Volatile Memory in Cluster Based Computing Systems
CN111966461A (zh) * 2020-08-14 2020-11-20 苏州浪潮智能科技有限公司 虚拟机集群节点守护方法、装置、设备及存储介质
CN113965459A (zh) * 2021-10-08 2022-01-21 浪潮云信息技术股份公司 基于consul进行主机网络监控实现计算节点高可用的方法
CN114090184A (zh) * 2021-11-26 2022-02-25 中国电信集团系统集成有限责任公司 一种虚拟化集群高可用性的实现方法和设备
CN114064217A (zh) * 2021-11-29 2022-02-18 建信金融科技有限责任公司 一种基于OpenStack的节点虚拟机迁移方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TAN YING;ZHENG ZHONGYANG;: "Research Advance in Swarm Robotics", DEFENCE TECHNOLOGY, no. 01 *
林昆;黄征;: "基于Intel VT-d技术的虚拟机安全隔离研究", 信息安全与通信保密, no. 05 *
田富强;佘文魁;胡波;: "基于FCSAN心跳的电力云平台虚拟机HA实现", 科技创新导报, no. 19 *

Cited By (1)

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

Also Published As

Publication number Publication date
CN115190040B (zh) 2023-09-29

Similar Documents

Publication Publication Date Title
US9223671B2 (en) Method and system for providing high availability to computer applications
US10798218B2 (en) Environment isolation method and device
CN107729176B (zh) 一种配置文件管理系统的容灾方法及容灾系统
US8108514B2 (en) High availability of internet protocol addresses within a cluster
CN112395047A (zh) 虚拟机故障疏散方法、系统及计算机可读介质
US11153269B2 (en) On-node DHCP implementation for virtual machines
EP3806395B1 (en) Virtual network function (vnf) deployment method and apparatus
US10530634B1 (en) Two-channel-based high-availability
CN109697078B (zh) 非高可用性组件的修复方法、大数据集群和容器服务平台
CN114840495A (zh) 一种数据库集群防脑裂的方法、存储介质与设备
CN115190040B (zh) 虚拟机高可用的实现方法及装置
CN107911496A (zh) 一种vpn服务端代理dns的方法及装置
CN117201507A (zh) 云平台切换方法、装置、电子设备及存储介质
CN117240694A (zh) 一种基于keepalived的双机热备主备切换方法、装置及系统
CN113114800B (zh) 一种资源处理方法及装置
CN114915545A (zh) 基于dhcp网络高可用集群的应用调度部署管理方法
WO2020103627A1 (zh) 一种基于虚机容灾的业务自愈方法、设备和存储介质
CN111211924A (zh) 一种计算节点单点高可用控制方法及装置
TWI717457B (zh) 環境隔離方法及設備
CN117675538A (zh) 数据访问方法、装置、设备和介质
CN117201575A (zh) 数据发送方法、装置、设备及介质
CN117294620A (zh) 一种网关节点检测方法及检测装置
CN114157706A (zh) 一种服务调用外呼方法、装置、介质、产品和设备
CN115001950A (zh) 一种数据库集群的故障处理方法、存储介质与设备
CN117271064A (zh) 一种虚拟机管理方法、装置、电子设备和存储介质

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