当前位置:问答库>论文摘要

题目:Linux实时高可用集群系统的研究与实现

关键词:实时;高可用集群;Corosync;Linux;进程双工热备

  摘要


当前,主流集群系统主要应用于互联网服务、商用平台等领域,用于满足一些实时性需求不高的应用。然而在航天测控领域中,由于其高精度计算的需求,系统对软硬件故障的恢复时间有着严格的要求,其服务中断时延不应超过50ms,主流集群系统难以满足该实时性指标的要求。例如:美国加州大学圣芭芭拉分校对Totem协议的实时性研究结果表明:仅在5个节点时,进程发生失效后的失效消息通知时间约为13ms,而节点失效后的环重组过程平均时延约为140ms。台湾国立交通大学与工业技术研究院也对基于Totem的OpenAIS集群系统进行过实时性优化。优化后结果表明:在4个集群节点时,节点失效后资源的最快重组速度为65.97ms。显然,上述系统不能满足航天测控领域系统的实时性指标要求。

针对航天测控领域系统的稳定性和实时性要求,本论文研究了实时高可用集群系统的关键技术,设计并实现了基于Linux的实时高可用集群系统。该系统能在保证稳定性的同时,大幅降低故障恢复重组时间,以满足高精度测控领域对实时性和可靠性的需求。

本论文的主要研究工作及贡献如下:

1.针对Corosync集群组件不支持进程资源管理功能,无法满足集群系统多任务热备需求的问题,本论文提出了一种进程双工热备算法,并实现了基于Corosync集群组件的进程资源管理功能。当业务进程或节点发生故障时,热备进程完成双工状态切换并接替主进程继续提供服务。

2. 针对Corosync集群组件实时性不高的问题,本论文对Corosync集群组件和其Totem层的实时性进行测量研究,并从进程失效和节点失效两个角度提出实时性优化方案,最终实现进程双工状态的实时切换。测试结果表明:当环节点数达到30个时,Corosync集群组件在进程失效双工切换速度约为1ms,节点失效双工切换速度约为35ms。实时性能有极大的提高,可以达到切换实时性标准。

3. Linux操作系统作为高可用集群系统的基础平台,其实时性对集群系统的可靠运行至关重要。美国红帽公司对Linux的实时性研究结果表明:Linux操作系统对进程调度的延迟抖动普遍集中在1~20ms区间,远未达到硬实时指标。本论文针对上述问题,通过对Linux实时性进行测量研究,提出了包括CPU亲和度调优、调度策略优先级调优以及更换实时内核等实时性优化方案,并最终实现了Linux系统的硬实时化。测试结果表明:优化后的Linux操作系统对进程调度时延抖动均小于1ms,达到硬实时指标。该工作可使集群应用运行在实时可信的操作系统平台上。

基于上述研究成果,本论文设计并实现了一个Linux实时高可用集群原型系统,并对系统的实时性和可靠性进行了测试与验证。测试结果表明:在环内30个节点时,集群系统软硬件发生故障后的进程双工转换时延最大值为36.9ms,且测试过程中未发生集群误判。本论文的实现可以满足航天测控领域系统对硬实时性和可靠性的需求。