买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于Openstack开源云平台的云主机故障检测方法_南京易捷思达软件科技有限公司_201711078480.3 

申请/专利权人:南京易捷思达软件科技有限公司

申请日:2017-11-06

公开(公告)日:2021-01-12

公开(公告)号:CN107612787B

主分类号:H04L12/26(20060101)

分类号:H04L12/26(20060101);H04L29/08(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.01.12#授权;2018.02.13#实质审查的生效;2018.01.19#公开

摘要:本发明提供了一种基于Openstack开源云平台的云主机故障检测方法。所述基于Openstack开源云平台的云主机故障检测方法包括如下步骤:获取需要检测的计算节点,并获取所述计算节点的配置信息;根据所述配置信息,通过Agent获取相对应所述计算节点的状态信息,并将所述状态信息进行汇总;将本次检测过程汇总的状态信息与上一次检测过程中汇总的状态信息进行对比,并更新检测结果;判断更新后的检测结果中异常节点的数目是否超过容错范围值,如果是,则由人工进行排查处理,如果否,则由Agent根据动作矩阵执行迁移或者疏散所述异常节点上的云主机。

主权项:1.一种基于Openstack开源云平台的云主机故障检测方法,其特征在于:将Agent运行在控制节点群上,通过pacemaker实现activestandby模式,使用crm进行管理,同一时刻只有一个Agent程序运行,并通过各个网络监控各计算节点;所述云主机故障检测方法包括如下步骤:获取需要检测的计算节点,并获取所述计算节点的配置信息;根据所述配置信息,通过Agent获取相对应所述计算节点的状态信息,并将所述状态信息进行汇总;将本次检测过程汇总的状态信息与上一次检测过程中汇总的状态信息进行对比,并更新检测结果;判断更新后的检测结果中异常节点的数目是否超过容错范围值,如果是,则由人工进行排查处理,如果否,则由Agent根据动作矩阵执行迁移或者疏散所述异常节点上的云主机,并且对于疏散云主机的操作是云主机在共享存储的环境下创建的。

全文数据:一种基于Openstack开源云平台的云主机故障检测方法技术领域[0001]本发明属于涉及一种基于Openstack开源云平台的云主机故障检测方法。背景技术[0002]〇Penstack最初定位面向公有云,没有考虑节点的高可用问题。理想情况下,在公有云上运行的应用有自己的集群和负载均衡,能在一定程度上容忍节点宕机带来的不可用,并能自动迁移负载。随着Openstack的成熟,越来越多的企业客户开始在自己的私有云里采用Openstack,将企业部署在虚拟化平台上的应用迁移到私有云中,节点高可用的特性需求越发迫切。但社区只提供了一些配合外部检控服务一起工作的机制,并没有提供完整的解决方案。[0003]所谓节点高可用,是指在节点发生硬件故障,如磁盘损坏、CPU温度过高导致宕机、物理网络故障时,自动将该节点关闭,并让其上的虚拟机在剩下的健康节点上重启。在中国的虚拟化市场上,很多企业应用十分依赖于节点的高可用,而缺乏节点高可用的功能己经成为企业实施Openstack平台的一个障碍。[0004]由于Openstack平台部署灵活多样,环境组合各不相同,节点的高可用往往需要充分考虑部署环境的的具体情况定制,所以目前关于节点的高可用,业界并没有统一的解决方法,这也是许多厂商和研宄人员努力解决的问题。发明内容[0005]本发明的目的在于针对现有技术的缺陷,提供一种基于Openstack开源云平台的云主机故障检测方法,其可以解决目前Openstack环境中节点高可用的问题,并且能够有效的地避免因节点故障导致云主机不可用的情况,从而提升产品的用户体验。[0006]本发明的技术方案如下:一种基于Openstack开源云平台的云主机故障检测方法包括如下步骤:获取需要检测的计算节点,并获取所述计算节点的配置信息;根据所述配置信息,通过Agent获取相对应所述计算节点的状态信息,并将所述状态信息进行汇总;将本次检测过程汇总的状态信息与上一次检测过程中汇总的状态信息进行对比,并更新检测结果;判断更新后的检测结果中异常节点的数目是否超过容错范围值,如果是,则由人工进行排查处理,如果否,则由Agent根据动作矩阵执行迀移或者疏散所述异常节点上的云主机。[0007]优选地,所述配置信息包括计算节点的IPMI地址、认证信息、管理网地址和存储网地址。[000S]优选地,通过Agent获取相对应所述计算节点的状态信息包括如下步骤:检查所述计算节点是否为存储节点;获取所述计算节点所在的可用域;通过IPMI命令查询并判断所述计算节点的电源状态,如果所述计算节点的电源为关闭状态,则直接返回检测信息;如果所述计算节点的电源为正常工作状态,则通过管理网和存储网IP,进行ping操作,查询管理网、存储网的状态,正常则记为0k,不正常则为Failed;检测所述计算节点的生产网状态,Agent通过安全外壳协议SSH,登录到对应的所述计算节点上,找到所述计算节点用于生产网的网卡,判断所述网卡运行是否正常,如果是,则记为Ok;如果否,则记为Failed;如果网卡无法访问,则记为Unknown。[0009]优选地,将本次检测过程汇总的状态信息与上一次检测过程中汇总的状态信息进行对比,并更新检测结果的步骤包括如下步骤:将本次检测过程汇总的状态信息与上一次检测过程中汇总的状态信息进行对比,判断对比结果是否一致;如果是,则视为有效检测;如果否,则不对本次的检测结果采取操作;更新检测结果。[0010]优选地,由Agent根据动作矩阵执行迀移或者疏散所述异常节点上的云主机的步骤包括如下步骤:执行迀移动作步骤:Agent找出所述异常节点上所有的待迀移云主机,根据nova的调度策略,Agent选择合适的迁移目标节点,执行迁移动作,将所述待迁移云主机迁移到所述迁移目标节点上运行;[0011]执行疏散动作步骤:Agent通过IPMI对所述异常节点执行关机操作,并找出所述异常节点上待疏散云主机,且Agent选择合适的疏散目标节点,执行疏散动作,将所述待疏散云主机迁移到所述疏散目标节点上运行。[0012]优选地,在各个控制节点设置用于根据所述计算节点的状况实现迁移或疏散所述计算节点上云主机的Agent,如果Agent服务运行正常,且日志信息显示正常,则Agent正在持续不断地检测相对应的所述节点的情况。[0013]优选地,当计算节点处于维护模式时,Agent不用检测所述计算节点;当计算节点从维护模式恢复至正常模式时,Agent重新检测所述计算节点。[0014]优选地,通过设置Agent的Ping操作发包间隔和数量、SSH操作的超时时间、及检测触发间隔来调节Agent的灵敏度。[0015]本发明提供的技术方案具有如下有益效果:[0016]所述基于openstack开源云平台的云主机故障检测方法提出使用Agent检测计算节点状况,并根据检测结果采取一系列操作,避免云主机受到节点故障的影响,保证节点上云主机的正常使用。该发明逻辑条理清晰,操作可靠易行,已在多个局点和平台使用,运行效果良好,很好地解决了因计算节点故障导致云主机不可用的情况,避免了云主机数据的丢失,有效地提升了平台的用户体验。此外,对于计算节点集体故障的情况,本发明还会搜集节点上的日志,并及时通知运维人员,为运维人员排查故障提供信息支持,将故障带来的影响降到最低;[0017]此外,所述基于Openstack开源云平台的云主机故障检测方法还具有如下优势:[0018]1本发明采用绿色线程检测各计算节点状态,占用资源少,检测时间短,检测结果引入打分机制,并经过对比校验,快速准确可靠;[0019]2本发明支持用户个性化设置,发明中描述的Agent可以根据配置文件,执行个性化动作,比如检测执行的周期间隔、忽略的检测节点、自动疏散的节点、异常节点的容错数量、Ping操作发包间隔数量、SSH操作超时设置等等,可以满足不同用户的各种需求;[0020]3本发明提供的计算节点检测方法多种多样,包括节点电源状态、节点的存储网、管理网和生产网的状态,并且考虑到了存储节点存在的情况,为高可用操作提供有力的依据支撑;[0021]4本发明中描述的Agent可以自动隔离问题节点,提供自动化的云主机迁移和疏散任务,避免因节点故障影响到整个Openstack平台的正常运行;[0022]5本发明描述的Agent在运行期间,记录并提供详细的日志,可以供运维人员追溯和排查故障;[0023]6本发明描述的Agent通过Pacemaker实现主从模式,可以使用crm进行管理,对于Openstack的多控制节点的情况使用更加方便,同时也进一步增强了平台的高可用性。附图说明[0024]图1为本发明实施例提供的基于Openstack开源云平台的云主机故障检测方法的组件部署架构示意图;[0025]图2为本发明实施例提供的基于Openstack开源云平台的云主机故障检测方法的流程框图;[0026]图3为图2所示基于Openstack开源云平台的云主机故障检测方法中动作矩阵的动作对照表。具体实施方式[0027]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0028]除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组合。[0029]如图1所示,是本发明实施例提供的本发明实施例提供的基于Openstack开源云平台的云主机故障检测方法的组件部署架构示意图。其中,在所述组件部署构架中,Agent运行在控制节点群上,通过pacemaker实现activestandby模式,同一时刻只有一个Agent程序运行,并通过各个网络监控各计算节点。在本实施例中,Agent通过Pacemaker实现主从模式,可以使用crm进行管理,对于Openstack的多控制节点的情况使用更加方便,同时也进一步增强了平台的高可用性。[0030]在各个控制节点设置用于根据所述计算节点的状况实现迁移或疏散所述计算节点上云主机的AgentAgent可以自动隔离问题节点,提供自动化的云主机迁移和疏散任务,避免因节点故障影响到整个Openstack平台的正常运行。而且,根据所述openstack平台对疏散操作的要求,对于疏散云主机的操作是需要云主机在共享存储的环境下创建的;否则疏散得到的云主机,其包含的用户数据等信息会丢失,达不到高可用的目的。[0031]在本实施例中,根据平台特性和环境的具体情况,设置Agent的相关配置项,必选配置项包括Openstack用户平台认证信息,需要检测节点的IPMI认证信息,管理网和存储网ip地址等。[0032]而且,启动Agent,并查看服务运行情况,如果Agent服务异常,则需要查看日志,参考关于Agent的配置项的详细说明,确认配置文件中的各个配置项正确。[0033]如果Agent服务运行正常,且日志信息显示正常,则Agent正在持续不断地检测相对应的所述节点的情况;一旦有计算节点发生异常,Agent就会根据检测结果和动作矩阵,采取相应的措施,迀移或者疏散节点上的云主机。[0034]需要说明的是,对于一些Openstack平台,计算节点高可用是针对整个Region域,而有一些Openstack平台,由于计算节点众多,为了便于管理,分成了不同的可用域,计算节点高可用是针对各个可用域的。对于这些情况,可以通过设置Agent的配置项,在这两种情况之间进行切换。[0035]而且,由于各个平台环境配置差异,包括需求方面的不同,对检测的灵敏度要求也不一样。可以通过设置Agent的Ping操作发包间隔和数量、SSH操作的超时时间、及检测触发间隔来调节Agent的灵敏度。[0036]也就是说,在本实施例中,Agent可以根据配置文件执行个性化动作,例如:检测执行的周期间隔、忽略的检测节点、自动疏散的节点、异常节点的容错数量、Ping操作发包间隔数量、SSH操作超时设置等,从而满足不同用户的各种需求。[0037]具体的,如图2所示,所述基于Openstack开源云平台的云主机故障检测方法包括如下步骤:[0038]—、获取需要检测的计算节点,并获取所述计算节点的配置信息。[0039]在步骤一中,需要获取的所述计算节点的配置信息包括但不限于所述计算节点的IPMI地址、认证信息、管理网地址和存储网地址等。[0040]需要说明的是,需要检测的计算节点包括注册需要检测的节点和需要过滤忽略的节点。[0041]而且,如果计算节点需要维护,例如人为的关闭物理机或者调整网卡,则需要在控制节点将所述计算节点的nova-compute服务置为disable,即将所述计算节点设置成维护模式;[0042]当所述计算节点的维护结束后,再将所述计算节点的nova-compute服务置为enable,从维护模式恢复到正常模式。[0043]在本实施例中,当计算节点处于维护模式时,Agent不用检测所述计算节点;当计算节点从维护模式恢复至正常模式时,Agent重新检测所述计算节点。[0044]二、根据所述配置信息,通过Agent获取相对应所述计算节点的状态信息,并将所述状态信息进行汇总。[0045]具体地,在步骤二中,通过Agent获取相对应所述计算节点的状态信息包括如下步骤:[0046]检查所述计算节点是否为存储节点,一般的,将所述存储节点视为具有存储功能的节点,而没有云主机运行在所述存储节点上;[0047]获取所述计算节点所在的可用域,可用域可以作为信息统计的范围标准,有些情况,需要在各个可用域中统计检测信息,而有些情况需要在整个Region范围内统计检测信息;[0048]通过IPMI命令查询并判断所述计算节点的电源状态,如果所述计算节点的电源为关闭状态,则其他检测信息可以不用再统计,就可以得出节点故障的结论,并直接返回检测信息;如果所述计算节点的电源为正常工作状态,则可以继续进行检测,即通过管理网和存储网IP,进行ping操作,查询管理网、存储网的状态,正常则记为〇k,不正常则为Fai1ed;[OO49]检测所述计算节点的生产网状态,Agent通过安全外壳协议SSH,登录到对应的所述计算节点上,找到所述计算节点用于生产网的网卡,判断所述网卡运行是否正常,如果是,则记为Ok;如果否,则记为Failed;如果网卡无法访问,则记为Unknown。[0050]三、将本次检测过程汇总的状态信息与上一次检测过程中汇总的状态信息进行对比,并更新检测结果。[0051]具体的,在步骤三中,将本次检测过程汇总的状态信息与上一次检测过程中汇总的状态信息进行对比,并更新检测结果的步骤包括如下步骤:[0052]将本次检测过程汇总的状态信息与上一次检测过程中汇总的状态信息进行对比,判断对比结果是否一致;[0053]如果是,则视为有效检测;如果否,则不对本次的检测结果采取操作;[0054]更新检测结果。[0055]需要说明的是,如果本次检测过程汇总的状态信息与上一次检测过程汇总的状态信息不一致,为了保证检测结果的稳定性,则不对本次检测过程的检测结果采取操作,防止意外情况而错误判断。[0056]四、判断更新后的检测结果中异常节点的数目是否超过容错范围值,如果是,则由人工进行排查处理,如果否,则由Agent根据动作矩阵执行迁移或者疏散所述异常节点上的云主机。[0057]具体的,在步骤四中,对于所述检测结果会确认异常节点的节点信息,例如:异常节点的数目、异常节点属于哪个域等。[0058]对于所述容错范围值而言,如果所述异常节点的数目超过了所述容错范围值,则可以认为出现异常的原因属于机房机框的物理服务器发了异常情况,例如集体掉电等。因此,如果所述异常节点的数目超过容错范围值,则需要人工手动去排查处理。[0059]如图3所示,在步骤四中,所述动作矩阵是检测结果对应的动作对应表。所述动作矩阵主要包括五个指标,而且对应动作包括:无操作、迀移、下电、疏散。[0060]而且,在步骤四中,如果所述异常节点的数目没有超过所述容错范围值,则由Agent根据动作矩阵执行迁移或者疏散所述异常节点上的云主机,具体包括如下步骤:[0061]执行迀移动作步骤:Agent找出所述异常节点上所有的待迁移云主机,根据nova的调度策略,Agent选择合适的迁移目标节点,执行迁移动作,将所述待迁移云主机迁移到所述迁移目标节点上运行;[0062]执行疏散动作步骤:Agent通过IPMI对所述异常节点执行关机操作,并找出所述异常节点上待疏散云主机,且Agent选择合适的疏散目标节点,执行疏散动作,将所述待疏散云主机迀移到所述疏散目标节点上运行。[0063]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。[0064]此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当他各实施例中的技术方案也可以经适当组合,形成本领域技术人员

