一种OpenStack云平台异常的处理方法

文档序号:7555706阅读:1298来源:国知局
专利名称:一种OpenStack云平台异常的处理方法
技术领域
本发明涉及一种云计算平台基础设施服务异常监控技术,特别涉及一种OpenStack云平台异常的处理方法,该方法,使系统能够及时应对云计算平台在服务过程中的异常情况,提高了云计算服务平台的容错性能。。
背景技术
随着云计算技术的日益发展,多种云计算平台应运而生。而OpenStack作为一种云计算平台,为云计算基础设施服务提供解决方案。OpenStack以其全开源、易拓展的特点,赢得业界越来越多的关注。异常监控是云计算服务平台的一个重要部分。目前,云计算平台基础设施服务异常监控多为异常预测和异常容错两种模式。前者是在异常发生之前,通过已有的数据预测出将可能发生的异常,并做相应的预防措施;后者则是在异常发生之后,将其检测出来,并做相应的异常处理。在实际应用中,OpenStack云平台容易出现各种各样不稳定的问题,甚至会出现系统崩溃现象。然而,处于发展阶段的OpenStack云计算平台,自身尚无相应的异常监控方案,而国内外对此的研究较少。
·
目前,国内对OpenStack异常预测模式的研究,常见的方案是:采集云平台的大量数据,经过数学建模进行统计分析来预测异常,它的缺点是:导致系统比较庞大,且实现复杂度较大;而对OpenStack异常容错模式的异常监控研究,异常检测方法见专利《OpenStack云平台异常的一种检测方法》,其中只公开了利用OpenStack云平台运行信息进行异常检测的方法,该方法只解决了异常容错模式的异常检测,没有提出异常的处理方案。本发明以较简单的模式,处理以上异常检测方法所检测出来的异常事件。

发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种OpenStack云平台异常的处理方法,该方法在已检测出OpenStack云计算平台基础设施服务的异常事件的基础上,对异常进行相应的处理,减少系统维护的人工参与度。本发明的目的通过下述技术方案实现:一种OpenStack云平台异常的处理方法,主要包括以下步骤:(1)定义异常处理规则;即设定异常事件、运行信息位置以及运行信息纠错动作的映射关系;(2)定位信息纠错位置;运行信息纠错实际是修改数据库和配置文件中的标识,需要定位到数据库信息表中具体的标识位置和配置文件中具体的配置项;(3)指令操作;主要是纠正长时间僵死的状态标识和恢复运行信息两种处理动作,此处僵死的状态标识是指运行信息中的某个状态变量,改变量对云平台运行状态的描述,不按照正常规律跳转,长时间处于某种状态;(4)系统自动生成待处理异常列表,并发短信或邮件告知管理人员;
(5)评价并反馈处理结果。上述技术方案中,所述步骤(I)的具体方案如下:一个异常事件需要纠正一处或多处运行信息标志位,处理规则应该定义的内容包括:(1.1)异常事件编号:异常事件的ID,唯一确定异常事件;(1.2)异常事件级别:描述异常事件的严重程度;(1.3)异常事件发生时间:检测出异常事件的时间戳;(1.4)异常事件处理开始时间:开始对异常进行处理的时间戳;(1.5)异常事件处理完成时间:完成对异常处理动作的时间戳;(1.6)对应的出错标志位:描述运行信息出错的位置;

