CN110825487B - 一种虚拟机防脑裂的管理方法及主服务器 - Google Patents
一种虚拟机防脑裂的管理方法及主服务器 Download PDFInfo
- Publication number
- CN110825487B CN110825487B CN201910888802.3A CN201910888802A CN110825487B CN 110825487 B CN110825487 B CN 110825487B CN 201910888802 A CN201910888802 A CN 201910888802A CN 110825487 B CN110825487 B CN 110825487B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- server
- state information
- storage volume
- storage
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Abstract
本发明涉及一种虚拟机防脑裂的管理方法、主服务器、云计算系统及计算机可读介质,该方法包括步骤:当主服务器检测到第一服务器上的第一虚拟机无法正常工作,在第二服务器上创建第二虚拟机,并使得所述第二虚拟机获得所述第一虚拟机对应的存储卷的访问权限;所述主服务器指示所述第二服务器读取所述存储卷中的状态信息,根据所述状态信息确定是否启动所述第二虚拟机。该方法可以更好地防止虚拟机脑裂,可靠性高。
Description
技术领域
本发明涉及云计算领域,尤其涉及一种虚拟机防脑裂的管理方法、主服务器、云计算系统及计算机可读介质。
背景技术
虚拟机高可用(High Availability,HA)技术,可以保证在出现物理机故障或者网络故障时,虚拟机能够自动迁移到其他节点上,该功能在云环境下很有价值,越来越多的云平台都提供虚拟机HA功能。云平台网络分为3个平面,如图1所示,分别是管理平面、业务平面、存储平面。管理平面主要用于云平台内部,用于虚拟机或物理机的管理使用的网络,业务平面主要是虚拟机提供服务使用的网络,存储平面主要是虚拟机访问后端存储使用的网络,3个网络直接都是相互隔离的。当计算节点上的3个网络平面中,管理平面和业务平面都异常,但存储平面正常的情况下容易发生虚拟机脑裂。如图2所示,这种情况下虚拟机业务已经中断,按照正常逻辑需要将虚拟机在其他计算节点上面恢复。例如计算节点1故障,虚拟机在计算节点2上启动,虚拟机启动后,由于计算节点1上面的虚拟机还是能够通过存储网络对volume进行读写,此时就出现了虚拟机脑裂,虚拟机脑裂会带来很严重的问题,由于两个虚拟机都在对同一个卷做读写,会导致用户的数据被覆盖,业务异常。但是在提供虚拟机HA功能时,需要解决网络故障引起的虚拟机脑裂问题。
现有技术中,为了避免虚拟机HA过程中导致的脑裂情况,需要引入锁,通过为每个虚拟机加锁来避免脑裂,锁服务的运行示意图如图3所示。
在系统中引入一套全局的锁服务,如SCSI-3协议中的 perseistentreservations机制,虚拟机在启动前向锁服务申请一把锁,申请到锁以后,运行过程中一直持有这把锁,当发生故障时,在新的计算节点上恢复虚拟机时也需要先申请锁,如果申请到了,则把虚拟机恢复,如果申请锁失败,则不启动虚拟机。
引入锁服务的方法在一定程度上也能够避免虚拟机脑裂,但是可能存在由于锁服务异常导致的系统异常。在正常情况下,如果出现锁服务异常,会导致新创建的虚拟机因无法申请到锁而无法启动;虚拟机在运行过程中,锁服务异常会导致虚拟机被错误关闭;在恢复过程中,如果出现锁服务异常,会导致申请锁失败。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提出了一种虚拟机防脑裂的管理方法、主服务器、云计算系统及计算机可读介质,能够解决现有技术中由于锁服务异常导致的系统异常问题。
根据本发明的一个方面,本发明提供了一种虚拟机防脑裂的管理方法,包括步骤:
当主服务器检测到第一服务器上的第一虚拟机无法正常工作,在第二服务器上创建第二虚拟机,并使第二虚拟机获得第一虚拟机对应的存储卷的访问权限;
主服务器发送指令给第二服务器,使第二服务器读取第一虚拟机对应的存储卷中的状态信息,根据该状态信息确定是否启动第二虚拟机。
作为本发明的进一步改进,在主服务器检测到第一服务器上的第一虚拟机无法正常工作前,该方法还包括步骤:
主服务器创建存储卷,为该存储卷分配状态信息存储空间;
主服务器在第一服务器上创建第一虚拟机,将第一虚拟机的状态信息写入该状态信息存储空间;
主服务器发送指令给第一服务器,使第一服务器启动第一虚拟机,定期更新状态信息。
作为本发明的进一步改进,该方法还包括步骤:
第一虚拟机启动后当第一服务器检测到第一服务器连接的业务平面无法正常工作,关闭第一虚拟机。
作为本发明的进一步改进,根据状态信息确定是否启动第二虚拟机具体是:
若根据状态信息确定存储卷对应的第一虚拟机仍在运行,则不启动第二虚拟机;
若根据状态信息确定存储卷对应的第一虚拟机未运行,则启动第二虚拟机。
作为本发明的进一步改进,确定不启动第二虚拟机后,该方法还包括步骤:
间隔预设时间后,第二服务器重新读取存储卷中的状态信息,根据状态信息确定是否启动第二虚拟机。
根据本发明的第二方面,本发明提供了一种主服务器,包括:
第二虚拟机创建模块,用于当主服务器检测到第一服务器上的第一虚拟机无法正常工作,在第二服务器上创建第二虚拟机,并使第二虚拟机获得第一虚拟机对应的存储卷的访问权限;
确定模块,用于指示第二服务器读取存储卷中的状态信息,根据状态信息确定是否启动第二虚拟机。
根据本发明的第三方面,本发明提供了一种云计算系统,包括主服务器、第一服务器和第二服务器,其特征在于,包括:
主服务器,用于当检测到第一服务器上的第一虚拟机无法正常工作,在第二服务器上创建第二虚拟机,并使得第二虚拟机获得第一虚拟机对应的存储卷的访问权限;
主服务器还用于指示第二服务器读取存储卷中的状态信息,根据状态信息确定是否启动第二虚拟机。
第二服务器,用于根据主服务器的指示读取存储卷中的状态信息,并根据状态信息确定是否启动第二虚拟机。
根据本发明的第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项方法。
综上所述,总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
(1)发现第一虚拟机不能正常工作时,获取心跳信息进行心跳检查,当心跳检查不通过时可以禁止启动第二虚拟机,避免了第一虚拟机和第二虚拟机同时访问存储卷,避免发生脑裂。该方法不需要额外的第三方锁服务,通过存储卷的检查就能判断出是否存在脑裂,解决了现有技术中由于第三方锁服务异常导致的虚拟机无法启动或被错误关闭等问题。另外,该方法基于这种存储方式,防脑裂检测和存储卷的IO路径相同,不会出现锁服务异常而导致误判的情况,可靠性高,对虚拟机脑裂的检测粒度更细,检测结果更准确。
(2)实现了故障节点上虚拟机自动隔离的机制。在每个计算节点上都会定期检查3个网络平面的情况,当检查发现管理网络和业务网络都不通,但是存储心跳还是正常的,此时该虚拟机已经无法提供服务,则判定将该虚拟机关闭,也就是自动隔离。
(3)虚拟机运行过程中卷的心跳更新可能会失败,也同时意味着数据读写失败,重试机制会使得不会由于一次心跳检测未通过而误关闭虚拟机,提高心跳检查的可靠性。
附图说明
图1是虚拟机高可用技术架构示意图;
图2是虚拟机高可用技术脑裂示意图;
图3是现有技术中防脑裂锁服务原理示意图;
图4是本发明实施例一的虚拟机防脑裂的管理方法流程示意图;
图5是本发明实施例一的虚拟机防脑裂的管理方法原理示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为了便于理解,示例地给出了部分与本申请相关概念的说明以供参考。如下所示:
虚拟机(Virtual Machine,VM):VM指由虚拟化平台模拟出来的一台虚拟的计算机,也即逻辑上的一台计算机。在计算机中,虚拟化 (Virtualization)是一种资源管理技术,是将计算机的各种资源,如计算、网络、及存储等,抽象整合为资源池,打破实体结构间的资源隔离,使用户可以以更灵活的方式应用这些资源。在虚拟化场景下,一个服务器中可以运行至少一个虚拟机。VM所需要的计算资源、存储资源以及网络资源等可以由虚拟化资源管理(Virtual resource management,VRM)统一管理。
存储卷:服务器集群中的服务器上运行的VM可以在存储集群中被分配有相应的存储空间,其相应的存储空间可以记为存储卷。
主服务器:服务器集群中执行控制节点管理功能的服务器,可以在其上创建HA调度器来通过管理平面管理所有的物理服务器上的VM 以及VM对应的资源。
本发明实施例的一种虚拟机防脑裂的管理方法可以如图4所示,包括:
S401,当主服务器检测到第一服务器上的第一虚拟机无法正常工作,在第二服务器上创建第二虚拟机,并使得第二虚拟机获得第一虚拟机对应的存储卷的访问权限。
此即为虚拟机HA的过程,这样可以保证在出现物理机故障或者网络故障时,虚拟机能够自动迁移到其他节点上,新的虚拟机可以替代旧的虚拟机,访问旧的虚拟机对应的资源,执行操作。
S402,主服务器指示第二服务器读取存储卷中的状态信息,根据状态信息确定是否启动第二虚拟机。
这样,发现第一虚拟机不能正常工作时,主服务器发送指令给第二服务器,让第二服务器获取心跳信息进行心跳检查,当心跳检查不通过时可以禁止启动第二虚拟机,避免了第一虚拟机和第二虚拟机同时访问存储卷,避免发生脑裂。该方法不需要额外的第三方锁服务,通过存储卷的检查就能判断出是否存在脑裂,解决了现有技术中由于第三方锁服务异常导致的虚拟机无法启动或被错误关闭等问题。另外,该方法基于分布式存储,防脑裂检测和存储卷的读写IO路径相同,不会出现锁服务异常而导致误判的情况,可靠性高,对虚拟机脑裂的检测粒度更细,检测结果更准确。由于该方法通过存储内部的私有接口访问状态信息,还非常适用于提供私有客户端的分布式存储场景。
该方法还可以包括步骤S403,第一虚拟机启动后当第一服务器检测到第一服务器连接的业务平面无法正常工作,关闭第一虚拟机。
在主服务器定期检测虚拟机状态的同时,第一服务器也会定期检测管理平面、业务平面、存储平面的状态。在故障第一服务器上,检查本地的网络情况和存储心跳情况,如果发现业务网络异常,则将第一虚拟机关闭,实现虚拟机在原计算节点上的隔离。虚拟机被隔离后,经过一段时间,虚拟机在新的服务器上检查存储卷的心跳正常,第二虚拟机正常启动。
这样,实现了故障节点上虚拟机自动隔离的机制。在每个计算节点上都会定期检查管理平面、业务平面、存储平面3个网络平面的情况,当检查发现管理网络和业务网络都不通,但是存储心跳还是正常的,此时该虚拟机已经无法提供服务,则判定将该虚拟机关闭,也就是自动隔离。虚拟机在原计算节点上隔离以后,经过一段时间,虚拟机在新的计算节点上检查卷的心跳正常,虚拟机正常恢复。
实施例提供的虚拟机防脑裂的管理方法的原理示意图参照图5 所示,结合图5说明,该管理方法包括步骤:
S601:主服务器创建存储卷并为存储卷分配状态信息存储空间。
存储卷包括两部分,状态信息存储空间和数据存储空间。在创建卷时,主服务器默认为存储卷分配一个状态信息存储空间,该状态信息存储空间类似于卷的元数据,其对用户隐藏不可见,可以通过存储内部接口进行访问,写入状态信息。可以根据状态信息判断存储卷对应的虚拟机是否运行,状态信息可以是心跳信息,也可以其他关键字段。数据存储空间就是给用户使用的存储容量,其还存储有虚拟机的操作系统。存储卷的读写都是通过存储网络到达存储设备上的。
S602,主服务器在第一服务器上创建第一虚拟机,将第一虚拟机的状态信息写入存储卷的状态信息存储空间。
下面以关键信息为心跳信息,第一虚拟机为VM1进行说明,并假设VM1创建于计算节点1即第一服务器。
主服务器读取存储卷中的操作系统,在计算节点1上创建VM1, VM1可以访问其对应的存储卷。虚拟机创建时,通过内部接口将VM1 HA 心跳写入VM1对应的存储卷中。如果虚拟机有多个存储卷,则每个存储卷中都写一份独立的心跳信息。心跳信息包括:写入时间、心跳周期等信息。
S603,第一服务器启动第一虚拟机,定期更新存储卷的状态信息。
虚拟机运行过程中,通过内部接口定期更新卷的心跳信息,更新周期可以设定为秒级。
S604,当主服务器检测到第一服务器上的第一虚拟机无法正常工作,在第二服务器上创建第二虚拟机,并使得第二虚拟机获得第一虚拟机对应的存储卷的访问权限。
假设第二虚拟机为VM2,并假设VM2创建于计算节点2即第二服务器。
主服务器定期检测VM1的状态。当检测到计算节点1网络发生故障,主服务器的HA调度器检测到网络异常,触发HA过程,由HA调度器选择在计算节点2恢复该虚拟机。当计算节点1中包括多个虚拟机时,选择新的计算节点上逐个恢复该多个虚拟机。
此即为虚拟机HA的过程,可以保证在出现物理机故障或者网络故障时,虚拟机能够自动迁移到其他节点上,新的虚拟机可以替代旧的虚拟机,访问旧的虚拟机对应的资源,执行操作。
S605,第二服务器读取存储卷中的状态信息,根据状态信息确定是否启动第二虚拟机。
计算节点2先读取VM2访问的存储卷的最新心跳信息,也即最开始VM1访问的存储卷,执行心跳检查。
如果心跳检查通过,即t1<t2-t3,t1为获取的最新心跳时间, t2为当前时间,t3为预设时间阈值,则表明该存储卷上已经没有运行的虚拟机,可以正常启动VM2。如果心跳检查不通过,即t1>t2-t3,则表明当前这个卷上还有虚拟机在运行,不能启动VM2。
可以在心跳检查不通过时,则等待一段时间后重试,等待时间大于心跳更新的时间。虚拟机运行过程中卷的心跳更新可能会失败,也意味着数据读写失败,重试机制会使得不会由于一次心跳检查未通过误关闭虚拟机,提高心跳检查的可靠性。
这样,通过定期更新心跳信息,发现VM1不能正常工作时,获取心跳信息进行心跳检查,当心跳检查不通过时禁止启动VM2,避免了 VM1和VM2同时访问存储卷,避免发生脑裂。
一个优选实施例提供的虚拟机防脑裂的管理方法,还包括步骤 S606,
S606,第一虚拟机启动后当第一服务器检测到业务平面无法正常工作,关闭第一虚拟机。
在第一虚拟机启动后主服务器定期检测虚拟机状态的同时,计算节点1也会定期检测管理平面、业务平面、存储平面的状态。在故障计算节点1上,检查本地的网络情况和存储心跳情况,如果发现业务网络异常,则将VM1关闭,实现虚拟机在原计算节点上的隔离。虚拟机被隔离后,经过一段时间,虚拟机在新的计算节点2上检查卷的心跳正常,VM2正常启动。
应当理解的是,虽然上述各个步骤按照序号的依次显示,但是这些步骤并不是必然按照序号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其他的顺序执行。
本发明实施例的一种主服务器,即图1中控制节点,其上有HA调度器,来实现云计算系统中其他各个服务器的管理,包括:
第二虚拟机创建模块,用于在主服务器检测到第一服务器上的第一虚拟机无法正常工作时,在第二服务器上创建第二虚拟机,并使第二虚拟机获得第一虚拟机对应的存储卷的访问权限;
确定模块,用于主服务器发送指令给第二服务器,让第二服务器读取存储卷中的状态信息,根据该状态信息确定是否在第二服务器上启动第二虚拟机。
在一个优选实施例中,主服务器还包括:
存储卷创建模块,用于主服务器为创建存储卷,为存储卷分配状态信息存储空间;第一虚拟机创建模块,用于主服务器在第一服务器上创建第一虚拟机,将第一虚拟机的状态信息写入状态信息存储空间;状态信息更新模块,用于指示第一服务器启动第一虚拟机,定期更新状态信息。
主服务器还可以包括:
关闭模块,用来当第一服务器检测到业务平面无法正常工作,关闭第一虚拟机。
本发明实施例提供的一种云计算系统,包括主服务器、第一服务器和第二服务器;
其中,主服务器用于当检测到第一服务器上的第一虚拟机无法正常工作,在第二服务器上创建第二虚拟机,并使得第二虚拟机获得第一虚拟机对应的存储卷的访问权限;主服务器还用于指示第二服务器读取存储卷中的状态信息,根据状态信息确定是否启动第二虚拟机;
第二服务器用于根据主服务器的指示读取存储卷中的状态信息,并根据状态信息确定是否启动第二虚拟机。
主服务器实现原理和技术效果与上述方法类似,此处不再赘述。
为了实现上述实施例,本发明实施例还提出一种电子设备,包括:处理器和存储器;其中,存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互;存储器中存储有计算机程序,计算机程序被处理器执行时可以实现上述任一方法实施例的技术方案。存储器中存储有上述虚拟机防脑裂的管理方法的计算机程序,包括至少一个可以软件或固件的形式存储于存储器中的软件功能模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理。
处理器可以是一种集成电路芯片,具有信号的处理能力。处理器在接收到执行指令后,执行程序。可选的,上述存储器内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务 (例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
本实施例提供的电子设备,可以用于执行上述任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现上述任一方法实施例的技术方案。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种虚拟机防脑裂的管理方法,包括步骤:
当主服务器检测到第一服务器上的第一虚拟机无法正常工作,在第二服务器上创建第二虚拟机,并使所述第二虚拟机获得所述第一虚拟机对应的存储卷的访问权限;
所述主服务器指示所述第二服务器读取所述存储卷中所述第一虚拟机的状态信息,根据所述状态信息确定是否启动所述第二虚拟机;
在所述主服务器检测到第一服务器上的第一虚拟机无法正常工作前,所述方法还包括步骤:
所述主服务器创建所述存储卷,为所述存储卷分配状态信息存储空间;
所述主服务器在所述第一服务器上创建所述第一虚拟机,将所述第一虚拟机的状态信息写入所述状态信息存储空间;
主服务器指示所述第一服务器启动所述第一虚拟机,定期更新所述状态信息;
在所述第一虚拟机启动后,所述第一服务器定期检查管理平面、业务平面、存储平面的状态,当所述第一服务器检测到所述第一服务器连接的业务平面无法正常工作,关闭所述第一虚拟机,管理平面是用于虚拟机或物理机的管理使用的网络,业务平面是虚拟机提供服务使用的网络,存储平面是虚拟机访问后端存储使用的网络。
2.如权利要求1所述的一种虚拟机防脑裂的管理方法,其特征在于,所述根据所述状态信息确定是否启动所述第二虚拟机具体是:
若根据所述状态信息确定所述存储卷对应的所述第一虚拟机仍在运行,则不启动所述第二虚拟机;
若根据所述状态信息确定所述存储卷对应的所述第一虚拟机未运行,则启动所述第二虚拟机。
3.如权利要求2所述的一种虚拟机防脑裂的管理方法,其特征在于,所述确定不启动所述第二虚拟机后,该方法还包括步骤:
间隔预设时间后,所述第二服务器重新读取所述存储卷中的状态信息,根据所述状态信息确定是否启动所述第二虚拟机。
4.一种主服务器,其特征在于,包括:
第二虚拟机创建模块,用于当主服务器检测到第一服务器上的第一虚拟机无法正常工作,在第二服务器上创建第二虚拟机,并使所述第二虚拟机获得所述第一虚拟机对应的存储卷的访问权限;
确定模块,用于指示所述第二服务器读取所述存储卷中所述第一虚拟机的状态信息,根据所述状态信息确定是否启动所述第二虚拟机;
存储卷创建模块,用于创建所述存储卷,为所述存储卷分配状态信息存储空间;
第一虚拟机创建模块,用于在所述第一服务器上创建所述第一虚拟机,将所述第一虚拟机的状态信息写入所述状态信息存储空间;
状态信息更新模块,用于指示所述第一服务器启动所述第一虚拟机,定期更新所述状态信息;
关闭模块,用来在第一虚拟机启动后,所述第一服务器定期检查管理平面、业务平面、存储平面的状态,当所述第一服务器检测到所述第一服务器连接的业务平面无法正常工作,关闭所述第一虚拟机,管理平面是用于虚拟机或物理机的管理使用的网络,业务平面是虚拟机提供服务使用的网络,存储平面是虚拟机访问后端存储使用的网络。
5.一种云计算系统,包括主服务器、第一服务器和第二服务器,其特征在于,包括:
所述主服务器,用于当检测到第一服务器上的第一虚拟机无法正常工作,在第二服务器上创建第二虚拟机,并使得所述第二虚拟机获得所述第一虚拟机对应的存储卷的访问权限;
所述主服务器还用于指示所述第二服务器读取所述存储卷中所述第一虚拟机的状态信息,根据所述状态信息确定是否启动所述第二虚拟机;
所述第二服务器,用于根据主服务器的指示读取所述存储卷中的状态信息,并根据所述状态信息确定是否启动所述第二虚拟机;
所述主服务器包括:
第二虚拟机创建模块,用于当主服务器检测到第一服务器上的第一虚拟机无法正常工作,在第二服务器上创建第二虚拟机,并使所述第二虚拟机获得所述第一虚拟机对应的存储卷的访问权限;
确定模块,用于指示所述第二服务器读取所述存储卷中的状态信息,根据所述状态信息确定是否启动所述第二虚拟机;
存储卷创建模块,用于创建所述存储卷,为所述存储卷分配状态信息存储空间;
第一虚拟机创建模块,用于在所述第一服务器上创建所述第一虚拟机,将所述第一虚拟机的状态信息写入所述状态信息存储空间;
状态信息更新模块,用于指示所述第一服务器启动所述第一虚拟机,定期更新所述状态信息;
关闭模块,用来在第一虚拟机启动后,所述第一服务器定期检查管理平面、业务平面、存储平面的状态,当所述第一服务器检测到所述第一服务器连接的业务平面无法正常工作,关闭所述第一虚拟机,管理平面是用于虚拟机或物理机的管理使用的网络,业务平面是虚拟机提供服务使用的网络,存储平面是虚拟机访问后端存储使用的网络。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910888802.3A CN110825487B (zh) | 2019-09-19 | 2019-09-19 | 一种虚拟机防脑裂的管理方法及主服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910888802.3A CN110825487B (zh) | 2019-09-19 | 2019-09-19 | 一种虚拟机防脑裂的管理方法及主服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825487A CN110825487A (zh) | 2020-02-21 |
CN110825487B true CN110825487B (zh) | 2022-07-15 |
Family
ID=69548168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910888802.3A Active CN110825487B (zh) | 2019-09-19 | 2019-09-19 | 一种虚拟机防脑裂的管理方法及主服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825487B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8880687B1 (en) * | 2012-02-06 | 2014-11-04 | Netapp, Inc. | Detecting and managing idle virtual storage servers |
CN104253860A (zh) * | 2014-09-11 | 2014-12-31 | 武汉噢易云计算有限公司 | 一种基于共享存储消息队列的虚拟机高可用实现方法 |
US9052938B1 (en) * | 2014-04-15 | 2015-06-09 | Splunk Inc. | Correlation and associated display of virtual machine data and storage performance data |
CN107391224A (zh) * | 2017-06-09 | 2017-11-24 | 华为技术有限公司 | 一种虚拟卷的创建方法、挂载方法及装置 |
CN107526653A (zh) * | 2017-07-31 | 2017-12-29 | 华为技术有限公司 | 一种虚拟机的管理方法和服务器 |
CN109634716A (zh) * | 2018-12-04 | 2019-04-16 | 武汉烽火信息集成技术有限公司 | 防脑裂的OpenStack虚拟机高可用管理端装置及管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8424000B2 (en) * | 2010-07-30 | 2013-04-16 | Symantec Corporation | Providing application high availability in highly-available virtual machine environments |
-
2019
- 2019-09-19 CN CN201910888802.3A patent/CN110825487B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8880687B1 (en) * | 2012-02-06 | 2014-11-04 | Netapp, Inc. | Detecting and managing idle virtual storage servers |
US9052938B1 (en) * | 2014-04-15 | 2015-06-09 | Splunk Inc. | Correlation and associated display of virtual machine data and storage performance data |
CN104253860A (zh) * | 2014-09-11 | 2014-12-31 | 武汉噢易云计算有限公司 | 一种基于共享存储消息队列的虚拟机高可用实现方法 |
CN107391224A (zh) * | 2017-06-09 | 2017-11-24 | 华为技术有限公司 | 一种虚拟卷的创建方法、挂载方法及装置 |
CN107526653A (zh) * | 2017-07-31 | 2017-12-29 | 华为技术有限公司 | 一种虚拟机的管理方法和服务器 |
CN109634716A (zh) * | 2018-12-04 | 2019-04-16 | 武汉烽火信息集成技术有限公司 | 防脑裂的OpenStack虚拟机高可用管理端装置及管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110825487A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949245B2 (en) | Maintaining high availability during network partitions for virtual machines stored on distributed object-based storage | |
US8874954B1 (en) | Compatibility of high availability clusters supporting application failover with shared storage in a virtualization environment without sacrificing on virtualization features | |
US8001322B2 (en) | Notifying software components using a shared physical storage medium | |
US8549364B2 (en) | Failure detection and recovery of host computers in a cluster | |
US9519795B2 (en) | Interconnect partition binding API, allocation and management of application-specific partitions | |
US11216220B2 (en) | Resolving failed or hanging mount points in a clustered storage solution for containers | |
US7925923B1 (en) | Migrating a virtual machine in response to failure of an instruction to execute | |
US8443231B2 (en) | Updating a list of quorum disks | |
US9817734B2 (en) | Virtual machine recovery on non-shared storage in a single virtual infrastructure management instance | |
US10592434B2 (en) | Hypervisor-enforced self encrypting memory in computing fabric | |
CN107947976B (zh) | 故障节点隔离方法及集群系统 | |
CN107526653B (zh) | 一种虚拟机的管理方法和服务器 | |
CN109710317B (zh) | 系统启动方法、装置、电子设备及存储介质 | |
CN102200921A (zh) | 智能引导设备选择和恢复 | |
US9367414B2 (en) | Persisting high availability protection state for virtual machines stored on distributed object-based storage | |
US8990608B1 (en) | Failover of applications between isolated user space instances on a single instance of an operating system | |
CN110989923A (zh) | 一种分布式存储系统的部署方法及装置 | |
US7966516B2 (en) | Automatic JTA migration | |
CN110825487B (zh) | 一种虚拟机防脑裂的管理方法及主服务器 | |
US9952941B2 (en) | Elastic virtual multipath resource access using sequestered partitions | |
US20150372945A1 (en) | Mapping computer resources to consumers in a computer system | |
US11847033B1 (en) | Limiting blast radius for critical on-disk data corruptions in a distributed storage system | |
US11720457B2 (en) | Remote direct memory access (RDMA)-based recovery of dirty data in remote memory | |
CN110727652A (zh) | 一种云存储处理系统及其实现数据处理的方法 | |
US11635920B2 (en) | Enabling multiple storage tiers in a hyperconverged infrastructure (HCI) cluster |
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 |