T
ECH
N
OTE
Configure HA Cluster for dedicated heartbeat interface
The Red Hat High Availability (HA) Add-On (née Cluster Suite) uses the primary interface for
heartbeat services. If the primary interface has heavy internode application traffic, it may be
preferred to configure the heartbeat on a second dedicated network interface.
The HA primary interface is a dedicated private network, constructed on a VLAN from an enterprise switch, a dedicated
physical switch or a virtual network bridge on a virtualization host. In all scenarios, the primary network is seen only by
cluster nodes and the Conga (luci) management node.
Cluster heartbeat communication defaults to this primary network. In a typical configuration, cluster node names match
system hostnames, i.e., the node names configured in /etc/cluster/cluster.conf are identical to names returned by each node's
hostname command, as configured in /etc/sysconfig/network or the enterprise DNS or LDAP name service. To ensure that
nodes are not vulnerable to external name service failures, all cluster and Conga management nodes' name-to-IP-address
resolutions are hardcoded into each nodes' /etc/hosts file, and are included in the RHEL virtualization host's /etc/hosts file
when HA uses KVM guests as cluster nodes.
Applications installed on a cluster node typically communicate to other nodes' applications by specifiying the hostname of
those nodes, causing private application traffic to use this same primary interface. Under light load, this poses no problem.
However, high traffic applications can saturate the network, causing heartbeat difficulties. The solution is to create a second
private cluster network and move the heartbeat to this second interface. Each node must have at least two dedicated
interfaces in addition to the public application and storage interfaces.
The key to this configuration is to change each cluster node name to something other than the hostname. When the cluster
starts, the heartbeat interface is chosen by resolving the names used in /etc/cluster/cluster.conf. Therefore, in this example,
the cluster heartbeat services will choose the second primary interface. The actual hostname for node1 as configured in
/etc/sysconfig/network is host1.clusterA.domain.com.
Here is the /etc/cluster/cluster.conf file on each node:
<cluster config_version="1" name="clusterA">
<clusternodes>
<clusternode name="node1" nodeid="1"/>
<clusternode name="node2" nodeid="2"/>
<clusternode name="node3" nodeid="3"/>
</clusternodes>
... other configuration
</cluster>
Here is /etc/hosts on each node. 192.168.0 (eth0) is the primary subnet. 10.10.10 (eth1) is the new heartbeat subnet.
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
# cluster node 1
192.168.0.1 host1.clusterA.domain.com host1.clusterA host1
10.10.10.1 node1
# cluster node 2
192.168.0.2 host2.clusterA.domain.com host2.clusterA host2
10.10.10.2 node2
# cluster node 3
192.168.0.3 host3.clusterA.domain.com host3.clusterA host3
10.10.10.3 node3
HA dedicated heartbeat interface
July 23, 2013
Page 1