IPMP – IP Network Multipathing

por | 29 marzo, 2009

IPMP – IP Network Multipathing

Link-based failure detection works via network interface kernel driver.
(bge, qfe, ce, eri, hme…)

Uniq MAC address/nic…
On SPARC machine (set true, if there is false):
[root@v240 /] eeprom «local-mac-address?»
local-mac-address?=true

[root@v240 /] ifconfig bge0
bge0: flags=1000843 mtu 1500 index 2
inet 172.16.50.64 netmask ffffff00 broadcast 172.16.50.255
ether 0:3:ba:54:bc:7d

[root@v240 /] dladm show-dev
bge0 link: up speed: 100 Mbps duplex: full
bge1 link: unknown speed: 0 Mbps duplex: unknown
ce0 link: unknown speed: 100 Mbps duplex: half
ce1 link: unknown speed: 100 Mbps duplex: full
ce2 link: unknown speed: 0 Mbps duplex: unknown
ce3 link: unknown speed: 100 Mbps duplex: full
bge2 link: unknown speed: 0 Mbps duplex: unknown
bge3 link: unknown speed: 0 Mbps duplex: unknown

[root@v240 /] cat /etc/hosts |grep v240
172.16.50.64 v240
172.16.50.63 v240-ce3

[root@v240 /] cat /etc/inet/netmasks
10.0.0.0 255.255.255.0
172.16.50.0 255.255.255.0
192.168.2.0 255.255.255.0

[root@v240 /] getent hosts v240-ce3
172.16.50.63 v240-ce3

[root@v240 /] ifconfig bge0 group link-mp
[root@v240 /] ifconfig bge0
bge0: flags=1000843 mtu 1500 index 2
inet 172.16.50.64 netmask ffffff00 broadcast 172.16.50.255
groupname link-mp
ether 0:3:ba:54:bc:7d

[root@v240 /] ifconfig ce3 plumb
[root@v240 /] ifconfig ce3 v240-ce3 netmask + broadcast +
Setting netmask of ce3 to 255.255.255.0
[root@v240 /] pgrep -lf mpathd
27172 /usr/lib/inet/in.mpathd
[root@v240 ~] if_mpadm -d bge0
Jul 1 20:03:35 v240 in.mpathd[27172]: Successfully failed over from NIC bge0 to NIC ce3
[root@v240 ~] if_mpadm -r bge0
Jul 1 20:04:12 v240 in.mpathd[27172]: Successfully failed back to NIC bge0

Truncated from ifconfig -a output:
ce3: flags=1000842 mtu 1500 index 5
inet 172.16.50.63 netmask ffffff00 broadcast 172.16.50.255
groupname link-mp
ether 0:3:ba:21:f6:8a
ce3:1: flags=1000843 mtu 1500 index 5
inet 172.16.50.64 netmask ffffff00 broadcast 172.16.50.255

For multipath initialization at boot time:
echo «v240 netmask + broadcast + group link-mp up» > /etc/hostname.bge0
echo «v240-ce3 netmask + broadcast + group link-mp up» > /etc/hostname.ce3

From /var/adm/messages:
Jul 1 19:42:13 v240 in.mpathd[27172]: [ID 975029 daemon.error] No test address configured on interface ce3; disabling probe-based failure detection on it
Jul 1 19:42:13 v240 in.mpathd[27172]: [ID 975029 daemon.error] No test address configured on interface bge0; disabling probe-based failure detection on it
Solution: setting up probe-based test ip-addresses
echo «v240 netmask + broadcast + group link-mp up addif v240-test deprecated netmask + broadcast + -failover up» > /etc/hostname.bge0