IP Network Multipathing Administration Guide

Chapter 2 Deploying Network Multipathing

This chapter provides procedures for creating and working with an interface group, configuring test addresses, configuring the hostname file, and configuring the multipathing configuration file.

Configuring Multipathing Interface Groups

This section provides procedures for configuring multipathing interface groups. It also describes how to make an interface a hot standby interface.

"Grouping Physical Interfaces" provides additional information.

Configuring Multipathing Interface Groups--Task Map

Table 2-1 Configuring Multipathing Interface Groups--Task Map

Task 

Description 

For Instructions, Go to .. 

Configuring a multipathing interface group with two interfaces. 

Use the ifconfig command, the group parameter, -failover option, the deprecated option, and the /etc/hostname.interface file

"How to Configure a Multipathing Interface Group with Two Interfaces"

Configuring a multipathing group where one of the interfaces is a standby interface 

Use the ifconfig command, the group parameter, standby parameter, -failover option, and the /etc/hostname.interface file

"How to Configure a Multipathing Group Where One of the Interfaces is a Standby Interface"

Displaying the group to which a physical interface belongs 

Use the ifconfig command and the interface name

"How to Display the Group to Which a Physical Interface Belongs"

Removing an interface from a group 

Use the ifconfig command and a null string to disable IP network multipathing

"How to Remove an Interface From a Group"

Moving an interface from an existing group to a different group 

Use the ifconfig command and the group parameter

"How to Move an Interface From an Existing Group to a Different Group"

How to Configure a Multipathing Interface Group with Two Interfaces

  1. Become superuser.

  2. Place each physical interface into a multipathing group by typing the following command.


    # ifconfig interface-name group group-name
    

    For example, to place hme0 and hme1 under group test, you type the following commands:


    # ifconfig hme0 group test
    # ifconfig hme1 group test
  3. Configure a test address for all the physical interfaces.

    1. For an IPv4 test address, type the following command.


      Note -

      This step assumes that you have already configured your physical interfaces' addresses.



      # ifconfig interface-name addif ip-address <parameters> -failover deprecated up

      For example, to configure a test address on hme0 with the following configuration:

      • Address set to 19.16.85.21

      • Netmask and broadcast address set to the default value

      • -failover and deprecated options set

      You type the following command:


      # ifconfig hme0 addif 19.16.85.21 netmask + broadcast + -failover deprecated up

      You can check the configuration by typing the following:


      # ifconfig hme0:1
      	hme0:1: flags=9000843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER> mtu 1500
              	index 2 inet 19.16.85.21 netmask ffffff00 broadcast 19.16.85.255

      Note -

      You must mark an IPv4 test address as deprecated to prevent applications from using the test address.


      To configure a test address on hme1 with the following configuration:

      • Address set to 19.16.85.22

      • Netmask and broadcast address set to the default value

      • -failover and deprecated options set

      Type the following command:


      # ifconfig hme1 addif 19.16.85.22 netmask + broadcast + -failover deprecated up
    2. For an IPv6 test address, type the following command.


      # ifconfig interface-name inet6 -failover

      Note -

      Because you have already placed the physical interfaces with IPv4 addresses into a multipathing group, physical interfaces with IPv6 addresses are also implicitly placed in the same multipathing group. If you had placed physical interfaces with IPv6 addresses into a multipathing group first, then physical interfaces with IPv4 addresses would have been also implicitly placed in the same multipathing group.


      For example, to configure hme0 with an IPv6 test address, you type the following command:


      # ifconfig hme0 inet6 -failover

      You can check the configuration by typing the following:


      # ifconfig hme0 inet6
      	hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2
              	inet6 fe80::a00:20ff:feb9:17fa/10 
              	groupname test

      Note -

      You do not need to mark an IPv6 test address as deprecated to prevent applications from using the test address.


      For the second interface, hme1, type the following command:


      # ifconfig hme1 inet6 -failover
  4. (You do this step only if you want to preserve the configuration across reboots.) To preserve the configuration across reboots, do the following substeps.

    1. For IPv4, edit the /etc/hostname.interface file and add the following line.


      interface-address <parameters> + group group-name up \
      	addif logical-interface-failover deprecated <parameters> up

      Note -

      This test IP address is configured only on the next reboot. If you want the configuration invoked in the current session, do steps 1, 2, and 3.


      For example, to create a group test with the following configuration for hme0:

      • Physical interface hme0 with address 19.16.85.19

      • A logical interface address of 19.16.85.21

      • With deprecated and -failover set

      • Sets the netmask and broadcast address to the default value

      You add the following line to the /etc/hostname.hme0 file:


      19.16.85.19 netmask + broadcast + group test up \
      	addif 19.16.85.21 deprecated -failover netmask + broadcast + up

      Similarly, to place hme1 under the same group test and configure a test address, type the following command:


      19.16.85.20 netmask + broadcast + group test up \
      	addif 19.16.85.22 deprecated -failover netmask + broadcast + up
    2. For IPv6, edit the /etc/hostname6.interface file and add the following line.


      -failover group group-name up

      Note -

      This test IP address is configured only on the next reboot. If you want the configuration invoked in the current session, do steps 1, 2, and 3.


      For example, to create a test group for hme0 with an IPv6 address, add the following line to the /etc/hostname6.hme0 file:


      -failover group test up

      Similarly, to place hme1 under the same group test and configure a test address, add the following line to the /etc/hostname6.hme1 file:


      -failover group test up

