CN105051698A - 用于基础设施即服务云中故障管理的方法和布置 - Google Patents
用于基础设施即服务云中故障管理的方法和布置 Download PDFInfo
- Publication number
- CN105051698A CN105051698A CN201380075194.5A CN201380075194A CN105051698A CN 105051698 A CN105051698 A CN 105051698A CN 201380075194 A CN201380075194 A CN 201380075194A CN 105051698 A CN105051698 A CN 105051698A
- Authority
- CN
- China
- Prior art keywords
- application
- server node
- virtual machine
- bus
- cloud
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0709—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0712—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0784—Routing of error reports, e.g. with a specific transmission path or data flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
IaaS(基础设施即服务)云中的服务器节点(1)包括管理程序布置(2)和多个虚拟机布置(VM),所述多个虚拟机布置的至少一个子集一起定义利用IaaS云的至少一个应用(APP)。服务器节点(1)包括管理程序布置(2)内的云基础设施监视器(3)。云基础设施监视器(3)包含:监视器布置(31),配置用于通过监视物理网络、物理网络内的存储装置、服务器节点(1)或所述多个虚拟机布置(VM)中的至少一个虚拟机布置中的至少一项来监视IaaS云的基础设施;以及检测器布置(32),配置用于检测监视的IaaS基础设施内的故障;以及通知布置(33),配置用于在消息总线(4)上提供检测的故障的通知。另外,服务器节点(1)包含布置在管理程序布置(2)与每个至少一个应用(APP)之间用于从云基础设施监视器(3)向所述至少一个应用(APP)中继故障通知的相应消息总线(4),并且每个至少一个应用(APP)配置成响应于接收的故障通知而自动管理其操作。
Description
技术领域
一般而言,本发明涉及云计算,并且确切地说,涉及IaaS云中的改进的故障管理。
背景技术
术语云计算在其最一般意义上用于描述使用在网络(例如因特网)上作为服务递送的计算资源(例如硬件和软件)的概念。该名称从现今常用云作为它在***图中含有的复杂基础设施的抽象来导出。阐明它的另一方式是,云计算实现了对可以用最小管理努力或服务提供商交互迅速供应和释放的可配置计算资源(例如网络、服务器、存储装置、应用和服务)的共享池方便的按需网络接入。通常,云计算由于构建在彼此之上的若干服务而被描述为堆栈。这些服务可被分成三个主要模型,即,软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS),其中IaaS是最基本模型。简言之,不同模型可被描述如下:
SaaS云提供商安装和操作云中的应用软件,并且云用户从云客户端访问软件。云用户不管理应用正运行在其上的云基础设施和平台。
PaaS云提供商递送计算平台,其通常包含操作***、编程、语言执行环境、数据库和web服务器。
IaaS云提供商提供了计算机、物理或虚拟机以及其它资源,这是当前公开的焦点,并且将在下面进一步描述。具体地说,当前公开针对基础设施即服务(IaaS)云***中的故障管理。基础设施即服务是组织外包用于支持操作的物理设备的递送模型,包含存储装置、硬件、服务器和连网组件。通常来说,虚拟化被用作提供客户端隔离和资源复用的手段。通常,客户端请求的基础设施可随时间缩放(增大或缩小)。客户端通常在按使用的基础上支付。
在云服务内,并且具体地说对于IaaS云,一个困难是如何处置例如在数据中心(物理服务器、存储装置、网络等)中发生的故障,以及这些故障如何影响利用云的应用或服务。由于应用或服务不知道基础设施的硬件功能性,因此难以实现处置故障的任何方式。今天,存在处置云基础设施中的故障的若干不同方法。
Rackspace,美国的最大IaaS提供商之一,已经定义了云监视应用编程接口(API)[1]。那个API是基于RESTful的,并且允许创建检查、警告、通知计划,以及其它事项。如果检测到检查条件,则开启警告,并且可使用通知计划。然而,通知计划是发送到人类操作员的纯电子邮件,其又轮到可对此事起作用。也支持webhook,但它也不通知应用本身。
亚马逊WS也已经提供了与那个问题有关的相关解决方案。好的示例是亚马逊CloudWatch[2],一种通过度量监视VM的性能的服务。如果度量在规定级别以外,则云管理***可采取行动。所定义的度量是CPU利用、等待时间和请求计数或自定义。所提出的警告类型是OK、ALARM或INSUFICIENT_DATA(没有读取是可能的)。然而,这个解决方案仅聚焦在性能VM上,不提供用于故障监视和通知的全框架。
另一相关服务是亚马逊简单通知服务[3]。它提供了应用向订户通知通常用于实现应用逻辑本身的事件的方式。它构建在简单队列服务(类似于在此发明中使用的服务的服务)之上。然而,这仅是像任何其它的通知总线;它不提供用于故障监视的解决方案。
因此,存在对于用于实现IaaS云中改进的故障监视和管理的方法和布置的需要。
发明内容
本发明涉及IaaS云中的故障管理。
根据第一方面,本公开呈现了IaaS(基础设施即服务)云中的服务器节点,所述服务器节点包括管理程序布置和多个虚拟机布置,所述多个虚拟机布置的至少一个子集一起定义利用IaaS云的至少一个应用。服务器节点还包括管理程序布置内的云基础设施监视器。云基础设施监视器包括:监视器布置,其配置用于通过监视物理网络、物理网络内的存储装置、服务器节点或所述多个虚拟机布置中的至少一个虚拟机布置中的至少一项来监视IaaS云的基础设施;以及检测器布置,其配置用于检测监视的IaaS基础设施内的故障;以及通知布置,其配置用于在消息总线上提供检测的故障的通知。服务器节点还包含布置在管理程序布置与每个至少一个监听应用之间用于从云基础设施监视器向所述至少一个监听应用中继故障通知的相应消息总线。最后,每个至少一个应用配置成响应于接收的故障通知而自动管理其操作。
根据第二方面,本公开呈现了IaaS云中的服务器节点中的故障管理的方法,所述服务器节点包括管理程序布置和多个虚拟机布置,所述多个虚拟机布置的至少一个子集一起定义利用IaaS云的至少一个应用。所述方法包含通过监视物理网络、物理网络内的存储装置布置、物理服务器节点或所述多个虚拟机布置中的至少一个虚拟机布置中的至少一项来监视IaaS云的基础设施的步骤。另外,所述方法包含如下步骤:检测监视的IaaS基础设施中的故障;在布置在管理程序布置与每个至少一个应用之间的相应消息总线上通知至少一个应用检测的故障。最后,所述方法包含基于故障通知自动管理每个至少一个应用的操作的步骤。
本公开的优点包含使每个应用能够自动管理以及从在IaaS云中监视的和检测的故障条件恢复。
附图说明
通过参考如下结合附图进行的描述可最好地理解本发明,以及其另外目标和优点,附图中:
图1是IaaS云的示意性概览;
图2是当前公开的实施例的示意性流程图;
图3是根据当前公开的服务器节点的实施例的示意性图示;
图4是根据当前公开的多个服务器节点的实施例的示意性图示;
图5是X86架构中的实施例的示意性图示;
图6是根据当前公开的实施例的流程图;
图7是当前公开的另一实施例的流程图;
图8是当前公开的实施例的另外的流程图;
图9图示了当前公开的另外实施例;
图10图示了根据当前公开的实施例的信令图;
图11图示了当前公开的实施例的计算机实现。
缩写:
AMQP 高级消息排队协议
API 应用编程接口
CIM 云基础设施监视器
CPU 中央处理单元
IaaS 基础设施即服务
NIC 网络接口卡
PaaS 平台即服务
SaaS 软件即服务
VM 虚拟机。
具体实施方式
本公开涉及IaaS云中的改进的故障管理。出于简单性原因,本公开主要描述与IaaS云中的一个物理服务器节点相关的功能。然而,它容易适用于数据中心中多个物理服务器节点的情况。
如上面在背景部分中所说明的,现有解决方案在故障情况下要求人为干预或者采取通用行动。电信应用在故障情况下要求对行为的更多控制(例如,以便实现高可用性)。而且,并且如发明人所标识的,如果应用本身可决定当发生特定故障时做什么,则可采取更智能的行动。
此公开解决的问题之一是,在故障的情况下让应用决定采取什么行动的问题。在过去的几年中,技术已经从单个独立web服务器移动到复杂多服务器应用。应用被分解成更小的服务,更小的服务可独立部署在虚拟机上,并且独立缩放。这些多服务器应用被部署在云数据中心中。
此公开解决的问题涉及在此环境中发生故障的情形。与IaaS云中的故障相关的两个主要问题出现:
应用通常在虚拟化环境(例如虚拟机)上运行,并且它们不知道下面(管理程序和硬件)正在发生什么,见图1。在某种故障的情况下,应用没有知道故障的位置或性质的手段,例如,无论它是连网故障、管理程序故障还是存储装置故障。
当故障发生时,人类操作员得到它的通知,并可采取行动。备选地,云***可被预先配置成采取自动化行动。然而,清楚的是,应用更适合于采取此类决定,因为它们非常依赖于应用逻辑和故障的类型。
本公开的发明人已经标识了在每个管理程序布置中实现监视IaaS云基础设施并通知受检测的故障影响的相关应用的监视器布置和功能或云基础设施监视器(CIM)的可能性。此外,应用配置成基于通知的故障单个地或者合作地自动管理它们的相应操作。
此公开含有三个主要部分。第一部分是上面提到的云基础设施监视器3,部署在每个管理程序中以便监视不同服务(例如网络、存储装置、管理程序本身)的健康或状况的所谓守护进程。云基础设施监视器3也可监视应用参数(存储器消耗、请求/秒)以及一起定义应用的虚拟机。响应于检测的故障,云基础设施监视器3在消息总线4上发送故障的通知。
此公开的第二部分涉及消息总线4的管理以提供可缩放性。清楚地,其中所有云基础设施监视器3发送通知并且所有虚拟机(或虚拟机中的软件应用)监听的一个消息总线将不缩放。本公开通过使云客户端能够定义应用(用于提供服务的彼此依赖的一组虚拟机)来解决这个。然后,可能创建多个消息总线4,每个应用一个。本公开也支持虚拟机的迁移,这将在下面进一步描述。
此公开的第三部分涉及应用响应于通知的故障而采取的行动。那些行动取决于应用和故障的类型。它们例如可包含创建新虚拟机、移动数据、重新定向请求等。
参考图1和图2,将描述根据当前公开的IaaS云中的故障管理的方法的基本实施例。如图1中所指示的,(物理)服务器节点1包含管理程序布置或虚拟机管理器(VMM)以及多个虚拟机布置(VM)。虚拟机的至少一个子集一起定义利用IaaS云基础设施的至少一个应用。每个虚拟机布置还包含相应操作***。在图1中,基础设施被指示为一个盒子,其包含网络、物理服务器、存储装置等。
如上面所简要描述的,将参考图2描述服务器节点中的故障管理的方法的实施例,所述服务器节点包括管理程序布置和多个虚拟机布置,所述多个虚拟机布置的至少一个子集一起定义利用所述IaaS云的至少一个应用。通常,服务器节点包含一个管理程序布置。实施例包含通过监视S10物理网络、物理网络内的存储装置布置、物理服务器节点或所述多个虚拟机布置中的至少一个虚拟机布置中的至少一项来监视S10IaaS云的基础设施的步骤。在某一时间点,在步骤S20中,在监视的基础设施中检测到故障,并且在步骤S30中,在布置在管理程序布置与每个至少一个应用之间的相应消息总线上通知至少一个应用检测的故障。最后,所述方法包含在步骤S40基于接收的通知自动管理每个至少一个应用的操作的步骤。
参考图3,将描述根据本公开用于实现上面描述的方法的IaaS(基础设施即服务)云中的服务器节点1的基本实施例。服务器节点1包含管理程序布置2和多个虚拟机布置(VM),所述多个虚拟机布置的至少一个子集一起定义利用IaaS云的至少一个应用(APP)。通常,服务器节点1包含一个管理程序布置2。服务器节点1还包括管理程序布置2内的云基础设施监视器3。云基础设施监视器3又包括:监视器布置31,其配置用于通过监视物理网络、物理网络内的存储装置、服务器节点1或所述多个虚拟机布置VM中的至少一个虚拟机布置VM中的至少一项来监视IaaS云的基础设施。另外,云基础设施监视器3包含:检测器布置32,其配置用于检测监视的IaaS基础设施内的故障;以及通知布置33,其配置用于在消息总线4上向受影响的应用提供检测的故障的通知。另外,服务器节点1包含这样的相应消息总线4,其布置在管理程序布置2与每个至少一个应用APP之间用于从云基础设施监视器3向所述至少一个应用APP中继故障通知。尽管在图4中未示出,但服务器节点1通常包含多个消息总线4,每个定义的应用一个。另外,每个至少一个应用APP配置成响应于其关联的消息总线上的故障通知而自动管理其操作。
如之前所提到的,此公开的实质特征是新颖的云基础设施监视器(CIM)单元、部署在每个管理程序中以便监视物理以及虚拟化资源(CPU、存储器、NIC、盘...)的所谓守护进程。这个守护进程连接到消息总线,并且在故障情况下,它在消息总线上向连接到它的所有实体发送通知消息。例如,云基础设施监视器将监视物理盘(pDISK)作为暴露于VM的虚拟盘(vDISK)。如果它们中的一个出故障,则在消息总线上发送通知故障的消息。在图3和图5中示出了相对于物理和虚拟资源的那个云基础设施监视器的布置。
CIM从而是运行在跨数据中心的管理程序上的一组分布式守护进程。这是完全分散的解决方案,没有单个故障点。将为了小足迹和高效率优化CIM代码,最小化监视的影响。没有对于CIM的中心协调的需要。而是,每个CIM以独立方式操作。
在另一实施例中,云基础设施监视器也可监视应用参数(存储器消耗、请求/秒)。规定的范围外部的值将触发在总线上发送通知消息。
对故障事件感兴趣的应用预订消息总线。下面描述预订方法。在故障的情况下,应用相应地基于故障事件行动。
参考图4,将描述与当前公开的可缩放性相关的一些方面。
显然,服务于数据中心中的所有应用的一个单个故障通知消息总线4不是可缩放的解决方案。应用将充满太多不相关的故障通知或消息。而且,消息总线4也将容易过载。
根据本公开的解决方案将使客户端能够将应用APP定义为依靠彼此实现具体服务的一组虚拟机VM。因此,实现了一个消息总线/应用4,从而限制了消息的接收者的量。换句话说,将仅向受检测的故障影响的应用通知关于该故障。由此,每个虚拟机将仅接收与其操作相关的检测的故障的通知。从而,消息总线在按应用的基础上操作。
在上面的示例中,描绘了两个应用,APP_A和APP_B。如可看到的,两个不同消息总线4携带通知信息,每个应用一个。
如之前所提到的,CIM(部署在管理程序中)是分散的守护进程。CIM连接到正确的消息总线4以便通知适当的应用是非常重要的。在上面示例中,在托管APP_A和APP_B的虚拟机的管理程序中,CIM必须连接到两个消息总线4。仅托管VM2(APP_A)的管理程序2仅连接到消息总线APP_A4。
参考图6,将描述有关如何在IaaS云中的服务器节点1中启动和设立本公开的技术的细节。术语引导(bootstrapping)用于表示如何在IaaS云中的服务器节点1上注册和设立虚拟机布置。
最初,在步骤S1’中,从客户端向云管理***CMS发送对于虚拟机的请求。假定可满足该请求,在步骤S2’中,云管理***CMS接受该请求,并将应答发送回客户端。客户端必须规定Application_Name,其在***中将与APP_ID相关联。如之前所描述的,应用表示依靠彼此用于提供服务的一组虚拟机。
在步骤S3’中,云管理***CMS将在应用注册表中用Application_Name、Application_ID和VM_fingerprint注册虚拟机。VM_fingerprint例如可以是那个VM的MAC地址(如果使用***范围的MAC分配的话)。
因此,根据另外实施例,服务器节点1包含应用注册表,其例如为每个应用管理和存储Application_Name、Application_ID和VM_fingerprint。此外,服务器节点1包含总线注册表,其配置用于维护和更新每个消息总线及其应用的注册。
应用注册表和/或总线注册表可有益地位于另一服务器节点中。
然后在步骤S2中,云管理***CMS将在给定主机(例如给定的服务器节点1)中起动或部署新虚拟机。
参考图7,将描述与当前公开的启动和设立相关的另外实施例。
引导的第二阶段是关于将云基础设施监视器连接到正确的消息总线。当主机服务器节点1起动时,在步骤S1中自动启动CIM守护进程。当在步骤S2中部署至少一个虚拟机时,在这个主机上(根据之前描述的实施例),在步骤S3中,CIM守护进程使用VM_fingerprint从那个虚拟机的应用注册表获得APP_ID。通过APP_ID,CIM查询总线注册表以便获得那个特定应用的消息总线地址。如果那个消息总线不存在,则在步骤S5,创建新消息总线,并在步骤S6中,在总线注册表中注册。然后在步骤S4中,守护进程能够连接到消息总线。如果总线已经存在,则在步骤S4中,守护进程仅仅必须连接到它。随后,在步骤S10中,根据图2的实施例监视IaaS基础设施的过程继续进行。
应用连接到消息总线的过程是类似的。
可定义无数类型的故障通知消息。在此,公开了此类消息的非限制示例。在本公开的这个实施例中,故障通知消息包含受这个故障影响的应用的ID(APP_ID)。它包含消息源(CIM)的IP地址。它包含fault_type(例如,服务停止、服务无响应)。它包含有故障的服务(例如网络、存储装置)。它包含有故障的装置(例如eth0)。
Application:APP_ID
Notification_Source:IP_address
Fault_type:停止
Fault_Service:网络
Fault_Dev:eth0。
在IaaS云内,虚拟机布置可在不同服务器节点之间迁移。迁移可以是根据当前公开的实施例的检测的故障的结果,或者例如由当前硬件的替换或重新定位、服务器硬件的使用的维护、优化等引起的事物。为了支持迁移同时根据本公开维护全故障管理,需要进行一些考虑。
参考图8,将描述与虚拟机从当前服务器节点向目标服务器节点的迁移相关的示例实施例。
根据已知措施,当云管理***如此决定时,可在主机中间自由地移动或迁移虚拟机。那个可干扰当前公开,因为旧管理程序可连接到它不再需要连接的消息总线。那个问题的解决方案是如下,如参考图8所描述的。在某一时间点,接收迁移请求或命令。响应于接收的迁移请求,在步骤A1中,执行将虚拟机布置中的至少一个从其当前服务器节点或主机迁移到目标服务器节点的步骤。为了防止当前管理程序连接到它不再需要连接的消息总线,还需要参考迁移的虚拟机布置更新主机和目标的CIM。所以,当迁移发生时,云管理***通知管理程序中的守护进程。如果本地管理程序不含有是相同应用一部分的任何其它虚拟机,则它从相应消息总线断开。由于当前服务器节点在迁移之后将具有较小数量的虚拟机布置,当前服务器节点的所谓VM_CIM_Counter减小,也就是说,降低当前节点中相关联的消息总线的VM_CIM_COUNTER。计数器表示属于相同应用的当前管理程序中的虚拟机的数量。
在迁移之后,在步骤A2中,目的地CIM将探测应用注册表以从应用注册表获得虚拟机布置的应用身份APP_ID。在步骤A3中,目的地CIM然后将验证它是否已经连接到那个APP_ID的消息总线。如果否,则在步骤A5中,将进行连接。为了指示目标主机的虚拟机布置的数量已经增大,则在步骤A4中,增大目标服务器节点的对应VM_CIM_Counter。随后,在步骤S10中,根据图2的实施例监视IaaS基础设施的过程继续进行。
在此发明的一个实施例中,高级消息排队协议(AMQP)作为消息总线用于递送故障通知消息。AMPQ是用于在应用之间传递消息的广泛使用的开放标准。AMQP在性质上是异步的,并且因此,消息需要在接收方处从收件箱拉出。
由于异步性质,公开了用于检索消息的两种方法。在第一种方法中,应用轮询消息总线以便以有规律的时间间隔读取通知消息。在第二种方法中,当检测到通常情形时,应用仅读取消息总线。那个的示例将是TCP连接超时。
参考图9,示出了云的不同部分之间的关系和合作的示意性图示。如所指示的,当前公开的新颖的云基础设施监视器3和云管理***与应用注册表和总线注册表通信。
在图10中图示了本公开中的信令的示例实施例。如附图中所指示的,CIM3监视IaaS基础设施。监视可包括监督预定参数或检测预定事件。在某一时间点,CIM3检测IaaS基础设施的某一部分中的故障,如通过从IaaS基础设施到CIM3的信号所指示的。一个或多个故障通知消息然后根据检测的故障递送到一个或多个相关消息总线4。基于有关哪些应用受影响或对检测的故障感兴趣的信息,故障通知被中继到应用,应用然后可基于故障通知管理它们的相应操作。
下面以非限制性方式呈现每个应用在接收故障通知时可采取的自动措施中的一些。
-在相同或另一数据中心中,从相同镜像分离新VM
-停止有故障的VM
-停止在有故障的条件下与VM通信的过程
-移动数据
-通知负载均衡器停止将新请求定向到受影响的VM
-根据故障的类型,执行VM迁移
要采取的行动是非常应用相关的。如之前所陈述的,应用本身是决定在有故障的环境下做什么的最佳应用。
上面描述的步骤、功能、过程和/或块中的至少一些可在软件中实现,以便由适合的处理装置(诸如微处理器、数字信号处理器(DSP)和/或任何适合的可编程逻辑装置,诸如现场可编程门阵列(FPGA)装置)执行。
在下文中,将参考图11描述的根据当前的公开的服务器节点101的计算机实现的实施例的示例。此实施例基于处理器110(例如微处理器),其执行用于通过监视物理网络、物理网络内的存储装置布置、物理服务器节点或所述虚拟机布置中的至少一个虚拟机布置中的至少一项来监视IaaS云的基础设施的软件组件131;用于检测监视的基础设施中的故障的软件组件132;以及用于在布置在管理程序布置与每个至少一个应用之间的相应消息总线上通知所述至少一个应用检测的故障的软件组件133;以及用于在管理程序与至少一个应用之间中继故障通知的软件组件104;以及用于基于接收的通知自动管理每个至少一个应用的操作的软件组件APP。这些软件组件被存储在存储器120中。处理器110在***总线上与存储器通信。信号由控制输入/输出(I/O)总线的I/O控制器130接收,处理器110和存储器120连接到I/O总线。在此实施例中,由I/O控制器130接收的信号被存储在存储器120中,在那里它们由软件组件处理。软件组件110可实现监视步骤S10的功能性。软件组件131可实现故障检测步骤S20的功能性。软件组件132可实现通知接收步骤S30的功能性,并且软件组件APP可实现管理步骤S40的功能性。
I/O单元130可经由I/O总线互连到处理器110和/或存储器120以实现相关数据(诸如输入参数和/或产生的输出参数)的输入和/或输出。
上面描述的步骤、功能、过程和/或块中的至少一些可在软件中实现以便由适合的处理装置(诸如微处理器、数字信号处理器(DSP)和/或任何适合的可编程逻辑装置,诸如现场可编程门阵列(FPGA)装置)执行。
还应该理解,可能有可能再用网络节点的通用处理能力。例如,这可通过现有软件的重新编程或通过增加新的软件组件来执行。
软件可实现为计算机程序产品,其通常在计算机可读介质上执行。软件从而可被加载到计算机的操作存储器中以便由计算机的处理器执行。计算机/处理器不必仅专用于执行上面描述的步骤、功能、过程和/或块,而是也可执行其它软件任务。
当前的公开的实施例的主要优点是,它给每个应用适当地从故障条件恢复的机会。实践的现有状态不允许这样的解决方案。本文呈现的解决方案是可缩放的并且分布式的。
上面描述的实施例要理解为本发明的几个说明性示例。本领域的技术人员将理解,可对实施例进行各种修改、组合和改变,而不脱离本发明的范围。具体地说,在技术上有可能的情况下,不同实施例中的不同部分解决方案可被组合在其它配置中。然而,本发明的范围由所附权利要求书定义。
参考文献:
[1]RackspaceCloudMonitoringAPI,http://www.rackspace.com/cloud/public/monitoring/
[2]AmazonCloudWatch,http://aws.amazon.com/cloudwatch/
[3]AmazonSimpleNotificationService,http://aws.amazon.com/sns/
Claims (21)
1.一种在IaaS(基础设施即服务)云中的服务器节点(1),所述服务器节点(1)包括管理程序布置(2)和多个虚拟机布置(VM),所述虚拟机布置的至少一个子集一起定义利用所述IaaS云的至少一个应用(APP),所述服务器节点(1)还包括:
所述管理程序布置(2)内的云基础设施监视器(3),所述云基础设施监视器(3)包括:
监视器布置(31),配置用于通过监视物理网络、所述物理网络内的存储装置、所述服务器节点(1)或所述多个虚拟机布置(VM)中的至少一个虚拟机布置中的至少一项来监视所述IaaS云的基础设施;以及
检测器布置(32),配置用于检测所述监视的IaaS基础设施内的故障;以及
通知布置(33),配置用于在消息总线(4)上提供检测的故障的通知;
相应消息总线(4),布置在所述管理程序布置(2)与每个所述至少一个应用(APP)之间,用于从所述云基础设施监视器(3)向所述至少一个应用(APP)中继所述故障通知;
每个所述至少一个应用(APP)配置成响应于接收的故障通知而自动管理其操作。
2.如权利要求1所述的服务器节点,其中所述服务器节点(1)可连接到配置成为每个所述至少一个应用存储应用身份的应用注册表以及配置成为每个所述至少一个应用存储相应消息总线的总线注册表。
3.如权利要求2所述的服务器节点,其中所述应用注册表和/或所述总线注册表位于所述服务器节点(1)内。
4.如权利要求2所述的服务器节点,其中所述服务器节点(1)配置成与位于另一服务器节点(1)内的应用注册表和/或总线注册表通信。
5.如权利要求2所述的服务器节点,其中所述服务器节点(1)配置成在起动所述服务器节点(1)时启动所述云基础设施监视器(3),并且还配置用于部署定义应用的至少一个虚拟机布置;以及
所述云基础设施监视器(3)配置成从所述应用注册表获得所述应用的应用身份,并还配置用于:如果在所述应用的所述总线注册表中没有消息总线可用,则创建新消息总线,以及在所述总线注册表中注册所述新总线,
所述服务器节点(1)还配置用于将所述启动的云基础设施监视器(3)连接到所述应用的所述消息总线或所述新消息总线。
6.如以上权利要求中任一项所述的服务器节点,其中所述消息总线(4)配置成利用高级消息排队协议。
7.如权利要求1-6中任一项所述的服务器节点,其中所述至少一个应用配置成以预定时间间隔从所述消息总线读取通知消息。
8.如权利要求1-6中任一项所述的服务器节点,其中所述至少一个应用配置成基于预定条件读取通知消息。
9.如权利要求8所述的服务器节点,其中所述预定条件包括TCP连接超时。
10.如权利要求1-9中任一项所述的服务器节点,其中所述通知包括受检测的故障影响的应用的应用身份、所述云基础设施监视器(3)的IP地址、每个检测的故障的类型、有故障的服务的指示、有故障的装置的指示中的至少一项。
11.如权利要求1-10中任一项所述的服务器节点,其中所述服务器节点(1)配置成通过响应于检测的故障而从向目标服务器节点迁移虚拟机来自动管理其关联的应用。
12.一种在IaaS云中的服务器节点中的故障管理的方法,所述服务器节点包括管理程序布置和多个虚拟机布置,所述虚拟机布置的至少一个子集一起定义利用所述IaaS云的至少一个应用,所述方法包括如下步骤:
通过监视物理网络、所述物理网络内的存储装置布置、所述物理服务器节点或所述多个虚拟机布置中的至少一个虚拟机布置中的至少一项来监视(S10)所述IaaS云的基础设施;
检测(S20)所述监视的基础设施中的故障;以及
在布置在所述管理程序布置与每个所述至少一个应用之间的相应消息总线上通知(S30)所述至少一个应用检测的故障;以及
基于所述接收的通知自动管理(S40)每个所述至少一个应用的操作。
13.如权利要求12所述的方法,还包括如下初始化步骤:
启动(S1)所述云基础设施监视器;
部署(S2)定义应用的至少一个虚拟机布置;以及
所述云基础设施监视器执行如下步骤:
从应用注册表获得(S3)所述应用的应用身份;以及
如果对于所述应用没有消息总线可用,则创建(S5)新消息总线;以及
在总线注册表中注册(S6)所述新总线;
将所述云基础设施监视器连接(S4)到所述应用的所述总线或新总线。
14.如权利要求12所述的方法,还包括如下步骤:
请求(S1')新虚拟机布置,
云管理***接受(S2’)所述请求,
所述云管理***在应用注册表中用应用身份注册(S3’)所述新虚拟机布置。
15.如权利要求12所述的方法,其中自动管理每个至少一个应用的操作的所述步骤(S40)包括响应于通知的故障而启动新虚拟机的步骤。
16.如权利要求12所述的方法,其中自动管理每个至少一个应用的操作的所述步骤(S40)包括响应于通知的故障而停止虚拟机的步骤。
17.如权利要求12所述的方法,其中自动管理每个至少一个应用的操作的所述步骤(S40)包括响应于通知的故障而停止与虚拟机通信的任何过程的步骤。
18.如权利要求12所述的方法,其中自动管理每个至少一个应用的操作的所述步骤(S40)包括响应于检测的故障而移动数据的步骤。
19.如权利要求12所述的方法,其中自动管理每个至少一个应用的操作的所述步骤(S40)包括响应于检测的故障而通知负载均衡器停止将新请求定向到虚拟机的步骤。
20.如权利要求12所述的方法,其中自动管理每个至少一个应用的操作的所述步骤(S40)包括响应于检测的故障而从当前服务器节点向目标服务器节点迁移虚拟机的步骤。
21.如权利要求12或20所述的方法,还包括如下步骤:
响应于接收的迁移请求,将至少一个所述虚拟机布置迁移(A1)到目标服务器节点,
降低所述当前节点中的所述关联的消息总线的VIM_CIM_COUNTER,
所述目标服务器节点的云基础设施监视器从应用注册表获得(A2)所述虚拟机布置的应用身份,
如果所述云基础设施监视器已经与所述应用的消息总线关联,则增大(A3)所述目标服务器节点中的所述消息总线的VM_CIM_COUNTER;
将所述云基础设施监视器连接(A4)到所述应用的消息总线。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SE2013/050352 WO2014158066A1 (en) | 2013-03-28 | 2013-03-28 | Method and arrangement for fault management in infrastructure as a service clouds |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105051698A true CN105051698A (zh) | 2015-11-11 |
CN105051698B CN105051698B (zh) | 2018-11-16 |
Family
ID=48428594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380075194.5A Active CN105051698B (zh) | 2013-03-28 | 2013-03-28 | 用于基础设施即服务云中故障管理的方法和布置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10037237B2 (zh) |
EP (1) | EP2979183B1 (zh) |
CN (1) | CN105051698B (zh) |
WO (1) | WO2014158066A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106130809A (zh) * | 2016-09-07 | 2016-11-16 | 东南大学 | 一种基于日志分析的IaaS云平台网络故障定位方法及*** |
WO2018054081A1 (zh) * | 2016-09-22 | 2018-03-29 | 华为技术有限公司 | 故障处理方法、虚拟架构管理***和业务管理*** |
CN108121586A (zh) * | 2016-11-29 | 2018-06-05 | 上海有云信息技术有限公司 | 一种PaaS层故障迁移装置及方法 |
CN108494880A (zh) * | 2018-04-18 | 2018-09-04 | 云家园网络技术有限公司 | 基于大规模数据中心管理的通信方法及*** |
CN111866054A (zh) * | 2019-12-16 | 2020-10-30 | 北京小桔科技有限公司 | 一种云主机的搭建方法、装置、电子设备及可读存储介质 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9626261B2 (en) * | 2013-11-27 | 2017-04-18 | Futurewei Technologies, Inc. | Failure recovery resolution in transplanting high performance data intensive algorithms from cluster to cloud |
CN103746855B (zh) * | 2014-01-27 | 2017-09-12 | 华为技术有限公司 | 电信云中异常事件的处理方法及装置 |
US10560353B1 (en) * | 2014-09-16 | 2020-02-11 | Amazon Technologies, Inc. | Deployment monitoring for an application |
US10756968B2 (en) | 2015-01-26 | 2020-08-25 | Rapid7, Inc. | Network resource management devices methods and systems |
US9578008B2 (en) * | 2015-05-11 | 2017-02-21 | Intel Corporation | Technologies for secure bootstrapping of virtual network functions |
JP6771874B2 (ja) * | 2015-09-16 | 2020-10-21 | キヤノン株式会社 | 情報処理装置、その制御方法及びプログラム |
US10361919B2 (en) | 2015-11-09 | 2019-07-23 | At&T Intellectual Property I, L.P. | Self-healing and dynamic optimization of VM server cluster management in multi-cloud platform |
CN107203451B (zh) * | 2016-03-18 | 2020-09-18 | 伊姆西Ip控股有限责任公司 | 用于在存储***中处理故障的方法及设备 |
US10623474B2 (en) * | 2016-06-27 | 2020-04-14 | International Business Machines Corporation | Topology graph of a network infrastructure and selected services status on selected hubs and nodes |
US9998339B1 (en) * | 2017-02-06 | 2018-06-12 | Comtrade Software Inc. | Application awareness for virtual infrastructure environments |
US10523550B2 (en) * | 2017-04-27 | 2019-12-31 | Huawei Technologies Co., Ltd. | Scout functions |
US10459780B2 (en) * | 2017-04-29 | 2019-10-29 | Cisco Technology, Inc. | Automatic application repair by network device agent |
US11507540B1 (en) * | 2018-02-15 | 2022-11-22 | EMC IP Holding Company LLC | Decentralized file system and message bus architecture for processing training sets in multi-cloud computing environment |
CN109218315B (zh) * | 2018-09-20 | 2021-06-01 | 华为技术有限公司 | 一种安全管理方法和安全管理装置 |
CN109636307B (zh) * | 2018-10-31 | 2020-05-26 | 广州市水务信息技术保障中心 | 河长app*** |
US20200394084A1 (en) * | 2019-06-13 | 2020-12-17 | Citrix Systems, Inc. | Systems and methods for controlling delivery of notifications on a per user basis |
TWI732392B (zh) * | 2019-07-31 | 2021-07-01 | 竹陞科技股份有限公司 | 工廠管理系統及控制系統 |
US11320809B2 (en) | 2019-07-31 | 2022-05-03 | Grade Upon Technology Corporation | Factory management system and control system |
CN113259174B (zh) * | 2021-06-07 | 2021-10-19 | 上海慧捷智能技术有限公司 | 一种基于多云架构的联络中心***及其实现的方法 |
CN114553872B (zh) * | 2022-02-24 | 2023-12-29 | 吴振星 | 基于云端的数据中心基础设施管理***和方法 |
CN117076253B (zh) * | 2023-08-30 | 2024-05-28 | 广州逸芸信息科技有限公司 | 一种数据中心业务及设施多维度智能运维*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1486093A (zh) * | 2002-09-27 | 2004-03-31 | 上海贝尔有限公司 | 嵌入式***中基于操作***的通信调度装置 |
CN1490724A (zh) * | 2002-10-18 | 2004-04-21 | 上海贝尔有限公司 | 一种用于嵌入式***软件开发的虚拟机装置 |
US20040215916A1 (en) * | 2003-04-25 | 2004-10-28 | International Business Machines Corporation | Broadcasting error notifications in system with dynamic partitioning |
US20060200705A1 (en) * | 2005-03-07 | 2006-09-07 | International Business Machines Corporation | Method, system and program product for monitoring a heartbeat of a computer application |
CN101141417A (zh) * | 2007-10-24 | 2008-03-12 | 中兴通讯股份有限公司 | 设备中任务间消息通信的方法 |
CN102984214A (zh) * | 2012-11-08 | 2013-03-20 | 华为技术有限公司 | 一种实现电信云中业务迁移的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6920587B2 (en) * | 2002-04-25 | 2005-07-19 | International Business Machines Corporation | Handling multiple operating system capabilities in a logical partition data processing system |
US7937701B2 (en) * | 2005-06-30 | 2011-05-03 | Intel Corporation | ACPI communication between virtual machine monitor and policy virtual machine via mailbox |
US8843924B2 (en) * | 2011-06-17 | 2014-09-23 | International Business Machines Corporation | Identification of over-constrained virtual machines |
US8949428B2 (en) * | 2011-06-17 | 2015-02-03 | International Business Machines Corporation | Virtual machine load balancing |
-
2013
- 2013-03-28 US US14/780,763 patent/US10037237B2/en active Active
- 2013-03-28 CN CN201380075194.5A patent/CN105051698B/zh active Active
- 2013-03-28 EP EP13722140.4A patent/EP2979183B1/en active Active
- 2013-03-28 WO PCT/SE2013/050352 patent/WO2014158066A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1486093A (zh) * | 2002-09-27 | 2004-03-31 | 上海贝尔有限公司 | 嵌入式***中基于操作***的通信调度装置 |
CN1490724A (zh) * | 2002-10-18 | 2004-04-21 | 上海贝尔有限公司 | 一种用于嵌入式***软件开发的虚拟机装置 |
US20040215916A1 (en) * | 2003-04-25 | 2004-10-28 | International Business Machines Corporation | Broadcasting error notifications in system with dynamic partitioning |
US20060200705A1 (en) * | 2005-03-07 | 2006-09-07 | International Business Machines Corporation | Method, system and program product for monitoring a heartbeat of a computer application |
CN101141417A (zh) * | 2007-10-24 | 2008-03-12 | 中兴通讯股份有限公司 | 设备中任务间消息通信的方法 |
CN102984214A (zh) * | 2012-11-08 | 2013-03-20 | 华为技术有限公司 | 一种实现电信云中业务迁移的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106130809A (zh) * | 2016-09-07 | 2016-11-16 | 东南大学 | 一种基于日志分析的IaaS云平台网络故障定位方法及*** |
CN106130809B (zh) * | 2016-09-07 | 2019-06-25 | 东南大学 | 一种基于日志分析的IaaS云平台网络故障定位方法及*** |
WO2018054081A1 (zh) * | 2016-09-22 | 2018-03-29 | 华为技术有限公司 | 故障处理方法、虚拟架构管理***和业务管理*** |
CN108121586A (zh) * | 2016-11-29 | 2018-06-05 | 上海有云信息技术有限公司 | 一种PaaS层故障迁移装置及方法 |
CN108494880A (zh) * | 2018-04-18 | 2018-09-04 | 云家园网络技术有限公司 | 基于大规模数据中心管理的通信方法及*** |
CN111866054A (zh) * | 2019-12-16 | 2020-10-30 | 北京小桔科技有限公司 | 一种云主机的搭建方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2979183B1 (en) | 2017-08-16 |
CN105051698B (zh) | 2018-11-16 |
US10037237B2 (en) | 2018-07-31 |
US20160055045A1 (en) | 2016-02-25 |
EP2979183A1 (en) | 2016-02-03 |
WO2014158066A1 (en) | 2014-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105051698A (zh) | 用于基础设施即服务云中故障管理的方法和布置 | |
EP3082295B1 (en) | Fault management apparatus, device and method for network function virtualization (nfv) | |
US11119745B2 (en) | Automated deployment of applications | |
US8316125B2 (en) | Methods and systems for automated migration of cloud processes to external clouds | |
US11799742B2 (en) | Resolving configuration drift for computing resource stacks | |
US9450783B2 (en) | Abstracting cloud management | |
US9547564B1 (en) | Automated deployment of applications | |
US9998323B2 (en) | Datacenter configuration management tool | |
JP6466003B2 (ja) | Vnfフェイルオーバの方法及び装置 | |
US20160043892A1 (en) | System and method for cloud based provisioning, configuring, and operating management tools | |
US20100306767A1 (en) | Methods and systems for automated scaling of cloud computing systems | |
US9130943B1 (en) | Managing communications between client applications and application resources of on-premises and cloud computing nodes | |
US9223606B1 (en) | Automatically configuring and maintaining cluster level high availability of a virtual machine running an application according to an application level specified service level agreement | |
US11082505B2 (en) | Dynamic discovery of available storage servers | |
CN111064781A (zh) | 多容器集群监控数据的采集方法、装置及电子设备 | |
US11544052B2 (en) | Tenant declarative deployments with release staggering | |
US10296411B1 (en) | Endpoint call backoff in a computing service environment | |
CN110134518A (zh) | 一种提高大数据集群多节点应用高可用性的方法及*** | |
CN106462457A (zh) | 虚拟化应用集群 | |
US11381665B2 (en) | Tracking client sessions in publish and subscribe systems using a shared repository | |
US10459709B1 (en) | Automated deployment of applications | |
US20240004686A1 (en) | Custom resource definition based configuration management | |
US20150244780A1 (en) | System, method and computing apparatus to manage process in cloud infrastructure | |
Pol | Big data and hadoop technology solutions with cloudera manager | |
US12040942B2 (en) | Desired state management of software-defined data center |
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 |