Link-based IPMP on Solaris 10
I have been setting up IPMP on a Solaris 10 server today and as it has been a while since I'd done this I thought I should have a look over the IPMP documentation and see what has changed.
Previously in an active-standby configuration you would use probe-based detection which required the setup of a test address for the standby interface and the failover detection would be performed by in.mpathd sending icmp traffic using the test address.
I have never liked having to assign an extra address just for the failure detection as you end up wasting a lot of addresses if you have a lot of servers with IPMP on a subnet. Also as they usually aren't put in DNS there is a risk of someone assigning a new server with the same address. The configuration for probe-based detection is pretty messy with lines like the following being inserted into the hostname files.
addif 192.168.85.21 netmask + broadcast + -failover deprecated up
However if you are running Solaris 10 and you have a NIC that supports it you can use link-based IPMP. Link-based failure detection works by the NIC driver monitoring the link state and notifying the network subsystem in case of a failure.
The great thing about this is it does not need a test address and the setup of IPMP is very simple. For example if I have two interfaces (qfe0 and qfe4) that I want to operate in a active-standby configuration, all that would need to be done is create the two files below in /etc.
hostname.qfe0
hostname group groupname up
hostname.qfe4
group groupname up
That's it! Now you have failover for all IP addresses, including virtual, on qfe0. Also if you have zones set up with qfe0 as a physical interface the zone's IP addresses will now also failover.
Previously in an active-standby configuration you would use probe-based detection which required the setup of a test address for the standby interface and the failover detection would be performed by in.mpathd sending icmp traffic using the test address.
I have never liked having to assign an extra address just for the failure detection as you end up wasting a lot of addresses if you have a lot of servers with IPMP on a subnet. Also as they usually aren't put in DNS there is a risk of someone assigning a new server with the same address. The configuration for probe-based detection is pretty messy with lines like the following being inserted into the hostname files.
addif 192.168.85.21 netmask + broadcast + -failover deprecated up
However if you are running Solaris 10 and you have a NIC that supports it you can use link-based IPMP. Link-based failure detection works by the NIC driver monitoring the link state and notifying the network subsystem in case of a failure.
The great thing about this is it does not need a test address and the setup of IPMP is very simple. For example if I have two interfaces (qfe0 and qfe4) that I want to operate in a active-standby configuration, all that would need to be done is create the two files below in /etc.
hostname.qfe0
hostname group groupname up
hostname.qfe4
group groupname up
That's it! Now you have failover for all IP addresses, including virtual, on qfe0. Also if you have zones set up with qfe0 as a physical interface the zone's IP addresses will now also failover.