How to Configure a Multipathing Group Where One of the Interfaces is a Standby Interface

The examples used in this procedure assume that hme1 will be configured as the standby interface.


Note -

A standby interface has only a test address.


  1. Do steps 1 and 2 in "How to Configure a Multipathing Interface Group with Two Interfaces".

  2. Configure test address on all physical interfaces using the following substeps.

    1. For the non-standby interface, such as hme0, do step 3 in "How to Configure a Multipathing Interface Group with Two Interfaces".

    2. For a standby interface, configure a test address by typing the following command.


      Note -

      A standby interface can have only a test address. A standby interface cannot have any other IP address.



      # ifconfig interface-name plumb ip-address <other-parameters> deprecated -failover standby up

      Note -

      You must set the -failover option before the standby option and the standby option before up.


      For <other-parameters>, use the parameters required by your configuration. See the ifconfig(1M) man page for descriptions.

      For example, to create a test address with the following configuration:

      • Physical interface hme1 as a standby interface

      • Address of 19.16.85.22

      • With deprecated and -failover set

      • Sets the netmask and broadcast address to the default value

      You type the following command:


      # ifconfig hme1 plumb 19.16.85.22 netmask + broadcast + deprecated -failover standby up

      You can check the results by typing the following:


      # ifconfig hme1
      flags=69040843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,STANDBY,INACTIVE> 
              mtu 1500 index 4 inet 19.16.85.22 netmask ffffff00 broadcast 19.16.85.255
              groupname test

      For IPv6, to create a test address, type the following command:


      ifconfig hme1 plumb -failover standby up

    The INACTIVE flag indicates that this interface is not used for any outbound packets. When a failover takes place to this standby interface, the INACTIVE flag is cleared.

  3. (You do this step only if you want to preserve the configuration across reboots.) To preserve the configuration across reboots, do the following substeps.

    1. For IPv4, edit the /etc/hostname.interface file and add the following line.


      interface-address <parameters> + group group-name up \
      	addif logical-interface-failover deprecated <parameters> up

      Note -

      This test IP address is configured only on the next reboot. If you want the configuration invoked in the current session, do steps 1 and 2.


      For example, to create a group test with the following configuration for hme0:

      • Physical interface hme0 with address 19.16.85.19

      • A logical interface address of 19.16.85.21

      • With deprecated and -failover set

      • Sets the netmask and broadcast address to the default value

      You add the following line to the /etc/hostname.hme0 file:


      19.16.85.19 netmask + broadcast + group test up \
      	addif 19.16.85.21 deprecated -failover netmask + broadcast + up

      Similarly, to place the standby interface hme1 under the same group test and configure a test address, type the following command:


      19.16.85.22 netmask + broadcast + group test -failover standby up 
    2. For IPv6, edit the /etc/hostname6.interface file and add the following line.


      -failover group group-name up

      Note -

      This test IP address is configured only on the next reboot. If you want the configuration invoked in the current session, do steps 1 and 2.


      For example, to create a test group for hme0 with an IPv6 address, add the following line to the /etc/hostname6.hme0 file:


      -failover group test up

      Similarly, to place the standby interface hme1 under the same group test and configure a test address, add the following line to the /etc/hostname6.hme1 file:


      -failover group test standby up

