Pages

Friday, January 28, 2011

How to configure link-based IPMP

IPMP enable to recover from network path failures. If a failure occurs in one network link and an alternate link is configured, IP address can fails over. So network access changes automatically from the failed link to the alternate link, providing uninterrupted access to the network. Link based IPMP utilize interface kernel driver to monitor the health of interfaces. Link-based IPMP do not use test address. You need Solaris 9 12/02 as minimum.

  1. Verify the solaris OS release
    # more /etc/release
    Solaris 10 5/08 s10x_u5wos_10 X86
    Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
    Use is subject to license terms.
    Assembled 24 March 2008
  2. In SPARC system, you must configure the host to have unique MAC address for each interface.
    # eeprom "local-mac-address?"
local-mac-address?=false
# eeprom "local-mac-address?=true"
# eeprom "local-mac-address?"
local-mac-address?=true
  1. Edit your hosts file. In this example, you have 2 interface e1000g0 and e1000g1.
    # more /etc/inet/hosts
    #
    # Internet host table
    #
    ::1 localhost
    127.0.0.1 localhost
    172.16.31.11 jupiter loghost # data address for e1000g0
    172.16.31.21 jupiter-e1000g1 # data address for e1000g1
  2.  Set your interface to include IPMP. You need to edit /etc/hostname.<interface> file. The two interfaces will be member of IPMP group. In this example, you have group jupiter-group.

     
    # more /etc/hostname.e1000g0
    jupiter netmask + broadcast + group jupiter-group up
     # more /etc/hostname.e1000g1
    jupiter-e1000g1 netmask + broadcast + group jupiter-group up 
       
  1. Configure each interface to start using IPMP.
    # ifconfig e1000g0 jupiter netmask + broadcast + group jupiter-group up
    # ifconfig e1000g1 jupiter-e1000g1 netmask + broadcast + group jupiter-group up
  2. See your IPMP configuration
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 172.16.31.11 netmask fffffc00 broadcast 172.16.31.255
groupname jupiter-group
ether 8:0:27:7e:12:82
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 172.16.31.21 netmask fffffc00 broadcast 172.16.31.255
groupname jupiter-group
ether 8:0:27:7e:12:83
  1. verify that IPMP daemon is running.
    # pgrep -lf in.mpathd
    6513 /usr/lib/inet/in.mpathd
  2. Test your IPMP configuration
    # if_mpadm -d e1000g0
    Nov 3 13:24:31 jupiter in.mpathd[119]: Successfully failed over from NIC e1000g0 to NIC e1000g1
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 172.16.31.11 netmask fffffc00 broadcast 172.16.31.255
groupname jupiter-group
ether 8:0:27:7e:12:82
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 172.16.31.21 netmask fffffc00 broadcast 172.16.31.255
groupname jupiter-group
    ether 8:0:27:7e:12:83
e1000g1:1 flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 172.16.31.11 netmask fffffc00 broadcast 172.16.31.255
groupname jupiter-group
    ether 8:0:27:7e:12:82
  1. Return to your original IPMP configuration
    # if_mpadm -r e1000g0
    Nov 3 13:24:31 jupiter in.mpathd[535]: Successfully failed back to NIC e1000g0
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 172.16.31.11 netmask fffffc00 broadcast 172.16.31.255
groupname jupiter-group
ether 8:0:27:7e:12:82
e1000g1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 172.16.31.21 netmask fffffc00 broadcast 172.16.31.255
groupname jupiter-group
      ether 8:0:27:7e:12:83

No comments:

Post a Comment