Oracle Solaris IPMPoracle-solaris
Solaris IPMP or Solaris IP Network MultiPathing, as the name suggests, is used to get seamless access to the server via network protocols. NIC bonding is one of the common features in probably every known operating system on earth. Solaris IPMP is Oracle’s (Formerly Sun Microsystem’s) version of NIC bonding.
In this tutorial, I am going to show how to configure IPMP or IP Network MultiPathing on both Active-Active and Active-Passive modes. Before we jump into that, let me give a brief overview about these modes.
Active-Active Mode – In this, all the Ethernet interfaces will be in active mode, that is, network packets will be distributed among all the NICs in that particular group.
Active-Passive Mode – In this type of mode, when one NIC goes down, IPMP immediately brings up one of the other NICs and that will start serving the incoming and outgoing network packets.
Following is the configuration for this setup.
SPARC S7-2. 254 GB RAM. 5 Ethernet Interfaces (net0, net1, net2, net3 & net4). 4 Disks, each of around 500 GB. IP Address: 192.168.237.132
Active-Active Mode: Howto
Login to the server as root user and execute the following command to check the interfaces status.
As it can be seen, all the NICs are up and running.
From the above output, I have selected “net0” and “net1” Ethernet interfaces and create my very first IPMP group.
ipadm add-ipmp -i net0 -i net1 ipmp0
“ipmp0” is my IPMP group name. “add-ipmp” is the attribute given to add interfaces to this group.
Once they become part of the group, we can check the status of the group using the command given below.
Under the “State” column, the status shows “OK” while the “Interfaces” column shows the two NICs that were added.
Now that our group setup is complete, we assign an IP address to this bond using the following command.
ipadm create-addr -T static -a 192.168.237.132 ipmp0/bond0
# “bond0” is just a nomenclature for identification and can be any alphanumeric combination
Once the IP address is added, we can check its status using the following command.
This will give the following output. As we can see, the interface shows as “ipmp0/bond0” with the assigned IP address.
In order to test our setup, we can have a continuous ping running on a duplicate session while bringing down one of the two interfaces with the following command.
if_mpadm -d net1
This command will detach the said interface from the IPMP group whose status can be checked using the following command.
Note that “net1” is offline but the server is still accessible. This is because IPMP started distributing traffic only on the other interface which is “net0“.
Active-Passive Mode: Howto
While the entire setup is exactly the same, the only change is that, before we add NIC interfaces in our multipath group, we execute the following command which will tell the group that this particular interface will be offline until the active interface goes down for some unexpected or deliberate factor(s).
ipadm set-ifprop -p standby=on -m ip net1
From here on, we add all the NICs including “net1” in the group and the rest of the commands will be repeated as-is, shown in the above steps and check the status of the bond.
To test this setup mode, I will bring down Ethernet interface “net0” while running a continuous ping in a duplicate session and note the output.
if_mpadm -d net0
As it can be seen, net0 went offline while net1 came online. Ping output was seamless and there was no packet loss detected.
For a complete video, visit Nix Fury channel on YouTube.