3.6. Configuring Network Interfaces

The procedure in this section describes how to configure the network interfaces on the nodes in a Linux FailSafe cluster. The example shown in Figure 3-1 is used in the procedure.

Figure 3-1. Example Interface Configuration

  1. If possible, add every IP address, IP name, and IP alias for the nodes to /etc/hosts on one node.

    190.0.2.1 xfs-ha1.company.com xfs-ha1
    190.0.2.3 stocks
    190.0.3.1 priv-xfs-ha1
    190.0.2.2 xfs-ha2.company.com xfs-ha2
    190.0.2.4 bonds
    190.0.3.2 priv-xfs-ha2

    Note: IP aliases that are used exclusively by highly available services should not be added to system configuration files. These aliases will be added and removed by Linux FailSafe.

  2. Add all of the IP addresses from Step 1 to /etc/hosts on the other nodes in the cluster.

  3. If there are IP addresses, IP names, or IP aliases that you did not add to /etc/hosts in Steps 1 and 2, verify that NIS is configured on all nodes in the cluster.

    If the ypbind is off, you must start NIS. See your distribution's documentation for details.

  4. For IP addresses, IP names, and IP aliases that you did not add to /etc/hosts on the nodes in Steps 1 and 2, verify that they are in the NIS database by entering this command for each address:

    # ypmatch address mapname
    190.0.2.1 xfs-ha1.company.com xfs-ha1

    address is an IP address, IP name, or IP alias. mapname is hosts.byaddr if address is an IP address; otherwise, it is hosts. If ypmatch reports that address doesn't match, it must be added to the NIS database. See your distribution's documentation for details.

  5. On one node, statically configure that node's interface and IP address with the provided distribution tools.

    For the example in Figure 3-1, on a SuSE system, the public interface name and IP address lines are configured into /etc/rc.config in the following variables. Please note that YaST is the preferred method for modifying these variables. In any event, you should refer to the documentation of your distribution for help here:

    NETDEV_0=eth0
    IPADDR_0=$HOSTNAME

    $HOSTNAME is an alias for an IP address that appears in /etc/hosts.

    If there are additional public interfaces, their interface names and IP addresses appear on lines like these:

    NETDEV_1=
    IPADDR_1=

    In the example, the control network name and IP address are

    NETDEV_2=eth3
    IPADDR_3=priv-$HOSTNAME

    The control network IP address in this example, priv-$HOSTNAME, is an alias for an IP address that appears in /etc/hosts.

  6. Repeat Steps 5 and 6 on the other nodes.

  7. Verify that Linux FailSafe is off on each node:

    # /usr/lib/failsafe/bin/fsconfig failsafe
    # if [ $? -eq 1 ]; then echo off; else echo on; fi

    If failsafe is on on any node, enter this command on that node:

    # /usr/lib/failsafe/bin/fsconfig failsafe off
  8. Configure an e-mail alias on each node that sends the Linux FailSafe e-mail notifications of cluster transitions to a user outside the Linux FailSafe cluster and to a user on the other nodes in the cluster. For example, if there are two nodes called xfs-ha1 and xfs-ha2, in /etc/aliases on xfs-ha1, add

    fsafe_admin:operations@console.xyz.com,admin_user@xfs-ha2.xyz.com 

    On xfs-ha2, add this line to /etc/aliases:

    fsafe_admin:operations@console.xyz.com,admin_user@xfs-ha1.xyz.com 

    The alias you choose, fsafe_admin in this case, is the value you will use for the mail destination address when you configure your system. In this example, operations is the user outside the cluster and admin_user is a user on each node.

  9. If the nodes use NIS (ypbind is enabled to start at boot time, or the BIND domain name server (DNS), switching to local name resolution is recommended. Additionally, you should modify the /etc/nsswitch.conf file so that it reads as follows:

    hosts:                  files nis dns 

    Note: Exclusive use of NIS or DNS for IP address lookup for the cluster nodes has been shown to reduce availability in situations where the NIS service becomes unreliable.

  10. Reboot both nodes to put the new network configuration into effect.