7.3 高可用软件的历史
有大量的专有的和开源的高可用性软件。专有的例子有:Solaris Cluster (有时称为Sun 集群 or SunCluster), SteelEye LifeKeeper, Evidian SafeKit, 和其它软件。我们不在本书中说它们。集群软件通常包含两个不同的层次:传输层和集群管理层。管理层负责在集群节点上启动和关闭服务。服务和健康信息通过传输层传输。
最初,有两个广为人知的开源高可用性软件,叫做OpenAIS and Linux-HA。这些都是互不兼容并且都有自己的优点和缺点的软件。后来,两个开发人员社区联手,在2007年12月7日,在 Linux-HA 上的用户邮件列表发布了一个内部公告。Linux-HA (当时叫CRM )的管理层被分裂出去支持原来的 Linux-HA and OpenAIS的传输层。2008 在渥太华的 Linux专题讨论会上有另外一个公告,OpenAIS 的传输层被分裂以更好地支持新的通用管理层。以前,两个软件的整体软件的整体结构变得更轻,兼容,并可互换。
共同努力实现的第一个稳定版本是:
• Heartbeat Version 3.0.2: 2010年2月1日,
• Corosync Version 1.0.0:2009年7月8日,
• Pacemaker Version 0.6: 2008 年1月16日,
7.3.1 OpenAIS 和 Corosync
OpenAIS 是第一个服务可用性论坛(www.saforum.org)规范的实现。这是一个全面的,也是一个复杂的集群软件栈,当时,Corosync是 OpenAIS的同义词。在 2008,该项目的开发者在渥太华的Linux 专题讨论会上宣布联合开发,结果是该软件被重构,其传输层成为 Corosync,OpenAIS 部分现在只包含 SAForum 的API。然而,在写本书时,SAForum 网站只列出了 OpenSAF (opensaf.org) 和 OpenHPI(www.openhpi.org) 作为它们规范的实现。
7.3.2 Linux-HA (Heartbeat) 和 Pacemaker
Linux-HA (www.linux-ha.org) 开始作为一个简单的集群实施,以提供一个简单的方法来建立一个双机集群。传输层被称为 Heartbeat,但它也由于上层传输被称为 Linux-HA 的同义词,集群管理没有一个特别的名字。一段时间后,Heartbeat的简单版本1.x被认为不够稳定,集群管理层被重写,并成为了所谓的集群资源管理(CRM)。OpenAIS 和 Linux-HA 联合开发之后,传输层就成了单独的软件, 保留了 Heartbeat 名称, CRM 被分离出来重命名为 Pacemaker。目前,Pacemaker 支持两个项目的传输层 (Heartbeat and Corosync) 并提供一个通用的集群管理层。对于一些应用程序来说,它甚至需要来自 OpenAIS 的管理层。 Heartbeat 和 Pacemaker当前的主页是 www.clusterlabs.org。