CN108108255A - 虚拟机故障的检测和恢复方法及装置 - Google Patents

虚拟机故障的检测和恢复方法及装置 Download PDF

Info

Publication number
CN108108255A
CN108108255A CN201611059735.7A CN201611059735A CN108108255A CN 108108255 A CN108108255 A CN 108108255A CN 201611059735 A CN201611059735 A CN 201611059735A CN 108108255 A CN108108255 A CN 108108255A
Authority
CN
China
Prior art keywords
virtual machine
detection
module
recovery module
state
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.)
Withdrawn
Application number
CN201611059735.7A
Other languages
English (en)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201611059735.7A priority Critical patent/CN108108255A/zh
Priority to PCT/CN2017/112895 priority patent/WO2018095414A1/zh
Priority to EP17873271.5A priority patent/EP3550436A4/en
Publication of CN108108255A publication Critical patent/CN108108255A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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
    • 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种虚拟机故障的检测和恢复方法及装置,该方法包括:检测和恢复模块从云上的虚拟机中部署的检测代理模块获取所述虚拟机的状态;判断所述虚拟机是否存在故障,当所述虚拟机存在故障时,所述检测和恢复模块发起所述虚拟机重启或所述虚拟机迁移操作。通过本发明,解决了现有技术中虚拟化系统中虚拟机故障的检测和自动恢复的问题,进而达到了虚拟化技术下提升虚拟机可靠性的效果。

Description

