Product SiteDocumentation Site

The Linux-HA User's Guide

Edition 0.9.2

Florian Haas

LINBIT Documentation Team

Legal Notice

Copyright © 2009-10 LINBIT HA-Solutions GmbH
The text of and illustrations in this document are licensed under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/.
In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Abstract
The definitive reference guide for users of the Heartbeat cluster messaging layer, the Linux-HA cluster resource agents, and other clustering building blocks maintained by the Linux-HA project.

Preface
1. Document Conventions
1.1. Typographic Conventions
1.2. Pull-quote Conventions
1.3. Notes and Warnings
2. We Need Feedback!
I. Introduction to Heartbeat
1. Fundamentals
1.1. Heartbeat as a Cluster Messaging Layer
1.2. Components
1.2.1. Communication module
1.2.2. Cluster Consensus Membership
1.2.3. Cluster Plumbing Library
1.2.4. IPC Library
1.2.5. Non-blocking logging daemon
II. Installing and Configuring Heartbeat
2. Building and installing from source
2.1. Building and installing Cluster Glue from source
2.1.1. Cluster Glue build prerequisites
2.1.2. Downloading Cluster Glue sources
2.1.3. Building Cluster Glue
2.1.4. Building Packages
2.2. Building and installing Heartbeat from source
2.2.1. Heartbeat build prerequisites
2.2.2. Downloading Heartbeat sources
2.2.3. Building Heartbeat
2.2.4. Building Packages
3. Creating an initial Heartbeat configuration
3.1. The ha.cf file
3.2. The authkeys file
3.3. Propagating the cluster configuration to cluster nodes
III. Administrative Tasks
4. Upgrading from previous Heartbeat versions
4.1. Upgrading from Heartbeat 2.1 clusters not using the CRM
4.1.1. Stopping Heartbeat services
4.1.2. Upgrade software
4.1.3. Enabling the Heartbeat cluster to use Pacemaker
4.1.4. Restarting Heartbeat
4.2. Upgrading from CRM-enabled Heartbeat 2.1 clusters
4.2.1. Placing the cluster in unmanaged mode
4.2.2. Backing up the CIB
4.2.3. Stopping Heartbeat services
4.2.4. Wiping files related to the CRM
4.2.5. Restoring the CIB
4.2.6. Upgrading software
4.2.7. Restarting Heartbeat services
4.2.8. Returning the cluster to managed mode
4.2.9. Upgrading the CIB schema
IV. Getting Help and Helping Out
5. Reporting problems
5.1. Mailing Lists
5.2. Bug Tracking System
5.3. IRC
A. Manual pages
heartbeat — Heartbeat subsystem for High-Availability Linux
ha.cf — Configuration file for the Heartbeat cluster messaging layer
authkeys — Authentication file for the Heartbeat cluster messaging layer
cl_status — Check status of the High-Availability Linux (Linux-HA) subsystem
hb_addnode — sends a message to a Heartbeat cluster to add new nodes
hb_delnode — sends a message to a Heartbeat cluster to remove one or more nodes
B. Legacy manual pages
apphbd — Application Heartbeat Monitor for High-Availability Linux
hb_takeover — issues a failover request to the cluster manager
hb_standby — issues a failover request to the cluster manager
C. Resource agent manual pages
ocf_heartbeat_anything — Manages an arbitrary service
ocf_heartbeat_AoEtarget — Manages ATA-over-Ethernet (AoE) target exports
ocf_heartbeat_apache — Manages an Apache web server instance
ocf_heartbeat_AudibleAlarm — Emits audible beeps at a configurable interval
ocf_heartbeat_ClusterMon — Runs crm_mon in the background, recording the cluster status to an HTML file
ocf_heartbeat_CTDB — CTDB Resource Agent
ocf_heartbeat_db2 — Manages an IBM DB2 Universal Database instance
ocf_heartbeat_Delay — Waits for a defined timespan
ocf_heartbeat_drbd — Manages a DRBD resource (deprecated)
ocf_heartbeat_Dummy — Example stateless resource agent
ocf_heartbeat_eDir88 — Manages a Novell eDirectory directory server
ocf_heartbeat_Evmsd — Controls clustered EVMS volume management (deprecated)
ocf_heartbeat_EvmsSCC — Manages EVMS Shared Cluster Containers (SCCs) (deprecated)
ocf_heartbeat_Filesystem — Manages filesystem mounts
ocf_heartbeat_ICP — Manages an ICP Vortex clustered host drive
ocf_heartbeat_ids — Manages an Informix Dynamic Server (IDS) instance
ocf_heartbeat_IPaddr — Manages virtual IPv4 addresses (portable version)
ocf_heartbeat_IPaddr2 — Manages virtual IPv4 addresses (Linux specific version)
ocf_heartbeat_IPsrcaddr — Manages the preferred source address for outgoing IP packets
ocf_heartbeat_IPv6addr — Manages IPv6 aliases
ocf_heartbeat_iscsi — Manages a local iSCSI initiator and its connections to iSCSI targets
ocf_heartbeat_iSCSILogicalUnit — Manages iSCSI Logical Units (LUs)
ocf_heartbeat_iSCSITarget — iSCSI target export agent
ocf_heartbeat_jboss — Manages a JBoss application server instance
ocf_heartbeat_LinuxSCSI — Enables and disables SCSI devices through the kernel SCSI hot-plug subsystem (deprecated)
ocf_heartbeat_LVM — Controls the availability of an LVM Volume Group
ocf_heartbeat_MailTo — Notifies recipients by email in the event of resource takeover
ocf_heartbeat_ManageRAID — Manages RAID devices
ocf_heartbeat_ManageVE — Manages an OpenVZ Virtual Environment (VE)
ocf_heartbeat_mysql-proxy — Manages a MySQL Proxy daemon
ocf_heartbeat_mysql — Manages a MySQL database instance
ocf_heartbeat_nfsserver — Manages an NFS server
ocf_heartbeat_oracle — Manages an Oracle Database instance
ocf_heartbeat_oralsnr — Manages an Oracle TNS listener
ocf_heartbeat_pgsql — Manages a PostgreSQL database instance
ocf_heartbeat_pingd — Monitors connectivity to specific hosts or IP addresses ("ping nodes") (deprecated)
ocf_heartbeat_portblock — Block and unblocks access to TCP and UDP ports
ocf_heartbeat_postfix — Manages a highly available Postfix mail server instance
ocf_heartbeat_proftpd — OCF Resource Agent compliant FTP script.
ocf_heartbeat_Pure-FTPd — Manages a Pure-FTPd FTP server instance
ocf_heartbeat_Raid1 — Manages a software RAID1 device on shared storage
ocf_heartbeat_Route — Manages network routes
ocf_heartbeat_rsyncd — Manages an rsync daemon
ocf_heartbeat_SAPDatabase — Manages any SAP database (based on Oracle, MaxDB, or DB2)
ocf_heartbeat_SAPInstance — Manages a SAP instance
ocf_heartbeat_scsi2reservation — scsi-2 reservation
ocf_heartbeat_SendArp — Broadcasts unsolicited ARP announcements
ocf_heartbeat_ServeRAID — Enables and disables shared ServeRAID merge groups
ocf_heartbeat_sfex — Manages exclusive acess to shared storage using Shared Disk File EXclusiveness (SF-EX)
ocf_heartbeat_SphinxSearchDaemon — Manages the Sphinx search daemon.
ocf_heartbeat_Squid — Manages a Squid proxy server instance
ocf_heartbeat_Stateful — Example stateful resource agent
ocf_heartbeat_SysInfo — Records various node attributes in the CIB
ocf_heartbeat_syslog-ng — Syslog-ng resource agent
ocf_heartbeat_tomcat — Manages a Tomcat servlet environment instance
ocf_heartbeat_VIPArip — Manages a virtual IP address through RIP2
ocf_heartbeat_VirtualDomain — Manages virtual domains through the libvirt virtualization framework
ocf_heartbeat_vmware — Manages VMWare Server 2.0 virtual machines
ocf_heartbeat_WAS — Manages a WebSphere Application Server instance
ocf_heartbeat_WAS6 — Manages a WebSphere Application Server 6 instance
ocf_heartbeat_WinPopup — Sends an SMB notification message to selected hosts
ocf_heartbeat_Xen — Manages Xen unprivileged domains (DomUs)
ocf_heartbeat_Xinetd — Manages an Xinetd service
Index