CN105357038B - 监控虚拟机集群的方法和系统 - Google Patents

监控虚拟机集群的方法和系统 Download PDF

Info

Publication number
CN105357038B
CN105357038B CN201510703270.3A CN201510703270A CN105357038B CN 105357038 B CN105357038 B CN 105357038B CN 201510703270 A CN201510703270 A CN 201510703270A CN 105357038 B CN105357038 B CN 105357038B
Authority
CN
China
Prior art keywords
virtual machine
machine
cluster
node
response
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
CN201510703270.3A
Other languages
English (en)
Other versions
CN105357038A (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201510703270.3A priority Critical patent/CN105357038B/zh
Publication of CN105357038A publication Critical patent/CN105357038A/zh
Priority to US15/239,612 priority patent/US10152382B2/en
Priority to JP2016160156A priority patent/JP6285511B2/ja
Priority to KR1020160104238A priority patent/KR101888029B1/ko
Application granted granted Critical
Publication of CN105357038B publication Critical patent/CN105357038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • 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/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/1417Boot up procedures
    • 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/2025Failover techniques using centralised failover control functionality
    • 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/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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/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/2035Error 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 without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Abstract

本申请公开了监控虚拟机集群的方法和系统。所述方法的一具体实施方式包括:第一物理机间隔第一预设时间向虚拟机集群中的虚拟机发送虚拟机状态参数查询指令;虚拟机响应于接收到查询指令,向第一物理机发送响应信息;第一物理机响应于响应信息中断第二预设时间,确定虚拟机发生故障,判断发生故障的虚拟机是否满足预设的重启条件,若发生故障的虚拟机满足预设的重启条件,发送重启虚拟机指令给运行发生故障的虚拟机的第二物理机;第二物理机根据重启虚拟机指令,重启发生故障的虚拟机。该实施方式实现了对虚拟机的监控,在虚拟机发生故障时可以自动恢复,提高了虚拟机集群的可用性,减少了服务中断的时间。

Description

监控虚拟机集群的方法和系统
技术领域
本申请涉及计算机技术领域,具体涉及计算机网络技术领域,尤其涉及监控虚拟机集群的方法和系统。
背景技术
随着当前互联网的高速发展,虚拟化与大数据处理越来越受到业界的重视,而二者的融合,更成为当前业界研究的热门方向。在虚拟化环境里部署运行大数据处理方案,可以极大的提高系统资源的使用率和配置的灵活性。然而,虚拟环境相对于物理环境,存在更大的不确定性,系统的高可用性显得尤其重要。
在现有技术中,为了保持虚拟系统的高可用性,通常会对虚拟机的物理宿主机进行监控,以确定宿主机是否发生故障。
然而,上述的对虚拟机的物理宿主机进行监控的方法,在宿主机发生故障时需要通过运维人员手动修复物理宿主机上的全部虚拟机,耗时较久,并且造成长时间服务中断,给用户带来损失。
发明内容
本申请的目的在于提出一种监控虚拟机集群的方法和系统,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种监控虚拟机集群的方法,方法包括:第一物理机间隔第一预设时间向虚拟机集群中的虚拟机发送虚拟机状态参数查询指令;虚拟机响应于接收到查询指令,向第一物理机发送响应信息;第一物理机响应于响应信息中断第二预设时间,确定虚拟机发生故障,判断发生故障的虚拟机是否满足预设的重启条件,若发生故障的虚拟机满足预设的重启条件,发送重启虚拟机指令给运行发生故障的虚拟机的第二物理机;第二物理机根据重启虚拟机指令,重启发生故障的虚拟机。
第二方面,本申请提供了一种监控虚拟机集群的系统,系统包括:第一物理机,用于间隔第一预设时间向虚拟机集群中的虚拟机发送虚拟机状态参数查询指令,响应于响应信息中断第二预设时间,确定虚拟机发生故障,判断发生故障的虚拟机是否满足预设的重启条件,若发生故障的虚拟机满足预设的重启条件,发送重启虚拟机指令给运行发生故障的虚拟机的第二物理机;虚拟机,用于响应于接收到查询指令,向第一物理机发送响应信息;以及第二物理机,用于根据重启虚拟机指令,重启发生故障的虚拟机。
本申请提供的监控虚拟机集群的方法和系统,通过第一物理机间隔第一预设时间向虚拟机集群中的虚拟机发送虚拟机状态参数查询指令,而后通过虚拟机响应于接收到查询指令,向第一物理机发送响应信息,之后通过第一物理机响应于响应信息中断第二预设时间,确定虚拟机发生故障,判断发生故障的虚拟机是否满足预设的重启条件,若发生故障的虚拟机满足预设的重启条件,发送重启虚拟机指令给运行发生故障的虚拟机的第二物理机,最后通过第二物理机根据重启虚拟机指令,重启发生故障的虚拟机。该方法和系统可以实现对虚拟机的监控,在虚拟机发生故障时可以自动恢复,提高了虚拟机集群的可用性,减少了服务中断时间。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2示出了根据本申请实施例的监控虚拟机集群的方法的一个示意性流程图;
图3示出了根据本申请实施例的监控虚拟机集群的方法的又一个示意性流程图;
图4示出了根据本申请实施例的监控虚拟机集群的方法的第三个示意性流程图;
图5a示出了根据本申请实施例的虚拟机为管理节点的恢复流程示意图;
图5b示出了根据本申请实施例的虚拟机为计算节点的恢复流程示意图;
图6示出了根据本申请实施例的监控虚拟机集群的方法的第四个示意性流程图;
图7示出了用户应用本申请实施例的监控虚拟机集群的方法提交作业的流程图;
图8示出了根据本申请实施例的监控虚拟机集群的方法的第五个示意性流程图;
图9示出了根据本申请实施例的监控虚拟机集群的系统的示例性架构图;
图10示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的监控虚拟机集群的方法的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、部署虚拟机集群的服务器集群102和未部署虚拟机的服务器104。网络103用以在终端设备101、服务器集群102以及服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户110可以使用终端设备101通过网络103与服务器104交互以提交用户作业,服务器104可以通过网络103与服务器集群102交互,将用户提交的作业提交至服务器集群102上运行的虚拟机集群。终端设备101上可以安装有各种客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件、云平台应用等。
终端设备101可以是具有人机交互组件并且支持作业提交的各种电子设备,包括但不限于移动智能终端、平板电脑、膝上型便携计算机、台式计算机、多媒体播放器和电子阅读器等等。
服务器集群102可以由提供数据分析处理的多个服务器组成,其上可以运行由大量的虚拟机组成的虚拟机集群。其中,虚拟机集群中的虚拟机可以分为两类:管理节点和计算节点。管理节点负责整个集群的管理、资源调度和用户提交的作业管理,计算节点主要负责计算具体子任务的执行。
服务器104可以是提供数据分析处理的服务器,也可以是多个服务器组成的服务器集群。例如对终端设备101提交的用户作业进行分析处理的服务器。服务器104可以对服务器集群102上运行的虚拟机集群提供的运行数据进行分析处理,以将终端设备101提交的用户作业分派至服务器集群102上运行的虚拟机集群中的管理节点上,再由管理节点将提交的用户作业分派至虚拟机集群中的计算节点,之后管理节点获取计算节点对提交的用户作业的数据分析处理结果,并将该处理结果返回给服务器104,再由服务器104将提交的用户作业的数据分析处理结果返回给终端设备101。
需要说明的是,本申请实施例所提供的监控虚拟机集群的方法中的操作步骤一般由服务器集群102、运行于服务器集群102上的虚拟机集群和服务器104执行,向服务器104提交用户作业的操作步骤一般由终端设备101执行。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本申请实施例的监控虚拟机集群的方法的一个示意性流程图200。该监控虚拟机集群的方法200,包括以下步骤:
在步骤201中,第一物理机间隔第一预设时间向虚拟机集群中的虚拟机发送虚拟机状态参数查询指令。
在本实施例中,第一物理机是指未部署虚拟机的物理机,例如图1中的服务器104。虚拟机集群可以集中多个虚拟机一起进行同一种服务,在客户端看来就像是只有一个虚拟机。一个计算机上可以部署一个或多个虚拟机,多个计算机上部署的虚拟机形成虚拟机集群,虚拟机集群可以同时进行并行计算,从而获得很高的计算速度。
上述的第一预设时间是第一物理机向虚拟机发送查询指令的间隔时间,可以综合考虑物理机的参数、网络参数、虚拟机的参数、虚拟机系统资源使用率以及虚拟机系统配置的灵活性等进行设定。
上述的查询指令,可以为轮询虚拟机的健康状态的指令,例如:查询以下一项或多项虚拟机状态参数信息的指令:虚拟机磁盘使用率、虚拟机网络I/O负载和虚拟机CPU使用率等。
在步骤202中,虚拟机响应于接收到查询指令,向第一物理机发送响应信息。
在本实施例中,虚拟机在接收第一物理机发送的查询指令之后,通过运行于虚拟机上的服务进程向第一物理机发送响应信息。
在步骤203中,第一物理机响应于响应信息中断第二预设时间,确定虚拟机发生故障,判断发生故障的虚拟机是否满足预设的重启条件,若发生故障的虚拟机满足预设的重启条件,发送重启虚拟机指令给运行发生故障的虚拟机的第二物理机。
在本实施例中,第一物理机中预设了第二预设时间,第二预设时间为正常工作时允许的响应信息间隔的响应时间,若响应信息中断第二预设时间,则确定虚拟机发生故障。
若发生故障的虚拟机满足预设的重启条件,也即当发生故障的虚拟机虽影响到虚拟机集群的工作效率,但满足尝试修复的条件时,可以发送重启虚拟机指令给运行发生故障的虚拟机的第二物理机。例如,在一个可选的实现方式中,若发生故障的虚拟机的比例小于预设比例,可以发送重启虚拟机指令给第二物理机;在另一个可选的实现方式中,若发生故障的虚拟机距上一次重启或重建虚拟机的时间超过第三预设时间,发送重启虚拟机指令给第二物理机。其中,发生故障的虚拟机的比例是指发生故障的虚拟机占虚拟机集群中所有虚拟机的比例。
在步骤204中,第二物理机根据重启虚拟机指令,重启发生故障的虚拟机。
在第一物理机发送重启虚拟机指令给第二物理机之后,第二物理机根据接收的重启虚拟机指令,重启发生故障的虚拟机。
在一些可选的实现方式中,第二物理机在重启发生故障的虚拟机之后,还可以重启该虚拟机的服务进程。例如,第二物理机在重启发生故障的虚拟机时,发送重启响应信号至第一物理机;第一物理机响应于接收到重启响应信号,从预先记录的虚拟机的元信息中获取发生故障的虚拟机的地址,根据地址,连接重启的虚拟机,发送重启第一服务进程信号至重启的虚拟机;重启的虚拟机根据重启第一服务进程信号,启动重启的虚拟机的服务进程。其中,第一服务进程为运行于重启的虚拟机的服务进程。
在本实施例的一个具体的应用场景中,该监控虚拟机集群的方法可以包括:在虚拟机集群之外的第一物理机上部署监控进程,同时直接在虚拟机内部署代理进程。监控进程与虚拟机内代理进程通过定期发送心跳信息进行通信。当心跳中断时,监控进程认为代理进程所在的虚拟机处于非健康状态。当虚拟机处于非健康状态超过指定的时间阈值,则判定虚拟机故障。当虚拟机处于故障状态时,虚拟机恢复规则如下:首先检测整个集群的虚拟机故障状态,如果集群中存在大量的虚拟机故障,则认为是虚拟网络故障,此时恢复会造成大量误操作。所以在这种状态下可以不恢复虚拟机,等待网络故障修复。同时为了防止过于频繁的恢复对系统造成过大的压力,如果要恢复的虚拟机在一定时间内恢复过,则不予恢复,以便对恢复虚拟机的流量进行控制,减轻系统压力。
本申请上述实施例提供的监控虚拟机集群的方法,对物理机上的每个虚拟机进行单独监控,能够发现虚拟机层面的假死与故障;同时对于虚拟机集群的情况进行判断,防止因为网络故障造成误操作;还对于恢复虚拟机的频率进行了控制,防止对系统造成压力。
进一步参考图3,其示出了根据本申请实施例的基于图2的监控虚拟机集群的方法的一个示意性流程图300。
该监控虚拟机集群的方法300,在图2的监控虚拟机集群的方法的基础上,还可以包括以下步骤:
在步骤301中,第一物理机响应于发送重启虚拟机指令后预定时间内未接收到重启响应信号,确定重启发生故障的虚拟机失败,响应于重启失败的次数达到预设次数,发送重建虚拟机指令至第三物理机。
在本实施例中,第三物理机为虚拟机集群的宿主物理机集群中除第二物理机之外的物理机。
在步骤302中,第三物理机根据重建虚拟机指令,重建发生故障的虚拟机。
从图3中可以看出,与图2对应的实施例相比,本实施例中的监控虚拟机集群的方法的流程300,突出了第一物理机发送重建虚拟机指令和第三物理机根据重建虚拟机指令重建发生故障的虚拟机。由此,本实施例描述的方案可以引入重建发生故障的虚拟机,当第一物理机发送重启虚拟机指令后预定时间内未接收到重启响应信号后,可以发送重建虚拟机指令至第三物理机,对发生故障的虚拟机进行重建。
进一步参考图4,其示出了根据本申请实施例的基于图3的监控虚拟机集群的方法的一个示意性流程图400。
该监控虚拟机集群的方法400,在图3的监控虚拟机集群的方法的基础上,还可以包括以下步骤:
在步骤401中,第三物理机发送重建响应信号至第一物理机。
在本实施例中,第三物理机在根据接收的重建虚拟机指令重建虚拟机之后,可以发送重建响应信号至第一物理机以告知第一物理机重建虚拟机事务完成。
在步骤402中,第一物理机响应于接收到重建响应信号,从虚拟机的元信息中获取发生故障的虚拟机的元信息,根据获取的元信息,发送节点恢复指令至重建的虚拟机。
在本实施例中,第一物理机在根据接收的重建响应信号确定第三物理机完成重建虚拟机事务之后,根据发生故障的虚拟机的地址,从第一物理机中预先记录的虚拟机的元信息中,查询出发生故障的虚拟机的元信息,并根据发生故障的虚拟机的元信息所指示的虚拟机节点的类型,生成节点恢复指令,按照发生故障的虚拟机的地址,发送节点恢复指令至重建的虚拟机。其中,重建的虚拟机的地址与发生故障的虚拟机的地址相同,节点恢复指令包括虚拟机节点的类型,并且节点恢复指令与虚拟机节点的类型相适应。
在步骤403中,重建的虚拟机若根据节点恢复指令确定重建的虚拟机为管理节点,则根据节点恢复指令,从远程存储下载预先备份的关联原管理节点的增量数据,基于增量数据,恢复重建的管理节点的元数据,接受虚拟机集群中的计算节点注册。
在本实施例中,若上述的节点恢复指令中的虚拟机节点的类型为管理节点,则重建的虚拟机根据节点恢复指令,首先从远程存储下载预先备份的关联原管理节点的增量数据,之后基于增量数据,恢复重建的管理节点的元数据,然后接受虚拟机集群中的计算节点注册。
在一个可选的实现方式中,为了方便第一物理机监控重建的虚拟机,上述的监控虚拟机集群的方法还可以包括:重建的管理节点响应于预定时间内注册的虚拟机集群中的计算节点大于或等于预设比例,确定重建成功,发送指示重建成功的信号至第一物理机,响应于预定时间内注册的虚拟机集群中的计算节点低于预设比例,发送指示重建失败的报警信号至第一物理机;第一物理机根据指示重建成功的信号,向重建的管理节点提交接收的用户作业,根据指示重建失败的报警信号,呈现报警提示。
在本实施例的一个具体的应用场景中,如图5a所示,图5a示出了根据本申请实施例的虚拟机为管理节点的恢复流程示意图。
在图5a中,管理节点的恢复流程包括以下步骤:
在步骤501中,发生故障的虚拟机被判断为管理节点。
在步骤502中,管理节点根据接收的重启虚拟机指令,重启管理节点所处的虚拟机,如果重启成功,则继续重启虚拟节点上的业务服务进程。
在步骤503中,管理节点如果重启不成功,则继续尝试,当尝试若干次均失败,则可认定是虚拟机所处的宿主物理机故障,如果是物理机故障,则报警提示第一物理机,之后另外一台宿主机根据接收的第一物理机的重建指令,尝试在该宿主机上重新构建失效的虚拟节点。
在步骤504中,管理节点构建成功后,从远程存储恢复增量备份的元信息。
在步骤505中,管理节点通过增量备份的元信息恢复管理节点上的数据。
在步骤506中,管理节点启动服务进程。
在步骤507中,管理节点等待计算节点注册。
在步骤508中,管理节点将已经注册的计算节点重新加入计算集群中。
返回图4,在步骤404中,重建的虚拟机若根据节点恢复指令确定重建的虚拟机为计算节点,则根据节点恢复指令,向虚拟机集群中的管理节点注册。
在本实施例中,若上述的节点恢复指令恢复的虚拟机节点的类型为计算节点,则根据节点恢复指令,向虚拟机集群中的管理节点进行注册。
在本实施例的一个具体的应用场景中,如图5b所示,图5b示出了根据本申请实施例的虚拟机为计算节点的恢复流程示意图。
在图5b中,计算节点的恢复流程包括以下步骤:
在步骤551中,发生故障的虚拟机被判断为计算节点。
在步骤552中,计算节点所在的物理机根据接收的重启虚拟机指令,重启计算节点所在的虚拟机,如果成功,则开始恢复计算节点服务进程。
在步骤553中,计算节点如果重启失败,尝试若干次,如果全部失败,则报警提示第一物理机,另一台物理机在接收到第一物理机的重建虚拟机指令之后,在其上重建虚拟计算节点。
在步骤554中,计算节点启动计算节点服务进程。
在步骤555中,向计算节点集群中管理节点注册。
在步骤556中,计算节点重新加入虚拟计算集群。
返回图4,从图4中可以看出,与图3对应的实施例相比,本实施例中的监控虚拟机集群的方法的流程400,突出了重建的虚拟机根据节点恢复指令恢复节点的步骤。由此,本实施例描述的方案可以引虚拟机节点恢复,管理节点和计算节点根据节点恢复指令分别采取不同的恢复步骤,从而恢复管理节点或计算节点。
进一步参考图6,其示出了根据本申请实施例的基于图4的监控虚拟机集群的方法的一个示意性流程图600。该监控虚拟机集群的方法600,在图4的监控虚拟机集群的方法的基础上,还包括以下步骤:
步骤601,根据虚拟机的元信息,确定发生故障的虚拟机是否包括管理节点以及发生故障的计算节点的比例是否超过阈值。
在本实施例中,根据预先记录于第一物理机中的虚拟机的元信息,可以确定发生故障的虚拟机节点的节点类型是管理节点还是计算节点,若发生故障的虚拟机节点的节点类型为计算节点,还可以确定发生故障的计算节点的比例是否超过阈值。
步骤602,响应于确定发生故障的虚拟机包括管理节点或发生故障的计算节点的比例超过阈值,确定虚拟机集群发生故障。
在本实施例中,当步骤601中确定发生故障的虚拟机包括管理节点时,由于管理节点故障会导致无法对计算节点中的服务进程进行监控,因此可以确定虚拟机集群发生故障;或者,当步骤601中确定发生故障的计算节点的比例超过阈值时,虚拟机集群中存在大量的虚拟机故障,影响计算节点的数据处理能力,也可以确定为虚拟机集群发生故障。
步骤603,响应于虚拟机集群发生故障,继续接收用户作业,停止提交用户作业至虚拟机集群中的管理节点。
在本实施例中,当虚拟机集群发生故障时,由于第一物理机与虚拟机集群分开设置,可以由第一物理机继续接收用户作业,但停止提交用户作业至虚拟机集群中的管理节点。
步骤604,响应于响应信息来自于重启或重建的虚拟机,判断重启或重建的虚拟机是否包括管理节点以及发生故障的计算节点的比例是否超过阈值。
在本实施例中,当响应信息来自于重启或重建的虚拟机时,可以判断重启或重建的虚拟机是否包括管理节点,并且判断发生故障的计算节点的比例是否超过阈值。其中,响应信息的来源,至少可以根据发送响应信息的虚拟机的地址来确定。
步骤605,响应于确定重启或重建的虚拟机包括管理节点以及发生故障的计算节点的比例未超过阈值,确定虚拟机集群从故障中恢复。
在本实施例中,当确定重启或重建的虚拟机包括管理节点并且确定发生故障的计算节点的比例未超过阈值时,可以确定虚拟机集群从故障中恢复,也即虚拟机集群具备了接收并处理用户作业的能力。
步骤606,响应于虚拟机集群从故障中恢复,继续向虚拟机集群中的管理节点提交作业,以及根据从管理节点查询的作业状态信息,确定在虚拟机集群发生故障之前运行的作业是否成功,若成功,则提交下一个作业,若失败,则重新提交失败的作业。
在本实施例中,当虚拟机集群从故障中恢复时,第一物理机将接收的用户作业提交至虚拟机集群中的管理节点,并且根据从管理节点查询到的计算节点的作业状态信息,确定在虚拟机集群发生故障之前运行的作业是否成功,若成功,则提交下一个作业,若失败,则重新提交失败的作业。其中,作业状态信息为管理节点根据计算节点的作业日志获取。
步骤607,响应于确定发生故障的虚拟机不包括管理节点且发生故障的计算节点的比例未超过阈值,继续接收用户作业,并提交用户作业至虚拟机集群中的管理节点。
在本实施例中,第一物理机响应于确定发生故障的虚拟机不包括管理节点且发生故障的计算节点的比例未超过阈值,确定虚拟机集群运行状态正常,则继续接收用户作业,并提交用户作业至虚拟机集群中的管理节点。
在一些可选的实现方式中,上述的监控虚拟机集群的方法还可以包括:虚拟机集群中的管理节点定期将增量操作日志备份至远程存储;以及远程存储定期合并备份的操作日志,并删除合并时间点之前的操作日志。
在本实施例的一个具体应用场景中,如图7所示,图7示出了用户应用本申请实施例的监控虚拟机集群的方法提交作业的流程图。
在图7中,在虚拟机集群之外的第一物理机720上部署作业管理进程,用以管理和调度虚拟机集群上的用户作业。用户710先提交作业到第一物理机720上的作业管理进程,作业管理进程再提交具体的作业到虚拟计算集群中的管理节点730。当有虚拟节点发生故障时,如果故障节点是计算节点740且故障的计算节点740比例低于一定的阈值,则继续接受并提交作业到虚拟计算集群。如果故障节点是管理节点730或者故障的计算节点740数值大于一定的阈值,则认为是虚拟计算集群故障,作业管理进程继续接受任务作业,但停止向计算集群提交作业。同时以一定的时间间隔查看虚拟集群状态。当管理节点730恢复正常且正常的计算节点740大于一定阈值时,继续向虚拟集群提交作业。作业管理进程记录已经提交和正在运行的作业,当虚拟集群从故障中恢复时,作业管理进程检测之前在虚拟集群中运行的作业。如果失败,则重新提交。如果成功,则提交下一个用户作业。
返回图6,从图6中可以看出,与图4对应的实施例相比,本实施例中的监控虚拟机集群的方法的流程600突出了将作业管理进程与虚拟机集群分离,对用户提交的作业进行管理的步骤。由此,本实施例描述的方案可以引入作业管理进程,从而实现在虚拟机发生故障时继续接收用户作业,并且能够重新提交因为虚拟节点或者集群故障导致执行失败的作业,提高了对用户作业的管理能力。
进一步参考图8,其示出了根据本申请实施例的基于图6的监控虚拟机集群的方法的一个示意性流程图800。该监控虚拟机集群的方法800,在图6的监控虚拟机集群的方法的基础上,还可以包括以下步骤:
步骤801,虚拟机集群中的计算节点间隔第二预设时间向虚拟机集群中的管理节点发送第一心跳信息以汇报运行于计算节点上的第二服务进程的状态信息。
在本实施例中,第二预设时间为预先设置的计算节点向管理节点发送第一心跳信息的间隔时间,第二服务进程为运行于计算节点上的服务进程。
步骤802,虚拟机集群中的管理节点判断第二服务进程的状态信息是否符合预定的正常进程条件,若不符合,记录第二服务进程的状态信息不符合预定的正常进程条件的次数,响应于第二服务进程的状态信息不符合预定条件的次数超出预定次数,确定第二服务进程异常,发送第二服务进程重启信号给异常的第二服务进程所在的计算节点。
在本实施例中,在步骤801中计算节点向管理节点发送第一心跳信息汇报运行于计算节点上的第二服务进程的状态信息之后,管理节点判断第二服务进程的状态信息是否正常,若异常,则记录异常次数,当异常次数达到一定次数时,判定第二服务进程异常,通知代理进程重启相关的业务进程,以恢复服务。
步骤803,异常的第二服务进程所在的计算节点根据第二服务进程重启信号,重启异常的第二服务进程。
在一些可选的实现方式中,虚拟机集群中的计算节点向虚拟机集群中的管理节点发送第二心跳信息以汇报虚拟机状态参数信息;虚拟机集群中的管理节点判断虚拟机状态参数信息是否符合预置的异常条件,若符合,则呈现报警提示,以便运营维护人员可以迅速介入解决相关的问题,修复计算节点。
从图8中可以看出,与图6所示的实施例相比,本实施例中的监控虚拟机集群的方法的流程800突出了监控和管理第二服务进程的步骤。由此,本实施例描述的方案可以引入重启异常的第二服务进程,从而在第二服务进程异常时,重启异常的第二服务进程,以恢复虚拟机的服务。
进一步参考图9,作为对上述各图所示方法的实现,该系统实施例与图2所示的方法实施例相对应,提供了根据本申请实施例的监控虚拟机集群的系统的示例性架构图。
如图9所示,监控虚拟机集群的系统900包括:第一物理机910,虚拟机集群920和运行虚拟机集群的物理机集群(未全部示出)。
第一物理机910,用于间隔第一预设时间向虚拟机集群中的虚拟机发送虚拟机状态参数查询指令,响应于响应信息中断第二预设时间,确定虚拟机发生故障,判断发生故障的虚拟机是否满足预设的重启条件,若发生故障的虚拟机满足预设的重启条件,发送重启虚拟机指令给运行发生故障的虚拟机的第二物理机。
虚拟机集群920,包括虚拟机921,虚拟机921配置用于响应于接收到查询指令,向第一物理机发送响应信息。
物理机集群,包括运行发生故障的虚拟机922的第二物理机923。第二物理机923,配置用于根据重启虚拟机指令,重启发生故障的虚拟机。
在一些可选的实现方式中,第二物理机进一步用于:在重启发生故障的虚拟机时,发送重启响应信号至第一物理机,重启的虚拟机根据重启第一服务进程信号,启动重启的虚拟机的服务进程;以及第一物理机进一步用于:响应于接收到重启响应信号,从预先记录的虚拟机的元信息中获取发生故障的虚拟机的地址,根据地址,连接重启的虚拟机,发送重启第一服务进程信号至重启的虚拟机。
与图3所示的方法实施例相对应,在一些可选的实现方式中,系统还包括:第三物理机,用于根据重建虚拟机指令,重建发生故障的虚拟机;以及第一物理机进一步用于:响应于发送重启虚拟机指令后预定时间内未接收到重启响应信号,确定重启发生故障的虚拟机失败,响应于重启失败的次数达到预设次数,发送重建虚拟机指令至第三物理机,其中,第三物理机为虚拟机集群的宿主物理机集群中除第二物理机之外的物理机。
与图4所示的方法实施例相对应,在一些可选的实现方式中,第三物理机进一步用于:发送重建响应信号至第一物理机;重建的虚拟机若根据节点恢复指令确定重建的虚拟机为管理节点,则根据节点恢复指令,从远程存储下载预先备份的关联原管理节点的增量数据,基于增量数据,恢复重建的管理节点的元数据,接受虚拟机集群中的计算节点注册,若根据节点恢复指令确定重建的虚拟机为计算节点,则根据节点恢复指令,向虚拟机集群中的管理节点注册;以及第一物理机进一步用于:响应于接收到重建响应信号,从虚拟机的元信息中获取发生故障的虚拟机的元信息,根据获取的元信息,发送节点恢复指令至重建的虚拟机。
在一些可选的实现方式中,系统还包括:重建的管理节点进一步用于:响应于预定时间内注册的虚拟机集群中的计算节点大于或等于预设比例,确定重建成功,发送指示重建成功的信号至第一物理机,响应于预定时间内注册的虚拟机集群中的计算节点低于预设比例,发送指示重建失败的报警信号至第一物理机;第一物理机进一步用于:根据指示重建成功的信号,向重建的管理节点提交接收的用户作业,根据指示重建失败的报警信号,呈现报警提示。
与图6所示的方法实施例相对应,在一些可选的实现方式中,第一物理机进一步用于:根据虚拟机的元信息,确定发生故障的虚拟机是否包括管理节点以及发生故障的计算节点的比例是否超过阈值;响应于确定发生故障的虚拟机包括管理节点或发生故障的计算节点的比例超过阈值,确定虚拟机集群发生故障;响应于虚拟机集群发生故障,继续接收用户作业,停止提交用户作业至虚拟机集群中的管理节点;响应于响应信息来自于重启或重建的虚拟机,判断重启或重建的虚拟机是否包括管理节点以及发生故障的计算节点的比例是否超过阈值;响应于确定重启或重建的虚拟机包括管理节点以及发生故障的计算节点的比例未超过阈值,确定虚拟机集群从故障中恢复;响应于虚拟机集群从故障中恢复,继续向虚拟机集群中的管理节点提交作业,以及根据从管理节点查询的作业状态信息,确定在虚拟机集群发生故障之前运行的作业是否成功,若成功,则提交下一个作业,若失败,则重新提交失败的作业,其中,作业状态信息为管理节点根据计算节点的作业日志获取;响应于确定发生故障的虚拟机不包括管理节点且发生故障的计算节点的比例未超过阈值,继续接收用户作业,并提交用户作业至虚拟机集群中的管理节点。
在一些可选的实现方式中,系统还包括:远程存储,用于定期合并备份的操作日志,并删除合并时间点之前的操作日志;以及虚拟机集群中的管理节点进一步用于:定期将增量操作日志备份至远程存储。
在一些可选的实现方式中,虚拟机集群中的计算节点进一步用于:间隔第二预设时间向虚拟机集群中的管理节点发送第一心跳信息以汇报运行于计算节点上的第二服务进程的状态信息;以及异常的第二服务进程所在的计算节点根据第二服务进程重启信号,重启异常的第二服务进程;虚拟机集群中的管理节点进一步用于:判断第二服务进程的状态信息是否符合预定的正常进程条件,若不符合,记录第二服务进程的状态信息不符合预定的正常进程条件的次数,响应于第二服务进程的状态信息不符合预定条件的次数超出预定次数,确定第二服务进程异常,发送第二服务进程重启信号给异常的第二服务进程所在的计算节点。
在一些可选的实现方式中,虚拟机集群中的计算节点进一步用于:向虚拟机集群中的管理节点发送第二心跳信息以汇报虚拟机状态参数信息;虚拟机集群中的管理节点进一步用于:判断虚拟机状态参数信息是否符合预置的异常条件,若符合,则呈现报警提示。
本申请的上述实施例提供的监控虚拟机集群的系统,可以实现对虚拟机的监控,在虚拟机发生故障时可以自动恢复虚拟机及虚拟机中运行的服务,提高了虚拟机集群的可用性,减少了服务中断时间。
本领域技术人员可以理解,上述各节点中还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图9中未示出。
下面参考图10,其示出了适于用来实现本申请实施例的服务器的计算机系统1000的结构示意图。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述系统中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述系统:第一物理机间隔第一预设时间向虚拟机集群中的虚拟机发送虚拟机状态参数查询指令;虚拟机响应于接收到查询指令,向第一物理机发送响应信息;第一物理机响应于响应信息中断第二预设时间,确定虚拟机发生故障,判断发生故障的虚拟机是否满足预设的重启条件,若发生故障的虚拟机满足预设的重启条件,发送重启虚拟机指令给运行发生故障的虚拟机的第二物理机;第二物理机根据重启虚拟机指令,重启发生故障的虚拟机。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (19)

1.一种监控虚拟机集群的方法,其特征在于,所述方法包括:
第一物理机间隔第一预设时间向虚拟机集群中的虚拟机发送虚拟机状态参数查询指令;
所述虚拟机响应于接收到所述查询指令,向所述第一物理机发送响应信息;
所述第一物理机响应于未接收到所述响应信息的时间长度大于第二预设时间,确定虚拟机发生故障,判断发生故障的虚拟机是否满足预设的重启条件,若发生故障的虚拟机满足预设的重启条件,发送重启虚拟机指令给运行所述发生故障的虚拟机的第二物理机;
所述第二物理机根据所述重启虚拟机指令,重启所述发生故障的虚拟机;
所述第二物理机在重启所述发生故障的虚拟机时,发送重启响应信号至所述第一物理机;
所述第一物理机响应于接收到所述重启响应信号,从预先记录的虚拟机的元信息中获取发生故障的虚拟机的地址,根据所述地址,连接所述重启的虚拟机,发送重启第一服务进程信号至所述重启的虚拟机;
所述重启的虚拟机根据所述重启第一服务进程信号,启动所述重启的虚拟机的服务进程。
2.根据权利要求1所述的方法,其特征在于,所述若发生故障的虚拟机满足预设的重启条件,发送重启虚拟机指令给运行所述发生故障的虚拟机的第二物理机包括:
若发生故障的虚拟机的比例小于预设比例,发送重启虚拟机指令给所述第二物理机;或
若发生故障的虚拟机距上一次重启或重建虚拟机的时间超过第三预设时间,发送重启虚拟机指令给所述第二物理机。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一物理机响应于发送所述重启虚拟机指令后预定时间内未接收到所述重启响应信号,确定重启所述发生故障的虚拟机失败,响应于重启失败的次数达到预设次数,发送重建虚拟机指令至第三物理机,其中,所述第三物理机为所述虚拟机集群的宿主物理机集群中除所述第二物理机之外的物理机;
所述第三物理机根据所述重建虚拟机指令,重建所述发生故障的虚拟机。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述第三物理机发送重建响应信号至所述第一物理机;
所述第一物理机响应于接收到所述重建响应信号,从所述虚拟机的元信息中获取发生故障的虚拟机的元信息,根据获取的元信息,发送节点恢复指令至所述重建的虚拟机;
所述重建的虚拟机若根据所述节点恢复指令确定所述重建的虚拟机为管理节点,则根据所述节点恢复指令,从远程存储下载预先备份的关联原管理节点的增量数据,基于所述增量数据,恢复所述重建的管理节点的元数据,接受所述虚拟机集群中的计算节点注册,若根据所述节点恢复指令确定所述重建的虚拟机为计算节点,则根据所述节点恢复指令,向所述虚拟机集群中的管理节点注册。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述重建的管理节点响应于预定时间内注册的所述虚拟机集群中的计算节点大于或等于预设比例,确定重建成功,发送指示重建成功的信号至所述第一物理机,响应于预定时间内注册的所述虚拟机集群中的计算节点低于预设比例,发送指示重建失败的报警信号至所述第一物理机;
所述第一物理机根据所述指示重建成功的信号,向所述重建的管理节点提交接收的用户作业,根据所述指示重建失败的报警信号,呈现报警提示。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括通过所述第一物理机执行以下操作:
根据所述虚拟机的元信息,确定所述发生故障的虚拟机是否包括管理节点以及发生故障的计算节点的比例是否超过阈值;
响应于确定发生故障的虚拟机包括管理节点或发生故障的计算节点的比例超过阈值,确定所述虚拟机集群发生故障;
响应于所述虚拟机集群发生故障,继续接收用户作业,停止提交用户作业至所述虚拟机集群中的管理节点;
响应于所述响应信息来自于重启或重建的虚拟机,判断所述重启或重建的虚拟机是否包括管理节点以及发生故障的计算节点的比例是否超过所述阈值;
响应于确定所述重启或重建的虚拟机包括管理节点以及发生故障的计算节点的比例未超过所述阈值,确定所述虚拟机集群从故障中恢复;
响应于所述虚拟机集群从故障中恢复,继续向所述虚拟机集群中的管理节点提交作业,以及根据从所述管理节点查询的作业状态信息,确定在所述虚拟机集群发生故障之前运行的作业是否成功,若成功,则提交下一个作业,若失败,则重新提交失败的作业,其中,所述作业状态信息为所述管理节点根据所述计算节点的作业日志获取;
响应于确定发生故障的虚拟机不包括管理节点且发生故障的计算节点的比例未超过阈值,继续接收用户作业,并提交所述用户作业至所述虚拟机集群中的管理节点。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述虚拟机集群中的管理节点定期将增量操作日志备份至远程存储;
所述远程存储定期合并备份的操作日志,并删除合并时间点之前的操作日志。
8.根据权利要求1至7任意一项所述的方法,其特征在于,所述方法还包括:
所述虚拟机集群中的计算节点间隔第二预设时间向所述虚拟机集群中的管理节点发送第一心跳信息以汇报运行于计算节点上的第二服务进程的状态信息;
所述虚拟机集群中的管理节点判断所述第二服务进程的状态信息是否符合预定的正常进程条件,若不符合,记录所述第二服务进程的状态信息不符合预定的正常进程条件的次数,响应于所述第二服务进程的状态信息不符合预定条件的次数超出预定次数,确定所述第二服务进程异常,发送第二服务进程重启信号给异常的第二服务进程所在的计算节点;
所述异常的第二服务进程所在的计算节点根据所述第二服务进程重启信号,重启异常的第二服务进程。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述虚拟机集群中的计算节点向所述虚拟机集群中的管理节点发送第二心跳信息以汇报虚拟机状态参数信息;
所述虚拟机集群中的管理节点判断所述虚拟机状态参数信息是否符合预置的异常条件,若符合,则呈现报警提示。
10.根据权利要求9所述的方法,其特征在于,所述虚拟机状态参数信息包括以下一项或多项:虚拟机磁盘使用率、虚拟机网络I/O负载和虚拟机CPU使用率。
11.一种监控虚拟机集群的系统,其特征在于,所述系统包括:
第一物理机,用于间隔第一预设时间向虚拟机集群中的虚拟机发送虚拟机状态参数查询指令,响应于未接收到响应信息的时间长度大于第二预设时间,确定虚拟机发生故障,判断发生故障的虚拟机是否满足预设的重启条件,若发生故障的虚拟机满足预设的重启条件,发送重启虚拟机指令给运行所述发生故障的虚拟机的第二物理机;
所述虚拟机,用于响应于接收到所述查询指令,向所述第一物理机发送所述响应信息;以及
所述第二物理机,用于根据所述重启虚拟机指令,重启所述发生故障的虚拟机,在重启所述发生故障的虚拟机时,发送重启响应信号至所述第一物理机;
所述第一物理机进一步用于:响应于接收到所述重启响应信号,从预先记录的虚拟机的元信息中获取发生故障的虚拟机的地址,根据所述地址,连接所述重启的虚拟机,发送重启第一服务进程信号至所述重启的虚拟机;
所述重启的虚拟机进一步用于:根据所述重启第一服务进程信号,启动所述重启的虚拟机的服务进程。
12.根据权利要求11所述的系统,其特征在于,所述第二物理机进一步用于:在重启所述发生故障的虚拟机时,发送重启响应信号至所述第一物理机,所述重启的虚拟机根据重启第一服务进程信号,启动所述重启的虚拟机的服务进程;以及
所述第一物理机进一步用于:响应于接收到所述重启响应信号,从预先记录的虚拟机的元信息中获取发生故障的虚拟机的地址,根据所述地址,连接所述重启的虚拟机,发送所述重启第一服务进程信号至所述重启的虚拟机。
13.根据权利要求12所述的系统,其特征在于,所述系统还包括:第三物理机,用于根据重建虚拟机指令,重建所述发生故障的虚拟机;以及
所述第一物理机进一步用于:响应于发送所述重启虚拟机指令后预定时间内未接收到所述重启响应信号,确定重启所述发生故障的虚拟机失败,响应于重启失败的次数达到预设次数,发送所述重建虚拟机指令至第三物理机,其中,所述第三物理机为所述虚拟机集群的宿主物理机集群中除所述第二物理机之外的物理机。
14.根据权利要求13所述的系统,其特征在于,所述第三物理机进一步用于:发送重建响应信号至所述第一物理机;所述重建的虚拟机若根据节点恢复指令确定所述重建的虚拟机为管理节点,则根据所述节点恢复指令,从远程存储下载预先备份的关联原管理节点的增量数据,基于所述增量数据,恢复所述重建的管理节点的元数据,接受所述虚拟机集群中的计算节点注册,若根据节点恢复指令确定所述重建的虚拟机为计算节点,则根据所述节点恢复指令,向所述虚拟机集群中的管理节点注册;以及
所述第一物理机进一步用于:响应于接收到所述重建响应信号,从所述虚拟机的元信息中获取发生故障的虚拟机的元信息,根据获取的元信息,发送所述节点恢复指令至所述重建的虚拟机。
15.根据权利要求14所述的系统,其特征在于,所述系统还包括:
所述重建的管理节点进一步用于:响应于预定时间内注册的所述虚拟机集群中的计算节点大于或等于预设比例,确定重建成功,发送指示重建成功的信号至所述第一物理机,响应于预定时间内注册的所述虚拟机集群中的计算节点低于预设比例,发送指示重建失败的报警信号至所述第一物理机;
所述第一物理机进一步用于:根据所述指示重建成功的信号,向所述重建的管理节点提交接收的用户作业,根据所述指示重建失败的报警信号,呈现报警提示。
16.根据权利要求15所述的系统,其特征在于,所述第一物理机进一步用于:
根据所述虚拟机的元信息,确定所述发生故障的虚拟机是否包括管理节点以及发生故障的计算节点的比例是否超过阈值;响应于确定发生故障的虚拟机包括管理节点或发生故障的计算节点的比例超过阈值,确定所述虚拟机集群发生故障;响应于所述虚拟机集群发生故障,继续接收用户作业,停止提交用户作业至所述虚拟机集群中的管理节点;响应于所述响应信息来自于重启或重建的虚拟机,判断所述重启或重建的虚拟机是否包括管理节点以及发生故障的计算节点的比例是否超过所述阈值;响应于确定所述重启或重建的虚拟机包括管理节点以及发生故障的计算节点的比例未超过所述阈值,确定所述虚拟机集群从故障中恢复;响应于所述虚拟机集群从故障中恢复,继续向所述虚拟机集群中的管理节点提交作业,以及根据从所述管理节点查询的作业状态信息,确定在所述虚拟机集群发生故障之前运行的作业是否成功,若成功,则提交下一个作业,若失败,则重新提交失败的作业,其中,所述作业状态信息为所述管理节点根据所述计算节点的作业日志获取;响应于确定发生故障的虚拟机不包括管理节点且发生故障的计算节点的比例未超过阈值,继续接收用户作业,并提交所述用户作业至所述虚拟机集群中的管理节点。
17.根据权利要求16所述的系统,其特征在于,所述系统还包括:
远程存储,用于定期合并备份的操作日志,并删除合并时间点之前的操作日志;以及
所述虚拟机集群中的管理节点进一步用于:定期将增量操作日志备份至所述远程存储。
18.根据权利要求11至17任意一项所述的系统,其特征在于,所述虚拟机集群中的计算节点进一步用于:间隔第二预设时间向所述虚拟机集群中的管理节点发送第一心跳信息以汇报运行于计算节点上的第二服务进程的状态信息;以及异常的第二服务进程所在的计算节点根据第二服务进程重启信号,重启所述异常的第二服务进程;
所述虚拟机集群中的管理节点进一步用于:判断所述第二服务进程的状态信息是否符合预定的正常进程条件,若不符合,记录所述第二服务进程的状态信息不符合预定的正常进程条件的次数,响应于所述第二服务进程的状态信息不符合预定条件的次数超出预定次数,确定所述第二服务进程异常,发送第二服务所述进程重启信号给所述异常的第二服务进程所在的计算节点。
19.根据权利要求18所述的系统,其特征在于,所述虚拟机集群中的计算节点进一步用于:向所述虚拟机集群中的管理节点发送第二心跳信息以汇报虚拟机状态参数信息;
所述虚拟机集群中的管理节点进一步用于:判断所述虚拟机状态参数信息是否符合预置的异常条件,若符合,则呈现报警提示。
CN201510703270.3A 2015-10-26 2015-10-26 监控虚拟机集群的方法和系统 Active CN105357038B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510703270.3A CN105357038B (zh) 2015-10-26 2015-10-26 监控虚拟机集群的方法和系统
US15/239,612 US10152382B2 (en) 2015-10-26 2016-08-17 Method and system for monitoring virtual machine cluster
JP2016160156A JP6285511B2 (ja) 2015-10-26 2016-08-17 仮想マシンクラスタの監視方法及びシステム
KR1020160104238A KR101888029B1 (ko) 2015-10-26 2016-08-17 가상 머신 클러스터 모니터링 방법 및 모니터링 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510703270.3A CN105357038B (zh) 2015-10-26 2015-10-26 监控虚拟机集群的方法和系统

Publications (2)

Publication Number Publication Date
CN105357038A CN105357038A (zh) 2016-02-24
CN105357038B true CN105357038B (zh) 2019-05-07

Family

ID=55332914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510703270.3A Active CN105357038B (zh) 2015-10-26 2015-10-26 监控虚拟机集群的方法和系统

Country Status (4)

Country Link
US (1) US10152382B2 (zh)
JP (1) JP6285511B2 (zh)
KR (1) KR101888029B1 (zh)
CN (1) CN105357038B (zh)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871633A (zh) * 2016-05-31 2016-08-17 中国建设银行股份有限公司 一种应用控制方法、装置和系统
CN107465453A (zh) * 2016-06-02 2017-12-12 中兴通讯股份有限公司 一种光网络终端及其工作方法、及通信系统
CN107491339A (zh) * 2016-06-13 2017-12-19 深圳市深信服电子科技有限公司 服务器虚拟化的虚拟机监控方法及装置
CN106130763A (zh) * 2016-06-24 2016-11-16 平安科技(深圳)有限公司 服务器集群及适用于该集群的数据库资源组切换控制方法
CN107769943B (zh) * 2016-08-17 2021-01-08 阿里巴巴集团控股有限公司 一种主备集群切换的方法和设备
CN107819640B (zh) * 2016-09-14 2019-06-28 北京百度网讯科技有限公司 用于机器人操作系统的监控方法和装置
CN108108255A (zh) * 2016-11-25 2018-06-01 中兴通讯股份有限公司 虚拟机故障的检测和恢复方法及装置
US10379922B1 (en) * 2017-03-24 2019-08-13 Intuit Inc. Error recovery in a virtual machine-based development environment
CN107426012B (zh) * 2017-05-27 2020-06-09 深信服科技股份有限公司 一种基于超融合架构的故障恢复方法及其装置
CN107171849B (zh) * 2017-05-31 2020-03-31 郑州云海信息技术有限公司 一种虚拟机集群的故障监控方法及装置
US10554492B2 (en) * 2017-06-09 2020-02-04 Microsoft Technology Licensing, Llc Physical machine management in distributed computing systems
CN109213743B (zh) * 2017-06-30 2021-10-15 北京京东尚科信息技术有限公司 一种数据查询方法和装置
CN109558272A (zh) * 2017-09-26 2019-04-02 北京国双科技有限公司 服务器的故障恢复方法和装置
CN108023782B (zh) * 2017-12-29 2020-11-27 华东师范大学 一种基于维修记录的设备故障预警方法
EP3764226A4 (en) * 2018-04-12 2021-03-10 Huawei Technologies Co., Ltd. VIRTUAL MACHINE STATUS DETECTION METHOD AND DEVICE
CN108874640B (zh) * 2018-05-07 2022-09-30 北京京东尚科信息技术有限公司 一种集群性能的评估方法和装置
CN108900324B (zh) * 2018-06-13 2021-10-15 平安科技(深圳)有限公司 校验虚拟机通信性能的方法及装置
CN110727652B (zh) * 2018-07-17 2023-06-30 阿里巴巴集团控股有限公司 一种云存储处理系统及其实现数据处理的方法
CN109495560B (zh) * 2018-11-07 2021-06-29 郑州云海信息技术有限公司 一种链路建立方法、装置、设备及存储介质
CN109542725B (zh) * 2018-11-15 2022-04-05 北京金山云网络技术有限公司 一种分布式系统的服务质量监控方法、装置及监控服务器
WO2020107198A1 (zh) * 2018-11-27 2020-06-04 刘馥祎 运算设备维护方法及装置、存储介质和程序产品
US11573973B1 (en) * 2018-12-19 2023-02-07 Vivek Vishnoi Methods and systems for the execution of analysis and/or services against multiple data sources while maintaining isolation of original data source
CN109714202B (zh) * 2018-12-21 2021-10-08 郑州云海信息技术有限公司 一种客户端离线原因判别方法和集群式安全管理系统
CN110177018A (zh) * 2019-06-04 2019-08-27 北京百度网讯科技有限公司 用于控制网络状态的方法及装置
CN110908832A (zh) * 2019-10-24 2020-03-24 烽火通信科技股份有限公司 一种云平台的虚拟机故障疏散方法、系统及计算机可读介质
CN112817686B (zh) * 2019-11-15 2023-07-25 北京百度网讯科技有限公司 检测虚拟机异常的方法、装置、设备和计算机存储介质
CN111124755B (zh) * 2019-12-06 2023-08-15 中国联合网络通信集团有限公司 集群节点的故障恢复方法、装置、电子设备及存储介质
US20210271506A1 (en) * 2020-02-28 2021-09-02 Cisco Technology, Inc. Centralized management, provisioning and monitoring of cloud infrastructure
CN111988367B (zh) * 2020-07-30 2022-05-10 苏州浪潮智能科技有限公司 一种服务器集群中单服务器的管理方法及系统
CN112148433A (zh) * 2020-10-12 2020-12-29 北京计算机技术及应用研究所 一种基于云环境下的资源运维方法、装置及存储集群
CN112231066B (zh) * 2020-10-29 2024-02-13 北京思特奇信息技术股份有限公司 一种基于jvm内存使用的优化处理方法及系统
CN112636461B (zh) * 2020-11-09 2022-08-02 国家电网有限公司 一种用于故障录波器的远程重启方法及系统
CN112398708B (zh) * 2020-11-09 2022-10-28 上海瀚银信息技术有限公司 一种通用易接入的监控方法及系统
CN112506691B (zh) * 2020-12-14 2024-04-19 贵州电网有限责任公司 一种多能源系统数字孪生应用故障恢复方法及系统
CN112667999A (zh) * 2020-12-31 2021-04-16 中电长城网际安全技术研究院(北京)有限公司 虚拟机的执行时间调整方法和装置
CN113010392B (zh) * 2021-02-08 2023-06-20 建信金融科技有限责任公司 大数据平台的测试方法、装置、设备、存储介质和系统
CN112988463B (zh) * 2021-02-23 2022-08-30 新华三大数据技术有限公司 一种故障节点隔离方法及装置
CN112965791B (zh) * 2021-03-29 2022-06-07 北京三快在线科技有限公司 定时任务检测方法、装置、设备及存储介质
CN113381887B (zh) * 2021-06-08 2023-04-07 中国工商银行股份有限公司 计算节点故障处理方法及装置
CN113625946A (zh) * 2021-06-28 2021-11-09 苏州浪潮智能科技有限公司 一种实现存储集群仲裁的方法、系统及计算机设备
CN113542398B (zh) * 2021-07-13 2023-09-19 广州云从凯风科技有限公司 分布式集群系统的管控方法、装置、介质和设备
CN113608836A (zh) * 2021-08-06 2021-11-05 上海英方软件股份有限公司 一种基于集群的虚拟机高可用方法及系统
CN114257601B (zh) * 2021-12-16 2023-11-17 杭州谐云科技有限公司 一种云边协同的集群构建方法和系统
WO2023185355A1 (zh) * 2022-03-28 2023-10-05 同方威视技术股份有限公司 实现集群虚拟机高可用的方法和装置、设备和介质
CN115174223B (zh) * 2022-07-06 2023-03-21 北京神州慧安科技有限公司 一种工控主机安全防护方法、系统、智能终端及存储介质
CN114880080B (zh) * 2022-07-11 2022-09-20 国网信息通信产业集团有限公司 一种虚拟机高可用方法及计算集群
CN115333944B (zh) * 2022-07-20 2023-08-11 苏州浪潮智能科技有限公司 虚拟机集群ip资源配置方法、系统、设备和存储介质
WO2024034752A1 (ko) * 2022-08-09 2024-02-15 엘지전자 주식회사 신호 처리 장치, 및 이를 구비하는 차량용 증강현실 장치
CN115549751A (zh) * 2022-08-12 2022-12-30 中国科学院空天信息创新研究院 遥感卫星地面站监控系统和方法
CN115250246B (zh) * 2022-09-21 2022-12-06 之江实验室 一种监测虚拟机集群中节点状态的方法和计算机系统
CN116155691A (zh) * 2023-02-03 2023-05-23 北京达佳互联信息技术有限公司 数据处理方法及其装置
CN117032881A (zh) * 2023-07-31 2023-11-10 广东保伦电子股份有限公司 一种虚拟机异常检测和恢复的方法、装置及存储介质
CN116866154B (zh) * 2023-09-05 2023-11-28 湖北华中电力科技开发有限责任公司 一种基于虚拟机集群的配电网通讯服务智能调度管理系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103607296A (zh) * 2013-11-01 2014-02-26 杭州华三通信技术有限公司 一种虚拟机故障处理方法和设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002082816A (ja) * 2000-09-07 2002-03-22 Hitachi Ltd 障害監視システム
JP4649341B2 (ja) 2006-01-24 2011-03-09 株式会社日立製作所 計算機制御方法、情報処理システムおよび計算機制御プログラム
JP2007329345A (ja) * 2006-06-08 2007-12-20 Hitachi Kokusai Electric Inc 基板処理装置
US8554981B2 (en) * 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
JP5440273B2 (ja) 2010-03-09 2014-03-12 富士通株式会社 スナップショット管理方法、スナップショット管理装置、及びプログラム
US8424000B2 (en) * 2010-07-30 2013-04-16 Symantec Corporation Providing application high availability in highly-available virtual machine environments
JP5416156B2 (ja) 2011-03-29 2014-02-12 株式会社日立システムズ 統合監視システム及び統合監視プログラム
US8924967B2 (en) * 2011-04-28 2014-12-30 Vmware, Inc. Maintaining high availability of a group of virtual machines using heartbeat messages
JP2012243255A (ja) * 2011-05-24 2012-12-10 Intelligent Willpower Corp バーチャルマシン提供システム
CN102355369B (zh) * 2011-09-27 2014-01-08 华为技术有限公司 虚拟化集群系统及其处理方法和设备
CN102983990A (zh) * 2012-11-07 2013-03-20 曙光云计算技术有限公司 虚拟机的管理方法和装置
CN103036975B (zh) * 2012-12-13 2016-03-09 深信服网络科技(深圳)有限公司 虚拟机控制方法及装置
CN103152419B (zh) * 2013-03-08 2016-04-20 中标软件有限公司 一种云计算平台的高可用集群管理方法
US9208015B2 (en) * 2013-06-18 2015-12-08 Vmware, Inc. Hypervisor remedial action for a virtual machine in response to an error message from the virtual machine
US9483352B2 (en) * 2013-09-27 2016-11-01 Fisher-Rosemont Systems, Inc. Process control systems and methods
CN103559108B (zh) * 2013-11-11 2017-05-17 中国科学院信息工程研究所 一种基于虚拟化实现主备故障自动恢复的方法及系统
JP6111209B2 (ja) * 2014-02-04 2017-04-05 西日本電信電話株式会社 仮想マシン管理システム、仮想マシン管理方法、環境管理サーバ及びプログラム
JP2015158773A (ja) 2014-02-24 2015-09-03 富士通株式会社 仮想装置の動作検証装置,仮想装置の動作検証システム及びプログラム
US9582373B2 (en) * 2014-03-31 2017-02-28 Vmware, Inc. Methods and systems to hot-swap a virtual machine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103607296A (zh) * 2013-11-01 2014-02-26 杭州华三通信技术有限公司 一种虚拟机故障处理方法和设备

Also Published As

Publication number Publication date
CN105357038A (zh) 2016-02-24
JP6285511B2 (ja) 2018-02-28
US10152382B2 (en) 2018-12-11
US20170116084A1 (en) 2017-04-27
KR101888029B1 (ko) 2018-09-11
KR20170048141A (ko) 2017-05-08
JP2017084333A (ja) 2017-05-18

Similar Documents

Publication Publication Date Title
CN105357038B (zh) 监控虚拟机集群的方法和系统
US10348809B2 (en) Naming of distributed business transactions
CN111831420B (zh) 用于任务调度的方法、相关装置及计算机程序产品
US20190303779A1 (en) Digital worker management system
EP3149591B1 (en) Tracking application deployment errors via cloud logs
US9037707B2 (en) Propagating a diagnostic session for business transactions across multiple servers
CN113924554A (zh) 具有无损一次性处理的自动化云边缘流工作负载分布和双向迁移
US8743680B2 (en) Hierarchical network failure handling in a clustered node environment
CN110083455B (zh) 图计算处理方法、装置、介质及电子设备
US20130061095A1 (en) Software failure detection
US20120054345A1 (en) Modular cloud computing system
US20110314138A1 (en) Method and apparatus for cause analysis configuration change
CN103201724A (zh) 在高可用性虚拟机环境中提供高可用性应用程序
US8914798B2 (en) Production control for service level agreements
EP3301576A1 (en) Method and apparatus for monitoring logs of multi-tenant systems
US8380729B2 (en) Systems and methods for first data capture through generic message monitoring
US9141460B2 (en) Identify failed components during data collection
CN113656239A (zh) 针对中间件的监控方法、装置及计算机程序产品
CN108121586A (zh) 一种PaaS层故障迁移装置及方法
US20230409568A1 (en) Monitoring metadata synchronization and aggregation
US20220164219A1 (en) Processing system, processing method, higher-level system, lower-level system, higher-level program, and lower-level program
CN116483566A (zh) 用于服务器的资源处理方法、装置、电子设备及存储介质
CN114546705A (zh) 操作响应方法、操作响应装置、电子设备以及存储介质
CN114021054A (zh) 一种基于kvm结合工业互联网模式的运维管理方法
JP2002196952A (ja) コンピュータシステムの運用管理支援システムおよび運用管理支援方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant