IP network multipathing requires hardware and Solaris OE configuration. The following sections cover the design considerations for the hardware and the Solaris OE configuration.
IP network multipathing has the following requirements (discussed in more detail later in this section):
Solaris OE version 8 update 2 (10/00) or later.
Unique MAC addresses on each network interface.
Multiple network adapter interfaces (of similar type) on each subnet for a resilient configuration.
A network adapter group name.
Test addresses on every network interface.
Data addresses on every network interface.
Network interfaces should run in active mode, not standby.
In addition, there is a problem with ping in both: Solaris 8 OE update 2 (10/00), and Solaris 8 OE update 4 (04/01). This problem is fixed in Solaris 8 OE update 5 (07/01). The addendum in this article, The problem with ping, describes the problem in detail and offers three possible workarounds.
The terms test address and data address are used throughout this article. The purpose of the test addresses is to detect failure and recovery of an interface only. The test addresses are tied to each interface for this purpose. Test addresses should not be used for server-client communication. In addition, the data addresses migrate between interfaces in the event of an interface failure, and should be used exclusively for host-client communication.
Solaris OE Version
In this article, all testing, observations, and examples use the Solaris 8 OE update 2 (10/00) version except where otherwise stated.
Unique Ethernet MAC Addresses
The default configuration for Sun hardware is that all network interfaces (on a specific server) have the same Ethernet MAC address. If more than one network interface is to be connected to the same subnet, the default configuration must be changed to avoid a MAC address conflict. That is, each interface connected to the same subnet must have a different MAC address.
Network Adapter Selection
A resilient network configuration requires that two or more network interfaces be connected to the same subnet.
IP network multipathing can be configured with a single network interface; however, only failure detection will be operative.
To increase resilience (where the hardware configuration permits), network interfaces should be located on different I/O boards. Create a symmetrical configuration (pairing ports on I/O cards in a mirrored fashion) to avoid confusion. Therefore, ports with the same numbers will be connected to the same subnets and belong to the same IP network multipathing group.
IP network multipathing does not work with dissimilar network interfacesfor example, Token Ring with Ethernet, or SunATM_ interface with Token Ring, etc.
Network Adapter Group Name
Configuration of multiple network interfaces within Solaris OE is performed by grouping the interfaces into an IP network multipathing group. A name should be chosen for each group that describes the network functionfor example, production, backup, administration, etc.
Test Addresses Definition
Test addresses must be defined for each interface. The in.mpathd daemon uses these addresses in the detection of network interface failures and repairs. A test address must be a valid routable address. For the purposes of fault detection and isolation, include the name of the device in the name of the test address. This way, a test address on qfe0 will have a "-qfe0" suffix as its name. These addresses should not be used for inbound connections, as they will not failover in the event of an interface failure. For this reason, do not advertise them in a naming service or by other means. It is, in fact, the use on the -failover flag during configuration that causes in.mpathd to choose these addresses as test addresses because they will not failover.
Data Address Definition
The IP network multipathing group requires addresses be defined for data communication between server and client. It is these data addresses that migrate between interfaces during a failure.
We recommend that you define data addresses for every interface in an IPMP group to allow IPMP to load spread outbound connections between all interfaces in the group. This means that connections will emanate from different IP addresses on the server. In a few cases, secure shell (SSH) is one, this will require additional consideration, for example all the IP addresses will need to be registered for SSH.
The second reason for defining data on every interface is to prevent a potential problem on Solaris 8 OE systems. This problem does not occur with Solaris 9 OE. It occurs where data addresses are defined on only one interface in an IPMP group. Should the interface where the data addresses are defined fail during system boot, an alternative working interface is potentially never recognizedthe data addresses do not failover. This situation does not occur if an alternative interface within IPMP group has a data address configured.
Therefore, it is recommended to define data addresses for every interface in an IPMP group. Using the standby feature is not recommended because a standby interface by definition, may only have a test address defined.
The parameters defined in TABLE 1 are used in the commands and examples throughout this article for configuration of IP network multipathing:
TABLE 1 IP Network Multipathing Configuration Parameters
|Network adapter interfaces (active or standby) (I/O slot, port number)||
qfe0 (active) (slot 0, Port 0)
qfe4 (active) (slot 1, Port 0)
|IP Address (name) interface||
192.168.49.42 (camelot) qfe0
192.168.49.7 (camelot-1) qfe4
|Test address (name)||
qfe0 = 192.168.49.105 (camelot-qfe0)
qfe4 = 192.168.49.106 (camelot-qfe4)
|Is the node to perform network routing?||No|