Print this page
Clearview IPMP manpages
@@ -1,38 +1,39 @@
System Administration Commands in.mpathd(1M)
NAME
- in.mpathd - daemon for network adapter (NIC) failure detec-
- tion, recovery, automatic failover and failback
+ in.mpathd - IP multipathing daemon
SYNOPSIS
/usr/lib/inet/in.mpathd
DESCRIPTION
- The in.mpathd daemon performs Network Interface Card (NIC)
- failure and repair detection. In the event of a NIC failure,
- it causes IP network access from the failed NIC to failover
- to a standby NIC, if available, or to any another opera-
- tional NIC that has been configured as part of the same net-
- work multipathing group. Once the failed NIC is repaired,
- all network access is restored to the repaired NIC.
-
-
- The in.mpathd daemon can detect NIC failure and repair
- through two methods: by monitoring the IFF_RUNNING flag for
- each NIC (link-based failure detection), and by sending and
- receiving ICMP echo requests and replies on each NIC
- (probe-based failure detection). Link-based failure detec-
- tion requires no explicit configuration and thus is always
- enabled (provided the NIC driver supports the feature);
+
+ The *in.mpathd* daemon performs failure and repair detection
+ for IP interfaces that have been placed into an IPMP group
+ (or optionally, for all IP interfaces on the system). It
+ also controls which IP interfaces in an IPMP group are
+ "active" (being used by the system to send or receive IP
+ data traffic) in a manner which is consistent with the
+ administrator's configured policy.
+
+
+ The *in.mpathd* daemon can detect IP interface failure and
+ repair through two methods: by monitoring the *IFF_RUNNING*
+ flag for each IP interface (link-based failure detection),
+ and by sending and receiving ICMP probes on each IP
+ interface (probe-based failure detection). Link-based
+ failure detection is instantaneous and is always enabled
+ (provided the network driver supports the feature);
probe-based failure detection must be enabled through the
configuration of one or more test addresses (described
- below), but has the benefit of testing the entire NIC send
- and receive path.
+ below), but tests the entire IP interface send and receive
+ path. The *ipmpstat(1M)* utility can be used to check which
+ failure detection methods are enabled.
If only link-based failure detection is enabled, then the
health of the interface is determined solely from the state
of the IFF_RUNNING flag. Otherwise, the interface is con-
@@ -40,121 +41,101 @@
failure, and repaired once both methods indicate the failure
has been corrected. Not all interfaces in a group need to be
configured with the same failure detection methods.
- As mentioned above, in order to perform probe-based failure
- detection in.mpathd needs a special test address on each NIC
- for the purpose of sending and receiving probes on the NIC.
- Use the ifconfig command -failover option to configure these
- test addresses. See ifconfig(1M). The test address must
- belong to a subnet that is known to the hosts and routers on
- the link.
-
-
- The in.mpathd daemon can detect NIC failure and repair by
- two methods, by sending and receiving ICMP echo requests and
- replies on each NIC, and by monitoring the IFF_RUNNING flag
-
-
-
-SunOS 5.11 Last change: 8 Sep 2006 1
-
-
-
-
-
-
-System Administration Commands in.mpathd(1M)
-
-
-
- for each NIC. The link state on some models of NIC is indi-
- cated by the IFF_RUNNING flag, allowing for faster failure
- detection when the link goes down. The in.mpathd daemon con-
- siders a NIC to have failed if either of the above two
- methods indicates failure. A NIC is considered to be
- repaired only if both methods indicate the NIC is repaired.
-
-
- The in.mpathd daemon sends the ICMP echo request probes to
- on-link routers. If no routers are available, it sends the
- probes to neighboring hosts. Thus, for network failure
- detection and repair, there must be at least one neighbor on
- each link that responds to ICMP echo request probes.
-
-
- in.mpathd works on both IPv4 and IPv6. If IPv4 is plumbed on
- a NIC, an IPv4 test address is configured on theNIC, and the
- NIC is configured as part of a network multipathing group,
- then in.mpathd will start sending ICMP probes on the NIC
- using IPv4.
-
-
- In the case of IPv6, the link-local address must be config-
- ured as the test address. The in.mpathd daemon will not
- accept a non-link-local address as a test address. If the
- NIC is part of a multipathing group, and the test address
- has been configured, then in.mpathd will probe the NIC for
- failures using IPv6.
-
-
- Even if both the IPv4 and IPv6 protocol streams are plumbed,
- it is sufficient to configure only one of the two, that is,
- either an IPv4 test address or an IPv6 test address on a
- NIC. If only an IPv4 test address is configured, it probes
- using only ICMPv4. If only an IPv6 test address is config-
- ured, it probes using only ICMPv6. If both type test
- addresses are configured, it probes using both ICMPv4 and
- ICMPv6.
+ As mentioned above, to perform probe-based failure detection
+ *in.mpathd* requires a test address on each IP interface for
+ the purpose of sending and receiving probes. Each address
+ must be marked *NOFAILOVER* (see *ifconfig(1M)*) and
+ *in.mpathd* will be limited to probing targets on the same
+ subnet. Each address may be configured statically or
+ acquired via DHCP. To find targets, *in.mpathd* first
+ consults the routing table for routes on the same subnet,
+ and uses the specified next-hop. If no routes match, it
+ sends all-hosts ICMP probes and selects a subset of the
+ systems that respond. Thus, for probe-based failure
+ detection to operate, there must be at least one neighbor on
+ each subnet that responds to ICMP echo request probes. The
+ *ipmpstat(1M)* utility can be used to display both the
+ current probe target information and the status of sent
+ probes.
+
+
+ Both IPv4 and IPv6 are supported. If an IP interface is
+ plumbed for IPv4 and an IPv4 test address is configured then
+ *in.mpathd* will start sending ICMPv4 probes over that IP
+ interface. Similarly, if an IP interface is plumbed for
+ IPv6 and an IPv6 test address is configured then *in.mpathd*
+ will start sending ICMPv6 probes over that IP interface.
+ However, note that *in.mpathd* will ignore IPv6 test
+ addresses that are not link-local. If both IPv4 and IPv6
+ are plumbed, it is sufficient to configure only one of the
+ two, that is, either an IPv4 test address or an IPv6 test
+ address. If both IPv4 and IPv6 test addresses are
+ configured, *in.pathd* probes using both ICMPv4 and ICMPv6.
+
+
+ As mentioned above, *in.mpathd* also controls which IP
+ interfaces in an IPMP group are "active" (used by the system
+ to send and receive IP data traffic). Specifically,
+ *in.mpathd* tracks the administrative configuration of each
+ IPMP group and attempts to keep the number of active IP
+ interfaces in each group consistent with that configuration.
+ Therefore, if an active IP interface fails, *in.mpathd* will
+ activate an *INACTIVE* interface in the group, provided one
+ exists (it will prefer *INACTIVE* interfaces that are also
+ marked *STANDBY*). Likewise, if an IP interface repairs and
+ the resulting repair leaves the IPMP group with more active
+ interfaces than the administrative configuration specifies,
+ *in.mpathd* will deactivate one of the interfaces
+ (preferably one marked *STANDBY*), except when the
+ *FAILBACK* variable is used, as described below. Similar
+ adjustments will be made by *in.mpathd* when offlining IP
+ interfaces (for instance, in response to *if_mpadm(1M)*).
The in.mpathd daemon accesses three variable values in
/etc/default/mpathd: FAILURE_DETECTION_TIME, FAILBACK and
TRACK_INTERFACES_ONLY_WITH_GROUPS.
- The FAILURE_DETECTION_TIME variable specifies the NIC
- failure detection time for the ICMP echo request probe
- method of detecting NIC failure. The shorter the failure
- detection time, the greater the volume of probe traffic. The
- default value of FAILURE_DETECTION_TIME is 10 seconds. This
- means that NIC failure will be detected by in.mpathd within
- 10 seconds. NIC failures detected by the IFF_RUNNING flag
-
-
-
-SunOS 5.11 Last change: 8 Sep 2006 2
-
-
-
-
-
-
-System Administration Commands in.mpathd(1M)
-
-
-
- being cleared are acted on as soon as the in.mpathd daemon
- notices the change in the flag. The NIC repair detection
- time cannot be configured; however, it is defined as double
- the value of FAILURE_DETECTION_TIME.
-
-
- By default, in.mpathd does failure detection only on NICs
- that are configured as part of a multipathing group. You can
- set TRACK_INTERFACES_ONLY_WITH_GROUPS to no to enable
- failure detection by in.mpathd on all NICs, even if they are
- not part of a multipathing group. However, in.mpathd cannot
- do failover from a failed NIC if it is not part of a mul-
- tipathing group.
-
-
- The in.mpathd daemon will restore network traffic back to
- the previously failed NIC, after it has detected a NIC
- repair. To disable this, set the value of FAILBACK to no in
- /etc/default/mpathd.
+ The *FAILURE_DETECTION_TIME* variable specifies the
+ probe-based failure detection time. The shorter the failure
+ detection time, the more probe traffic. The default value
+ of *FAILURE_DETECTION_TIME* is 10 seconds. This means that
+ IP interface failure will be detected by *in.mpathd* within
+ 10 seconds. The IP interface repair detection time is
+ always twice the value of *FAILURE_DETECTION_TIME*. Note
+ that failures and repairs detected by link-based failure
+ detection are acted on immediately, though *in.mpathd* may
+ ignore link state changes if it suspects that the link state
+ is flapping due to defective hardware; see DIAGNOSTICS.
+
+
+ By default, *in.mpathd* limits failure and repair detection
+ to IP interfaces that are configured as part of a named IPMP
+ group. Setting *TRACK_INTERFACES_ONLY_WITH_GROUPS* to *no*
+ enables failure and repair detection on all IP interfaces,
+ even if they are not part of a named IPMP group. IP
+ interfaces that are tracked but not part of a named IPMP
+ group are considered to be part of the "anonymous" IPMP
+ group. In addition to having no name, this IPMP group is
+ special in that its IP interfaces are not equivalent and
+ thus cannot take over for one another in the event of an IP
+ interface failure. That is, the anonymous IPMP group can
+ only be used for failure and repair detection, and provides
+ no high-availability or load-spreading.
+
+
+ As described above, when *in.mpathd* detects that an IP
+ interface has repaired, it activates it so that it will
+ again be used to send and receive IP data traffic. However,
+ if *FAILBACK* is set to *no*, then the IP interface will
+ only be activated if no other active IP interfaces in the
+ group remain. However, the interface may subsequently be
+ activated if another IP interface in the group fails.
FILES
/etc/default/mpathd Contains default values used by the
in.mpathd daemon.
@@ -171,24 +152,41 @@
| Availability | SUNWcsr |
|_____________________________|_____________________________|
SEE ALSO
- ifconfig(1M), attributes(5), icmp(7P), icmp6(7P),
+ ifconfig(1M), ipmpstat(1M), if_mpadm(1M), icmp(7P), icmp6(7P)
DIAGNOSTICS
- Test address address is not unique; disabling probe based
- failure detection on interface_name
+ IP interface *interface_name* has a hardware address which
+ is not unique in group *group_name*; offlining
Description:
+ For probe-based failure detection, load-spreading, and
+ other code IPMP features to work properly, each IP
+ interface in an IPMP group must have a unique hardware
+ address. If this requirement is not met, *in.mpathd*
+ will automatically offline all but one of the IP
+ interfaces with duplicate hardware addresses.
- For in.mpathd to perform probe-based failure detection,
- each test address in the group must be unique. Since the
- IPv6 test address is a link-local address derived from
- the MAC address, each IP interface in the group must
+ IP interface *interface_name* now has a unique hardware
+ address in group *group_name*; onlining
+ Description:
+ The previously-detected duplicate hardware address is
+ now unique, and therefore *in.mpathd* has brought
+ *interface_name* back online.
+
+
+ Test address *address* is not unique in group; disabling
+ probe-based failure detection on *interface_name*
+ Description:
+
+
+ For in.mpathd to perform probe-based failure detection,
+ each test address in the group must be unique.
SunOS 5.11 Last change: 8 Sep 2006 3
@@ -198,60 +196,55 @@
System Administration Commands in.mpathd(1M)
- have a unique MAC address.
+ No test address configured on interface *interface_name*;
+ disabling probe-based failure detection on it
+ Description:
+
+ For *in.mpathd* to perform probe-based failure detection
+ on an IP interface, it must be configured with a test
+ address: IPv4, IPv6, or both.
NIC interface_name of group group_name is not plumbed for
IPv[4|6] and may affect failover capability
Description:
All NICs in a multipathing group must be homogeneously
plumbed. For example, if a NIC is plumbed for IPv4, then
all NICs in the group must be plumbed for IPv4. The
- streams modules pushed on all NICs must be identical.
-
-
-
- No test address configured on interface interface_name disa-
- bling probe-based failure detection on it
- Description:
-
-
- In order for in.mpathd to perform probe-based failure
- detection on a NIC, it must be configured with a test
- address: IPv4, IPv6, or both.
-
+ STREAMS modules pushed on all NICs must also be identical.
The link has come up on interface_name more than 2 times in
- the last minute; disabling failback until it stabilizes.
+ the last minute; disabling repair until it stabilizes.
Description:
- In order to prevent interfaces with intermittent
- hardware, such as a bad cable, from causing repeated
- failovers and failbacks, in.mpathd does not failback to
- interfaces with frequently fluctuating link states.
+ To limit the impact of interfaces with intermittent
+ hardware (such as a bad cable), *in.mpathd* will not
+ consider an IP interface with a frequently changing link
+ state as repaired until the link state stabilizes.
- Invalid failure detection time assuming default 10000
+ Invalid failure detection time of *time*, assuming default
+ of 10000 ms
Description:
An invalid value was encountered for
FAILURE_DETECTION_TIME in the /etc/default/mpathd file.
- Too small failure detection time of time assuming minimum
- 100
+ Too small failure detection time of *time*, assuming minimum
+ of 100 ms
Description:
@@ -313,11 +306,11 @@
and in.mpathd has lowered the failure detection time
correspondingly.
- NIC failure detected on interface_name
+ IP interface failure detected on interface_name
Description:
@@ -330,61 +323,41 @@
System Administration Commands in.mpathd(1M)
- in.mpathd has detected NIC failure on interface_name,
- and has set the IFF_FAILED flag on NIC interface_name.
-
-
-
- Successfully failed over from NIC interface_name1 to NIC
- interface_name2
- Description:
-
-
- in.mpathd has caused the network traffic to failover
- from NIC interface_name1 to NIC interface_name2, which
- is part of the multipathing group.
-
+ *in.mpathd* has detected a failure on *interface_name*,
+ and has set the *IFF_FAILED* flag on *interface_name*,
+ ensuring that it will not be used for IP data traffic.
- NIC repair detected on interface_name
+ IP interface repair detected on *interface_name*
Description:
- in.mpathd has detected that NIC interface_name is
- repaired and operational. If the IFF_FAILED flag on the
- NIC was previously set, it will be reset.
-
-
-
- Successfully failed back to NIC interface_name
- Description:
-
-
- in.mpathd has restored network traffic back to NIC
- interface_name, which is now repaired and operational.
-
+ *in.mpathd* has detected a repair on *interface_name*,
+ and has cleared the *IFF_FAILED* flag. Depending on the
+ administrative configuration, the *interface_name* may
+ again be used for IP data traffic.
The link has gone down on interface_name
Description:
- in.mpathd has detected that the IFF_RUNNING flag for NIC
- interface_name has been cleared, indicating the link has
- gone down.
+ *in.mpathd* has detected that the *IFF_RUNNING* flag for
+ *interface_name* has been cleared, indicating the link
+ has gone down.
The link has come up on interface_name
Description:
- in.mpathd has detected that the IFF_RUNNING flag for NIC
- interface_name has been set, indicating the link has
+ *in.mpathd* has detected that the *IFF_RUNNING* flag for
+ *interface_name* has been set, indicating the link has
come up.
SunOS 5.11 Last change: 8 Sep 2006 6