论文部分内容阅读
随着计算机技术和网络应用的普及,人们对计算机系统的依赖日益增强。一些关键性的业务处理系统要求计算机服务系统具有很高的可用性,以保证业务处理的连续。因此必须提高业务系统的稳定性和可用性,尽可能地避免因故障导致的停机和服务的中断。对于中小型应用,目前采用比较广泛和成熟的是双机容错系统。这种系统结构简单,投资小,具有较高的可用性。但是随着业务量的增长和对系统处理能力需求的增加,双节点的架构已经不能满足这种要求,于是需要扩展性好的多节点业务处理系统。目前在提高服务可用性方面得到了业界越来越多的关注,取得了重要成果如开源社区的LVS和LinuxHA,它们都得到广泛的工业应用。本文就是在这种背景下设计并实现了基于Linux的多节点容错系统。它具有二级容错功能,能够在多节点运行环境下提供对服务进程和计算节点的保护。服务进程出现异常时,系统能和其他的节点共同协作完成进程故障处理,提高服务的可用性。由分布式选举算法选出的代理节点能保证失效节点上的服务得到有效处理,从而提高了系统的可用性。该系统采用分布式的松耦合体系结构来组织节点,具有良好的可扩展性,处理节点可以随时加入和离丌监控关系而对服务没有任何影响。为了避免任务调度因素对检测的影响和完成对节点失效快速准确的检测,本文设计和实现了专用心跳检测协议。该检测协议作为网络协议实体运行在操作系统核心态,使得检测器运行更加稳定,从而大大提高了检测速度。