● 摘要
随着高性能集群系统的迅速发展,用户对集群高可用性的要求也日益迫切,而资源监控和故障检测机制是保证其高可用性的重要手段。集群中的各个节点可能会由于硬件、软件,网络等方面的原因出现不同的故障或各种各样的错误,因此需要对集群进行实时的监控管理,及时地检测出故障并做相应处理,以达到高性能集群系统高可靠性的要求。本课题来源于北京航空航天大学软件工程研究所承担的863重点项目“油气地震资料处理与解释一体化软件系统”子课题。该课题旨在集群架构的高性能计算机的环境下,最大限度地挖掘大规模计算节点的潜能,提高地震数据的处理速度,简化并行程序的开发难度,并且采取一定的措施提高系统的可用性。资源监控与故障检测技术是本课题中的研究内容,也是其中的关键性技术。本文阐述了资源监控与故障检测在高性能集群中的重要地位和作用。根据高性能集群的体系结构和特点,提出了集群的资源监控系统的功能需求,并对监控系统的信息获取、干扰消除和数据可视化等问题进行了深入的讨论。根据高性能集群对监控系统的特殊要求,设计一个对集群干扰小、效率高、可扩展的集群监控系统。本文在研究了Linux-HA的Heartbeat软件包的基础上,设计并实现了Linux下用户级的心跳基础平台。用户级心跳基础平台是一个分层的体系结构,主要分为通讯子系统、心跳子系统、适配子系统、配置子系统和日志子系统五大部分。各层都较为灵活且可配置。平台主要实现了如下目标:独立于上层应用的心跳平台;可以进行基于应用的心跳检测,检测应用与服务;通讯介质、心跳参数可配置;有着设计良好的与应用的接口,应用程序均可以极小的修改代价获得心跳平台提供的信息;整个平台易于修改与扩充。