权利要求:1.一种基于Openstack开源云平台的云主机故障检测方法,其特征在于:包括如下步骤:获取需要检测的计算节点,并获取所述计算节点的配置信息;根据所述配置信息,通过Agent获取相对应所述计算节点的状态信息,并将所述状态信息进行汇总;将本次检测过程汇总的状态信息与上一次检测过程中汇总的状态信息进行对比,并更新检测结果;判断更新后的检测结果中异常节点的数目是否超过容错范围值,如果是,则由人工进行排查处理,如果否,则由Agent根据动作矩阵执行迀移或者疏散所述异常节点上的云主机。2.根据权利要求1所述的一种基于Openstack开源云平台的云主机故障检测方法,其特征在于:所述配置信息包括计算节点的IPMI地址、认证信息、管理网地址和存储网地址。3.根据权利要求1所述的一种基于Openstack开源云平台的云主机故障检测方法,其特征在于:通过Agent获取相对应所述计算节点的状态信息包括如下步骤:检查所述计算节点是否为存储节点;获取所述计算节点所在的可用域;通过IPMI命令查询并判断所述计算节点的电源状态,如果所述计算节点的电源为关闭状态,则直接返回检测信息;如果所述计算节点的电源为正常工作状态,则通过管理网和存储网IP,进行ping操作,查询管理网、存储网的状态,正常则记为〇k,不正常则为Failed;检测所述计算节点的生产网状态,Agent通过安全外壳协议SSH,登录到对应的所述计算节点上,找到所述计算节点用于生产网的网卡,判断所述网卡运行是否正常,如果是,则记为Ok;如果否,则记为Failed;如果网卡无法访问,则记为Unknown。4.根据权利要求1所述的一种基于Openstack开源云平台的云主机故障检测方法,其特征在于:将本次检测过程汇总的状态信息与上一次检测过程中汇总的状态信息进行对比,并更新检测结果的步骤包括如下步骤:将本次检测过程汇总的状态信息与上一次检测过程中汇总的状态信息进行对比,判断对比结果是否一致;如果是,则视为有效检测;如果否,则不对本次的检测结果采取操作;更新检测结果。5.根据权利要求1所述的一种基于Openstack开源云平台的云主机故障检测方法,其特征在于:由Agent根据动作矩阵执行迀移或者疏散所述异常节点上的云主机的步骤包括如下步骤:执行迀移动作步骤:Agent找出所述异常节点上所有的待迁移云主机,根据nova的调度策略,Agent选择合适的迁移目标节点,执行迁移动作,将所述待迁移云主机迁移到所述迁移目标节点上运行;执行疏散动作步骤:Agent通过IPMI对所述异常节点执行关机操作,并找出所述异常节点上待疏散云主机,且Agent选择合适的疏散目标节点,执行疏散动作,将所述待疏散云主机迀移到所述疏散目标节点上运行。6.根据权利要求1所述的一种基于Openstack开源云平台的云主机故障检测方法,其特征在于:在各个控制节点设置用于根据所述计算节点的状况实现迁移或疏散所述计算节点上云主机的Agent,如果Agent服务运行正常,且日志信息显示正常,则Agent正在持续不断地检测相对应的所述节点的情况。7.根据权利要求1所述的一种基于Openstack开源云平台的云主机故障检测方法,其特征在于:当计算节点处于维护模式时,Agent不用检测所述计算节点;当计算节点从维护模式恢复至正常模式时,Agent重新检测所述计算节点。8.根据权利要求1所述的一种基于Openstack开源云平台的云主机故障检测方法,其特征在于:通过设置Agent的Ping操作发包间隔和数量、SSH操作的超时时间、及检测触发间隔来调节Agent的灵敏度。

百度查询: 南京易捷思达软件科技有限公司 一种基于Openstack开源云平台的云主机故障检测方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术