一种云计算平台的自动化容错配置方法

文档序号:6516846阅读:201来源:国知局
一种云计算平台的自动化容错配置方法
【专利摘要】本发明公开了一种云计算平台的自动化容错配置方法。本方法为:1)云计算平台容错配置系统采集云计算平台的运行时信息,运行时信息的载体为运行时软件体系结构;2)云计算平台容错配置系统根据用户需求与当前运行时信息从容错机制库中选择一容错机制;3)云计算平台容错配置系统根据选择的容错机制对该云计算平台的运行时软件体系结构进行配置;4)云计算平台管理系统将3)配置过程中运行时软件体系结构发生变化的部分同步到该云计算平台中。本发明可系统化的为云计算平台提供自适应的容错配置,且节约了云计算平台资源、容错性能得到大大提高。
【专利说明】一种云计算平台的自动化容错配置方法
【技术领域】
[0001]本发明涉及一种软件容错配置方法,尤其是针对云计算环境下系统可用性的提 高,提出一种自动化的容错配置方法,属于软件【技术领域】。
【背景技术】
[0002]随着云计算(cloud computing)的快速发展以及云计算平台提供商的迅速增多, 越来越多的团体、组织、或机构将原本部署在内部数据中心的资源或服务转移至云计算平 台上,以便于管理并节约成本。然而这种做法存在一定的风险,即云平台的可用性是否得到 保障。可用性是指软件系统在一段给定时间内正常工作的时间占总时间的比重,通常用百 分比来衡量。
[0003]云计算平台将各种IT资源以服务的方式通过互联网交付给用户。其中,虚拟 化技术实现了 IT资源的逻辑抽象和统一表示,是支撑云计算最重要的技术基石。目 前,较为成熟的开源或商业云平台产品中,使用最为广泛的容错方案有两种,即虚拟 机重启和虚拟机热备份(Lu M, Chiueh T.Fast memory state synchronization for virtualization-based fault tolerance[C]//Dependable Systems&Networks, 2009.DSN’09.1EEE/IFIP International Conference on.1EEE, 2009:534-543)。虚拟机重启是指 在一个集群中,某个物理机出现故障,其上的虚拟机将会被重新启动在该集群下其他正常 运行的物理机上,以达到物理机故障消除的目的。虚拟机热备份是指通过虚拟机同步技术, 将一台虚拟机(主虚拟机)的状态实时传输到另一台虚拟机(从虚拟机)上去,主虚拟机失效 后,从虚拟机可以继续提供服务。这两种方案初见成效,但很难大幅度提升整体云计算。问 题表现在:1.资源(CPU,内存)消耗过多。云计算平台中资源是按照使用量计费的,过多的 资源用以提供非功能需求将会导致资源利用率过低和成本增加。例如虚拟机热备份中,资 源使用率仅有50%,因此仅有少数关键虚拟机使用该方案。2.容错效果不佳,例如仅能屏蔽 物理机故障。在云计算平台中,按照体系结构自上而下的层次关系可以划分为四层:应用/ 服务层,虚拟机层,物理机层,以及集群层。针对不同层面的故障,应有针对性的容错方案。 而上述的虚拟机重启和虚拟机热备份仅能屏蔽物理机层故障。3.容错方案难以动态调整。 云计算平台是一个复杂且易变的开放性环境,所以容错配置应该根据当前系统状态做出自 适应调整。目前云平台下的容错方案的调整需要管理员手动调整。由此可见,目前云计算 平台中的容错策略以及容错配置方法难以满足高可用的需求。

【发明内容】

[0004]本发明要解决的技术问题在于,针对现有云计算平台中资源消耗过多、容错性能 不足、配置复杂、无法动态配置的问题,提出了一种基于软件体系结构的自动化容错配置方 法。其主要手段,是通过运行时软件体系结构收集并格式化系统运行时信息,通过对用户需 求与系统运行时信息的分析,选择当前系统合适的容错方案,并自动化的配置到云计算平 台中。[0005]本发明是通过如下技术方案实现的:
[0006]一种云计算平台的自动化容错配置方法,其步骤为:
[0007]I)云计算平台容错配置系统采集云计算平台的运行时信息,运行时信息的载体为 运行时软件体系结构;
[0008]2)云计算平台容错配置系统根据用户需求与当前运行时信息从容错机制库中选 择一容错机制;
[0009]3)云计算平台容错配置系统根据选择的容错机制对该云计算平台的运行时软件 体系结构进行配置;
[0010]4)云计算平台管理系统将3)配置过程中运行时软件体系结构发生变化的部分同 步到该云计算平台中。
[0011]进一步的,所述运行时信息包括:集群信息,存储信息,主机信息,虚拟机信息,应 用信息,以及管理节点信息。
[0012]进一步的,通过一运行时软件体系结构采集该云计算平台的运行时信息;所述运 行时软件体系结构包括一设定并存储所述运行时信息的元模型以及一维护所述运行时软 件体系结构与该云计算平台之间同步的访问模型。
[0013]进一步的,通过对所述运行时软件体系结构进行配置实现对该云计算平台的运行 时信息配置,其方法为:首先使用UML模型将所选容错机制抽象为容错风格;然后计算所述 容错风格与所述运行时软件体系结构中容错目标之间的匹配关系,并根据匹配关系所述容 错风格与所述运行时软件体系结构进行合并,实现对该云计算平台的运行时信息配置。
[0014]进一步的,采用标准模型转换语言QVT对所述容错风格与所述运行时软件体系结 构进行合并。
[0015]进一步的,所述访问模型通过该云计算平台的管理API实现访问每一所述运行时 信息的get与set方法,管理每一所述运行时信息。
[0016]进一步的,选择所述容错机制的方法为:首先根据当前运行时信息确定该云计算 平台的负载,然后根据用户需求中容错目标在该云计算平台中的层次,从所述容错机制库 中选择出可用的容错机制,然后根据计算平台的负载从可用的容错机制中选出最优容错机 制。
[0017]进一步的,采用模糊推理的方法从可用的容错机制中选出最优容错机制:
[0018]81)将云计算平台的负载与容错目标的重要程度归一化;
[0019]82)将归一化的结果模糊化;
[0020]83)使用模糊推理确定该云计算平台的当前容错能力,以及容错目标所需的容错 能力;
[0021]84)将推理后的结果合并,计算出合并后最终的容错能力值;
[0022]85)根据该容错能力值从可用的容错机制中选出所述最优容错机制。
[0023]进一步的,所述云计算平台容错配置系统根据该云计算平台的层次结构对所述容 错机制库中的容错机制从容错实施层和容错效用层两个维度进行分类。
[0024]进一步的,所述容错机制包括:应用备份,虚拟机备份,虚拟机微重启,物理机备 份,虚拟机监测,虚拟机迁移和集群虚拟机重启。
[0025]本发明的主要内容包括:[0026]步骤一:建立云计算平台的运行时软件体系结构,具体包括:建立运行时软件体 系结构的元模型;建立维护运行时软件体系结构与该云计算平台之间同步的访问模型;自 动化生成与该云计算平台同步的运行时软件体系结构。
[0027]步骤二:根据用户需求与运行时信息选择最优的容错机制。
[0028]步骤三:将选择的容错机制对该云计算平台的运行时软件体系结构进行配置。
[0029]步骤四:将运行时软件体系结构的变化自动化传播到该云计算平台中。
[0030]步骤一中使用运行时模型(即运行时软件体系结构)收集该云计算平台运行时信 息。运行时信息内容定义在元模型中,如图2所示包括:云计算平台的集群信息(名字,标识 符,虚拟化方式,物理机个数),存储信息(名字、标识符、容量、使用率),主机信息(名字、标 识符、内存、CPU频率、CPU核心数、内存使用率、CPU使用率、操作系统、虚拟化方式),虚拟机 信息(名字、标识符、内存大小、CPU频率、CPU核心数、内存使用率、CPU使用率、操作系统), 应用信息(名字、标识符、重要性、是否备份、CPU占用率、内存占用率、网络),以及管理节点 信息(名字、标识符、CPU使用率、内存使用率)。针对具体的云计算平台在此基础上可加以 扩充。这些信息的获取方式为调用云计算平台提供的API,例如JMX API或RESTFUL API。 运行时软件体系结构是一种运行时模型,其最主要的特征是与云计算平台运行时具有双向 关联,即运行时模型的变化会引起云计算平台运行时的变化(由云计算平台API中的set方 法实现),反之,云计算平台运行时的变化也会引起运行时模型的变化(由API中的get方法 实现)。
[0031]步骤一中建立运行时软件体系结构具体包含元模型的定义以及访问模型的构造。 元模型中定义了运行时软件体系结构的结构(如图2所示)以及可管理的元素(即收集到的 信息)。访问模型定义了管理这些元素的方法,即通过调用该云计算平台的管理API实现访 问某个元素的get与set方法。
[0032]步骤二中提出了一种基于云平台层次结构的容错机制分类方法。基于云计算平 台自上而下的层次结构(应用层、虚拟机层、物理基层、集群层),从两个维度对容错机制进 行分类:容错实施层和容错效用层。容错实施层是指将容错机制配置到云平台中所在的层 次。容错效用层是指某容错机制产生容错效果所在的层次,这样在选择容错机制的时候,可 以根据容错目标所在的层次去选择。例如某类容错机制的容错实施层是虚拟机层,而容错 效用层是应用层,意味着该类容错机制通过在虚拟机层的配置,来对应用层达到容错。
[0033]步骤二中使用UML模型的概念,将容错机制抽象为容错风格(Li J, Chen X,Huang Gjet al.Selecting fault tolerant styles for third-party components with model checking support[M]//Component-Based Software Engineering.Springer Berlin Heidelberg, 2009:69-86.)。即通过UML的类图、包图和构件图描述容错机制的结构,使用 顺序图描述容错风格的行为。
[0034]步骤二中实现了容错机制选择器。该选择器的输入为用户需求,以及运行时软件 体系结构包含的运行时信息。整体思想为:当前云计算平台资源较多时,使用容错能力较 高的、资源使用较多的容错机制,反之当云计算平台资源较少时,使用容错能力较低、资源 使用较少的容错机制。首先,针对用户需求指定容错目标(即容错机制配置的目标,比如某 个应用或某个虚拟机等),并针对容错目标所在云计算平台中的层次,选择出可用的容错方 案。其次,采用模糊推理的方法选出最优方案:1.将云计算平台负载与容错目标的重要程度归一化(使用0-1之间的数表示,数字越大表示云计算平台负载越高或容错目标的重要 性越高)。2.将归一化的结果模糊化,如图7所示,映射到高,中,低三个函数中,例如容错 目标的重要性为0.4 (横坐标为0.4),模糊处理以后,改容错目标重要性30%隶属于“低”函 数(映射到低函数在纵坐标投影为0.3),70%隶属于“中”函数(映射到中函数后纵坐标投影 为0.7)。其中,高、中、低三个函数可针对具体目标调整(例如将一次函数替换为二次函数), 需满足以下条件即可:“中”函数的对称轴为x=l/2,“低”函数与“高”函数关于x=l/2对称。
3.使用模糊推理,原则为:负载高(中、低)推理出容错目标的容错能力低(中、高),容错目标 的重要性高(中、低)推理出容错目标的容错能力高(中、低)。4.将推理后的结果合并,即求 出将上述两个阴影部分的并集。5.计算出合并后阴影部分的重心,映射到横坐标,即为最终 的容错能力值。6.根据容错能力选择容错机制:容错能力值越高选择资源消耗多、容错能 力强的机制,反之则选择资源消耗少、容错能力弱的机制。
[0035]步骤三的容错配置方法采用了模型合并(Model Merging)。模型合并是一种特殊 的模型转换(Model Transformation),模型合并的功能是合并两个元模型MMA和MMB的 实例MA和MB,使之成为元模型MMC的实例MC。MA和MB中,一个称为被并模型(Merged Model),另一个称为主并模型(Receiving Model),模型合并过程就是把被并模型中的元素 合并到主并模型中去,得到一个目标模型(Resulting Model)MC。被并模型中的元素称为 被并元素,主并模型中的元素称为主并元素,目标模型中的元素称为目标元素(Li J, Chen X,Huang G, et al.Selecting fault tolerant styles for third-party components with model checking support[M]//Component-Based Software Engineering.Springer Berlin Heidelberg, 2009:69-86.)。本方法中,被并模型是容错风格,主并模型是运行时软 件体系结构。
[0036]步骤四中,调用维护运行时模型与该云计算平台运行时同步的set方法,将运行 时软件体系结构上的变化传播到云计算平台中,即将容错风格对应的容错机制实施到云计 算平台中。
[0037]与现有技术相比,本发明的积极效果为:
[0038]采用本发明的方法,可以系统化的为云计算平台提供自适应的容错配置,且节约 了云计算平台资源、容错性能得到大大提高,将容错功能实现为云平台中一个独立的模块。 对于云平台开发者,可以降低其开发难度,并为容错模块提供丰富的容错机制。对于云平台 管理员,根据云计算平台当前系统状态推荐出最优的容错机制,并实现自动化的配置,减轻 容错管理负担。
【专利附图】

【附图说明】[0039]图1为本方法所述的容错配置方法结构图;[0040]图2为简化的云平台体系结构元模型;[0041]图3为模型合并示意图;[0042]图4为应用备份容错机制示意图;[0043]图5为运行是模型与容错机制元素匹配关系[0044]图6为模型合并结果;[0045]图7为模糊推理过程。【具体实施方式】
[0046]以下结合附图和具体实施例对本发明进行详细说明.[0047]基于软件体系结构的容错配置方法,如图1,包括如下步骤:
[0048]首先,建立运行时软件体系结构。对于一个给定的该云计算平台,半自动化的构造其运行时软件体系结构。云平台管理员需要构造该云计算平台元模型、以及访问模型,在该模型的基础上自动化生成维护运行时软件体系结构的代码。元模型是关于模型的模型,即一个定义了软件体系结构模型规约的模型。如图2所示,在本方法中元模型定义了软件体系结构中元素的类别以及组织方式。该元模型按照云平台的硬件和软件结构定义,硬件部分包含集群、物理机、管理节点,软件部分包含:虚拟机、应用。元模型仅描述了系统对外提供什么类型的数据,但不同系统,甚至同一个系统中不同类型的数据其访问方式都各不相同,因此开发者需要进一步定义系统访问模型,描述具体的数据读写方式。访问模型的作用是为元模型中元素定义的系统访问操作给出针对不同类型与不同属性下的具体实现。
[0049]其次,选择容错机制。目前生产环境中,尤其在云平台中有众多的容错机制。这些机制不同程度的提高该云计算平台的可靠性,并消耗不同数量的计算及存储资源。由于在云平台中存储及计算资源是按量付费的,所以在提高可靠性的同时应该尽量使用较少的资源,即提高reliability/cost的值。Reliability是指使用该容错机制后该应用(虚拟机、 物理机或集群)的可靠性,cost是指该容错机制所消耗的计算及存储资源。
[0050]接着,配置容错机制。本发明所提出的方法是一种基于运行时体系结构的容错配置方法,即将该云计算平台抽象为模型,并使用现有的模型分析工具及语言。在本步骤中, 我们使用模型合并技术对该云计算平台的运行时体系结构进行配置。首先,使用UML模型 (统一建模语言)将现有的容错机制抽象为容错风格(FTS,fault tolerant style),容错风格从体系结构的角度解释容错机制,它明确了容错机制的结构、行为以及对应用构件的影响。其中,使用类图、包图、构件图描述容错风格的结构,使用顺序图描述其行为。其次,分析容错风格与运行时软件体系结构中容错目标之间的匹配关系,匹配方式为按名或Id匹配。 最后,执行合并操作,即将容错风格(FTS)与运行时软件体系结构(RSA)合并,合并的过程采用QVT (Query/View/Transformation)语言实现。QVT是对象管理组织(OMG)提出的标准模型转换语言。模型合并过程如图3所示,RSA中的A、B构件分别对应FTS中的H、L构件,模型合并以后,H和L构件被A和B代替,形成具有某种容错能力的RSA。
[0051]最后,将容错配 置同步到到该云计算平台中。利用运行时软件体系结构(RSA)与该云计算平台之间的双向关联,将其上的变化自动化的同步到该云计算平台中。
[0052]下面通过一个实例说明本发明的方法。该实例实现的是一个基于CloudStack云平台的容错配置。
[0053]CloudStack是一个开源的具有高可用性及扩展性的云计算平台,目前已成为 Apache基金会最大的顶级项目之一,它可以通过组织和协调用户的虚拟化资源,让用户构建一个安全的多租户云计算环境。同时CloudStack是一个开源云计算解决方案。可以加速高伸缩性的公共和私有云(IaaS)的部署、管理、配置。
[0054]目前,CloudStack已有如下四种容错机制:第一,虚拟机监控机制。CloudStack不断监控所有虚拟机的状态,并和数据库里vm_instance表中的state字段作比较,如果不一致将会重启该虚拟机。第二,热迁移机制。CloudStack提供了虚拟机热迁移技术。一方面, 管理员可以手动的将一个虚拟机从一台物理机迁移到另一台物理机。另一方面,如果某台 物理机的负载超过某个阈值,其上的虚拟机将会被自动化的迁移到其他负载较低的物理机 上,已达到物理机负载均衡。第三,管理节点的负载均衡。CloudStack的管理节点是无状态 的,可以部署在多个节点上,通过web代理使用某种负载均衡策略将请求转发到若干个管 理节点上,以缓解单个管理节点的负载压力。第四,虚拟机集群内重启机制。即在一个集群 中,如果某台物理机出现故障,该机制会在该机群内的其他可用的物理机上重启该虚拟机。
[0055]上述四种容错机制,在一定程度上可以提高CloudStack的可用性,但在很多情况 下是无法保证其可用性的。例如当云平台的用户在某台虚拟机上部署apache应用,如果该 应用或者该应用所在的虚拟机出现故障,那么将无法对外提供服务。此时,需要针对应用层 的高可用机制,例如application backup机制。为了便于对CloudStack的运行时软件体 系结构进行配置,我们将该机制抽象为app backup风格,如图4所不。Apache和Apache_ backup机制将分别部署在两台虚拟机上,请求将通过webProxy转发给Apache。在Apache 不可用时,webproxy将会将请求转发给Apache_backup。通过对应用冗余部署的方式提高 可用性。
[0056]在本发明中,可供使用的容错机制有如下七种:应用备份Application backup; 虚拟机备份VM backup;虚拟机微重启VM micro-reboot;物理机备份PM backup;虚拟机监 测VM monitor;虚拟机迁移VM migration;集群虚拟机重启VM restart in cluster。其 中,VM backup是指通过虚拟机冗余的方式提高虚拟机的可用性。VM micro-reboot是指虚 拟机重启,而不会影响其他虚拟机。PM backup是指对物理机进行备份。VM monitor对虚 拟机状态进行实时监测,并与数据库表中的状态字段进行对比,发现异常就会报警或重启。 VM migration是指当物理机负载过高时,将其上的虚拟机热迁移至其他负载较低的物理机 上,已达到整个系统的负载均衡。VM restart in cluster是指将集群内出现故障的物理机 上的虚拟机在其他可用的物理机上重新启动。本方法中的容错机制是可扩充的,只要某容 错机制能够抽象为MOF-compliance (M0F兼容的)的模型图即可。
[0057]本实例中,使用图4所示的application backup机制为例进行说明。图5所示为 基于模型的配置过程,其中构件之间的对应关系为RSA中的VMl、VM2、Apache三个构件分别 对应容错风格中的VMl、VM2、Apache三个构件。配置结果如图6所示。即Apache用户只需 访问webProxy,请求会自动转发至apache或者Apache_backup,以提供负载均衡以及高可 用性。
[0058]在系统运行过程中,随着系统演化以及用户需求的变化,高可用机制需要动态调 整。例如在上述案例中,针对单个应用使用了 application backup机制,若此时用户在同一 台虚拟机部署多个具有高可用需求的应用,则需要选择另一种容错机制:vm backup机制, 即对虚拟机进行备份,以此对该虚拟机之上的所有应用提供高可用备份。从application backup到vmbackup机制的转变需要三个步骤:检查、撤销和配置。检查:检查新的容错机 制与旧的容错机制之间是否有冲突或者冗余。撤销:如果检查结果有冲突或冗余,就撤销该 容错机制。配置:通过模型合并配置新的容错机制。
[0059]上述具体实施例和附图用以帮助理解本发明的技术原理并据以实施,而不对本发 明构成限制。本领域的技术人员可以理解:在不脱离本发明的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明要求保护的范围应以权利要求书的界定为准。
【权利要求】
1.一种云计算平台的自动化容错配置方法,其步骤为:1)云计算平台容错配置系统采集云计算平台的运行时信息,运行时信息的载体为运行时软件体系结构;2)云计算平台容错配置系统根据用户需求与当前运行时信息从容错机制库中选择一容错机制;3)云计算平台容错配置系统根据选择的容错机制对该云计算平台的运行时软件体系结构进行配置;4)云计算平台管理系统将3)配置过程中运行时软件体系结构发生变化的部分同步到该云计算平台中。
2.如权利要求1所述的方法,其特征在于所述运行时信息包括:集群信息,存储信息, 主机信息,虚拟机信息,应用信息,以及管理节点信息。
3.如权利要求1或2所述的方法,其特征在于通过一运行时软件体系结构采集该云计算平台的运行时信息;所述运行时软件体系结构包括一设定并存储所述运行时信息的元模型以及一维护所述运行时软件体系结构与该云计算平台之间同步的访问模型。
4.如权利要求3所述的方法,其特征在于通过对所述运行时软件体系结构进行配置实现对该云计算平台的运行时信息配置,其方法为:首先使用UML模型将所选容错机制抽象为容错风格;然后计算所述容错风格与所述运行时软件体系结构中容错目标之间的匹配关系,并根据匹配关系所述容错风格与所述运行时软件体系结构进行合并,实现对该云计算平台的运行时信息配置。
5.如权利要求4所述的方法,其特征在于采用标准模型转换语言QVT对所述容错风格与所述运行时软件体系结构进行合并。
6.如权利要求3所述的方法,其特征在于所述访问模型通过该云计算平台的管理API 实现访问每一所述运行时信息的get与set方法,管理每一所述运行时信息。
7.如权利要求1或4所述的方法,其特征在于选择所述容错机制的方法为:首先根据当前运行时信息确定该云计算平台的负载,然后根据用户需求中容 错目标在该云计算平台中的层次,从所述容错机制库中选择出可用的容错机制,然后根据计算平台的负载从可用的容错机制中选出最优容错机制。
8.如权利要求7所述的方法,其特征在于采用模糊推理的方法从可用的容错机制中选出最优容错机制:81)将云计算平台的负载与容错目标的重要程度归一化;82)将归一化的结果模糊化;83)使用模糊推理确定该云计算平台的当前容错能力,以及容错目标所需的容错能力;84)将推理后的结果合并,计算出合并后最终的容错能力值;85)根据该容错能力值从可用的容错机制中选出所述最优容错机制。
9.如权利要求1所述的方法,其特征在于所述云计算平台容错配置系统根据该云计算平台的层次结构对所述容错机制库中的容错机制从容错实施层和容错效用层两个维度进行分类。
10.如权利要求1所述的方法,其特征在于所述容错机制包括:应用备份,虚拟机备份,虚拟机微重启,物理机备份,虚拟机监`测,虚拟机迁移和集群虚拟机重启。
【文档编号】G06F11/07GK103500126SQ201310517763
【公开日】2014年1月8日 申请日期:2013年10月28日 优先权日:2013年10月28日
【发明者】黄罡, 武义涵, 张颖, 熊英飞, 梅宏 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1