background image

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