[email protected] ~ # cat /etc/hosts
#
# Internet host table
#
::1 localhost
127.0.0.1 localhost
10.240.3.221 host1-e1000g2
10.240.3.223 host1-e1000g3
10.240.3.222 host1
[email protected] ~ # cat /etc/hostname.e1000g2
host1-e1000g2 group bak deprecated -failover netmask + broadcast + up
addif host1 netmask + broadcast + up
[email protected] ~ #
[email protected] ~ # cat /etc/hostname.e1000g3
host1-e1000g3 group bak deprecated -failover standby netmask + broadcast + up
[email protected] ~ #
[email protected] ~ # cat /etc/default/mpathd
#
#pragma ident “@(#)mpathd.dfl 1.2 00/07/17 SMI”
#
# Time taken by mpathd to detect a NIC failure in ms. The minimum time
# that can be specified is 100 ms.
#
FAILURE_DETECTION_TIME=10000
#
# Failback is enabled by default. To disable failback turn off this option
#
FAILBACK=yes
#
# By default only interfaces configured as part of multipathing groups
# are tracked. Turn off this option to track all network interfaces
# on the system
#
TRACK_INTERFACES_ONLY_WITH_GROUPS=yes
After this, reboot host(ensure /usr/lib/inet/in.mpathd is running)
[email protected] ~ # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.240.3.206 netmask ffffff00 broadcast 10.240.3.255
ether 0:c:29:d3:d1:68
e1000g2: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER > mtu 1500 index 3
inet 10.240.3.221 netmask ff000000 broadcast 10.255.255.255
groupname bak
ether 0:c:29:d3:d1:86
e1000g2:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 10.240.3.222 netmask ff000000 broadcast 10.255.255.255
e1000g3: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVE R,STANDBY,INACTIVE> mtu 1500 index 4
inet 10.240.3.223 netmask ff000000 broadcast 10.255.255.255
groupname bak
ether 0:c:29:d3:d1:90
[email protected] ~ # if_mpadm -d e1000g2 #(detach or offline an interface. a networking blip will occur here, but soon recover itself)
[email protected] ~ #
[email protected] ~ # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.240.3.206 netmask ffffff00 broadcast 10.240.3.255
ether 0:c:29:d3:d1:68
e1000g2: flags=89040842<BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,OFFLINE> mtu 1500 index 3
inet 10.240.3.221 netmask ff000000 broadcast 10.255.255.255
groupname bak
ether 0:c:29:d3:d1:86
e1000g3: flags=29040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY> mtu 1500 index 4
inet 10.240.3.223 netmask ff000000 broadcast 10.255.255.255
groupname bak
ether 0:c:29:d3:d1:90
e1000g3:1: flags=21000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,STANDBY> mtu 1500 index 4
inet 10.240.3.222 netmask ff000000 broadcast 10.255.255.255
[email protected] ~ # if_mpadm -r e1000g2 #(reattach or online an interface that has been offlined with -d)
[email protected] ~ # tail /var/adm/messages
Aug 17 03:31:11 doxer.org at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318)
Aug 17 03:31:11 doxer.org … 34 more
Aug 17 03:31:11 doxer.org root: [ID 702911 user.crit] => com.sun.patchpro.cli.PatchServices@910040 <=Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Aug 17 03:31:11 doxer.org at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
Aug 17 03:31:11 doxer.org at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
Aug 17 03:31:11 doxer.org at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318)
Aug 17 03:31:11 doxer.org … 34 more
Aug 17 03:44:57 doxer.org snmpXdmid: [ID 290637 daemon.error] Unable to connect to snmpdx
Aug 17 04:17:19 doxer.org in.mpathd[188]: [ID 832587 daemon.error] Successfully failed over from NIC e1000g2 to NIC e1000g3
Aug 17 04:17:48 doxer.org in.mpathd[188]: [ID 620804 daemon.error] Successfully failed back to NIC e1000g2
[email protected] ~ # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.240.3.206 netmask ffffff00 broadcast 10.240.3.255
ether 0:c:29:d3:d1:68
e1000g2: flags=9040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 3
inet 10.240.3.221 netmask ff000000 broadcast 10.255.255.255
groupname bak
ether 0:c:29:d3:d1:86
e1000g2:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 10.240.3.222 netmask ff000000 broadcast 10.255.255.255
e1000g3: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 4
inet 10.240.3.223 netmask ff000000 broadcast 10.255.255.255
groupname bak
ether 0:c:29:d3:d1:90
[email protected] ~ # ifconfig e1000g2 down
[email protected] ~ # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 10.240.3.206 netmask ffffff00 broadcast 10.240.3.255
ether 0:c:29:d3:d1:68
e1000g2: flags=9040842<BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500 index 3
inet 10.240.3.221 netmask ff000000 broadcast 10.255.255.255
groupname bak
ether 0:c:29:d3:d1:86
e1000g2:1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 10.240.3.222 netmask ff000000 broadcast 10.255.255.255
e1000g3: flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> mtu 1500 index 4
inet 10.240.3.223 netmask ff000000 broadcast 10.255.255.255
groupname bak
ether 0:c:29:d3:d1:90
[email protected] ~ # ping 10.240.3.221
^C
[email protected] ~ # ping 10.240.3.223
10.240.3.223 is alive
[email protected] ~ # ifconfig e1000g2 up
[email protected] ~ #
[email protected] ~ #
[email protected] ~ # tail /var/adm/messages
Aug 17 03:31:11 doxer.org … 34 more
Aug 17 03:31:11 doxer.org root: [ID 702911 user.crit] => com.sun.patchpro.cli.PatchServices@910040 <=Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Aug 17 03:31:11 doxer.org at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
Aug 17 03:31:11 doxer.org at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
Aug 17 03:31:11 doxer.org at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318)
Aug 17 03:31:11 doxer.org … 34 more
Aug 17 03:44:57 doxer.org snmpXdmid: [ID 290637 daemon.error] Unable to connect to snmpdx
Aug 17 04:17:19 doxer.org in.mpathd[188]: [ID 832587 daemon.error] Successfully failed over from NIC e1000g2 to NIC e1000g3
Aug 17 04:17:48 doxer.org in.mpathd[188]: [ID 620804 daemon.error] Successfully failed back to NIC e1000g2
Aug 17 04:18:51 doxer.org in.mpathd[188]: [ID 975029 daemon.error] No test address configured on interface e1000g2; disabling probe-based failure detection on it
PS:
1.IPMP(bonding) and Link aggregation(LACP) are different things. Link aggregations(or trunk) provide high availability and higher throughput by aggregating multiple interfaces at the MAC layer. IP Multipathing (IPMP, or bonding) provides features such as higher availability at the IP layer. If you have 4 NICs, you can aggregate 2 nics and bonded them. This way you’ll have 2 gig throughput and protect switch and nic level failures. (ipmp or bonding works at IP layer. But note that IPMP need switch support and IPMP is supported by iSCSI but not by NFS)
2.For more infomation about solaris IPMP, you may refer to the following pdf file solaris IPMP bonding.pdf