虚拟机故障的检测和恢复方法及装置
技术领域
本发明涉及虚拟化(Network Function Virtualization,NFV)系统中的虚拟机故障处理技术领域,具体而言,涉及一种虚拟机故障的检测和恢复方法及装置。
背景技术
在虚拟化NFV系统中,云管理系统提供了对虚拟磁盘的处理。运营商会根据业务需要创建虚拟磁盘,比如在openstack、vmware云管理系统所创建和管理的虚拟机中都挂载相对应的虚拟磁盘。运营商明确要求虚拟磁盘要确保电信的5个9的高可靠性,是虚拟化云落地商用不可规避的先决条件。但是,由于虚拟机磁盘所产生故障,导致NFV后各个VNF(Virtualized Network Function)实例的虚拟机上系统或应用程序无法使用的问题也经常发生,尽管有多种容灾软件或机制,但是对于应用程序不访问的数据盘出现挂死无法操作等导致的问题还是很难处理,目前业界也没有通用可靠的解决办法。
因此,现有的产品技术中对于通用虚拟化NFV系统中虚拟磁盘,急需一种实施简单但是有效可靠的虚拟磁盘检测和自动恢复机制。
发明内容
本发明提供了一种虚拟机故障的检测和恢复方法及装置,以至少解决相关技术中的问题。
根据本发明的一个方面,提供了一种虚拟机故障的检测和恢复方法,包括:检测和恢复模块从云上的虚拟机中部署的检测代理模块获取所述虚拟机的状态;判断所述虚拟机是否存在故障,当所述虚拟机存在故障时,所述检测和恢复模块发起所述虚拟机重启或所述虚拟机迁移操作。
优选地,检测和恢复模块从云上的虚拟机中部署的检测代理模块获取所述虚拟机的状态之前,还包括:所述虚拟机启动后,所述检测代理模块主动与所述检测和恢复模块建链,并周期地进行心跳保活。
优选地,检测和恢复模块从云上的虚拟机中部署的检测代理模块获取所述虚拟机的状态,包括以下至少之一:
所述检测代理模块向所述检测和恢复模块周期地发送心跳消息;或者,
所述检测代理模块检测到所述虚拟机的所有磁盘状态为只读,则通知所述检测和恢复模块。
优选地,当确定所述虚拟机存在故障时,所述检测和恢复模块发起所述虚拟机重启或所述虚拟机迁移操作,包括以下至少之一:
所述检测和恢复模块在若干心跳周期内未收到来自所述检测代理模块的心跳消息,则发起所述虚拟机重启或所述虚拟机迁移操作;
所述检测和恢复模块收到虚拟机的所有磁盘状态为只读的消息,则发起所述虚拟机重启或所述虚拟机迁移操作。
优选地,所述虚拟机启动之前,还包括:
所述检测和恢复模块检测所述虚拟机的状态;
如果所述虚拟机状态为错误error或关闭shutoff状态,则所述检测和恢复模块通过所述云平台控制节点发起重启所述虚拟机的操作。
优选地,所述检测和恢复模块通过所述云平台控制节点发起重启所述虚拟机的操作之后,还包括:
所述检测和恢复模块重新检测所述虚拟机的状态;
如果所述虚拟机状态仍为错误error或关闭shutoff状态,则所述检测和恢复模块通过所述云平台控制节点发起所述虚拟机的迁移操作,所述迁移操作完成后重启所述虚拟机。
优选地,如果所述检测和恢复模块检测检测到所述虚拟机状态正常,则所述检测和恢复模块通过所述云平台控制节点定时检测所述虚拟机的磁盘的链路状态;
当所述虚拟机的磁盘的对应所有链路都处于失败fail状态,则所述检测和恢复模块通过所述云平台控制节点发起所述虚拟机的迁移操作,所述迁移操作完成后重启所述虚拟机。
优选地,所述检测和恢复模块通过API模块对接访问不同类型的云平台控制节点。
根据本发明的另一方面,提供了一种虚拟机故障的检测和恢复装置,包括:检测和恢复模块、检测代理模块;所述检测和恢复模块部署在云平台控制节点中或单独部署,所述检测代理模块部署在云上的虚拟机中,其中,
所述检测代理模块,用于与所述检测和恢复进行通讯,并负责检测所述虚拟机的状态。
所述检测和恢复模块,用于通过所述云平台控制节点与所述检测代理模块交互,以获取所述虚拟机的状态,当确定所述虚拟机存在故障时,通过所述云平台控制节点发起所述虚拟机重启或所述虚拟机迁移操作。
优选地,所述检测代理模块包括:保活单元,用于在所述虚拟机启动后,主动与所述检测和恢复模块建链,并向所述检测和恢复模块周期地发送心跳消息以进行心跳保活。
优选地,所述检测代理模块还包括:通知单元,用于在检测到所述虚拟机的所有磁盘状态为只读的情况下,通知所述检测和恢复模块。
优选地,所述检测和恢复模块包括:
第一执行单元,用于在若干心跳周期内未收到来自所述检测代理模块的心跳消息的情况下,通过所述云平台控制节点发起所述虚拟机重启或所述虚拟机迁移操作;
第二执行单元,用于在收到虚拟机的所有磁盘状态为只读的消息的情况下,通过所述云平台控制节点发起所述虚拟机重启或所述虚拟机迁移操作。
优选地,所述检测和恢复模块还包括:第一检测模块,用于在所述虚拟机启动之前,检测所述虚拟机的状态,如果所述虚拟机状态为错误error或关闭shutoff状态,则通过所述云平台控制节点发起重启所述虚拟机的操作。
优选地,所述第一检测模块,还用于重新检测所述虚拟机的状态,如果所述虚拟机状态仍为错误error或关闭shutoff状态,则通过所述云平台控制节点发起所述虚拟机的迁移操作,所述迁移操作完成后重启所述虚拟机。
优选地,所述第一检测模块,还用于在检测到所述虚拟机状态正常的情况下,通过所述云平台控制节点定时检测所述虚拟机的磁盘的链路状态;当所述虚拟机的磁盘的对应所有链路都处于失败fail状态,则通过所述云平台控制节点发起所述虚拟机的迁移操作,所述迁移操作完成后重启所述虚拟机。
优选地,该装置还包括应用编程接口(Application Programming interface,API)模块,所述API模块部署在云平台控制节点中或单独部署,其中,所述API模块,用于对接访问不同类型的云平台控制节点。
通过本发明,解决了现有技术中虚拟化技术下的虚拟机或其磁盘故障的自动检测和修复,并能支持云上的APP进行业务的无损迁移等扩展。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的虚拟机故障的检测和恢复方法的流程图;
图2是根据本发明实施例的虚拟机故障的检测和恢复装置的结构框图;
图3是根据本发明实施例虚拟机故障的检测和恢复装置的步骤二检测示意图;
图4是根据本发明实施例虚拟机故障的检测和恢复装置的步骤三检测示意图;
图5是根据本发明实施例虚拟机故障的检测和恢复装置的步骤四检测示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种虚拟机故障的检测和恢复方法,图1是根据本发明实施例的的流程图,如图1所示,该流程包括如下步骤:
步骤S102,检测和恢复模块从云上的虚拟机中部署的检测代理模块获取所述虚拟机的状态;
步骤S104,判断所述虚拟机是否存在故障,当所述虚拟机存在故障时,所述检测和恢复模块发起所述虚拟机重启或所述虚拟机迁移操作。
在本实施例中,通过在云化系统的控制节点以及云的虚拟机当中部署相应的检测和恢复代理模块,通过结合云的检测特性以及部署的代理模块交互来进行虚拟机故障的有效检测和自动恢复。
在本实施例中,检测和恢复模块可以单独部署,也可以部署在云平台系统的控制节点,检测代理模块部署在云上的虚拟机中。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种虚拟机故障的检测和恢复装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的虚拟机故障的检测和恢复装置的结构框图,如图2所示,该装置包括:
检测和恢复模块(图中所示为A模块,以下称为A模块);
检测代理模块(图中所示为B模块,以下称为B模块);
对接访问各种云控制器的API模块(图中所示为C模块,以下称为C模块)。
其中,A、C模块可以单独部署,也可以部署在云平台系统的控制节点,B模块部署在云上的虚拟机中。
以下结合附图2-4中所示意的虚拟机检测和恢复步骤来具体描述上述各模块的功能:
步骤一:
A模块通过和云控制器连接首先查询各虚拟机状态,如果虚拟机状态异常则通过云控制器发起重启虚拟机操作;
步骤二:
如果检测虚拟机状态正常,则A模块通过云控制器定时检测虚拟磁盘的链路状态,当虚拟磁盘对应所有链路都是fail状态则认为虚拟磁盘为不可用状态,否则认为是可用状态;对于不可用状态链路的虚拟磁盘所属虚拟机,A模块通过云控制器发起重启虚拟机操作;
步骤三:
在虚拟机上部署B模块,该模块负责和A模块通讯,并通过云主机的操作系统心跳接口执行检测心跳,同时查询本虚拟机操作系统中的所有磁盘的状态。如虚拟机状态正常,则当B模块查询到所有磁盘存在readonly状态;就发出结果给A模块并同时发一个信号SIGUSR给B模块所在操作系统。
步骤四:
应用的APP进程的信号处理函数对操作系统的信号进行监听,当收到B模块发出的SIGUSR,应用进程的就发起业务恢复流程,重启或重新挂载(系统未只读的情况)。之前也可以进行自身业务数据区等处理的迁移等。
通过以上装置和步骤解决了所有APP在虚拟化技术下虚拟机或磁盘不可用的自动检测和修复,并能支持云上的APP进行业务的无损迁移等扩展。
结合附图2-4对本发明实施例所涉及的各示意图场景说明如下:
场景一:
步骤S1010:A模块(网络功能虚拟化编排器NFVO/网络功能虚拟化管理器VNFM系统)通过Openstack或VMWare的API接口检测到目标虚拟机处于ERROR或SHUTOFF状态;
步骤S1020:A模块(NFVO/VNFM系统)通过Openstack或VMWare的API接口发起虚拟机重启操作,尝试将虚拟机置为ACTIVE状态;
步骤S10030:如果重启虚拟机后,虚拟机仍为ERROR或SHUTOFF状态,A模块(NFVO/VNFM系统)通过Openstack或VMWare的API接口发起虚拟机迁移操作,将虚拟机迁移至其他可用节点,并启动虚拟机;
步骤S1040:虚拟机恢复正常状态。
场景二:
步骤S2010:A模块(NFVO/VNFM系统)定时通过Openstack或VMWare的API接口查询虚拟机所在节点与存储节点的连接关系;
步骤S2020:A模块(NFVO/VNFM系统)查询到虚拟机所在节点与存储节点的连接关系为FAIL。
步骤S2030:A模块(NFVO/VNFM系统)发起虚拟机迁移操作;
步骤S2040:虚拟机恢复正常状态。
场景三:
步骤S3010:虚拟机启动后,虚拟机内置的B模块(VM Agent)主动与A模块(NFVO/VNFM系统)建链,正常情况下,每隔60s进行一次心跳保活;
步骤S3020:虚拟机因系统盘不可用而挂死,B模块(VM Agent)无法正常发送心跳消息;
步骤S3030:A模块(NFVO/VNFM系统)三个心跳周期内未收到B模块(VM Agent)发送的心跳消息;
步骤S3040:A模块(NFVO/VNFM系统)通过Openstack或VMWare的API接口发起虚拟机重启或虚拟机迁移操作;
步骤S3050:虚拟机恢复正常状态。
场景四:
步骤S4010:虚拟机启动后,虚拟机内置的B模块(VM Agent)主动与A模块(NFVO/VNFM系统)建链,正常情况下,每隔60s进行一次心跳保活;
步骤S4020:B模块(VM Agent)检测到虚拟机内文件系统只读;
步骤S4030:B模块(VM Agent)向A模块(NFVO/VNFM系统)发送虚拟机重生请求,同时触发虚拟机内业务迁移;
步骤S4040:A模块(NFVO/VNFM系统)通过Openstack或VMWare的API接口发起虚拟机重启或虚拟机迁移操作;
步骤S4050:虚拟机恢复正常状态。
针对通用虚拟化NFV技术下由于VNF虚拟机磁盘产生故障,导致VNF系统或应用程序无法使用的问题,本发明的上述实施例提供了的一种自动检测和恢复方法和装置;有效的解决了业界的难题,且结构简单实施难度不高,可以应用于所有云化NFV虚拟应用的虚拟磁盘检测和恢复机制。部署在NFV云化系统的控制/计算节点以及VNF的虚拟机当中,通过结合云的检测特性以及部署的代理模块交互来进行有效的检测和自动恢复。该发明适用于所有NFV虚拟化的所有云化产品以及基于openstack、vmware虚拟化技术下的提升虚拟磁盘可靠性的方案中,应用前景广泛。
本发明的实施例还提供了一种存储介质。在本实施例中,该存储介质可以被设置为存储用于执行上述实施例步骤的程序代码:
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种虚拟机故障的检测和恢复方法,其特征在于,包括:
检测和恢复模块从云上的虚拟机中部署的检测代理模块获取所述虚拟机的状态;
判断所述虚拟机是否存在故障,当所述虚拟机存在故障时,所述检测和恢复模块发起所述虚拟机重启或所述虚拟机迁移操作。
2.根据权利要求1所述的方法,其特征在于,检测和恢复模块从云上的虚拟机中部署的检测代理模块获取所述虚拟机的状态之前,还包括:
所述虚拟机启动后,所述检测代理模块主动与所述检测和恢复模块建链,并周期地进行心跳保活。
3.根据权利要求1所述的方法,其特征在于,检测和恢复模块从云上的虚拟机中部署的检测代理模块获取所述虚拟机的状态,包括以下至少之一:
所述检测代理模块向所述检测和恢复模块周期地发送心跳消息;或者,
所述检测代理模块检测到所述虚拟机的所有磁盘状态为只读,则通知所述检测和恢复模块。
4.根据权利要求3所述的方法,其特征在于,当确定所述虚拟机存在故障时,所述检测和恢复模块发起所述虚拟机重启或所述虚拟机迁移操作,包括以下至少之一:
所述检测和恢复模块在若干心跳周期内未收到来自所述检测代理模块的心跳消息,则发起所述虚拟机重启或所述虚拟机迁移操作;
所述检测和恢复模块收到虚拟机的所有磁盘状态为只读的消息,则发起所述虚拟机重启或所述虚拟机迁移操作。
5.根据权利要求2所述的方法,其特征在于,所述虚拟机启动之前,还包括:
所述检测和恢复模块检测所述虚拟机的状态;
如果所述虚拟机状态为错误error或关闭shutoff状态,则所述检测和恢复模块通过所述云平台控制节点发起重启所述虚拟机的操作。
6.根据权利要求5所述的方法,其特征在于,则所述检测和恢复模块通过所述云平台控制节点发起重启所述虚拟机的操作之后,还包括:
所述检测和恢复模块重新检测所述虚拟机的状态;
如果所述虚拟机状态仍为错误error或关闭shutoff状态,则所述检测和恢复模块通过所述云平台控制节点发起所述虚拟机的迁移操作,所述迁移操作完成后重启所述虚拟机。
7.根据权利要求5或6所述的方法,其特征在于,还包括:
如果所述检测和恢复模块检测检测到所述虚拟机状态正常,则所述检测和恢复模块通过所述云平台控制节点定时检测所述虚拟机的磁盘的链路状态;
当所述虚拟机的磁盘的对应所有链路都处于失败fail状态,则所述检测和恢复模块通过所述云平台控制节点发起所述虚拟机的迁移操作,所述迁移操作完成后重启所述虚拟机。
8.根据权利要求2-7所述的方法,其特征在于,所述检测和恢复模块通过API模块对接访问不同类型的云平台控制节点。
9.一种虚拟机故障的检测和恢复装置,其特征在于,包括:检测和恢复模块、检测代理模块;所述检测和恢复模块部署在云平台控制节点中或单独部署,所述检测代理模块部署在云上的虚拟机中,其中,
所述检测代理模块,用于与所述检测和恢复进行通讯,并负责检测所述虚拟机的状态;
所述检测和恢复模块,用于通过所述云平台控制节点与所述检测代理模块交互,以获取所述虚拟机的状态,当确定所述虚拟机存在故障时,通过所述云平台控制节点发起所述虚拟机重启或所述虚拟机迁移操作。
10.根据权利要求9所述的装置,其特征在于,所述检测代理模块包括:
保活单元,用于在所述虚拟机启动后,主动与所述检测和恢复模块建链,并向所述检测和恢复模块周期地发送心跳消息以进行心跳保活。
11.根据权利要求10所述的装置,其特征在于,所述检测代理模块还包括:
通知单元,用于在检测到所述虚拟机的所有磁盘状态为只读的情况下,通知所述检测和恢复模块。
12.根据权利要求11所述的装置,其特征在于,所述检测和恢复模块包括:
第一执行单元,用于在若干心跳周期内未收到来自所述检测代理模块的心跳消息的情况下,通过所述云平台控制节点发起所述虚拟机重启或所述虚拟机迁移操作;
第二执行单元,用于在收到虚拟机的所有磁盘状态为只读的消息的情况下,通过所述云平台控制节点发起所述虚拟机重启或所述虚拟机迁移操作。
13.根据权利要求12所述的装置,其特征在于,所述检测和恢复模块还包括:
第一检测模块,用于在所述虚拟机启动之前,检测所述虚拟机的状态,如果所述虚拟机状态为错误error或关闭shutoff状态,则通过所述云平台控制节点发起重启所述虚拟机的操作。
14.根据权利要求13所述的装置,其特征在于,
所述第一检测模块,还用于重新检测所述虚拟机的状态,如果所述虚拟机状态仍为错误error或关闭shutoff状态,则通过所述云平台控制节点发起所述虚拟机的迁移操作,所述迁移操作完成后重启所述虚拟机。
15.根据权利要求14所述的装置,其特征在于,
所述第一检测模块,还用于在检测到所述虚拟机状态正常的情况下,通过所述云平台控制节点定时检测所述虚拟机的磁盘的链路状态;当所述虚拟机的磁盘的对应所有链路都处于失败fail状态,则通过所述云平台控制节点发起所述虚拟机的迁移操作,所述迁移操作完成后重启所述虚拟机。
16.根据权利要求9-15所述的装置,其特征在于,还包括应用编程接口API模块,所述API模块部署在云平台控制节点中或单独部署,其中,
所述API模块,用于对接访问不同类型的云平台控制节点。
CN201611059735.7A 2016-11-25 2016-11-25 虚拟机故障的检测和恢复方法及装置 Withdrawn CN108108255A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201611059735.7A CN108108255A (zh) 2016-11-25 2016-11-25 虚拟机故障的检测和恢复方法及装置
PCT/CN2017/112895 WO2018095414A1 (zh) 2016-11-25 2017-11-24 虚拟机故障的检测和恢复方法及装置
EP17873271.5A EP3550436A4 (en) 2016-11-25 2017-11-24 METHOD AND DEVICE FOR DETECTING AND RECOVERING A DEFECTIVE OF A VIRTUAL MACHINE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611059735.7A CN108108255A (zh) 2016-11-25 2016-11-25 虚拟机故障的检测和恢复方法及装置

