Skip Navigation Links | |
Exit Print View | |
Managing Oracle Solaris 11.1 Network Performance Oracle Solaris 11.1 Information Library |
1. Introduction to Network Performance Management
4. Administering Bridged Networks (Tasks)
Maintaining Routing While Deploying IPMP
How to Define Routes While Using IPMP
How to Configure an IPMP Group That Uses DHCP
How to Manually Configure an Active-Active IPMP Group
How to Manually Configure an Active-Standby IPMP Group
How to Add an Interface to an IPMP Group
How to Remove an Interface From an IPMP Group
How to Move an Interface From One IPMP Group to Another IPMP Group
Configuring Probe-Based Failure Detection
Requirements for Choosing Targets for Probe-based Failure Detection
Configuring Probe-Based Failure Detection (Task Map)
How to Select Which Failure Detection Method to Use
How to Manually Specify Target Systems for Probe-Based Failure Detection
How to Configure the Behavior of the IPMP Daemon
7. Exchanging Network Connectivity Information With LLDP
8. Working With Data Center Bridging Features in Oracle Solaris
9. Edge Virtual Bridging in Oracle Solaris
10. Integrated Load Balancer (Overview)
11. Configuring Integrated Load Balancer
12. Managing Integrated Load Balancer
13. Virtual Router Redundancy Protocol (Overview)
A. Link Aggregation Types: Feature Comparison
The examples in this section use the ipmpstat command to enable you to monitor different aspects of IPMP groups on the system. You can observe the status of an IPMP group as a whole or its underlying IP interfaces. You can also verify the configuration of data and test addresses for an IPMP group. Information about failure detection is also obtained by using the ipmpstat command. For more details about the ipmpstat command and its options, see the ipmpstat(1M) man page.
When you use the ipmpstat command, by default, the most meaningful fields that fit in 80 columns are displayed. In the output, all the fields that are specific to the option that you use with the ipmpstat command are displayed, except in the case of the ipmpstat -p syntax.
By default, host names are displayed in the output instead of numeric IP addresses, provided that the host names exist. To list the numeric IP addresses in the output, use the -n option with other options to display specific IPMP group information.
Note - In the following examples, use of the ipmpstat command does not require system administrator privileges, unless stated otherwise.
You use the following options with the ipmpstat command to determine the information to be displayed:
-g displays information about the IPMP groups on the system. See Example 6-9.
-a displays the data addresses that are configured for the IPMP groups. See Example 6-10.
-i displays information about IP interfaces that are related to IPMP configuration. See Example 6-11.
-t displays information about target systems that are used for detecting failure. This option also displays the test addresses that are used by the IPMP group. See Example 6-12.
-p displays information about the probes that are being used for failure detection. See Example 6-13.
The following examples show information about your system's IPMP configuration that you can obtain with the ipmpstat command.
Example 6-9 Obtaining IPMP Group Information
The -g option lists the status of the various IPMP groups on the system, including the status of their underlying interfaces. If probe-based failure detection is enabled for a specific group, the command also includes the failure detection time for that group.
$ ipmpstat -g GROUP GROUPNAME STATE FDT INTERFACES ipmp0 ipmp0 ok 10.00s net0 net1 acctg1 acctg1 failed -- [net3 net4] field2 field2 degraded 20.00s net2 net5 (net7) [net6]
The output fields provide the following information:
Specifies the IPMP interface name. For an anonymous group, this field is empty. For more information about anonymous groups, see the in.mpathd(1M) man page.
Specifies the name of the IPMP group. In the case of an anonymous group, this field will be empty.
Indicates an IPMP group's current status, which can be one of the following:
ok indicates that all underlying interfaces of the IPMP group are usable.
degraded indicates that some of the underlying interfaces in the group are unusable.
failed indicates that all of the group's interfaces are unusable.
Specifies the failure detection time, if failure detection is enabled. If failure detection is disabled, this field is empty.
Specifies the underlying interfaces that belong to the IPMP group. In this field, active interfaces are listed first, then inactive interfaces, and finally unusable interfaces. The status of an interface is indicated by the manner in which it is listed:
interface (without parentheses or square brackets) indicates an active interface. Active interfaces are being used by the system to send or receive data traffic.
(interface) (with parentheses) indicates a functioning but inactive interface. The interface is not in use as defined by administrative policy.
[interface] (with square brackets) indicates that the interface is unusable because it has either failed or been taken offline.
Example 6-10 Obtaining IPMP Data Address Information
The -a option displays data addresses and the IPMP group to which each address belongs. The displayed information also includes which addresses are available for use, depending on whether the addresses have been toggled by the ipadm [up-addr/down-addr] command. You can also determine on which inbound or outbound interface an address can be used.
$ ipmpstat -an ADDRESS STATE GROUP INBOUND OUTBOUND 192.168.10.10 up ipmp0 net0 net0 net1 192.168.10.15 up ipmp0 net1 net0 net1 192.0.0.100 up acctg1 -- -- 192.0.0.101 up acctg1 -- -- 128.0.0.100 up field2 net2 net2 net7 128.0.0.101 up field2 net7 net2 net7 128.0.0.102 down field2 -- --
The output fields provide the following information:
Specifies the host name or the data address, if the -n option is used with the -a option.
Indicates whether the address on the IPMP interface is up, and therefore usable, or down, and therefore unusable.
Specifies the IPMP interface that hosts a specific data address. Typically, in Oracle Solaris, the name of the IPMP group is the IPMP interface.
Identifies the interface that receives packets for a given address. The field information might change depending on external events. For example, if a data address is down, or if no active IP interfaces remain in the IPMP group, this field is empty. The empty field indicates that the system is not accepting IP packets that are destined for the given address.
Identifies the interface that sends packets that are using a given address as a source address. As with the INBOUND field, the OUTBOUND information might also change depending on external events. An empty field indicates that the system is not sending packets with the given source address. The field might be empty either because the address is down or because no active IP interfaces remain in the group.
Example 6-11 Obtaining Information About Underlying IP Interfaces of an IPMP Group
The -i option displays information about an IPMP group's underlying IP interfaces.
$ ipmpstat -i INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE net0 yes ipmp0 --mb--- up ok ok net1 yes ipmp0 ------- up disabled ok net3 no acctg1 ------- unknown disabled offline net4 no acctg1 is----- down unknown failed net2 yes field2 --mb--- unknown ok ok net6 no field2 -i----- up ok ok net5 no filed2 ------- up failed failed net7 yes field2 --mb--- up ok ok
The output fields provide the following information:
Specifies each underlying interface in each IPMP group.
Indicates whether the interface is functioning and in use (yes) or not (no).
Specifies the IPMP interface name. For anonymous groups, this field is empty. For more information about anonymous groups, see the in.mpathd(1M) man page.
Indicates the status of each underlying interface, which can be one or any combination of the following:
i indicates that the INACTIVE flag is set for the interface. Therefore, the interface is not used to send or receive data traffic.
s indicates that the interface is configured to be a standby interface.
m indicates that the interface is designated by the system to send and receive IPv4 multicast traffic for the IPMP group.
b indicates that the interface is designated by the system to receive broadcast traffic for the IPMP group.
M indicates that the interface is designated by the system to send and receive IPv6 multicast traffic for the IPMP group.
d indicates that the interface is down and therefore unusable.
h indicates that the interface shares a duplicate physical hardware address with another interface and has been taken offline. The h flag indicates that the interface is unusable.
Indicates the status of link-based failure detection, which is one of the following:
up or down indicates the availability or unavailability of a link.
unknown indicates that the driver does not support notification of whether a link is up or down and therefore does not detect changes in the state of the link.
Specifies the state of probe-based failure detection for interfaces that have been configured with a test address, as follows:
ok indicates that the probe is functional and active.
failed indicates that probe-based failure detection has detected that the interface is not working.
unknown indicates that no suitable probe targets could be found, Therefore, probes cannot be sent.
disabled indicates that no IPMP test address is configured on the interface. Therefore, probe-based failure detection is disabled.
Specifies the overall state of the interface, as follows:
ok indicates that the interface is online and working normally based on the configuration of failure detection methods.
failed indicates that the interface is not working either because the interface's link is down or because the probe detection has determined that the interface cannot send or receive traffic.
offline indicates that the interface is not available for use. Typically, the interface is taken offline under the following circumstances:
The interface is being tested.
Dynamic reconfiguration is being performed.
The interface shares a duplicate hardware address with another interface.
unknown indicates that the IPMP interface's state cannot be determined because no probe targets were found for probe-based failure detection.
Example 6-12 Obtaining IPMP Probe Target Information
The -t option identifies the probe targets that are associated with each IP interface in an IPMP group. The first output is an example of an IPMP configuration that uses test addresses for probe-based failure detection.
$ ipmpstat -nt INTERFACE MODE TESTADDR TARGETS net0 routes 192.168.85.30 192.168.85.1 192.168.85.3 net1 disabled -- -- net3 disabled -- -- net4 routes 192.1.2.200 192.1.2.1 net2 multicast 128.9.0.200 128.0.0.1 128.0.0.2 net6 multicast 128.9.0.201 128.0.0.2 128.0.0.1 net5 multicast 128.9.0.202 128.0.0.1 128.0.0.2 net7 multicast 128.9.0.203 128.0.0.1 128.0.0.2
The second output is an example of an IPMP configuration that uses transitive probing or probe-based failure detection without test addresses.
$ ipmpstat -nt INTERFACE MODE TESTADDR TARGETS net3 transitive <net1> <net1> <net2> <net3> net2 transitive <net1> <net1> <net2> <net3> net1 routes 172.16.30.100 172.16.30.1
The output fields provide the following information:
Specifies each underlying interface of an IPMP group.
Specifies the method for obtaining the probe targets.
routes indicates that the system routing table is used to find probe targets.
mcast indicates that multicast ICMP probes are used to find targets.
disabled indicates that probe-based failure detection has been disabled for the interface.
transitive indicates that transitive probing is used for failure detection, as shown in the second example. Note that you cannot implement probe-based failure detection while simultaneously using transitive probes and test addresses. If you do not want to use test addresses, then you must enable transitive probing. If you do not want to use transitive probing, then you must configure test addresses. For an overview, see Probe-Based Failure Detection.
Specifies the host name or, if the -n option is used with the -t option, the IP address that is assigned to the interface to send and receive probes.
If transitive probing is used, then the interface names refer to the underlying IP interfaces that are not actively used to receive data. The names also indicate that the transitive test probes are being sent with the source address of these specified interfaces. For active underlying IP interfaces that receive data, an IP address that is displayed indicates the source address of outgoing ICMP probes.
Note - If an IP interface is configured with both IPv4 and IPv6 test addresses, the probe target information is displayed separately for each test address.
Lists the current probe targets in a space-separated list. The probe targets are displayed either as host names or IP addresses. If the -n option is used with the -t option, the IP addresses are displayed.
Example 6-13 Observing IPMP Probes
The -p option enables you to observe ongoing probes. When you use this option with the ipmpstat command, information about probe activity on the system is continuously displayed until you terminate the command by pressing Control-C. You must have Primary Administrator privileges to run this command.
The first output is an example of an IPMP configuration that uses test addresses for probe-based failure detection.
# ipmpstat -pn TIME INTERFACE PROBE NETRTT RTT RTTAVG TARGET 0.11s net0 589 0.51ms 0.76ms 0.76ms 192.168.85.1 0.17s net4 612 -- -- -- 192.1.2.1 0.25s net2 602 0.61ms 1.10ms 1.10ms 128.0.0.1 0.26s net6 602 -- -- -- 128.0.0.2 0.25s net5 601 0.62ms 1.20ms 1.00ms 128.0.0.1 0.26s net7 603 0.79ms 1.11ms 1.10ms 128.0.0.1 1.66s net4 613 -- -- -- 192.1.2.1 1.70s net0 603 0.63ms 1.10ms 1.10ms 192.168.85.3 ^C
The second output is an example of an IPMP configuration that uses transitive probing or probe-based failure detection without test addresses.
# ipmpstat -pn TIME INTERFACE PROBE NETRTT RTT RTTAVG TARGET 1.39S net4 t28 1.05ms 1.06ms 1.15ms <net1> 1.39s net1 i29 1.00ms 1.42ms 1.48ms 172.16.30.1 ^C
The output fields provide the following information:
Specifies the time a probe was sent relative to when the ipmpstat command was issued. If a probe was initiated prior to ipmpstat being started, then the time is displayed with a negative value, relative to when the command was issued.
Specifies the interface on which the probe is sent.
Specifies the identifier that represents the probe. If transitive probing is used for failure detection, the identifier is prefixed with either t for transitive probes or i for ICMP probes.
Specifies the total network round-trip time of the probe, measured in milliseconds. NETRTT covers the time between the moment when the IP module sends the probe and the moment the IP module receives the ack packets from the target. If the in.mpathd daemon has determined that the probe is lost, then the field is empty.
Specifies the total round-trip time for the probe, measured in milliseconds. RTT covers the time between the moment the in.mpathd daemon executes the code to send the probe and the moment the daemon completes processing of the ack packets from the target. If the daemon has determined that the probe is lost, then the field is empty. Spikes that occur in the RTT that are not present in the NETRTT might indicate that the local system is overloaded.
Specifies the probe's average round-trip time over the interface between the local system and the target. The average round-trip time helps identify slow targets. If data is insufficient to calculate the average, this field is empty.
Specifies the host name or, if the -n option is used with the -p option, the target address to which the probe is sent.
The ipmpstat command's -o option enables you to customize the output. You use this option with the other previously ipmpstat options to select specific fields to be displayed out of the total fields that the main option normally displays.
For example, the -g option provides the following information:
IPMP group
IPMP group name
Status of the group
Failure detection time
Underlying interfaces of the IPMP group
Suppose that you want to display only the status of the IPMP groups on the system. You would combine the -o and -g options and specify the fields groupname and state, as shown in the following example:
$ ipmpstat -g -o groupname,state GROUPNAME STATE ipmp0 ok accgt1 failed field2 degraded
To display all the fields of the ipmpstat command for a specific type of information, include the -o all in the syntax. For example, to list all the fields that provide group information, type ipmpstat -g -o all.
The -o option is useful when you issue the command from a script or by using a command alias, particularly if you also want to generate machine-parseable output.
To generate machine-parseable information, you combine the -P and -o options with one of the other main ipmpstat options, together with specific fields you want to display. A machine-parseable output differs from normal output in the following ways:
Column headers are omitted.
Fields are separated by colons (:).
Fields with empty values are empty rather than filled with the double dash (--).
When multiple fields are requested, if a field contains a literal colon (:) or backslash (\), these characters can be escaped or excluded by prefixing them with a backslash (\).
To correctly use the ipmpstat -P syntax, observe the following rules:
Use the -o option field with the -P option. Separate multiple option fields with commas.
Never use -o all with the -P option.
Ignoring either one of these rules causes ipmpstat -P to fail.
The following example shows the format of the information when you use the -P option.
$ ipmpstat -P -o -g groupname,fdt,interfaces ipmp0:10.00s:net0 net1 acctg1::[net3 net4] field2:20.00s:net2 net7 (net5) [net6]
The group name, failure detection time, and underlying interfaces are group information fields. Thus, you use the -o -g options with the -P option.
The -P option is intended to be used in scripts. The following example shows how the ipmpstat command is issued from a script. The script displays the failure detection time for an IPMP group.
getfdt() { ipmpstat -gP -o group,fdt | while IFS=: read group fdt; do [[ "$group" = "$1" ]] && { echo "$fdt"; return; } done }