Linux-HA Logo

Linux-HA Release 2 Fact Sheet

Linux-HA provides sophisticated high-availability (failover[1]) capabilities on a wide range of platforms, supporting several tens of thousands of mission critical sites all over the globe. A few of these are documented in our success stories[2] page.

Linux-HA is the oldest, most capable, and best-tested open source HA solution available and has the largest associated community. By project policy, it always compiles with no warnings, and no faults found by a static analysis tool. Source code is periodically subjected to scrutiny by security experts.

It provides monitoring of cluster nodes, applications, and provides a sophisticated dependency model with a rule-based resource placement scheme. When faults occur, or a rules change occurs, the user-supplied rules are then followed to provide the desired resource placement in the cluster.

It is generally at least as capable and easy-to-use as most commercial clustering offerings such as Veritas VCS, SunCluster, LifeKeeper, ServiceGuard and others.

Features

Hardware Requirements

Supported Processors

Linux-HA is used on a huge number of platforms, ranging from ARM processors through mainframes. We test extensively on ia32, powerPC, and System Z (mainframe) platforms (8 hours to 8 days), and perform basic testing of each release on every platform supported by SUSE Linux[10]:

Beginning with release 2[11], we have extended our automated exhaustive testing procedures[12] to OpenPower[13] platforms, and have recently begun such testing on system Z servers.

Linux-HA is portable to many platforms, and we treat portability bugs seriously. Patches to fix portability bugs are welcomed.

Data Sharing Arrangements

Linux-HA has no special shared disk requirements.

It supports (at least) the following data sharing configurations:

The only requirements we have on shared disk is that it support mount and umount. More specifically, it does not rely on SCSI reservations (or their equivalent).

Supported Software Platforms

Linux-HA is highly portable, and runs on many POSIX-like platforms. It is best supported (and works best) on Linux - virtually any version. The build system creates RPM[15]s and Debian packages automatically, and it is also integrated into the Gentoo Linux build system, among others. Linux-HA is provided natively with SUSE Linux[10], Mandriva[16] Linux, TurboLinux[17], Red Flag Linux[18], Debian[19], Gentoo[20] and a few other Linux distributions, and is a standard part of many Linux-based products.

It also works on FreeBSD and Solaris and the Mac's OS/X.

RAM Requirements

Heartbeat[21] will run in whatever memory your OS and application needs plus about 16 megabytes more. Although it is relatively lightweight, Linux-HA locks certain core components into memory.

Software Requirements

Special libraries

The RPMs document this best. And, if you don't want to install some of these libraries, then many of these dependencies can be automatically eliminated by rebuilding from source. The only two slightly unusual mandatory dependencies are glib2, and libnet >= 1.1. Use of the GUI or CIM requires the GNU TLS libraries.

The STONITH[4] plugins create a variety of dependencies on the libraries they need - but you don't actually need most or any of them for any given installation, and Autoconf[22] will not create modules you don't have the libraries for.

Kernel Versions

Linux-HA will run on any kernel that doesn't have a major scheduler bug. For Linux, that means basically anything but Red Hat[23] Linux kernels 2.4.18-2.4.20.

It has no kernel dependencies, drivers, file system requirements, or other hooks.

Miscellaneous

Maximum number of nodes?

There is no fixed maximum number of nodes[24] allowed beginning in Version 2.0[11]. We have tested it with up to 16 nodes. Reports occasionally trickle in of people using it with more than double that number.

Are there any Administration-Tools included?

Heartbeat[25] currently comes with the following adminstrative tools:

Monitoring-Function?

Heartbeat[25] monitors node death, and includes built-in resource[31] monitoring for all types of resources. Resources are automatically restarted on failure.

Supported Applications

Linux-HA can support virtually any application that can withstand a crash and be restarted robustly every time, and which can somehow access a good copy of its state data from the machines that need to run the service. See the section on Data Sharing Arrangements for details of common methods for sharing application state.

People do a huge variety of things with Linux-HA. If you want it, someone has probably already done it. It supports most applications immediately without writing any scripts.

Automated Notification when one node fails?

Linux-HA provides configurable automated notification whenever resources[31] move from one machine to another, through the MailTo[32] resource agent. You can easily write your own if you don't like ours. Additionally, you can run an SNMP agent which will send out SNMP traps when nodes fail, or monitor and control it through the Common Information Model (CIM) cluster model.

Support

Commercial support[33] is available from a variety of sources[33] including IBM[34] and SUSE/Novell[35].

Performance

Which part of Processor-Performance is used for managing the cluster ?