Publications (1)

Publication Number Publication Date
CN108108255A true CN108108255A (zh) 2018-06-01

Family

ID=62195754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611059735.7A Withdrawn CN108108255A (zh) 2016-11-25 2016-11-25 虚拟机故障的检测和恢复方法及装置

Country Status (3)

Country Link
EP (1) EP3550436A4 (zh)
CN (1) CN108108255A (zh)
WO (1) WO2018095414A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491764A (zh) * 2018-11-20 2019-03-19 郑州云海信息技术有限公司 一种基于openstack的虚拟机故障管理方法
CN109495560A (zh) * 2018-11-07 2019-03-19 郑州云海信息技术有限公司 一种链路建立方法、装置、设备及存储介质
CN109558209A (zh) * 2018-11-20 2019-04-02 郑州云海信息技术有限公司 一种用于虚拟机的监控方法
CN111355605A (zh) * 2019-10-18 2020-06-30 烽火通信科技股份有限公司 一种云平台的虚拟机故障恢复方法及服务器
CN113127137A (zh) * 2019-12-30 2021-07-16 中标软件有限公司 使用自托管虚拟机的云计算管理平台及其创建实现方法
CN114691304A (zh) * 2022-03-28 2022-07-01 同方威视技术股份有限公司 实现集群虚拟机高可用的方法和装置、设备和介质
CN116643906A (zh) * 2023-06-01 2023-08-25 北京首都在线科技股份有限公司 云平台故障的处理方法、装置、电子设备及存储介质
WO2023185355A1 (zh) * 2022-03-28 2023-10-05 同方威视技术股份有限公司 实现集群虚拟机高可用的方法和装置、设备和介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762993A (zh) * 2018-06-06 2018-11-06 山东超越数控电子股份有限公司 一种基于人工智能的虚拟机故障迁移方法与装置
CN117032881A (zh) * 2023-07-31 2023-11-10 广东保伦电子股份有限公司 一种虚拟机异常检测和恢复的方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325192A (zh) * 2011-09-30 2012-01-18 上海宝信软件股份有限公司 云计算实现方法和系统
CN102355369A (zh) * 2011-09-27 2012-02-15 华为技术有限公司 虚拟化集群系统及其处理方法和设备
US20120117212A1 (en) * 2010-11-08 2012-05-10 Microsoft Corporation Insertion Of Management Agents During Machine Deployment
CN105024879A (zh) * 2015-07-15 2015-11-04 中国船舶重工集团公司第七0九研究所 虚拟机故障检测、恢复系统及虚拟机检测、恢复、启动方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117495B2 (en) * 2007-11-26 2012-02-14 Stratus Technologies Bermuda Ltd Systems and methods of high availability cluster environment failover protection
CN103207817B (zh) * 2013-04-23 2016-04-20 深圳市京华科讯科技有限公司 虚拟机自动还原方法
US9201744B2 (en) * 2013-12-02 2015-12-01 Qbase, LLC Fault tolerant architecture for distributed computing systems
US9582373B2 (en) * 2014-03-31 2017-02-28 Vmware, Inc. Methods and systems to hot-swap a virtual machine
US9665432B2 (en) * 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
CN104268061B (zh) * 2014-09-12 2017-03-15 国云科技股份有限公司 一种适用于虚拟机的存储状态监控方法
CN105357038B (zh) * 2015-10-26 2019-05-07 北京百度网讯科技有限公司 监控虚拟机集群的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117212A1 (en) * 2010-11-08 2012-05-10 Microsoft Corporation Insertion Of Management Agents During Machine Deployment
CN102355369A (zh) * 2011-09-27 2012-02-15 华为技术有限公司 虚拟化集群系统及其处理方法和设备
CN102325192A (zh) * 2011-09-30 2012-01-18 上海宝信软件股份有限公司 云计算实现方法和系统
CN105024879A (zh) * 2015-07-15 2015-11-04 中国船舶重工集团公司第七0九研究所 虚拟机故障检测、恢复系统及虚拟机检测、恢复、启动方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109495560A (zh) * 2018-11-07 2019-03-19 郑州云海信息技术有限公司 一种链路建立方法、装置、设备及存储介质
CN109491764A (zh) * 2018-11-20 2019-03-19 郑州云海信息技术有限公司 一种基于openstack的虚拟机故障管理方法
CN109558209A (zh) * 2018-11-20 2019-04-02 郑州云海信息技术有限公司 一种用于虚拟机的监控方法
CN109558209B (zh) * 2018-11-20 2021-10-29 郑州云海信息技术有限公司 一种用于虚拟机的监控方法
CN111355605A (zh) * 2019-10-18 2020-06-30 烽火通信科技股份有限公司 一种云平台的虚拟机故障恢复方法及服务器
CN113127137A (zh) * 2019-12-30 2021-07-16 中标软件有限公司 使用自托管虚拟机的云计算管理平台及其创建实现方法
CN114691304A (zh) * 2022-03-28 2022-07-01 同方威视技术股份有限公司 实现集群虚拟机高可用的方法和装置、设备和介质
CN114691304B (zh) * 2022-03-28 2023-01-06 同方威视技术股份有限公司 实现集群虚拟机高可用的方法和装置、设备和介质
WO2023185355A1 (zh) * 2022-03-28 2023-10-05 同方威视技术股份有限公司 实现集群虚拟机高可用的方法和装置、设备和介质
CN116643906A (zh) * 2023-06-01 2023-08-25 北京首都在线科技股份有限公司 云平台故障的处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
EP3550436A1 (en) 2019-10-09
EP3550436A4 (en) 2020-08-19
WO2018095414A1 (zh) 2018-05-31

