CN107491344A - 一种实现虚拟机高可用性的方法及装置 - Google Patents

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

Info

Publication number
CN107491344A
CN107491344A CN201710882792.3A CN201710882792A CN107491344A CN 107491344 A CN107491344 A CN 107491344A CN 201710882792 A CN201710882792 A CN 201710882792A CN 107491344 A CN107491344 A CN 107491344A
Authority
CN
China
Prior art keywords
machine
virtual machine
heartbeat
physical machine
physical
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
CN201710882792.3A
Other languages
English (en)
Other versions
CN107491344B (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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information 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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201710882792.3A priority Critical patent/CN107491344B/zh
Publication of CN107491344A publication Critical patent/CN107491344A/zh
Application granted granted Critical
Publication of CN107491344B publication Critical patent/CN107491344B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • 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/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本发明涉及一种实现虚拟机高可用性的方法及装置。该方法包括:接收zookeeper发送的虚拟机集群中第一虚拟机的心跳异常的通知消息;根据第一虚拟机的标识信息,确定安装第一虚拟机的第一物理机;检测第一物理机的心跳;当确定第一物理机的心跳未发生异常时,定位业务系统发生故障的位置在第一虚拟机;或者,当确定第一物理机的心跳发生异常时,检测与第一物理机属于同一网段的第二物理机的心跳;根据第二物理机的心跳,确定业务系统发生故障的位置在第一物理机与服务器之间的网络或者为第一物理机。通过上述检测方法,可以确定发生故障的为第一虚拟机或第一物理机,又或者为第一物理机与服务器之间的网络。从而根据发生故障的位置不同,做出不同的处理。

Description

一种实现虚拟机高可用性的方法及装置
技术领域
本发明涉及电信领域,尤其涉及一种实现虚拟机高可用性的方法及装置。
背景技术
现有技术中,为了实现业务系统的高可用性(High Availability,简称HA),就是在业务系统发生中断时,将发生中断位置设置的虚拟机所承载的业务自动快速的迁移到虚拟机集群中其他虚拟机上,以此来保证业务的连续性。
具体监控业务系统是否发生中断,主要是利用server端对资源池中的虚拟机进行心跳监控。当server端检测不到虚拟机心跳时,则直接认为虚拟机故障,需要对虚拟机进行恢复,如果恢复失败,则对恢复失败的虚拟机进行迁移。
但是,实际上而言,业务系统中所包括的不仅仅是虚拟机,还包括承载虚拟机的物理机,物理机和其他设备之间建立通信连接的网络。如果仅仅是server监控不到虚拟机的心跳,就果断的认为业务系统中断是由虚拟机造成,然后将该虚拟机所承载的业务迁移到其他虚拟机上,势必会造成资源迁移、资源占用等情况,由此增加对集群资源的消耗,甚至会对业务造成连续性的影响。因此,如何精确的实现虚拟机高可用性,是亟待解决的技术问题。
发明内容
为解决上述技术问题,本发明提供了一种实现虚拟机高可用性的方法及装置。
第一方面,本发明提供了一种实现虚拟机高可用性的方法,该方法包括:
接收zookeeper发送的虚拟机集群中第一虚拟机的心跳异常的通知消息,其中通知消息中携带第一虚拟机的标识信息;
根据第一虚拟机的标识信息,确定安装第一虚拟机的第一物理机;
检测第一物理机的心跳;
当确定第一物理机的心跳未发生异常时,定位业务系统发生故障的位置在第一虚拟机;
或者,
当确定第一物理机的心跳发生异常时,检测与第一物理机属于同一网段的第二物理机的心跳;
根据第二物理机的心跳,确定业务系统发生故障的位置在第一物理机与服务器之间的网络或者在第一物理机。
本发明的有益效果是:当zookeeper检测到第一物理机的心跳异常时,发送通知消息至服务器。服务器则根据第一虚拟机的标识信息,确定承载第一虚拟机的第一物理机。然后检测第一物理机的心跳,根据第一物理机的心跳判断是否为第一虚拟机故障。若检测并非为第一虚拟机故障时,则还需要利用第二物理机检测第一物理机的心跳。通过上述方式,可以精确的确定发生故障的位置在第一虚拟机,还是第一物理机,由或是第一物理机和服务器之间的网络。从而根据发生故障的位置不同,做出不同的处理。而且,还可以避免一旦检测虚拟机故障,就将业务转移而造成的资源迁移、资源占用等情况,进而可以降低对集群资源的消耗,避免对业务造成连续性的影响,提升虚拟机的高可用性。
进一步,根据第二物理机的心跳,确定业务系统发生故障的位置在第一物理机与服务器之间的网络或者在第一物理机,具体包括:
当第二物理机的心跳发生异常时,确定业务系统发生故障的位置在第一物理机与服务器之间的网络;
或者,当第二物理机的心跳未发生异常时,控制第二物理机检测第一物理机的心跳;
当第二物理机检测第一物理机的心跳异常时,业务系统发生故障的位置在第一物理机。
采用上述进一步的方案的有益技术效果在于,如果确定第二物理机的心跳异常,则可以直接确定发生故障的位置在第一物理机和服务器之间的网络。而如果第二物理机的心跳并未发生异常,那么则可以利用第二物理机检测第一物理机的心跳。如果第二物理机检测第一物理机的心跳异常,那么就是服务器和第二物理机均不能够检测到第一物理机的心跳,则可以直接确定发生故障的位置在于第一物理机。
进一步,当第二物理机检测第一物理机的心跳未发生异常时,确定业务系统发生故障的位置在第一物理机与服务器之间的网络。
采用上述进一步的技术方案的有益技术效果在于,如果利用第二物理机检测第一物理机的心跳没有发生异常,而服务器确检测到第一物理的心跳异常,只能说明发生故障的位置在于第一物理机和服务器之间的网络。
进一步的,当确定业务系统发生故障的位置在第一虚拟机时,重新启动第一虚拟机;
若重新启动第一虚拟机后,检测第一虚拟机心跳仍然异常时,将第一虚拟机所承载的业务转移到虚拟机集群中除第一虚拟机之外的任一虚拟机上。
采用上述进一步的技术方案的有益技术效果在于:当确定第一虚拟机发生故障时,也即是业务系统发生故障的位置在第一虚拟机时,可以尝试通过重新启动第一虚拟机,以便第一虚拟机能够自动修复。而如果重新启动之后,也不能修复第一虚拟机,则需要将第一虚拟机所承载的业务转移到虚拟机集群中其他虚拟机上进行处理。
进一步的,当确定业务系统发生故障的位置在第一物理机与服务器之间的网络时,通知网络管理员修复第一物理机和服务器之间的网络;
或者,当确定业务系统发生故障的位置在第一物理机时,当确定业务系统发生故障的位置在第一物理机时,对第一物理主机进行隔离和恢复;
若对物理主机进行恢复失败时,则直接将第一虚拟机所承载的业务转移到虚拟机集群中除第一虚拟机之外的任一虚拟机上。
采用上述进一步的技术方案的有益技术效果在于:准确的确定业务系统发生故障的位置在第一物理主机,还是在第一物理主机和服务器之间的网络。如果是网络,则不需要迁移业务,只要恢复网络通信即可。而如果是第一物理机故障,则需要将第一虚拟机的业务进行迁移。通过精确的定位业务系统发生故障的位置,从而采取不同的处理方式。可以有效的避免一旦检测虚拟机故障,就将业务转移而造成的资源迁移、资源占用等情况,进而可以降低对集群资源的消耗,避免对业务造成连续性的影响,提升虚拟机的高可用性。
第二方面,本发明提供了一种实现虚拟机高可用性的装置,该装置包括:接收单元,用于接收zookeeper发送的虚拟机集群中第一虚拟机的心跳异常的通知消息,其中通知消息中携带第一虚拟机的标识信息;
定位单元,用于根据第一虚拟机的标识信息,确定安装第一虚拟机的第一物理机;
处理单元,用于检测第一物理机的心跳;
当确定第一物理机的心跳未发生异常时,定位业务系统发生故障的位置在第一虚拟机;
或者,
当确定第一物理机的心跳发生异常时,检测与第一物理机属于同一网段的第二物理机的心跳;
根据第二物理机的心跳,确定业务系统发生故障的位置在第一物理机与服务器之间的网络或者在第一物理机。
上述方案的有益技术效果在于,当zookeeper检测到第一物理机的心跳异常时,发送通知消息至服务器。服务器则根据第一虚拟机的标识信息,确定承载第一虚拟机的第一物理机。然后检测第一物理机的心跳,根据第一物理机的心跳判断是否为第一虚拟机故障。若检测并非为第一虚拟机故障时,则还需要利用第二物理机检测第一物理机的心跳。通过上述方式,可以精确的确定发生故障的位置在第一虚拟机,还是第一物理机,由或是第一物理机和服务器之间的网络。从而根据发生故障的位置不同,做出不同的处理。而且,还可以避免一旦检测虚拟机故障,就将业务转移而造成的资源迁移、资源占用等情况,进而可以降低对集群资源的消耗,避免对业务造成连续性的影响,提升虚拟机的高可用性。
进一步的,处理单元,具体用于:
当第二物理机的心跳发生异常时,确定业务系统发生故障的位置在第一物理机与服务器之间的网络;
或者,当第二物理机的心跳未发生异常时,控制第二物理机检测第一物理机的心跳;
当第二物理机检测第一物理机的心跳异常时,业务系统发生故障的位置在第一物理机。
采用上述进一步的方案的有益技术效果在于,如果确定第二物理机的心跳异常,则可以直接确定发生故障的位置在第一物理机和服务器之间的网络。而如果第二物理机的心跳并未发生异常,那么则可以利用第二物理机检测第一物理机的心跳。如果第二物理机检测第一物理机的心跳异常,那么就是服务器和第二物理机均不能够检测到第一物理机的心跳,则可以直接确定发生故障的位置在于第一物理机。
进一步的,处理单元,具体用于:
当第二物理机检测第一物理机的心跳未发生异常时,确定业务系统发生故障的位置在第一物理机与服务器之间的网络。
采用上述进一步的技术方案的有益技术效果在于,如果利用第二物理机检测第一物理机的心跳没有发生异常,而服务器确检测到第一物理的心跳异常,只能说明发生故障的位置在于第一物理机和服务器之间的网络。
进一步的,装置还包括:
启动单元,用于当处理单元确定业务系统发生故障的位置在第一虚拟机时,重新启动第一虚拟机;
处理单元还用于,若启动单元重新启动第一虚拟机后,检测第一虚拟机心跳仍然异常时,将第一虚拟机所承载的业务转移到虚拟机集群中除第一虚拟机之外的任一虚拟机上。
采用上述进一步的技术方案的有益技术效果在于,当确定第一虚拟机发生故障时,也即是业务系统发生故障的位置在第一虚拟机时,可以尝试通过重新启动第一虚拟机,以便第一虚拟机能够自动修复。而如果重新启动之后,也不能修复第一虚拟机,则需要将第一虚拟机所承载的业务转移到虚拟机集群中其他虚拟机上进行处理。
进一步的,处理单元还用于,当确定业务系统发生故障的位置在第一物理机与服务器之间的网络时,通知网络管理员修复第一物理机和服务器之间的网络;
或者,当确定业务系统发生故障的位置在第一物理机时,当确定业务系统发生故障的位置在第一物理机时,对第一物理主机进行隔离和恢复;
若对物理主机进行恢复失败时,则直接将第一虚拟机所承载的业务转移到虚拟机集群中除第一虚拟机之外的任一虚拟机上。
采用上述进一步的技术方案的有益技术效果在于,准确的确定业务系统发生故障的位置在第一物理主机,还是在第一物理主机和服务器之间的网络。如果是网络,则不需要迁移业务,只要恢复网络通信即可。而如果是第一物理机故障,则需要将第一虚拟机的业务进行迁移。通过精确的定位业务系统发生故障的位置,从而采取不同的处理方式。可以有效的避免一旦检测虚拟机故障,就将业务转移而造成的资源迁移、资源占用等情况,进而可以降低对集群资源的消耗,避免对业务造成连续性的影响,提升虚拟机的高可用性。
附图说明
图1为本发明实施例提供的一种实现虚拟机高可用性的方法流程示意图;
图2为本发明实施例提供的一种实现虚拟机高可用性的装置结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透切理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
图1为本发明实施例提供的一种实现虚拟机高可用性的方法流程示意图。具体如图1所示,该方法包括:
步骤110,接收zookeeper发送的虚拟机集群中第一虚拟机的心跳异常的通知消息,其中通知消息中携带第一虚拟机的标识信息。
具体的,服务器端和zookeeper端部署在管理网。物理机部署在生产网,每个物理机上均安装有虚拟机。每个虚拟机都注册在zookeeper上。Zookeeper用于监控虚拟机状态,而服务器则用于监控物理机状态。
当zookeeper检测到虚拟机集群中第一虚拟机的心跳异常时,则会向服务器端发送通知消息。其中,通知消息中可以携带第一虚拟机的标识信息。因为虚拟机均已经在zookeeper中注册过,所以每一个虚拟机的详细信息均可以在zookeeper中查询到。因此,当zookeeper确定某一虚拟机故障时,可以向服务器发送通知消息,并在通知消息中携带标识信息。该标识信息可以是编号信息、ID或者位置信息等等可以识别第一虚拟机的信息即可。
步骤120,根据第一虚拟机的标识信息,确定安装第一虚拟机的第一物理机。
而服务器则用于根据第一虚拟机的标识信息,确定安装第一虚拟机的第一物理机。
步骤130,检测第一物理机的心跳。
具体的,因为服务器端只检测物理机,所以服务器可以检测第一物理机的心跳。
步骤140,当确定第一物理机的心跳未发生异常时,定位业务系统发生故障的位置在第一虚拟机。
具体的,当第一物理机的心跳为发生异常时,则可以说明第一物理机没有发生故障,同时,第一物理机和服务器之间的网络同样没有发生故障。那么,则可以直接确定发生故障的位置为第一虚拟机。
或者,
步骤150,当确定第一物理机的心跳发生异常时,检测与第一物理机属于同一网段的第二物理机的心跳。
步骤160,根据第二物理机的心跳,确定业务系统发生故障的位置在第一物理机与服务器之间的网络或者在第一物理机。
具体的,当检测第一物理机的心跳发生异常时,那么可以排除第一虚拟机发生故障。但是,还不能确定此时业务系统发生故障的位置在第一物理机还是在第一物理机和服务器之间的网络。所以,需要检测与第一物理机同一网段的第二物理机的心跳。并根据第二物理机的心跳,确定业务系统发生故障的位置在第一物理机与服务器之间的网络,或者在第一物理机这里。
可选的,其具体的判断过程可以包括如下步骤:
A、当第二物理机的心跳发生异常时,确定业务系统发生故障的位置在第一物理机与服务器之间的网络。
具体的,如果服务器检测第一物理机的心跳发生异常,而且检测第二物理机的心跳发生异常。那么,无可厚非,必定是服务器和第一物理机之间的网络发生了异常。而两个物理机同时发生异常的概率可以视为0。当然,如果用户觉得也可能会有特殊情况,即很可能第一物理机和第二物理机均发生故障,而不是第一物理机和服务器之间的网络繁盛故障,那么用户还可以利用服务器检测同一网段的其他物理机的心跳。以便进一步证实是否为第一物理机和服务器之间的网络发生异常。
或者,
B、当第二物理机的心跳未发生异常时,控制第二物理机检测第一物理机的心跳。
具体的,如果第二物理机的心跳未发生异常,那么还不能明确的说明就是第二物理机故障。其原因在于,物理机和服务器之间的网络分为“外网”和“内网”,实际上物理机和服务器之间还包括一个交换机,服务器和交换机之间的网络即为“外网”,而交换机和第一物理机之间的网络则可以理解为“内网”。当,服务器检测第二物理机的心跳未发生异常时,可以确定服务器和交换机之间的外网没有问题,且交换机和第二物理机之间的网络连接没有异常。但是,并不能够确定交换机和第一物理机之间的网络连接没有异常情况(同一交换机,分别和第一物理机和第二物理机建立通信连接)。
所以,可选的,还需要确定第二物理机检测第一物理机的心跳是否异常。
当第二物理机检测第一物理机的心跳异常时,业务系统发生故障的位置在第一物理机。
即,只有当第二物理机检测第一物理机的心跳异常时,才能精确的确定业务系统发生故障的位置在第一物理机。而并非是第一物理机和交换机之间的“内网”。
相反,如果第二物理机检测第一物理机的心跳未发生异常时,则可以确定业务系统发生故障的位置在第一物理机和服务器之间的网络,即交换机和第一物理机之间的“内网”。
通过上述方式,已经可以精确的确定业务系统发生故障位置在第一虚拟机、第一物理机又或者是第一物理机和服务器之间的网络了。
进一步可选的,确定具体发生故障的位置后,还需要做相应的处理。具体包括如下过程:
当确定业务系统发生故障的位置在第一虚拟机时,重新启动第一虚拟机。
具体的,如果第一虚拟机故障,可以通过重新启动第一虚拟机的方式,尝试让第一虚拟机进行恢复。但是,这种方法不是万无一失的。所以,如果可以恢复,则第一虚拟机可以正常执行业务。
但是,若重新启动第一虚拟机后,检测第一虚拟机心跳仍然异常时,则需要将第一虚拟机所承载的业务转移到虚拟机集群中除第一虚拟机之外的任一虚拟机上。
可选的,当确定业务系统发生故障的位置并非在第一虚拟机,而是在第一物理机与服务器之间的网络时,则直接通知网络管理员修复第一物理机和服务器之间的网络。而不需要将第一虚拟机所承载的业务迁移到其他虚拟机上。
如果确定业务系统发生故障的位置并非为上述两种情况时,而是在第一物理机时,则需要将第一物理机进行隔离,恢复。该过程同虚拟主机恢复的过程类似,这里不再赘述。但是,如果恢复失败则需要将第一虚拟机所承载的业务转移到虚拟机集群中除第一虚拟机之外的任一虚拟机上。
将上述方法应用到某生产环境中时,采用VMware在X86服务器上建立了虚拟机应用集群(集群节点在100台左右),应用集群划归到生产网段中。另在管理网中,用3台X86服务器部署server服务段,并做软负载均衡;用3台X86服务器建立zookeeper集群。管理网和生产网网络相通。所有虚拟机进程注册到zookeeper上做心跳检测;所有X86服务器都开放与server服务器的心跳检测服务。
使用本方案前,平均每周虚拟机被动迁移27次,影响业务累计时长200分钟,需要备份节点10台。使用本方案后,平均每周虚拟机被动迁移15次,影响业务累计时长120分钟,需要备份节点7台。由此,可以明显的看出,业务迁移次数大大降低,对业务的连续性所造成的影响也明显降低。
本发明实施例提供的一种实现虚拟机高可用性的方法,当zookeeper检测到第一物理机的心跳异常时,发送通知消息至服务器。服务器则根据第一虚拟机的标识信息,确定承载第一虚拟机的第一物理机。然后检测第一物理机的心跳,根据第一物理机的心跳判断是否为第一虚拟机故障。若检测并非为第一虚拟机故障时,则还需要利用第二物理机检测第一物理机的心跳。通过上述方式,可以精确的确定发生故障的位置在第一虚拟机,还是第一物理机,由或是第一物理机和服务器之间的网络。从而根据发生故障的位置不同,做出不同的处理。而且,还可以避免一旦检测虚拟机故障,就将业务转移而造成的资源迁移、资源占用等情况,进而可以降低对集群资源的消耗,避免对业务造成连续性的影响,提升虚拟机的高可用性。
相应地,本发明实施例还提供了一种实现虚拟机高可用性的装置。图2为本发明实施例提供的一种实现虚拟机高可用性的装置结构示意图。如图2所示,该装置包括:接收单元201,定位单元202以及处理单元203。
接收单元201,用于接收zookeeper发送的虚拟机集群中第一虚拟机的心跳异常的通知消息,其中通知消息中携带第一虚拟机的标识信息;
定位单元202,用于根据第一虚拟机的标识信息,确定安装第一虚拟机的第一物理机;
处理单元203,用于检测第一物理机的心跳;
当确定第一物理机的心跳未发生异常时,定位业务系统发生故障的位置在第一虚拟机;
或者,
当确定第一物理机的心跳发生异常时,检测与第一物理机属于同一网段的第二物理机的心跳;
根据第二物理机的心跳,确定业务系统发生故障的位置在第一物理机与服务器之间的网络或者在第一物理机。
可选的,处理单元203,具体用于:
当第二物理机的心跳发生异常时,确定业务系统发生故障的位置在第一物理机与服务器之间的网络。
或者,当第二物理机的心跳未发生异常时,控制第二物理机检测第一物理机的心跳;
当第二物理机检测第一物理机的心跳异常时,业务系统发生故障的位置在第一物理机。
进一步可选的,处理单元203,具体用于:
当第二物理机检测第一物理机的心跳未发生异常时,确定业务系统发生故障的位置在第一物理机与服务器之间的网络。
可选的,装置还包括:启动单元204,用于当处理单元203确定业务系统发生故障的位置在第一虚拟机时,重新启动第一虚拟机;
处理单元203还用于,若启动单元204重新启动第一虚拟机后,检测第一虚拟机心跳仍然异常时,将第一虚拟机所承载的业务转移到虚拟机集群中除第一虚拟机之外的任一虚拟机上。
进一步可选的,处理单元203还用于,当确定业务系统发生故障的位置在第一物理机与服务器之间的网络时,通知网络管理员修复第一物理机和服务器之间的网络;
或者,当确定业务系统发生故障的位置在第一物理机时,当确定业务系统发生故障的位置在第一物理机时,对第一物理主机进行隔离和恢复;
若对物理主机进行恢复失败时,则直接将第一虚拟机所承载的业务转移到虚拟机集群中除第一虚拟机之外的任一虚拟机上。
本发明实施例提供的一种实现虚拟机高可用性的装置中上述元器件所执行的功能均已经在上一实施例提供的一种实现虚拟机高可用性的方法中做了详细介绍,在此将不再赘述。
本发明实施例提供的一种实现虚拟机高可用性的装置,当zookeeper检测到第一物理机的心跳异常时,发送通知消息至服务器。服务器则根据第一虚拟机的标识信息,确定承载第一虚拟机的第一物理机。然后检测第一物理机的心跳,根据第一物理机的心跳判断是否为第一虚拟机故障。若检测并非为第一虚拟机故障时,则还需要利用第二物理机检测第一物理机的心跳。通过上述方式,可以精确的确定发生故障的位置在第一虚拟机,还是第一物理机,由或是第一物理机和服务器之间的网络。从而根据发生故障的位置不同,做出不同的处理。而且,还可以避免一旦检测虚拟机故障,就将业务转移而造成的资源迁移、资源占用等情况,进而可以降低对集群资源的消耗,避免对业务造成连续性的影响,提升虚拟机的高可用性。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种实现虚拟机高可用性的方法,其特征在于,所述方法包括:
接收zookeeper发送的虚拟机集群中第一虚拟机的心跳异常的通知消息,其中所述通知消息中携带所述第一虚拟机的标识信息;
根据所述第一虚拟机的标识信息,确定安装所述第一虚拟机的第一物理机;
检测所述第一物理机的心跳;
当确定所述第一物理机的心跳未发生异常时,定位业务系统发生故障的位置在所述第一虚拟机;
或者,
当确定所述第一物理机的心跳发生异常时,检测与所述第一物理机属于同一网段的第二物理机的心跳;
根据所述第二物理机的心跳,确定所述业务系统发生故障的位置在所述第一物理机与服务器之间的网络或者在所述第一物理机。
2.根据权利要求1所述的方法,其特征在于,根据所述第二物理机的心跳,确定所述业务系统发生故障的位置在所述第一物理机与服务器之间的网络或者在所述第一物理机,具体包括:
当所述第二物理机的心跳发生异常时,确定所述业务系统发生故障的位置在所述第一物理机与服务器之间的网络;
或者,当所述第二物理机的心跳未发生异常时,控制所述第二物理机检测所述第一物理机的心跳;
当所述第二物理机检测所述第一物理机的心跳异常时,所述业务系统发生故障的位置在所述第一物理机。
3.根据权利要求2所述的方法,其特征在于,当所述第二物理机检测所述第一物理机的心跳未发生异常时,确定所述业务系统发生故障的位置在所述第一物理机与服务器之间的网络。
4.根据权利要求1-3任一项所述的方法,其特征在于,当确定所述业务系统发生故障的位置在所述第一虚拟机时,重新启动所述第一虚拟机;
若重新启动所述第一虚拟机后,检测所述第一虚拟机心跳仍然异常时,将所述第一虚拟机所承载的业务转移到所述虚拟机集群中除所述第一虚拟机之外的任一虚拟机上。
5.根据权利要求1-3任一项所述的方法,其特征在于,当确定所述业务系统发生故障的位置在所述第一物理机与服务器之间的网络时,通知网络管理员修复所述第一物理机和所述服务器之间的网络;
或者,当确定所述业务系统发生故障的位置在所述第一物理机时,对所述第一物理主机进行隔离和恢复;
若对所述物理主机进行恢复失败时,则直接将所述第一虚拟机所承载的业务转移到所述虚拟机集群中除所述第一虚拟机之外的任一虚拟机上。
6.一种实现虚拟机高可用性的装置,其特征在于,所述装置包括:
接收单元,用于接收zookeeper发送的虚拟机集群中第一虚拟机的心跳异常的通知消息,其中所述通知消息中携带所述第一虚拟机的标识信息;
定位单元,用于根据所述第一虚拟机的标识信息,确定安装所述第一虚拟机的第一物理机;
处理单元,用于检测所述第一物理机的心跳;
当确定所述第一物理机的心跳未发生异常时,定位业务系统发生故障的位置在所述第一虚拟机;
或者,
当确定所述第一物理机的心跳发生异常时,检测与所述第一物理机属于同一网段的第二物理机的心跳;
根据所述第二物理机的心跳,确定所述业务系统发生故障的位置在所述第一物理机与服务器之间的网络或者在所述第一物理机。
7.根据权利要求6所述的装置,其特征在于,所述处理单元,具体用于:
当所述第二物理机的心跳发生异常时,确定所述业务系统发生故障的位置在所述第一物理机与服务器之间的网络;
或者,当所述第二物理机的心跳未发生异常时,控制所述第二物理机检测所述第一物理机的心跳;
当所述第二物理机检测所述第一物理机的心跳异常时,所述业务系统发生故障的位置在所述第一物理机。
8.根据权利要求7所述的装置,其特征在于,所述处理单元,具体用于:
当所述第二物理机检测所述第一物理机的心跳未发生异常时,确定所述业务系统发生故障的位置在所述第一物理机与服务器之间的网络。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述装置还包括:
启动单元,用于当所述处理单元确定所述业务系统发生故障的位置在所述第一虚拟机时,重新启动所述第一虚拟机;
所述处理单元还用于,若所述启动单元重新启动所述第一虚拟机后,检测所述第一虚拟机心跳仍然异常时,将所述第一虚拟机所承载的业务转移到所述虚拟机集群中除所述第一虚拟机之外的任一虚拟机上。
10.根据权利要求6-8任一项所述的装置,其特征在于,所述处理单元还用于,当确定所述业务系统发生故障的位置在所述第一物理机与服务器之间的网络时,通知网络管理员修复所述第一物理机和所述服务器之间的网络;
或者,当确定所述业务系统发生故障的位置在所述第一物理机时,当确定所述业务系统发生故障的位置在所述第一物理机时,对所述第一物理主机进行隔离和恢复;
若对所述物理主机进行恢复失败时,则直接将所述第一虚拟机所承载的业务转移到所述虚拟机集群中除所述第一虚拟机之外的任一虚拟机上。
CN201710882792.3A 2017-09-26 2017-09-26 一种实现虚拟机高可用性的方法及装置 Active CN107491344B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710882792.3A CN107491344B (zh) 2017-09-26 2017-09-26 一种实现虚拟机高可用性的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710882792.3A CN107491344B (zh) 2017-09-26 2017-09-26 一种实现虚拟机高可用性的方法及装置

Publications (2)

Publication Number Publication Date
CN107491344A true CN107491344A (zh) 2017-12-19
CN107491344B CN107491344B (zh) 2020-09-01

Family

ID=60653013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710882792.3A Active CN107491344B (zh) 2017-09-26 2017-09-26 一种实现虚拟机高可用性的方法及装置

Country Status (1)

Country Link
CN (1) CN107491344B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046064A (zh) * 2018-01-15 2019-07-23 厦门靠谱云股份有限公司 一种基于故障漂移的云服务器容灾实现方法
CN112148485A (zh) * 2020-09-16 2020-12-29 杭州安恒信息技术股份有限公司 超融合平台故障恢复方法、装置、电子装置和存储介质
CN114090184A (zh) * 2021-11-26 2022-02-25 中国电信集团系统集成有限责任公司 一种虚拟化集群高可用性的实现方法和设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346779A (zh) * 2011-10-18 2012-02-08 中国联合网络通信集团有限公司 分布式文件系统和主控节点的备份方法
CN103067242A (zh) * 2012-12-04 2013-04-24 中国电信股份有限公司云计算分公司 一种用于提供网络服务的虚拟机系统
CN103607296A (zh) * 2013-11-01 2014-02-26 杭州华三通信技术有限公司 一种虚拟机故障处理方法和设备
CN103810016A (zh) * 2012-11-09 2014-05-21 北京华胜天成科技股份有限公司 实现虚拟机迁移的方法、装置和集群系统
CN105095001A (zh) * 2014-05-08 2015-11-25 中国银联股份有限公司 分布式环境下虚拟机异常恢复方法
CN106850354A (zh) * 2017-02-22 2017-06-13 郑州云海信息技术有限公司 一种单点故障的处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102346779A (zh) * 2011-10-18 2012-02-08 中国联合网络通信集团有限公司 分布式文件系统和主控节点的备份方法
CN103810016A (zh) * 2012-11-09 2014-05-21 北京华胜天成科技股份有限公司 实现虚拟机迁移的方法、装置和集群系统
CN103067242A (zh) * 2012-12-04 2013-04-24 中国电信股份有限公司云计算分公司 一种用于提供网络服务的虚拟机系统
CN103607296A (zh) * 2013-11-01 2014-02-26 杭州华三通信技术有限公司 一种虚拟机故障处理方法和设备
CN105095001A (zh) * 2014-05-08 2015-11-25 中国银联股份有限公司 分布式环境下虚拟机异常恢复方法
CN106850354A (zh) * 2017-02-22 2017-06-13 郑州云海信息技术有限公司 一种单点故障的处理方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046064A (zh) * 2018-01-15 2019-07-23 厦门靠谱云股份有限公司 一种基于故障漂移的云服务器容灾实现方法
CN112148485A (zh) * 2020-09-16 2020-12-29 杭州安恒信息技术股份有限公司 超融合平台故障恢复方法、装置、电子装置和存储介质
CN114090184A (zh) * 2021-11-26 2022-02-25 中国电信集团系统集成有限责任公司 一种虚拟化集群高可用性的实现方法和设备

Also Published As

Publication number Publication date
CN107491344B (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN105095001B (zh) 分布式环境下虚拟机异常恢复方法
CN103607297B (zh) 一种计算机集群系统的故障处理方法
CN104199869B (zh) 一种业务批处理方法、业务服务器以及系统
CN105933407B (zh) 一种实现Redis集群高可用的方法及系统
CN107491344A (zh) 一种实现虚拟机高可用性的方法及装置
CN106533736B (zh) 一种网络设备重启方法和装置
CN103559124B (zh) 故障快速检测方法及装置
EP2637102B1 (en) Cluster system with network node failover
CN109726046A (zh) 机房切换方法及切换装置
CN108108255A (zh) 虚拟机故障的检测和恢复方法及装置
CN103812675A (zh) 一种实现业务交付平台异地容灾切换的方法和系统
CN107480014A (zh) 一种高可用设备切换方法及装置
CN107861797A (zh) 一种基于jvm的预警方法和装置
CN106559288B (zh) 一种基于icmp报文的快速故障检测方法
CN104717077A (zh) 一种管理数据中心的方法、装置及系统
CN104317679A (zh) 一种scada系统基于线程冗余的通信容错方法
CN103902401B (zh) 基于监控的虚拟机容错方法及装置
CN106375114B (zh) 一种热插拔故障恢复方法及分布式设备
CN103731287A (zh) 一种故障接管服务器选择方法
CN111385134A (zh) 接入设备动态迁移方法及设备接入平台
CN105224426A (zh) 物理主机故障检测方法、装置及虚机管理方法、系统
CN107547306A (zh) 一种数据同步恢复方法、装置及服务器
CN106411643A (zh) Bmc检测方法以及装置
CN107656845A (zh) 一种虚拟机高可用方法
US11954509B2 (en) Service continuation system and service continuation method between active and standby virtual servers

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