CN110825544B - 计算节点及其失效检测方法与云端数据处理系统 - Google Patents

计算节点及其失效检测方法与云端数据处理系统 Download PDF

Info

Publication number
CN110825544B
CN110825544B CN201910023516.0A CN201910023516A CN110825544B CN 110825544 B CN110825544 B CN 110825544B CN 201910023516 A CN201910023516 A CN 201910023516A CN 110825544 B CN110825544 B CN 110825544B
Authority
CN
China
Prior art keywords
computing
node
virtual machine
computing node
management node
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
CN201910023516.0A
Other languages
English (en)
Other versions
CN110825544A (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.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
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 Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Publication of CN110825544A publication Critical patent/CN110825544A/zh
Application granted granted Critical
Publication of CN110825544B publication Critical patent/CN110825544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/0709Error 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 distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server 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/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/0766Error or fault reporting or storing
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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
    • 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
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供一种计算节点及其失效检测方法与云端数据处理系统,此方法适用于包括多个计算节点及至少一个管理节点的云端数据处理系统,其中包括以下步骤:各计算节点自我检查所提供服务的运作状态及资源使用状态,并将检查结果回报管理节点;计算节点根据检查结果动态调整下次回报的间隔时间,并将间隔时间告知管理节点;以及管理节点根据间隔时间检视检查结果的回报状况,以判断计算节点是否失效。

Description

计算节点及其失效检测方法与云端数据处理系统
技术领域
本发明涉及一种云端数据处理方法及系统,且特别涉及一种计算节点及其失效检测方法与云端数据处理系统。
背景技术
当云端数据中心上的计算节点遭受无法预知的环境因素或不可抗拒的外力影响时,原本运行其上的虚拟机可能无法提供正常的应用服务,进而将损害虚拟机合法用户的操作权利。为了使运行在失效计算节点上的虚拟机得以正常运作,须将受影响的虚拟机由失效计算节点上转移至其他正常运作的计算节点上。
以高可用群组(High Availability(HA)cluster)为例,其由1个或多个工作节点(active nodes)搭配0个或多个备用节点(standby nodes)所组成,群组成员个数至少为2。高可用群组的运作可用于多个物理主机(Physical machines,PM)之中:当一具有运行虚拟机(Virtual machines,VM)工作任务的物理主机失效时,高可用群组可支持虚拟机转移,意即将失效物理主机中的虚拟机,转移至其他物理主机中运作。
然而,在高可用群组的运作中,物理主机的错误检测依赖于多个物理主机间定期传递的心跳分组(heartbeat packets),此分组主要是单一物理主机每隔一段固定时间,用以向其他物理主机发送一个自定义格式的分组,一般包含来源物理主机的网络地址或其他可表示来源物理主机身份的名称,以确保来源物理主机与目标物理主机间网络连接的有效性。但在网络短暂壅塞的情况下,多个物理主机间可能会丢失彼此传递的心跳分组,此将造成物理主机失效误判,而接续不应执行的虚拟机转移操作。
发明内容
本发明一例示性实施例提供一种计算节点失效检测方法,适用于包括多个计算节点及至少一个管理节点的云端数据处理系统,此方法包括以下步骤:各计算节点自我检查所提供服务的运作状态及资源使用状态,并将检查结果回报管理节点;计算节点根据检查结果动态调整下次回报的间隔时间,并将间隔时间告知管理节点;以及管理节点根据间隔时间检视检查结果的回报状况,以判断计算节点是否失效。
本发明一例示性实施例提供一种云端数据处理系统,其包括多个计算节点及至少一个管理节点。各计算节点包括自我检查器,以自我检查所提供服务的运作状态及资源使用状态以回报检查结果,并根据检查结果动态调整回报检查结果的间隔时间。管理节点包括接收由各计算节点回报的检查结果以及告知的间隔时间,并根据间隔时间检视对应计算节点回报检查结果的回报状况,以判断对应计算节点是否失效。
本发明一例示性实施例提供一种计算节点,其包括自我检查器,用以自我检查计算节点所提供服务的运作状态及资源使用状态,并将检查结果回报至少一个管理节点,以及根据检查结果动态调整回报检查结果的间隔时间,并将此间隔时间告知管理节点,其中管理节点根据间隔时间检视检查结果的回报状况,以判断计算节点是否失效。
为让本发明的上述特征和优点能更明显易懂,下文特举例示性实施例,并配合附图作详细说明如下。
附图说明
图1是依照本发明一例示性实施例所绘示的计算节点的方块图。
图2是依照本发明一例示性实施例所绘示的云端数据处理系统示意图。
图3是依照本发明一例示性实施例所绘示的计算节点失效检测方法的流程图。
图4是依照本发明一例示性实施例所绘示的计算节点渐近式检测机制的示意图。
图5是依照本发明一例示性实施例所绘示的计算节点失效检测方法的流程图。
图6是依照本发明一例示性实施例所绘示的云端数据处理系统的示意图。
图7A是依照本发明一例示性实施例所绘示的判断是否需转移工作的网络架构的示意图。
图7B是依照本发明另一例示性实施例所绘示的虚拟机转移方法的流程图。
图8A是依照本发明一例示性实施例所绘示的虚拟机转移至计算节点的资源关系示意图。
图8B是依照本发明一例示性实施例所绘示的虚拟机的批次平行转移策略的示意图。
【符号说明】
1、2、3:云端数据处理系统
10、10a、10b、10c:计算节点
11、11b:计算服务器
12:虚拟化服务器
13:心跳服务器
14、14a、14b:自我检查器
20、20a、20b、20c:虚拟机管理节点
21、21c:虚拟机调度器
22、22a、22b:检查接受器
23、23b、23c:计算节点健康检查器
24、24c:计算应用程序接口(计算API)
25、25b:心跳服务器
26:数据库
30、30c:数据中心管理节点
31:物理主机(PM)管理器
32:检查接受器
33:服务监视器
34、34c:计算节点电源控制器
CN2、CN3、CN4:计算节点
VM1、VM2、VM3、VM4、VM5、VM6:虚拟机
S302~S306、S502~S510:计算节点失效检测方法的步骤
S702~S712:虚拟机转移方法的步骤
具体实施方式
为了确保计算节点失效转移功能的正确性,本发明在时间及空间维度上,设计实施例并施行多重检查机制,以确认计算节点的真实状态,并提供虚拟机转移机制的例示性实施例。计算节点失效转移的实现,请参见例示性实施例的说明。
为减少计算节点失效检测的误判,与误判所导致的资源浪费与资源竞争的问题,可运行下列各方法实施例检测计算节点是否失效:
时间维度上的渐进式检测实施例:虚拟机管理节点(Virtual MachinesManagement node,VMM node)上的计算节点健康检查器(例如图2中的计算节点健康检查器23)可根据云端资源的使用状态与资源容量,自行定义计算节点的失效检测频率及失效确认阈值,当判定失效的累计次数到达失效确认阈值时,即可判断该计算节点已失效。此检测机制具备调整弹性,较可减少暂时性网络壅塞所造成的失效误判。
空间维度实施例:在计算节点之外,寻找任意两个具备不同操作功能的系统或机器,对计算节点的失效检测进行双重确认,以提高计算节点失效检测的准确性。在一实施例中,使用虚拟机管理节点检测计算节点上计算服务的数据库的更新频率以及计算节点所定期发送的心跳分组,以确认虚拟机管理节点与计算节点间的连线状态;以及使用数据中心管理节点(Data Center Management node,DCM node)通过获取计算节点资源用量的管道(计算主机的自我检查),确认连线是否正常;若可正常连线,则可进一步通过数据中心管理节点上的服务监视器(Service monitor),检查计算服务的运作状态或计算服务重启后的状态。
在确认计算节点已失效后,可选择符合云端管理需求(如具平行转移考虑或负载均衡考虑)的虚拟机转移策略,将运行在已失效计算节点上的至少一虚拟机平行转移至其他计算节点。
在一实施例中包括:控制与确认计算节点的关机状态,以及虚拟机转移的目标计算节点挑选策略:依平行转移考虑或依负载均衡考虑。目标计算节点挑选的考虑可包括:
各个计算节点上的资源容量(CPU/存储器/网络);
各个计算节点的已用资源(CPU/存储器/网络);和/或
各个虚拟机的资源需求(CPU/存储器/网络)。
而在一实施例中,可再包括:维护虚拟机转移黑名单:限制计算节点异常失效的范围,较可减少有问题的虚拟机藉由虚拟机转移策略的执行,逐一使其他云端计算节点失效。
图1是依据本发明一例示性实施例所绘示的计算节点架构的示意图。请参照图1,对于云端数据处理系统中的多个计算节点10(包括节点1~节点n,n为正整数),各计算节点10例如是具有运算能力的服务器、工作站或个人计算机等电子装置等,本发明不在此设限。各计算节点10中包括计算服务器11、虚拟化服务器12、心跳服务器13及自我检查器14,其例如是计算机程序,而可由计算节点10的至少一处理器(未绘示)载入并执行,执行时并可辅以存储元件(譬如存储器、暂存缓冲器等等、未绘示)和/或数据库(未绘示),以实现依据本发明的计算节点失效检测方法。各计算节点10亦包括信号数据传送接收元件(未绘示)。
在一实施例中,计算节点10可以是由计算服务器11提供计算服务(Computeservice),并由虚拟化服务器12通过对Libvirt、KVM(Kernel-based Virtual Machine)、QEMU(Quick Emulator)等各种虚拟机管理程序服务(Hypervisor service)的支持,提供虚拟机运行的相关操作。
在一实施例中,心跳服务器13可以是基于心跳服务(Heart-beat service),定期传递心跳分组至管理节点,以确认与管理节点之间的心跳连线的状态。
在一实施例中,自我检查器14可以是用以检查计算节点10所提供服务的运作状态及资源使用状态。所述服务的运作状态包括计算服务的运行状态与虚拟化服务的运行状态。所述的资源使用状态则可包括节点等级(host-level)与虚拟机等级(VM-level)的资源使用状态,包括运算(CPU)资源使用量/使用率、存储器资源使用量/使用率、磁盘空间使用量/使用率、网络资源使用量/使用率,和/或其他可供错误计次/计量的信息(例如分组丢弃数量/丢弃率)。此外,在一实施例中,自我检查器14还可提供硬件错误(Hardware errors)的检测。
在一实施例中,自我检查器14在检测到运算服务(计算服务、虚拟化服务)相关的错误时,可将主动修复错误并自动重启服务。
在一实施例中,自我检查器14在检查资源使用状态之后,可主动将检查结果回报其他管理节点,并依据资源条件动态调整下次告知服务状态与资源用量的时间。
本发明的一实施例可提供一种渐近式检测机制,虚拟机管理节点上的计算节点健康检查器可针对各计算节点的运算资源容量、存储器资源容量、磁盘空间容量、网络资源容量,通过一事先定义的阈值制定机制,设定各计算节点的资源阈值,针对此阈值制定机制,本发明不在此设限。在所检查的资源使用量/使用率,和/或分组丢弃数量/丢弃率等参数超过对应的阈值时,缩短回报检查结果的间隔时间,从而提高与其他管理节点之间的互动频率。
自我检查器14在检测到硬件错误时,若此硬件错误(例如CPU错误)导致自我检查器14无法主动告知内部信息时,其他管理节点亦未能在事先定义的时间点收到自我检查器14回报的服务运作状态与资源使用状态,则计算节点10的错误次数将被累计。
图2是依据本发明一例示性实施例所绘示的云端数据处理系统的示意图。请参照图2,云端数据处理系统1包括多个计算节点10及至少一个管理节点(本实施例以3个虚拟机管理节点20为例作说明,但本发明不限于此),其中3个虚拟机管理节点20例如采用高可用群组的运作,并组成一丛集以维持彼此间数据的同步,以备在其中任一个虚拟机管理节点20发生错误时,可由其他虚拟机管理节点20备援,以确保虚拟机管理功能的持续进行。
虚拟机管理节点20包括虚拟机调度器(VM scheduler)21、检查接受器22、计算节点健康检查器23、计算应用程序接口(Application programming interface,API)24及心跳服务器25,其例如是计算机程序,而可由虚拟机管理节点20的处理器(未绘示)载入并执行,以实现本发明的计算节点失效检测方法。虚拟机管理节点20还包括存储装置(数据库)和/或存储元件(譬如存储器、暂存缓冲器等等、未绘示),用以存储由各计算节点10运行的虚拟机信息。虚拟机管理节点20亦包括信号数据传送接收元件(未绘示)。其中,虚拟机调度器21例如在需要建立或转移虚拟机时,从多个计算节点10中挑选目标计算节点,以在其中启用虚拟机或将虚拟机转移至其中。
检查接受器22用以从计算节点10的自我检查器14接受检查结果以及下次回报检查结果的间隔时间。倘若在以间隔时间定义的回报时间未收到来自自我检查器14回报的检查结果,检查接受器22将会累计计算节点10的错误次数,并将相关信息存储于数据库26之中。
在一实施例中,计算节点10除了通过自我检查器14回报检查结果外,也可由计算服务器11根据预先设定的一段时间,定期在虚拟机管理节点20的数据库26中维护虚拟机相关的信息以及当下的更新时间。相应地,虚拟机管理节点20的计算节点健康检查器23即可藉由检视计算服务器11维护数据库26的时间和/或频率,判定计算节点10的运作状况。
计算应用程序接口24提供使用者通过此接口启用虚拟机,而由虚拟机调度器21从多个计算节点10中挑选目标计算节点,以在其中启用虚拟机。需说明的是,多个计算节点10间具有共享存储池(Shared Storage),当计算节点10被虚拟机调度器21挑选时,可通过计算服务器11连接此共享存储池,以提供虚拟机启用所需要的存储资源。
心跳服务器25对应于计算节点10的心跳服务器13,用以与心跳服务器13定期传递心跳分组,以确认与计算节点10之间的心跳连线状态。
在一实施例中,虚拟机管理节点20的检查接受器22藉由数据库26中预定义的虚拟机资源规格,比对由自我检查器14检测的虚拟机使用资源,确认资源使用超量的情况。若某个虚拟机的资源使用量/使用率超过计算节点健康检查器23定义的预设值或预设比例,则该虚拟机将被检查接受器22列入黑名单(Blacklist)。此黑名单可用于虚拟机失效转移阶段中,降低资源使用与管理上有问题的虚拟机造成其他计算节点失效的可能性,并且列入黑名单的虚拟机被禁止转移至其他计算节点。此外,若某个虚拟机的资源使用量/使用率未超过使用阈值,但仍超过预定值,则可暂列入观察名单(Watch list),以持续观察。
图3是依照本申请一例示性实施例所绘示的计算节点失效检测方法的流程图。请同时参照图2及图3,本实施例的方法适用于图2的云端数据处理系统1,以下即搭配云端数据处理系统1中的各项装置说明依据本发明一实施例的计算节点失效检测方法的详细步骤。
在本实施例中,由计算节点10的自我检查器14自我检查计算节点10所提供服务的运作状态及资源使用状态,并将检查结果回报虚拟机管理节点20(步骤S302)。其中,所述服务的运作状态例如包括计算服务的运行状态与虚拟化服务的运行状态。所述的资源使用状态例如包括运算资源使用量/使用率、存储器资源使用量/使用率、磁盘空间使用量/使用率、网络资源使用量/使用率,以及其他可供错误计次/计量的信息(例如分组丢弃数量/丢弃率),在此不设限。
由计算节点10的自我检查器14根据检查结果动态调整下次回报的间隔时间,并将此间隔时间告知虚拟机管理节点20(步骤S304)。
虚拟机管理节点20的计算节点健康检查器23可通过自行设定的演算机制,根据计算节点10的资源使用状态,定义自我检查器14回报检查结果的间隔时间与次数。在一实施例中,计算节点健康检查器23可针对运算资源容量、存储器资源容量、磁盘空间容量、网络资源容量及分组丢弃数量分别设定预设的阈值,并在上述资源中的任一个资源的使用量/使用率超过使用阈值时,将所定义的间隔时间缩短。在另一实施例中,计算节点健康检查器23可针对运算资源容量、存储器资源容量、磁盘空间容量、网络资源容量及分组丢弃数量分别设定预设的阈值,并在上述资源中的任一个资源的使用率/使用量超过设定的阈值时,将所定义的间隔时间缩短。
在又一实施例中,计算节点健康检查器23可针对运算资源容量、存储器资源容量、磁盘空间容量、网络资源容量及分组丢弃数量等资源设定多重阈值,以缩短计算节点的失效检测周期。举例而言,可针对运算资源及网络资源的使用率分别设定双重阈值75%及85%。当计算节点的运算资源使用率超过运算资源阈值75%时,可将计算节点的失效检测间隔时间由t0缩短为t1;当计算节点的运算资源使用率超过运算资源阈值85%时,可进一步将计算节点的失效检测间隔时间缩短为t2;当计算节点的网络资源使用率超过网络资源阈值75%时,可缩短计算节点的失效检测间隔时间为t3;以及当计算节点的网络资源使用率超过网络资源阈值85%时,可进一步将计算节点的失效检测间隔时间缩短为t4。其中,t0>t1>t2>t3。意即,当一个计算节点拥有越多超过资源使用阈值的资源种类与阈值等级,则该计算节点的失效检测周期也就越短。
虚拟机管理节点20的检查接受器22将根据自我检查器14告知的间隔时间,检视检查结果的回报状况,以判断计算节点10是否失效(步骤S306)。其中,检查接受器22例如会在以上述间隔时间定义的回报时间检视是否接收到检查结果,而若未接收到检查结果,则将累计错误次数,并将相关信息存储于数据库。之后,检查接受器22会继续依照间隔时间定义的回报时间检视检查结果的回报状况,并据以累计错误次数,而在所累计的错误次数大于错误阈值时,即判断计算节点10失效。
举例来说,图4是依照本申请一例示性实施例所绘示的计算节点的渐近式失效检测的示意图。请参照图4,本实施例对计算节点10a的自我检查器14a定义执行检测及回报检查结果的间隔时间,并针对CPU使用率、存储器使用率、磁盘空间使用率、网络资源使用率及分组丢弃数量/丢弃率分别比较预设的阈值,使得当计算节点10a的资源使用率随着时间的推移而增高时,缩短自我检查器14a回报检查结果的间隔时间。
其中,在10:00:00的时间点,自我检查器14a检查当时计算节点10a的资源使用状态,获得CPU使用率30%、存储器使用率60%、磁盘空间使用率20%、网络资源使用率50%及分组丢弃数量0(或丢弃率0%),据此判断计算节点10a的资源使用状态正常,而决定下次回报检查结果的间隔时间为120秒。此时,自我检查器14a除了会将上述资源使用状态的信息回报给虚拟化管理节点20a的检查接受器22a,同时也会将下次回报检查结果的间隔时间以及预先定义的错误阈值(3)告知检查接受器22a。检查接受器22a可依此间隔时间推算,自我检查器14a将会在10:02:00、10:04:00、10:06:00回报检查结果。然而,若在10:02:00的时间点,检查接受器22a未收到自我检查器14a回报的检查结果或是检查结果中的信息有错,检查接受器22a将会累计错误次数并将相关信息存储于数据库26a中。若在上述3个时间点均未收到自我检查器14a回报的检查结果或是检查结果中的信息有错,检查接受器22a累计的错误次数将达到错误阈值(3),从而判断计算节点10a失效。
然而,当到了预定的回报时间(即10:02:00),自我检查器14a检查当时计算节点10a的资源使用状态,获得CPU使用率50%、存储器使用率75%、磁盘空间使用率50%、网络资源使用率60%及分组丢弃数量3(丢弃率30%),据此判断计算节点10a的资源使用量/使用率增加,其中的CPU使用率、存储器使用率及网络资源使用率都超过阈值。此时,自我检查器14a会将原先设定的间隔时间动态调整为90秒,并告知虚拟化管理节点20a的检查接受器22a。类似地,检查接受器22可依此间隔时间推算,自我检查器14a将改为在10:03:30、10:05:00、10:06:30回报检查结果,而可根据在这3个时间点是否收到检查结果来判断计算节点10a是否失效。
藉由上述的渐近式失效检测,管理节点可根据计算节点告知的间隔时间推算计算节点下次的回报时间,若未收到检查结果,仅先累计错误次数而不会直接判断计算节点失效,而是在连续检测到错误且累计的错误次数到达错误阈值时,才判断计算节点真实失效。藉此,较可减少暂时性网络壅塞所造成的误判。
除了上述的回报检测外,在一实施例中,管理节点更可结合数据库更新检测、心跳检测等多重检测方法,以增加失效判断的正确性。
图5是依照本申请一例示性实施例所绘示的计算节点失效检测方法的流程图。请同时参照图2及图5,本实施例的方法适用于图2的云端数据处理系统1,以下即搭配云端数据处理系统1中的各项装置说明本发明的计算节点失效检测方法的详细步骤。
首先,由虚拟机管理节点20的检查接受器22在以计算节点10的自我检查器14告知的间隔时间定义的回报时间,检视是否接收到自我检查器14回报的检查结果,并在未接收到检查结果时,累计错误次数(步骤S502)。其中,以间隔时间定义回报时间以检视检查结果的实施例与前述实施例的步骤S306相同或相似,故在此不再赘述。
此时,虚拟机管理节点20的计算节点健康检查器23会检视数据库26中由计算节点10的计算服务器11对于计算节点10所提供服务的运作状态的更新,并在数据库26未更新的次数超过预设次数时,累计错误次数(步骤S504)。
计算节点10的计算服务器11可根据预定的时间周期tDB,定期在虚拟机管理节点20的数据库26中维护计算节点10所提供服务的运作状态(例如虚拟机相关信息)以及当下的更新时间。据此,在一实施例中,计算节点健康检查器23会检查计算服务器11最后一次更新数据库26的时间
Figure BDA0001941641470000101
并依据目前时间tcurrent计算未更新的时间长度,而根据下列条件判断是否累计错误:
Figure BDA0001941641470000102
其中,m×tDB为预先设定的错误阈值,若满足上述条件即代表计算服务器11已超过m个回合未维护数据库26,此时计算节点健康检查器23会将记录在数据库26中的错误次数累计一次。
此外,计算节点健康检查器23藉由心跳服务器25所提供的心跳服务检视与计算节点10的心跳连线的状态,并在心跳连线中断时,累计错误次数(步骤S506)。
计算节点健康检查器23例如会检视记录在数据库26中的累计的错误次数是否大于错误阈值(步骤S508)。其中,若累计错误次数未大于错误阈值,则流程将回到步骤S502,并重复步骤S502~S506的错误检测。反之,若累计错误次数大于错误阈值,则计算节点健康检查器23将判定计算节点10失效,而可进行虚拟机转移。
需说明的是,考虑单一节点的检查结果不可尽信,为了避免失效检测的局部误判问题(Local failure problem),本发明的一实施例还将计算节点的自我检查与虚拟机管理节点和数据中心管理节点的监测结合,以增加失效判断的正确性。
图6是依据本发明一例示性实施例所绘示的云端数据处理系统的示意图。请参照图6,本实施例的云端数据处理系统2包括多个计算节点10、3个虚拟机管理节点20(本实施例以计算节点10b、虚拟机管理节点20b为例作说明)以及数据中心管理节点30。其中,计算节点10b、虚拟机管理节点20b的架构与前述实施例中的计算节点10、虚拟机管理节点20的架构相同或相似,故其细节在此不再赘述。
本实施例的云端数据处理系统2额外利用数据中心管理节点30监测计算节点10b,以协助判定计算节点10b是否失效。数据中心管理节点30的物理主机管理器(PM manager)31中包括检查接受器32、服务监视器33及计算节点电源控制器34。其中,检查接受器32类似于虚拟机管理节点20b的检查接受器22b,其用以从计算节点10b的自我检查器14b接受检查结果以及下次回报检查结果的间隔时间。倘若在以间隔时间定义的回报时间未收到来自计算节点10b的自我检查器14b回报的检查结果,检查接受器32将会累计计算节点10b的错误次数,并将相关信息存储于虚拟机管理节点20b的数据库26b之中。
服务监视器33在数据中心管理节点30与计算节点10b的连线管道处于可正常连线的条件下,可检查计算节点10b的计算服务器11b的运作状态,或计算节点10b的自我检查器14b重启服务的操作是否成功。
计算节点电源控制器34具有将失效的计算节点关机的能力,藉由将失效的计算节点关机,较可避免在虚拟机转移后,云端数据处理系统2同时存在两个相同虚拟机的可能性。
基于上述云端数据处理系统2的架构,本实施例设置多重检查机制(包括关于虚拟机管理节点20b的检查1-1~1-3以及关于数据中心管理节点30的检查2-1~2-2),并根据上述检查的结果判断计算节点10b是否发生错误,以累计错误次数。上述的检查分述如下:
检查1-1:计算节点10b的自我检查器14b可修复计算服务的错误,将服务的运作状态与资源使用状态主动告知虚拟机管理节点20b的检查接受器22b,并告知下次回报的间隔时间以约定下次回报时间。自我检查器14b例如在以间隔时间定义的回报时间检视检查结果的接收是否正常,以获得第一状态。其中,若因为计算节点10b发生硬件错误或其他原因,导致检查接受器22b无法在约定时间内收到检查结果,则代表计算节点10b可能失效。
检查1-2:虚拟机管理节点20b的计算节点健康检查器23b检查计算节点10b的计算服务器11b最后一次更新数据库26b的时间,以判断计算服务器11b对于计算节点10b所提供服务的运作状态的更新是否正常,以获得第二状态。其中,若计算服务器11b已超过m个回合未维护或更新数据库26b,则代表计算节点10b可能失效。
检查1-3:虚拟机管理节点20b的计算节点健康检查器23b藉由心跳服务器25b所提供的心跳服务检视与计算节点10b的心跳连线是否正常,以获得第三状态。其中,当心跳连线中断时,则代表计算节点10b可能失效。
检查2-1:数据中心管理节点30的物理主机管理器31藉由定期从检查接受器32获取物理主机资源的管道,检查与计算节点10b的连线状况。其中,检查接受器32在以自我检查器14b告知的间隔时间定义的回报时间检视检查结果的接收是否正常,以获得第四状态。若检查接受器32未在特定时间收到来自自我检查器14b回报的检查结果,则代表计算节点10b可能失效。
检查2-2:数据中心管理节点30的服务监视器32连线至计算节点10b检视计算节点10b的服务运作状态是否正常,以获得第五状态。其中,数据中心管理节点30在与计算节点10b的连线管道处于可正常连线的条件下,可通过服务监视器32检查计算节点10b上的计算服务的运作状态,或计算节点10b的自我检查器14b重启计算服务的操作是否成功。若计算节点10b上的计服务非处于运作状态,且无法成功重启该服务,则代表计算节点10b可能失效。
针对上述检查的结果,本实施例定义多种情境,以及对应各种情境的后续操作行为,如下表一所示。
Figure BDA0001941641470000121
Figure BDA0001941641470000131
表一
在情境A中,计算节点10b的连线正常,但计算服务器11b的计算服务异常,且重启无效。因此,在数据中心管理节点30的服务监视器33确认计算服务器11b落入重启循环时,即累计计算节点CNj的错误次数(fj+1)。
在情境B中,计算节点10b的网络中断,且计算节点10b失效或硬件错误,此代表整个计算节点10b恐出现问题,因此直接累计错误次数(fj+1)。
在情境C中,计算节点10b与虚拟机管理节点20b失去连线,但与数据中心管理节点30的连线正常。然而,由于计算服务器11b的计算服务发生错误,故需由数据中心管理节点30的服务监视器重启计算服务。但若重启无效,则会累计错误次数(fj+1)。
在情境D中,计算节点10b与数据中心管理节点30失去连线,但与虚拟机管理节点20b的连线正常。然而,由于计算服务器11b的计算服务发生错误,将由自我检查器14b自动重启计算服务,但若重启无效,自我检查器14b将计算服务运作状态与资源使用现况,回报至虚拟机管理节点20b的检查接收器22b时,将会累计错误次数(fj+1)。
基于时间维度上的考虑,本实施例针对上述多重检查机制设置可调整的错误检测(Failure detection,FD)的间隔时间以及错误累计的次数阈值F。而当计算节点CNj连续发生错误检测的累计次数大于此错误阈值F(即fj≥F)时,则视为计算节点真实失效。
若符合上述错误条件,则将进入阶段二的虚拟机转移阶段。
图7A是依照本发明一例示性实施例所绘示的虚拟机转移机制的示意图。图7B是依照本发明另一例示性实施例所绘示的虚拟机转移方法的流程图。请先参照图7A,本实施例的云端数据处理系统3包括多个计算节点10、3个虚拟机管理节点20(本实施例以计算节点10c、虚拟机管理节点20c为例作说明)以及数据中心管理节点30c。其中,计算节点10c、虚拟机管理节点20c、数据中心管理节点30c的架构与前述实施例中的计算节点10、虚拟机管理节点20、数据中心管理节点30的架构相同或相似,故其细节在此不再赘述。
请参照图7B,当虚拟机管理节点20c确认计算节点10c失效,而进入虚拟机转移阶段后,虚拟机管理节点20c的计算节点健康检查器23c例如会通过数据中心管理节点30c的计算节点电源控制器34关闭已失效的计算节点10c(步骤S702)。之后,计算节点健康检查器23c会通知虚拟机调度器21c执行虚拟机转移策略,以决定故障的计算节点10c上的每个虚拟机应转移至哪一个目标计算节点。
虚拟机调度器21c例如可先取得其他计算节点的可用资源以及已失效计算节点中待转移的虚拟机的资源需求(步骤S704),以便从其他计算节点中选择具有较多可用资源的多个计算节点来分配虚拟机。其中,虚拟机调度器21c例如会先依各计算节点CNj的可用资源Priorityj的多寡(计算公式如下),对计算节点CNj进行排序(步骤S706)。
Figure BDA0001941641470000141
其中,α≥0,β≥0,γ≥0,α+β+γ=1。
有较高可用资源的计算节点,较有能力满足资源需求大的虚拟机,可保障的利益成本较大,因此在本实施例中具有优先挑选虚拟机的权利。
然后,虚拟机调度器21c会依照各虚拟机的资源需求及利益成本,依序挑选可满足其资源需求且具有较高利益成本的虚拟机以分配至计算节点(步骤S708)。其中,计算节点CNj挑选虚拟机VMi的利益成本
Figure BDA0001941641470000142
为:
Figure BDA0001941641470000143
其中,上述分子pi为计算节点满足各虚拟机可保障的利益,而分母则为计算节点CNj运行虚拟机VMi所消耗的资源成本。在此实施例中,利益成本为计算节点满足各所述虚拟机可保障的利益与运行该虚拟机所消耗的资源成本的比值。
举例来说,当轮到计算节点CNj进行虚拟机挑选时,若利益成本关系为:
Figure BDA0001941641470000144
将优先挑选VM1,意即VM1将被转移至计算节点CNj上运行。
需说明的是,在虚拟机调度器21c选择目标计算节点时,将不考虑针对资源使用管理有问题的虚拟机(例如上述黑名单中的虚拟机)进行转移。
最后,虚拟机调度器21c会判断所有需要转移的虚拟机皆分配计算节点,或是已没有任何虚拟机可被挑选(步骤S710)。若仍有虚拟机未分配,则回到步骤S708,继续进行下一回合的分配;而若所有的虚拟机皆已分配好,虚拟机调度器21c即完成虚拟机转移的调度,而可开始进行批次平行转移(步骤S712)。其中,虚拟机调度器21c可通知计算应用程序接口24c显示所完成的虚拟机转移调度。
举例来说,假设虚拟机VMi的资源需求与利益成本(Profits)如下表二所示,计算节点CNj的资源容量、使用量与可用量(剩余资源)则如下表三所示,虚拟机调度器21c即根据上述信息进行虚拟机转移至可用计算节点的相关调度,以满足计算节点健康检查器23c的管理策略。
Figure BDA0001941641470000151
表二
Figure BDA0001941641470000152
表三
其中,虚拟机调度器21c例如会针对需要转移的虚拟机VMi,找出满足其资源需求(即
Figure BDA0001941641470000153
)的计算节点CNj
举例来说,图8A是依照本发明一例示性实施例所绘示的虚拟机转移至计算节点的资源关系示意图。图8B是依照本发明一例示性实施例所绘示的虚拟机的批次平行转移策略的示意图。请先参照图8A,图8A采用二分图的方法,将可满足虚拟机VMi资源需求的计算节点CNj,与虚拟机VMi之间绘制一连线;反之,则没有连线。其中,若以ai,j=1表示计算节点CNj可满足虚拟机VMi在CPU/存储器/网络等方面的资源需求,则依图8A所示,a6,2=0;a6,3=0;a6,4=1。
接着请参照图8B,虚拟机调度器依据计算节点CNj的资源容量、使用量与可用量的多寡,将计算节点CNj排序为:CN2≥CN3≥CN4,并依据虚拟机VMi的利益成本,将虚拟机VMi排序为:VM2≥VM5≥VM6≥VM3≥VM4≥VM1。其中,虚拟机调度器在分配虚拟机时例如采回合制,在第一回合中,例如将具有较高利益成本的虚拟机VM2、VM5、VM6分别分配至计算节点CN2、CN3、CN4,如图中的配置[1]、[2]、[3]。然后,在下一回合中,将具有次高利益成本的虚拟机VM3、VM4、VM1分别分配至计算节点CN2、CN3、CN4,如图中的配置[4]、[5]、[6]。以依类推,待需要转移的虚拟机皆分配好计算节点,或是已没有任何虚拟机可被挑选,虚拟机调度器即完成虚拟机转移的调度,而可开始进行批次平行转移。
需说明的是,计算节点10在由自我检查器14执行自我检查的阶段中,会维护一组虚拟机观察名单(Watch list)与黑名单(Blacklist),并存入数据库26。虚拟机管理节点20上的计算节点健康检查器23将持续维护有问题的虚拟机的观察名单与黑名单。
计算节点健康检查器23可根据不同虚拟机的应用服务,例如可针对各个虚拟机VMi定义资源异常标准:CPU
Figure BDA0001941641470000161
存储器/>
Figure BDA0001941641470000162
网络/>
Figure BDA0001941641470000163
而在每次进行虚拟机转移的操作之前,计算节点健康检查器23将在数据库26中,确认在观察名单中的虚拟机的资源使用量/使用率。其中,若虚拟机资源使用量/使用率异常(即超过上述的资源异常标准),则记录此虚拟机的可疑累计次数,而当虚拟机的可疑累计次数超过可容忍值的范围时,将该虚拟机放入黑名单中。
综上所述,本发明的计算节点及其失效检测方法与云端数据处理系统提供一种可运行在云端管理系统上的计算节点失效管理机制,藉由在时间及空间维度上设计多重检查机制,可确认计算节点的真实状态,并提供完整的虚拟机转移装制,而可实现失效计算节点的虚拟机转移。
虽然本发明已以例示性实施例公开如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附权利要求书界定范围为准。

Claims (24)

1.一种计算节点失效检测方法,适用于包括多个计算节点及至少一管理节点的云端数据处理系统,该方法包括下列步骤:
前述多个计算节点的各个计算节点自我检查所提供服务的运作状态及资源使用状态,并将检查结果回报所述管理节点;
所述计算节点根据所述检查结果动态调整下次回报的间隔时间,并将所述间隔时间告知所述管理节点;以及
所述管理节点根据所述间隔时间检视所述检查结果的回报状况,以判断所述计算节点是否失效;
其中所述管理节点包括虚拟机管理节点,而所述管理节点根据所述间隔时间检视所述检查结果的回报状况,以判断所述计算节点是否失效的步骤包括:
所述虚拟机管理节点在以所述间隔时间定义的回报时间检视是否接收到所述检查结果,并在未接收到所述检查结果时,累计错误次数;
所述虚拟机管理节点检视数据库中由所述计算节点对于其所提供的所述服务的运作状态的更新,并在所述数据库未更新的次数超过预设次数时,累计所述错误次数;
所述虚拟机管理节点藉由心跳服务(Heart-beat service)检视与所述计算节点的心跳连线的状态,并在所述心跳连线中断时,累计所述错误次数;以及
重复上述检视步骤,并在所累计的所述错误次数大于错误阈值时,判断所述计算节点失效。
2.如权利要求1所述的方法,其中所述计算节点根据所述检查结果动态调整下次回报的间隔时间的步骤包括:
判断所述计算节点的多个资源中的至少一个资源的使用量或使用率是否超过使用阈值;以及
若所述资源的使用量或使用率超过所述使用阈值,缩短所述间隔时间。
3.如权利要求1所述的方法,还包括:
所述管理节点根据所述检查结果中的所述资源使用状态,将运行在所述计算节点上的至少一虚拟机的资源使用量或使用率与预先定义的虚拟机资源规格进行比对,以判断所述资源使用量或使用率是否超过预设值或预设比例;以及
若所述资源使用量或使用率超过所述预设值或预设比例,或是所述资源使用量或使用率超过所述预设值或预设比例的次数超过预设次数,将所述资源使用量或使用率对应的所述虚拟机列入黑名单,其中列入所述黑名单的所述虚拟机被禁止转移至其他计算节点。
4.如权利要求1所述的方法,其中在判断所述计算节点是否失效的步骤之后,所述方法还包括:
若判断所述计算节点失效,将运行在所述计算节点上的至少一虚拟机平行转移至其他计算节点。
5.一种云端数据处理系统,包括:
多个计算节点,各所述计算节点包括自我检查器,自我检查所提供服务的运作状态及资源使用状态以回报检查结果,并根据所述检查结果动态调整回报所述检查结果的间隔时间;以及
至少一管理节点,所述管理节点包括接收由各所述计算节点回报的所述检查结果以及告知的所述间隔时间,并根据所述间隔时间检视对应的所述计算节点回报所述检查结果的回报状况,以判断对应的所述计算节点是否失效;
其中所述管理节点包括:
虚拟机管理节点,包括:
数据库,存储虚拟机信息;
第一检查接受器,在以所述间隔时间定义的回报时间检视是否接收到所述检查结果,并在未接收到所述检查结果时,累计错误次数;
计算节点健康检查器,检视所述数据库中由所述计算节点的计算服务器对于所述计算节点所提供的所述服务的运作状态的更新,
并在所述数据库未更新的次数超过预设次数时,累计所述错误次
数;以及
心跳服务器,藉由心跳服务(Heart-beat service)检视与所述
计算节点的心跳连线的状态,并在所述心跳连线中断时,累计所述错误次数,其中
所述第一检查接受器包括在所累计的所述错误次数大于错误阈值时,判断所述计算节点失效。
6.如权利要求5所述的云端数据处理系统,其中各所述计算节点的所述自我检查器包括判断多个资源中的至少一个资源的使用量或使用率是否超过使用阈值,并在所述资源的使用量或使用率超过所述使用阈值时,缩短所述间隔时间。
7.如权利要求5所述的云端数据处理系统,其中所述第一检查接受器更根据所述检查结果中的所述资源使用状态,将运行在所述计算节点上的至少一虚拟机的资源使用量或使用率与预先定义的虚拟机资源规格进行比对,以判断所述资源使用量或使用率是否超过预设值或预设比例,其中
若所述资源使用量或使用率超过所述预设值或预设比例,或是所述资源使用量或使用率超过所述预设值或预设比例的次数超过预设次数,所述第一检查接受器还将所述资源使用量或使用率对应的所述虚拟机列入黑名单,以禁止所述虚拟机转移至其他计算节点。
8.如权利要求5所述的云端数据处理系统,其中所述虚拟机管理节点还包括:
虚拟机调度器,在所述服务监视器判断所述计算节点失效时,将运行在所述计算节点上的至少一虚拟机平行转移至其他计算节点。
9.一种计算节点,包括:
自我检查器,自我检查所提供服务的运作状态及资源使用状态,并将检查结果回报至少一管理节点,以及根据所述检查结果动态调整回报所述检查结果的间隔时间,并将所述间隔时间告知所述管理节点,其中
所述管理节点根据所述间隔时间检视所述检查结果的回报状况,以判断所述计算节点是否失效,包括:
所述管理节点的虚拟机管理节点在以所述间隔时间定义的回报时间检视是否接收到所述检查结果,并在未接收到所述检查结果时,累计错误次数;
所述虚拟机管理节点检视数据库中由所述计算节点对于其所提供的所述服务的运作状态的更新,并在所述数据库未更新的次数超过预设次数时,累计所述错误次数;
所述虚拟机管理节点检视与所述计算节点的心跳连线的状态,并在所述心跳连线中断时,累计所述错误次数;
重复上述检视步骤,并在所累计的所述错误次数大于错误阈值时,判断所述计算节点失效。
10.如权利要求9所述的计算节点,其中所述自我检查器包括判断所述计算节点的多个资源中的至少一个资源的使用量或使用率是否超过使用阈值,并在所述资源的使用量或使用率超过所述使用阈值时,缩短所述间隔时间。
11.如权利要求9所述的计算节点,还包括:
心跳服务器,藉由心跳服务与所述虚拟机管理节点传递心跳分组,以供所述虚拟机管理节点检视所述心跳连线的状态,并据以判断所述计算节点是否失效。
12.如权利要求9所述的计算节点,还包括:
计算服务器,与所述管理节点的服务监视器连线,以供所述服务监视器检视所述服务的所述运作状态的更新,并据以判断所述计算节点是否失效。
13.一种计算节点失效检测方法,适用于包括多个计算节点及至少一管理节点的云端数据处理系统,该方法包括下列步骤:
前述多个计算节点的各个计算节点自我检查所提供服务的运作状态及资源使用状态,并将检查结果回报所述管理节点;
所述计算节点根据所述检查结果动态调整下次回报的间隔时间,并将所述间隔时间告知所述管理节点;以及
所述管理节点根据所述间隔时间检视所述检查结果的回报状况,以判断所述计算节点是否失效;
其中所述管理节点包括虚拟机管理节点及数据中心管理节点,而所述管理节点根据所述间隔时间检视所述检查结果的回报状况,以判断所述计算节点是否失效的步骤包括:
所述虚拟机管理节点在以所述间隔时间定义的回报时间检视所述检查结果的接收是否正常,以获得第一状态;
所述虚拟机管理节点检视数据库中由所述计算节点对于其所提供的所述服务的运作状态的更新是否正常,以获得第二状态;
所述虚拟机管理节点藉由心跳服务检视与所述计算节点的心跳连线是否正常,以获得第三状态;
所述数据中心管理节点在以所述间隔时间定义的回报时间检视所述检查结果的接收是否正常,以获得第四状态;
所述数据中心管理节点连线至所述计算节点检视所述计算节点的所述服务的运作状态是否正常,以获得第五状态,其中
当所述第一、第二、第四及第五状态为异常、所述第三状态为正常且确认计算服务落入重启循环时,累计错误次数,
当所述第一、第二、第三及第四状态为异常时,累计所述错误次数,以及
当所述第一、第二、第三及第五状态为异常、所述第四状态为正常且计算服务重启不成功时,或当所述第一、第二及第四状态为异常、所述第三状态为正常且计算服务重启不成功时,累计所述错误次数;以及
重复上述检视步骤,并在所累计的所述错误次数大于错误阈值时,判断所述计算节点失效。
14.如权利要求13所述的方法,其中所述计算节点根据所述检查结果动态调整下次回报的间隔时间的步骤包括:
判断所述计算节点的多个资源中的至少一个资源的使用量或使用率是否超过使用阈值;以及
若所述资源的使用量或使用率超过所述使用阈值,缩短所述间隔时间。
15.如权利要求13所述的方法,还包括:
所述管理节点根据所述检查结果中的所述资源使用状态,将运行在所述计算节点上的至少一虚拟机的资源使用量或使用率与预先定义的虚拟机资源规格进行比对,以判断所述资源使用量或使用率是否超过预设值或预设比例;以及
若所述资源使用量或使用率超过所述预设值或预设比例,或是所述资源使用量或使用率超过所述预设值或预设比例的次数超过预设次数,将所述资源使用量或使用率对应的所述虚拟机列入黑名单,其中列入所述黑名单的所述虚拟机被禁止转移至其他计算节点。
16.如权利要求13所述的方法,其中在判断所述计算节点是否失效的步骤之后,所述方法还包括:
若判断所述计算节点失效,将运行在所述计算节点上的至少一虚拟机平行转移至其他计算节点。
17.一种云端数据处理系统,包括:
多个计算节点,各所述计算节点包括自我检查器,自我检查所提供服务的运作状态及资源使用状态以回报检查结果,并根据所述检查结果动态调整回报所述检查结果的间隔时间;以及
至少一管理节点,所述管理节点包括接收由各所述计算节点回报的所述检查结果以及告知的所述间隔时间,并根据所述间隔时间检视对应的所述计算节点回报所述检查结果的回报状况,以判断对应的所述计算节点是否失效;
其中所述管理节点包括:
虚拟机管理节点,包括:
数据库,存储虚拟机信息;
第一检查接受器,在以所述间隔时间定义的回报时间检视所述检查结果的接收是否正常,以获得第一状态;
计算节点健康检查器,检视该数据库中由所述计算节点的计算服务器对于所述计算节点所提供的所述服务的运作状态的更新是否正常,以获得第二状态;以及
心跳服务器,藉由心跳服务检视与所述计算节点的心跳连线是否正常,以获得第三状态;以及
数据中心管理节点,包括:
第二检查接受器,在以所述间隔时间定义的回报时间检视所述检查结果的接收是否正常,以获得第四状态;以及
服务监视器,连线至所述计算节点检视所述计算节点的所述服务的运作状态是否正常,以获得第五状态;其中当所述第一、第二、第四及第五状态为异常、所述第三状态为正常且所述服务监视器确认计算服务落入重启循环时,所述服务监视
器累计错误次数,
当所述第一、第二、第三及第四状态为异常时,所述服务监视器累计所述错误次数,以及
当所述第一、第二、第三及第五状态为异常、所述第四状态为正常且所述服务监视器确认计算服务重启不成功时,或当所述第一、第二及第四状态为异常、所述第三状态为正常且所述服务监视器确认计算服务重启不成功时,所述服务监视器累计所述错误次数,并在所累计的所述错误次数大于错误阈值时,判断所述计算节点失效。
18.如权利要求17所述的云端数据处理系统,其中各所述计算节点的所述自我检查器包括判断多个资源中的至少一个资源的使用量或使用率是否超过使用阈值,并在所述资源的使用量或使用率超过所述使用阈值时,缩短所述间隔时间。
19.如权利要求17所述的云端数据处理系统,其中所述第一检查接受器更根据所述检查结果中的所述资源使用状态,将运行在所述计算节点上的至少一虚拟机的资源使用量或使用率与预先定义的虚拟机资源规格进行比对,以判断所述资源使用量或使用率是否超过预设值或预设比例,其中
若所述资源使用量或使用率超过所述预设值或预设比例,或是所述资源使用量或使用率超过所述预设值或预设比例的次数超过预设次数,所述第一检查接受器还将所述资源使用量或使用率对应的所述虚拟机列入黑名单,以禁止所述虚拟机转移至其他计算节点。
20.如权利要求17所述的云端数据处理系统,其中所述虚拟机管理节点还包括:
虚拟机调度器,在所述服务监视器判断所述计算节点失效时,将运行在所述计算节点上的至少一虚拟机平行转移至其他计算节点。
21.一种计算节点,包括:
自我检查器,自我检查所提供服务的运作状态及资源使用状态,并将检查结果回报至少一管理节点,以及根据所述检查结果动态调整回报所述检查结果的间隔时间,并将所述间隔时间告知所述管理节点,其中
所述管理节点根据所述间隔时间检视所述检查结果的回报状况,以判断所述计算节点是否失效,包括:
所述管理节点的虚拟机管理节点在以所述间隔时间定义的回报时间检视所述检查结果的接收是否正常,以获得第一状态;
所述虚拟机管理节点检视数据库中由所述计算节点对于其所提供的所述服务的运作状态的更新是否正常,以获得第二状态;
所述虚拟机管理节点检视与所述计算节点的心跳连线是否正常,以获得第三状态;
所述管理节点的数据中心管理节点在以所述间隔时间定义的回报时间检视所述检查结果的接收是否正常,以获得第四状态;
所述数据中心管理节点连线至所述计算节点检视所述计算节点的所述服务的运作状态是否正常,以获得第五状态,其中
当所述第一、第二、第四及第五状态为异常、所述第三状态为正常且确认计算服务落入重启循环时,累计错误次数,
当所述第一、第二、第三及第四状态为异常时,累计所述错误次数,以及
当所述第一、第二、第三及第五状态为异常、所述第四状态为正常且计算服务重启不成功时,或当所述第一、第二及第四状态为异常、所述第三状态为正常且计算服务重启不成功时,累计所述错误次数;以及
重复上述检视步骤,并在所累计的所述错误次数大于错误阈值时,判断所述计算节点失效。
22.如权利要求21所述的计算节点,其中所述自我检查器包括判断所述计算节点的多个资源中的至少一个资源的使用量或使用率是否超过使用阈值,并在所述资源的使用量或使用率超过所述使用阈值时,缩短所述间隔时间。
23.如权利要求21所述的计算节点,还包括:
心跳服务器,藉由心跳服务与所述虚拟机管理节点传递心跳分组,以供所述虚拟机管理节点检视所述心跳连线的状态,并据以判断所述计算节点是否失效。
24.如权利要求21所述的计算节点,还包括:
计算服务器,与所述数据中心管理节点的服务监视器连线,以供所述服务监视器检视所述服务的所述运作状态的更新,并据以判断所述计算节点是否失效。
CN201910023516.0A 2018-08-14 2019-01-10 计算节点及其失效检测方法与云端数据处理系统 Active CN110825544B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107128364 2018-08-14
TW107128364A TWI686696B (zh) 2018-08-14 2018-08-14 計算節點及其失效偵測方法與雲端資料處理系統

Publications (2)

Publication Number Publication Date
CN110825544A CN110825544A (zh) 2020-02-21
CN110825544B true CN110825544B (zh) 2023-07-07

Family

ID=69524090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910023516.0A Active CN110825544B (zh) 2018-08-14 2019-01-10 计算节点及其失效检测方法与云端数据处理系统

Country Status (3)

Country Link
US (1) US10802900B2 (zh)
CN (1) CN110825544B (zh)
TW (1) TWI686696B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11327854B2 (en) * 2018-11-15 2022-05-10 Walmart Apollo, Llc System and method for an adaptive election in semi-distributed environments
CN111651291B (zh) * 2020-04-23 2023-02-03 国网河南省电力公司电力科学研究院 一种共享存储集群防脑裂的方法、系统、计算机存储介质
CN113760610A (zh) * 2020-06-01 2021-12-07 富泰华工业(深圳)有限公司 基于OpenStack的裸机高可用性的实现方法、装置及电子设备
CN111651278B (zh) * 2020-06-29 2023-08-01 中国电子科技集团公司第十四研究所 一种基于软件化雷达的动态重构方法及平台
CN111953569B (zh) * 2020-08-27 2022-04-29 浪潮电子信息产业股份有限公司 状态信息上报方法、装置、设备及介质
CN112527544B (zh) * 2020-11-23 2022-04-29 聚好看科技股份有限公司 一种服务器、触发熔断的方法及装置
CN112910981B (zh) * 2021-01-27 2022-07-26 联想(北京)有限公司 一种控制方法及装置
CN112448858B (zh) * 2021-02-01 2021-04-23 腾讯科技(深圳)有限公司 网络通信控制方法及装置、电子设备和可读存储介质
CN113590024B (zh) * 2021-06-18 2023-12-22 济南浪潮数据技术有限公司 一种分布式存储系统的健康巡检方法、装置及终端
CN113626238B (zh) * 2021-07-23 2024-02-20 济南浪潮数据技术有限公司 ctdb服务健康状态监控方法、系统、装置及存储介质
CN113765709B (zh) * 2021-08-23 2022-09-20 中国人寿保险股份有限公司上海数据中心 基于Openstack云平台多维监控的虚拟机高可用实现系统及方法
US11880265B2 (en) * 2021-12-21 2024-01-23 Nvidia Corporation Error rate interrupts in hardware for high-speed signaling interconnect
CN114448843A (zh) * 2021-12-23 2022-05-06 天翼云科技有限公司 一种自适应的心跳检测方法及装置、电子设备
US11632315B1 (en) * 2022-01-19 2023-04-18 Dell Products L.P. System and method for dynamic reporting based management
CN115378945B (zh) * 2022-10-25 2023-03-10 北京创新乐知网络技术有限公司 基于云服务的管理方法及系统
CN116436768B (zh) * 2023-06-14 2023-08-15 北京理想信息科技有限公司 基于交叉心跳监测的自动备援方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370656B1 (en) * 1998-11-19 2002-04-09 Compaq Information Technologies, Group L. P. Computer system with adaptive heartbeat
CN101281486A (zh) * 2007-04-04 2008-10-08 英业达股份有限公司 系统环境的监控方法
CN104333465A (zh) * 2014-10-31 2015-02-04 北京奇虎科技有限公司 一种心跳间隔设置的方法、装置及系统
CN105897499A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 分布式存储系统节点状态监控方法、中心节点及系统

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5894583A (en) * 1996-04-09 1999-04-13 International Business Machines Corporation Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems
US7353269B2 (en) * 2000-12-21 2008-04-01 Fujitsu Limited Network monitoring system
US7254601B2 (en) * 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7233989B2 (en) * 2002-02-22 2007-06-19 Bea Systems, Inc. Method for automatic monitoring of managed server health
US20060294221A1 (en) * 2005-06-22 2006-12-28 Sven Graupner System for programmatically controlling measurements in monitoring sources
GB0516554D0 (en) * 2005-08-11 2005-09-21 Ibm Method, apparatus and computer program for enabling monitoring of a resource
US20070112954A1 (en) * 2005-11-15 2007-05-17 Yahoo! Inc. Efficiently detecting abnormal client termination
US7395187B2 (en) * 2006-02-06 2008-07-01 International Business Machines Corporation System and method for recording behavior history for abnormality detection
US9026575B2 (en) * 2006-09-28 2015-05-05 Alcatel Lucent Technique for automatically configuring a communication network element
US7644254B2 (en) 2007-04-18 2010-01-05 International Business Machines Corporation Routing data packets with hint bit for each six orthogonal directions in three dimensional torus computer system set to avoid nodes in problem list
US8248252B2 (en) * 2008-11-21 2012-08-21 Schechter Tech, Llc Remote monitoring system
US9280380B2 (en) 2012-02-29 2016-03-08 Red Hat Israel, Ltd. Management of I/O reqeusts in virtual machine migration
JPWO2014054274A1 (ja) * 2012-10-02 2016-08-25 パナソニックIpマネジメント株式会社 監視装置及び監視方法
CN103873516B (zh) 2012-12-14 2018-02-16 中兴通讯股份有限公司 提高云计算资源池中物理服务器使用率的ha方法和系统
US9491067B2 (en) * 2013-04-09 2016-11-08 Cisco Technology, Inc. Timeout for identifying network device presence
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
US9465704B2 (en) 2014-03-26 2016-10-11 Vmware, Inc. VM availability during management and VM network failures in host computing systems
US9558082B2 (en) 2014-03-28 2017-01-31 Vmware, Inc. VM availability during migration and VM network failures in host computing systems
US9348710B2 (en) * 2014-07-29 2016-05-24 Saudi Arabian Oil Company Proactive failure recovery model for distributed computing using a checkpoint frequency determined by a MTBF threshold
CN106155812A (zh) * 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种对虚拟主机的资源管理的方法、装置、系统及电子设备
CN105389243B (zh) * 2015-10-26 2018-06-05 华为技术有限公司 一种容器监控方法和装置
CN107179957B (zh) * 2016-03-10 2020-08-25 阿里巴巴集团控股有限公司 物理机故障分类处理方法、装置和虚拟机恢复方法、系统
US10243780B2 (en) * 2016-06-22 2019-03-26 Vmware, Inc. Dynamic heartbeating mechanism
CN106230986A (zh) 2016-09-21 2016-12-14 南方电网科学研究院有限责任公司 一种基于电力PaaS云平台的资源适配调度系统及方法
US20190036772A1 (en) * 2017-12-28 2019-01-31 Intel Corporation Intelligent wireless configuration for iot devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370656B1 (en) * 1998-11-19 2002-04-09 Compaq Information Technologies, Group L. P. Computer system with adaptive heartbeat
CN101281486A (zh) * 2007-04-04 2008-10-08 英业达股份有限公司 系统环境的监控方法
CN104333465A (zh) * 2014-10-31 2015-02-04 北京奇虎科技有限公司 一种心跳间隔设置的方法、装置及系统
CN105897499A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 分布式存储系统节点状态监控方法、中心节点及系统

Also Published As

Publication number Publication date
US10802900B2 (en) 2020-10-13
US20200057686A1 (en) 2020-02-20
TW202009703A (zh) 2020-03-01
CN110825544A (zh) 2020-02-21
TWI686696B (zh) 2020-03-01

Similar Documents

Publication Publication Date Title
CN110825544B (zh) 计算节点及其失效检测方法与云端数据处理系统
US7797572B2 (en) Computer system management method, management server, computer system, and program
CN103201724B (zh) 在高可用性虚拟机环境中提供高可用性应用程序
CN111818159B (zh) 数据处理节点的管理方法、装置、设备及存储介质
CN103455368B (zh) 一种死锁检测方法、节点及系统
JP6019995B2 (ja) 分散システム、サーバ計算機、及び障害発生防止方法
CN105373431B (zh) 一种计算机系统资源的管理方法及计算机资源管理系统
US20100205607A1 (en) Method and system for scheduling tasks in a multi processor computing system
US10924538B2 (en) Systems and methods of monitoring software application processes
EP2518627B1 (en) Partial fault processing method in computer system
US9329937B1 (en) High availability architecture
JP6387747B2 (ja) 情報処理装置、障害回避方法およびコンピュータプログラム
US7886181B2 (en) Failure recovery method in cluster system
US20160036654A1 (en) Cluster system
JP4796086B2 (ja) クラスタシステム及び同システムにおいてマスタノードを選択する方法
US20100083034A1 (en) Information processing apparatus and configuration control method
Stack et al. Self-healing in a decentralised cloud management system
JP6112205B2 (ja) 情報処理システム、装置、方法及びプログラム
Kirti et al. Fault‐tolerance approaches for distributed and cloud computing environments: A systematic review, taxonomy and future directions
Zhu et al. Robust function deployment against uncertain recovery time in different protection types with workload-dependent failure probability
CN112291288B (zh) 一种容器集群伸缩方法、装置、电子设备及可读存储介质
WO2008015730A1 (fr) Procédé et programme pour éviter un échec d'exécution d'une tâche dans un système de calcul de grille et système de calcul de grille
CN117675497A (zh) 分布式训练系统的组网方法和装置
JP2020047140A (ja) ジョブ実行システムおよびジョブ実行方法
JP2022130200A (ja) コンテナ管理方法およびコンテナ管理プログラム

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