(1.7)对应的操作指令:直接给出处理动作的指令以及各指令的执行顺序;(1.8)处理情况评价模型:处理操作是否正确解决了异常问题,需要用此模型来进行评价。上述技术方案中,所述步骤(3)的具体方案如下:OpenStack云计算基础设施服务出现异常的常见的直接原因是:运行信息出错。主要是由于指令、程序执行的过程漏操作或误操作了状态标志位,或是程序执行中的bug致使OpenStack某些组件程序死锁,从而导致运行信息出错;而OpenStack各组件的运行很大程度依赖运行信息所描述的运行状态,于是错误的运行状态导致服务的异常;针对此特点,步骤(3)描述了两种级别的处理方法:(3.1)纠正长时间僵死的状态标识。这适用于较简单的异常,如:关闭实例僵死、挂载卸载云硬盘失效等。注意有时不仅只纠正状态标识,往往还需对应的一系列操作,如实例僵死时,还需要将实例的实体删除;若该步骤无法解决异常,则执行下一步;(3.2)将运行信息恢复到异常出现之前。这适用于较严重的异常,当运行信息完全崩溃,或者检查不出异常状态标识位置时,修改配置文件来实现运行信息恢复;恢复会使运行信息回滚,注意需先做好运行信息的同步备份。对于各种异常事件,所设定的处理动作不一定总能解决异常。故附加改进技术方案是:专门对异常事件和对应的处理方法进行分析统计,用以完善异常处理的规则,所述专门对异常事件和对应的处理方法进行分析统计主要包括以下步骤:(I)将异常事件对应的信息更新到统计处理能力提高模块的源统计数据列表;(2)在上面的步骤(5)中,同时将异常处理的效果反馈至统计分析能力提高模块的结果统计数据列表;(3)对源统计数据列表和处理效果统计数据列表进行关系性和非关系性统计,统计源数据与处理效果数据,从而挖掘较优的处理方法;(4)根据处理效果调整异常处理规则。所述步骤(3)包括以下步骤:( 6.1)纠正运行信息中出错的标识/描述;(6.2)恢复运行信息的动作是改用已备份的运行信息数据表;(6.3)发邮件、短信通知维护人员;(6.4)更新处理日志列表,以供查阅;
(6.5)将处理结果反馈给异常处理能力提高模块,以供给异常处理能力提高模块做训练。所述步骤(3)中,所述恢复运行信息是指改用已备份的运行信息数据表,改用已备份的运行信息数据表的操作步骤如下:(7.1)在OpenStack云平台原运行信息架构的基础上添加两个模块:操作日志模块和计步器|旲块;(7.2)所述操作日志模块对OpenStack云平台的数据操作做流水记录,计步器则计算流水记录的步数。所述步骤(3)中,对所述运行信息的操作过程包括以下步骤:(8.1)操作数据;(8.2)流水记录;(8.3)计步加一。

根据操作数据、流水记录和计步器,可以将OpenStack云平台的运行信息进行热备份,这个热备份的过程成为同步,实现这个热备份过程的程序成为同步进程。根据OpenStack云平台的异常发生情况来控制同步进程的工作,所述根据OpenStack云平台的异常发生情况来控制同步进程的工作通过运行信息同步进程控制模块来实现,所述运行信息同步进程控制模块在OpenStack云平台发生异常时,停止同步,当异常信息处理完毕、运行信息数据修复完成时再继续同步;所述运行信息同步进程控制模块包括计步器I和计步器2 ;所述运行信息同步进程控制模块根据一个时间周期T完成一次同步,其操作步骤如下:(9.1)对比计步器I和计步器2,如果计步器I的数值比计步器2大,说明OpenStack运行信息有更新,且未同步,则进行步骤②;否则,说明OpenStack运行信息没有更新,不需做任何操作,则直接跳过以下步骤;(9.2)读取操作流水;(9.3)操作数据;(9.4)计步器加一。另外实现一个守护线程,该线程定时监测计步器模块和操作日志模块,当它们溢出或很庞大时,该线程根据规则对计步器模块和操作日志模块做清空操作。本发明的工作原理:利用OpenStack自身产生的运行信息,实施两种异常处理方式:一是设定异常事件、运行信息位置以及运行信息纠错动作的映射关系,通过修改运行信息来完成异常处理动作;二是实时备份运行信息,通过修改配置文件,改用备份好的运行信息表。本发明相对于现有技术具有如下的优点及效果:1、本发明通过处理OpenStack自身产生的运行信息,维护运行信息的正确性,从而为OpenStack组件提供正确的运行依据;处理动作主要针对OpenStack云计算平台的运行信息,大大降低了处理的复杂度。2、由于运行信息是以数据库和文本的形式存储,编写程序来自动操作比较容易实现,无需管理人员在后台通过指令操作进行维护,这降低了管理维护的人工参与度,同时降低了对管理维护人员OpenStack专业技术水平的要求。3、根据本发明所提方法实现的异常处理系统,能够提供处理结果反馈接口,利用该接口,可以方便地统计异常处理动作与对应的异常事件的效用性,系统管理人员可根据效用情况,通过完善处理动作来提高效用性。