Similar Documents

Publication Publication Date Title
CN108108255A (zh) 虚拟机故障的检测和恢复方法及装置
EP1397744B1 (en) Recovery computer for a plurality of networked computers
CN105051698B (zh) 用于基础设施即服务云中故障管理的方法和布置
CN106681924B (zh) 一种软件测试方法及系统
CN102972010B (zh) 一种云环境下虚拟应用双机的切换方法、装置及系统
CN108270726B (zh) 应用实例部署方法及装置
CN108139925A (zh) 虚拟机的高可用性
CN105204955B (zh) 一种虚拟机故障修复方法和装置
CN105812169B (zh) 一种主备机切换方法及装置
WO2013153472A1 (en) Providing application based monitoring and recovery for a hypervisor of an ha cluster
CN110377456A (zh) 一种虚拟化平台容灾的管理方法及装置
CN105607972B (zh) 一种异常修复的方法及装置
CN109274537B (zh) 一种连续性网络虚拟化平台系统
CN107797914A (zh) 代码处理方法、装置及代码发布系统
WO2016045439A1 (zh) 一种vnfm容灾保护的方法、装置和nfvo、存储介质
CN111324599B (zh) 一种区块链实验系统及管理方法
CN109799998A (zh) OpenStack集群配置及批量部署方法及系统
US20100023801A1 (en) Method to recover from ungrouped logical path failures
CN110297753A (zh) 一种验证软件版本的方法及系统
CN109358982A (zh) 硬盘自愈装置、方法以及硬盘
CN102713860B (zh) 一种用户体验指标监控方法及监控虚拟机
CN108600156A (zh) 一种服务器及安全认证方法
CN107707398B (zh) 云计算系统中管理物理主机的方法和装置
US11762741B2 (en) Storage system, storage node virtual machine restore method, and recording medium
CN110618884A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20180601

WW01 Invention patent application withdrawn after publication