论文部分内容阅读
随着计算机体系结构的发展,集群以其可扩展性和较低的成本等优势被广泛的研究和应用。很多公司、企业以及政府,越来越多地使用集群来满足其高可用性、高性能计算的需求。随着系统规模的不断扩大,系统本身发生不可预计的故障的可能性也越来越大。自然灾害、意外的灾难都会对庞大的系统产生严重的负面影响;同时人们的生活也越来越依赖于这些复杂的系统,因此现实的需求使业务连续性,高可用性成为了目前研究的一个重点。在集群使用的软件中,集群心跳占有重要地位,它一般包括了可靠网络、对集群节点的动态管理,对集群状态进行检测等等功能,保证了集群的高可用性和高扩展性。近年来Linux有了很大的发展,其性能可以媲美很多商业软件,同时又是一个开放源代码的软件,具有成本上的优势,越来越多的集群采用Linux或做了一定修改的Linux作为其操作系统。本文集中讨论基于Linux的集群。本文介绍了一些集群,如TurboCluster、EDDIE、LVS(Linux virtual server)等,介绍中包括其体系结构的特点,性能上的特点以及业界认同的集群性能的评测方式。作者根据参与集群软件开发的经验,提出了一些开发高可用性集群中面临的问题,并给出了解决方案。在高可用性集群中,可能需要对其提供服务的进程进行检测,而现有Linux提供的检测工具和一些常用的工具均为管理员而非频繁检测所开发,检测开销很大,本文根据这种现实需求,在研究了现有工具效率较低的原因之后,提出了自己的解决方案,在保证准确的进程检测的同时,缩减了现有工具的功能,采用了一些技术降低了检测开销。集群是一个分布式系统,在高可用性集群的节点检测中,可靠性与网络的情况有关。网络中产生的数据包延迟和丢包现象将影响集群节点检测的可靠性,这种情况在现有的网络环境下无法避免,但可以采用一些方式使其不可靠的程度降低到我们能接受的范围。本文提出了一种基于确认度的集群检测方法,并分析了它的性能。随着集群规模的扩大,集群的心跳信息将给集群网络带来很大的负载。本文根据现在多播的研究发展,提出了一种多播心跳。它基于现有的多播技术,可以有效地降低集群网络的负载,能够满足集群的安全性要求,较广播或者单播心跳性能有了很大提高。