3.0.6 / February 2015
|Written in||C, Python|
|Operating system||Linux, several UNIX variants|
|Type||Cluster messaging layer|
|License||GNU General Public License v2, GNU Lesser General Public License v2.1|
The Linux-HA (High-Availability Linux) project provides a high-availability (clustering) solution for Linux, FreeBSD, OpenBSD, Solaris and Mac OS X which promotes reliability, availability, and serviceability (RAS).
The project's main software product is Heartbeat, a GPL-licensed portable cluster management program for high-availability clustering. Its most important features are:
The project originated from a mailing list started in November 1997. Eventually Harald Milz wrote an odd sort of Linux-HA HOWTO. Unlike most HOWTOs, this was not about how to configure or use existing software, it was a collection of HA techniques which one could use if one were to write HA software for Linux.
Alan Robertson was inspired by this description and thought that he could perhaps write some of the software for the project to act as a sort of initial seed crystal to help jump start the project. He got this initial software running on 18 March 1998. He created the first web site for the project on 19 October 1998, and the first version of the software was released on 15 November 1998. The first production customer of the software was Rudy Pawul of ISO-NE. The ISO-NE web site went into production in the second half of 1999.
At this point, the project was limited to two nodes and very simple takeover semantics, and no resource monitoring.
This was cured with version 2 of the software, which added n-node clusters, resource monitoring, dependencies, and policies. Version 2.0.0 came out on 29 July 2005. This release represented another important milestone as it was the first version where very large contributions (in terms of code size) were made by the Linux-HA community at large. This series of releases brought the project to a level of feature parity-or-superiority with respect to commercial HA software.
After version 2.1.4, the cluster resource manager component (responsible for starting and stopping resources and monitoring resource and node failure) was split off into a separate project called Pacemaker, and the resource agents and other "glue" infrastructure were moved to separate packages. Thus with the version 3 series, the name Heartbeat should be used for the cluster messaging layer only.