发明名称 一种异构平台上高可用系统的设计方法
摘要 本发明提供了一种在异构平台上实现系统高可用的设计方法,该方法通过为异构平台高可用系统设计尽可能使用相同的架构、对可扩展的模块使用动态链接库、对与应用有关的模块使用脚本语言编写、适当减少对应用程序接管的考虑并将系统实现层次限定为用户层的方式,实现了异构平台上的高可用系统,填补了市场上缺乏异构平台高可用系统的空白。
申请公布号 CN102707951A 申请公布日期 2012.10.03
申请号 CN201210128969.8 申请日期 2012.04.28
申请人 浪潮电子信息产业股份有限公司 发明人 谢若鸿;吴楠
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 代理人
主权项 一种异构平台上实现系统高可用的设计方法, 其特征在于内容包括:1)异构平台系统的高可用设计尽可能使用相同的系统架构:在设计阶段要考虑各个平台系统库的区别,根据这些区别设计出尽可能能够满足双方系统要求的系统架构,尽量减少了系统的复杂度,减少开发周期;2)对可扩展的模块使用动态链接库:由于高可用系统的一些模块实现可能依赖于具体平台,对这些模块采取动态链接库的方式,在保证系统的主体功能的前提下,针对各个平台开发相应的功能模块;3)对与应用有关的模块使用脚本语言编写以降低对底层架构的依赖;4)适当减少对应用程序接管的考虑:在系统具有较强扩展性的情况下,按需设计必要的应用系统接管,降低系统的复杂性;5)系统实现层次限定为用户层:为最大限度保证异构高可用系统的通用性,将高可用系统的一切实现都放置在用户层;具体实施步骤如下:实现系统架构的高可用,整个系统结构分为消息传递层、成员层、资源管理层和资源层,其中:1)消息层通常也称为Heartbeat层,集群内所有节点间的消息传递均需通过该层,同时,该层还将监控各个节点间的连通状态,并将其通知一致性成员资格CCM,一致性成员资格CCM用于确定组成集群的成员节点,并在集群中分享这些成员的信息,任何节点的并更都由CCM来决定;Heartbeat支持串口、单播、多播和广播多种方式,使用通用的协议类型,通过管道的形式在集群各个节点之间进行通信,节点会通过Heartbeat定期将自己的状态发送给集群中的其他节点,同时接受来自其他各节点的状态信息;2)成员层基于Heartbeat层提供的信息,负责计算集群中最大的连通集合,确定哪些节点属于集群,并将这一信息在各个集群成员中同步,这一工作由CCM模块来完成;3)资源分配层对资源进行分配,由以下的组件组成:(1)集群资源管理器CRM:在资源分配层中执行的每个操作都要经过集群资源管理器CRM,如果本层或更高层中的组件之间需要通讯,均需经过本地集群资源管理器CRM,在每个节点上,集群资源管理器CRM维护一个集群信息库CIB,如果当前节点为DC,则它拥有主CIB;(2)集群信息库CIB用XML的方式来存储整个集群和当前状态的配置,它包括所有集群选项、节点、资源及其关系和当前状态的定义,集群信息库CIB会自动的将更新同步到所有集群节点上,集群中有一个主集群信息库CIB,由主CIB的节点DC维护,其他所有节点上均包含一个集群信息库CIB复本;(3)策略引擎PE和转换引擎TE每当主CIB的节点DC需要进行整个集群的更改时,策略引擎就会根据集群的当前状态和配置来计算集群的下一个状态,并由TE来执行,主CIB的节点DC将会将消息发送给集群中相关的CRM,CRM会调用LRM来执行必要的操作,策略引擎PE和转换引擎TE始终在主CIB的节点DC上运行;主CIB的节点DC是Designated Coordinator的缩写,即指定协调程序,它指的不是某种特定的设备,而是具有主CIB的节点,这个节点相当于集群的控制节点,只有该节点才拥有对整个集群执行更改的决定权,包括屏蔽某个节点或是移动资源的更改决定权;(4)本地资源管理器LRM本地资源管理器LRM代表集群资源管理器CRM调用本地资源代理,具体的说,它可以执行启动、停止、监视资源状态等操作,并将结果报告给集群资源管理器CRM,本地资源管理器LRM还将隐藏资源代理支持的不同脚本标准之间的差别,便于在不同平台上对资源进行管理;4)资源层包括一个或多个资源代理RA,仅由本地资源管理器LRM调用,资源代理RA指为启动、停止或指控服务状态而编写的程序,以Shell脚本的形式实现,最大程度上避免底层架构的影响,同时,如果用户需要第三方程序,可自行编写符合标准的脚本放在指定位置,供高可用系统调用。
地址 250014 山东省济南市高新区舜雅路1036号