图1是本发明在OpenStack云计算基础设施服务异常容错模式异常事件处理总体框架图。图2是本发明在OpenStack云计算基础设施服务异常容错模式处理方法实施的异常事件处理的执行流程示意图。图3是本发明在OpenStack云计算基础设施服务异常容错模式处理方法实施的运行信息同步流程原理图。
具体实施例方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例本发明所述方法的总体框架图如图1的所示,具体执行流程如图2所示。为实施技术方案中所描述的5个步骤,以及附加改进方案的4个步骤,我们将实施过程分为处理执行和异常处理能力提高两部分。重点看处理执行部分,它有三个执行方式:一是纠正运行信息中出错的标识/描述,二是改用已备份的运行信息数据表,三是发邮件、短信通知维护人员做处理。前两者由于完全自动完成,因此一定要做处理效果评估,如果处理效果差,则告知维护人员;处理完毕后须更新处理日志列表,以供查阅;最后,须做好处理反馈工作,以供给异常处理能力提高模块做训练。下面详细的介绍纠正运行信息和改用已备份数据表两种方式的实施过程:( I)纠错运行信息过程的实施:纠错只在异常事件到达之后才执行。纠错的操作对象也存储在数据库中。OpenStack操作数据库的系列module使用sqlalchemy技术,我们利用其自身的API来对运行信息数据进行纠错。纠错操作须先了解数据库中的关联信息表,以确保纠错的完整性。因为数据库中有很多关系性数据库,即其中某个信息表中的某个标识会跟其他某些信息表的信息相关联。任意修改某个标识,而忽略与之相关的信息表信息,可能会导致整个运行信息数据表的紊乱。(2)恢复运行信息过程的实施:恢复运行信息的前提是要现成有以备份好的运行信息数据,而且备份好的运行信息一定是未损坏的。所以必须先做好运行信息同步工作,同步进程要一直运行在云计算服务端。本发明通过改进“流水计步”的方法来实施同步过程,如图3所示。对运行信息的操作一般由云平台的应用层通过API接口产生,有时也会由OpenStack自身程序内部产生。在OpenStack原运行信息架构的基础上添加了两个模块:操作日志和计步器。操作日志对OpenStack的数据操作做了流水记录,计步器则计算了流水记录的步数。OpenStack每个运行信息数据操作的过程都必须包括以下步骤:①操作数据;②流水记录;③计步加一。同步进程根据一个时间周期T完成每次同步的操作,步骤如下:1、对比计步器I和计步器2,如果计步器I的数值比计步器2大,说明OpenStack运行信息有更新,且未同步,则进行步骤②;否则,说明OpenStack运行信息没有更新,不需做任何操作,则直接跳过以下步骤;ii、读取操作流水;ii1、操作数据;iv、计步器加一。工作时间长后,计步器和操作日志可能会溢出或很庞大,因此还需要一个守护线程,根据规则对它们做清空操作。本发明的实施方法中,解决了以下难点问题:UOpenStack云服务原来只有“1:操作数据”的步骤,如何实现在云计算服务正常运行的前提下,增加第2、3步? OpenStack所操作的运行信息数据在数据库中,其源代码完全采用Python编写,操作过程调用了自身的名为“db”的系列模块(module),我们可以通过改写这些module的代码增加步骤。另一种方法是,利用OpenStack的消息机制,获取操作消息进行操作。2、同步进程每次同步操作的周期T如何设定? T太大,同步效率就太低;T太小,同步消耗资源则太多。经过实验分析,T应该根据应用层操作频率fl,以及异常发生频率f2设定:T=f (fl,f2)。统计分析过程由异常事件处理能力提高模块完成。3、如何确保同步的运行信息数据是未损坏的?为此,增加一个运行信息同步进程控制器模块,此模块根据OpenStack的异常发生情况,控制同步进程的工作。当发生异常时,停止同步,确保异常信息处理完毕,运行信息数据已经修复完成再继续同步。4、最终如何改用恢复运行信息数据表?同步好的运行信息数据可存储在另外一台服务器中,这时,只需要修改配置文件中Sql_C0nneCti0n的串值,使其指向备份服务器。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
权利要求
1.一种OpenStack云平台异常的处理方法,其特征在于,包括如下步骤: (I)定义异常处理方式;设定异常事件、运行信息位置以及运行信息纠错动作的映射关系; (2 )定位信息纠错位置;运行信息纠错是修改数据库和配置文件中的标识,把运行信息纠错定位到数据库信息表中具体的标识位置和配置文件中具体的配置项; (3)指令操作;纠正长时间僵死的状态标识和恢复运行信息; (4)系统自动生成待处理异常列表,并发短信或邮件告知管理人员; (5)评价并反馈处理结果。
2.根据权利要求1所述的OpenStack云平台异常的处理方法,其特征在于,所述步骤(O中,所述定义异常处理方式中包括以下内容: (1.1)异常事件编号 :异常事件的ID,唯一确定异常事件; (1.2)异常事件级别:描述异常事件的严重程度; (1.3)异常事件发生时间:检测出异常事件的时间戳; (1.4)异常事件处理开始时间:开始对异常进行处理的时间戳; (1.5)异常事件处理完成时间:完成对异常处理动作的时间戳; (1.6)对应的出错标志位:描述运行信息出错的位置; (1.7)对应的操作指令:直接给出处理动作的指令以及各指令的执行顺序; (1.8)处理情况评价模型:用于评价处理操作是否正确解决了异常问题。
3.根据权利要求1所述的OpenStack云平台异常的处理方法,其特征在于,通过对云平台运行信息进行纠错和同步恢复,对异常容错进行处理。
4.根据权利要求1所述的OpenStack云平台异常的处理方法,其特征在于,还包括对异常事件和对应的处理方法进行分析统计,所述对异常事件和对应的处理方法进行分析统计通过异常处理能力提高模块来实现,所述异常处理能力提高模块的工作流程包括以下步骤: (a)将异常事件对应的信息更新到统计处理能力提高模块的源统计数据列表; (b)对所述步骤(5)中,同时将异常处理的结果反馈至统计分析能力提高模块的结果统计数据列表; (c)对源统计数据列表和处理效果统计数据列表进行关系性和非关系性统计,统计源数据与处理效果数据,从而挖掘的处理方法; Cd)根据处理效果调整异常处理方式。
5.根据权利要求4所述的OpenStack云平台异常的处理方法,其特征在于,所述步骤(3)中,所述纠正长时间僵死的状态标识的纠正过程包括以下步骤: (3.1)尝试纠正长时间僵死的状态标识;这适用于较简单的异常,如:关闭实例僵死、挂载卸载云硬盘失效等。注意有时不仅只纠正状态标识,往往还需对应的一系列操作,如实例僵死时,还需要将实例的实体删除;判断长时间僵死的状态标识是否得到了纠正,若得到了纠正,则处理结果反馈到异常处理能力提高模块;若未能得到纠正,则执行下一步; (3.2)将运行信息恢复到异常出现之前。这适用于较严重的异常,当运行信息完全崩溃,或者检查不出异常状态标识位置时,修改配置文件来实现运行信息恢复。
6.根据权利要求1所述的OpenStack云平台异常的处理方法,其特征在于,所述步骤(3)包括以下步骤: (6.1)纠正运行信息中出错的标识/描述; (6.2)恢复运行信息的动作是改用已备份的运行信息数据表; (6.3)发邮件、短信通知维护人员; (6.4)更新处理日志列表; (6.5)将处理结果反馈给异常处理能力提高模块。
7.根据权利要求1所述的OpenStack云平台异常的处理方法,其特征在于,所述步骤(3)中,所述恢复运行信息是指改用已备份的运行信息数据表,改用已备份的运行信息数据表的操作步骤如下: (7.1)添加两个模块:操作日志模块和计步器模块; (7.2)所述操作日志模块做流水记录,计步器则计算流水记录的步数。
8.根据权利要求1所述的OpenStack云平台异常的处理方法,其特征在于,所述步骤(3)中,对所述运行信息的操作过程包括以下步骤: (8.1〕操作数据; (8.2)流水记录; (8.3)计步加一。
9.根据权利要求1所述的OpenStack云平台异常的处理方法,其特征在于,根据OpenStack云平台的异常发生情况来控制同步进程的工作,所述根据OpenStack云平台的异常发生情况来控制同步进程的工作通过运行信息同步进程控制模块来实现,所述运行信息同步进程控制模块在OpenStack云平台发生异常时,停止同步,当异常信息处理完毕、运行信息数据修复完成时再继续同步;所述运行信息同步进程控制模块包括计步器I和计步器2 ; 所述运行信息同步进程控制模块根据一个时间周期T完成一次同步,其操作步骤如下: (9.1)对比计步器I和计步器2,如果计步器I的数值比计步器2大,说明OpenStack云平台的运行信息有更新、且未同步,则运行下一步骤;否则,说明OpenStack云平台的运行信息没有更新,不做任何操作; (9.2)读取操作流水; (9.3)操作数据; (9.4)计步器加一。
全文摘要
本发明提出了一种OpenStack云平台异常的处理方法,包括如下步骤(1)定义异常处理方式;设定异常事件、运行信息位置以及运行信息纠错动作的映射关系;(2)定位信息纠错位置;运行信息纠错是修改数据库和配置文件中的标识,把运行信息纠错定位到数据库信息表中具体的标识位置和配置文件中具体的配置项;(3)指令操作;纠正长时间僵死的状态标识和恢复运行信息;(4)系统自动生成待处理异常列表,并发短信或邮件告知管理人员;(5)评价并反馈处理结果。具有有效提高了OpenStack云计算平台的异常容错能力等优点。
文档编号H04L12/24GK103220180SQ201310153700
公开日2013年7月24日 申请日期2013年4月27日 优先权日2013年4月27日
发明者金连文, 黎德生, 李磊 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1