Linux-HA's processor usage is usually negligible, typically much less than 1 percent. If you configure ultra-fast failover[1] times (< 1 second), then this amount will go up with the required faster heartbeat rates.

Which level of availability is reachable?

This is a difficult question to answer since it depends on where you start. As a rule, good HA systems add about one "9" to your system's availability, when appropriately configured. This general rule applies to Linux-HA as well. That is, if your pre-HA clustering[36] availability was 99.9%, then the resulting availability of your system ought to be something like about 99.99%. One can improve on this through good administrative procedures and higher degrees of redundancy.

How fast can it detect node failure?

When properly configured, Linux-HA can detect failure in less than a second. It is fairly common that people configure a failure detection time of a small number of seconds.

Administration

Monitoring-GUI

Starting with release 2.0.5, Linux-HA comes with an easy to use GUI for configuring, monitoring and controlling it. Screen shots[37] of the GUI are available online as are some screencasts[38].

Linux-HA release 2 comes with web-based and command-line-based cluster monitoring capabilities showing most aspects of current cluster status.

You can also monitor its basic capabilities through SNMP using your favorite SNMP-enabled systems management tool or through our cl_status[30] tool.

CIM[6] cluster model support is also provided for leading edge systems management support.

Command to Execute commands on all nodes simultaneously?

Linux-HA does not provide one at this time, but you could add one easily if you felt strongly about it. It would take around 30 lines of shell script.

Since ssh[39] does such a good job, and the security implications are significant, we haven't yet been motivated to provide such a facility.

Remote Administration of nodes?

You can remotely administer nodes with ssh, or the GUI. Resource configuration can be accomplished on any node in the cluster. CIM[6] administration can perform a wide variety of management operations on any cluster node.

Rebooting a node remotely?

We support rebooting through STONITH[4] plugins which we provide. Appropriate hardware is required.

Function to distribute software to all nodes of the cluster?

No.

See Also

Release 1 Fact Sheet[40], Linux-HA Release Roadmap[41], Heartbeat version 2 information[42]


References

[1]http://en.wikipedia.org/wiki/Failover
[2]http://www.linux-ha.org/SuccessStories
[3]http://www.linux-ha.org/Fencing
[4]http://www.linux-ha.org/STONITH
[5]http://www.linux-ha.org/GuiGuide
[6]http://en.wikipedia.org/wiki/Common_Information_Model_%28computing%29
[7]http://www.linux-ha.org/LVS
[8]http://www.linux-ha.org/ClusterIP
[9]http://www.linux-ha.org/DRBD
[10]http://en.wikipedia.org/wiki/SUSE
[11]http://www.linux-ha.org/NewHeartbeatDesign
[12]http://www.linux-ha.org/cts
[13]http://www-1.ibm.com/servers/eserver/openpower/
[14]http://www.linux-ha.org/ServeRAID
[15]http://en.wikipedia.org/wiki/RPM_Package_Manager
[16]http://en.wikipedia.org/wiki/Mandriva
[17]http://en.wikipedia.org/wiki/Turbolinux
[18]http://en.wikipedia.org/wiki/Red_Flag_Linux
[19]http://en.wikipedia.org/wiki/Debian
[20]http://en.wikipedia.org/wiki/Gentoo_Linux
[21]http://www.linux-ha.org/HeartbeatProgram
[22]http://en.wikipedia.org/wiki/Autoconf
[23]http://en.wikipedia.org/wiki/Red_Hat_Linux
[24]http://www.linux-ha.org/ClusterNode
[25]http://www.linux-ha.org/Heartbeat
[26]http://www.linux-ha.org/v2/AdminTools
[27]http://www.linux-ha.org/v2/AdminTools/cibadmin
[28]http://www.linux-ha.org/v2/AdminTools/crm_resource
[29]http://www.linux-ha.org/v2/AdminTools/crm_standby
[30]http://www.linux-ha.org/cl_status
[31]http://www.linux-ha.org/resource
[32]http://www.linux-ha.org/MailTo
[33]http://www.linux-ha.org/Support
[34]http://www.ibm.com/
[35]http://www.novell.com/
[36]http://en.wikipedia.org/wiki/Computer_cluster
[37]http://www.linux-ha.org/GuiGuide#screenshots
[38]http://en.wikipedia.com/wiki/Screencast
[39]http://en.wikipedia.org/wiki/Ssh
[40]http://www.linux-ha.org/FactSheet
[41]http://www.linux-ha.org/RoadMap
[42]http://www.linux-ha.org/v2


This information provided courtesy of the Linux-HA project at http://linux-ha.org/