How to Display the Group to Which a Physical Interface Belongs

  1. Become superuser.

  2. On a command line, type the following command.


    # ifconfig interface-name
    

For example, to display the group name for hme0, you type the following command:


# ifconfig hme0
	hme0: flags=9000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        	inet 19.16.85.19 netmask ffffff00 broadcast 19.16.85.255
        	groupname test

To display the group name for only the IPv6 instance, you type the following command:


# ifconfig hme0 inet6
	hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
        	inet6 fe80::a00:20ff:feb9:19fa/10 
        	groupname test

How to Remove an Interface From a Group

  1. Become superuser.

  2. On a command line, type the following command.


    # ifconfig interface-name group ""

    The quotation marks indicate a null string.

For example, to remove hme0 from the group test, you type the following command:


# ifconfig hme0 group ""
	# ifconfig hme0
	hme0: flags=9000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        	inet 19.16.85.19 netmask ffffff00 broadcast 19.16.85.255
	# ifconfig hme0 inet6
	hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
        	inet6 fe80::a00:20ff:feb9:19fa/10 

"Removing Network Adaptors From Multipathing Groups" provides additional information.

How to Move an Interface From an Existing Group to a Different Group

  1. Become superuser.

  2. On a command line, type the following command.


    # ifconfig interface-name group group-name
    

Note -

Placing the interface in a new group automatically removes it from any existing group.


For example, to remove hme0 from group test and place it in group cs-link, you type the following:


# ifconfig hme0 group cs-link

This removes the interface from any existing group and then puts the interface in the group cs-link.

Replacing a Physical Interface That Has Failed

You must do the following manual steps before replacing a physical interface that has failed. The following procedures use physical interfaces hme0 and hme1 as example interfaces. The procedures assume that both interfaces are in a multipathing group and that hme0 has failed. The procedures also assume that the logical interface hme0:1 has the test address.


Note -

These procedures assume that you are replacing the failed interface with the same physical interface name (for example, hme0 with hme0).


How to Remove a Physical Interface That Has Failed

  1. Bring down the test address by typing the following command.


    # ifconfig hme0:1 down
  2. Refer to thecfgadm(1M) man page, Sun Enterprise 6x00, 5x00, 4x00, and 3x00 Systems Dynamic Reconfiguration User's Guide, or Sun Enterprise 10000 Dynamic Reconfiguration User Guide for a description of how to remove the physical interface.

How to Replace a Physical Interface That Has Failed

  1. Refer to thecfgadm(1M) man page, Sun Enterprise 6x00, 5x00, 4x00, and 3x00 Systems Dynamic Reconfiguration User's Guide, or Sun Enterprise 10000 Dynamic Reconfiguration User Guidefor a description of how to replace the physical interface.

  2. Bring up the test address by typing the following command.


    # ifconfig hme0:1 up

    This triggers the in.mpathd daemon to resume probing. As a result of this probing, in.mpathd will detect the repair. Consequently, in.mpathd causes the original IP address to failback from hme1.

Configuring the Multipathing Configuration File

The multipathing /etc/default/mpathd configuration file contains three parameters that you can adjust for your configuration requirements:

See "Multipathing Configuration File" for a description of these parameters.

How to Configure the Multipathing Configuration File

  1. Become superuser.

  2. Edit the /etc/default/mpathd and change the default value of one or more of the three parameters using one or more of the following sub-steps.

    1. Type the new value for the FAILURE_DETECTION_TIME parameter.


      FAILURE_DETECTION_TIME=n
      
    2. Type the new value for the FAILBACK parameter.


      FAILBACK=[yes | no]
    3. Type the new value for the TRACK_INTERFACES_ONLY_WITH_GROUPS parameter.


      TRACK_INTERFACES_ONLY_WITH_GROUPS=[yes | no]
  3. On a command line, type the following command.


    # pkill -HUP in.mpathd