在 Oracle® Solaris 11.2 中管理 TCP/IP 网络、IPMP 和 IP 隧道

退出打印视图

更新时间: 2014 年 7 月
 
 

监视 IPMP 信息

以下示例说明如何使用 ipmpstat 命令监视系统上 IPMP 组的不同方面。您可以将 IPMP 组作为一个整体来观察其状态,也可以观察其底层 IP 接口的状态。您还可以验证 IPMP 组的数据地址和测试地址的配置。您还可以使用相同的命令来获取有关故障检测的信息。有关更多信息,请参见 ipmpstat(1M) 手册页。

当您使用 ipmpstat 命令时,缺省情况下,将显示 80 列可容纳的最有意义的字段。在输出中,将显示特定于与 ipmpstat 命令结合使用的选项的所有字段(ipmpstat–p 选项结合使用的情况除外)。

缺省情况下,输出中显示主机名而不是数字 IP 地址(只要主机名存在)。要在输出中列出数字 IP 地址,请将 –n 选项与其他选项结合使用以显示特定的 IPMP 组信息。


注 -  在以下示例中,ipmpstat 命令的使用不需要系统管理员特权,除非另有说明。

可以将 ipmpstat 命令与以下选项结合使用来显示所需的信息:

–g

显示有关系统上 IPMP 组的信息。请参见Example 3–9

–a

显示为 IPMP 组配置的数据地址。请参见Example 3–10

–i

显示与 IPMP 配置相关的 IP 接口的信息。请参见Example 3–11

–t

显示有关用于故障检测的目标系统的信息。该选项还显示 IPMP 组使用的测试地址。请参见Example 3–12

–p

显示有关用于故障检测的探测器的信息。请参见Example 3–13

以下其他示例说明如何使用 ipmpstat 命令来显示有关系统中 IPMP 配置的信息。

示例 3-9  获取 IPMP 组信息

–g 选项显示系统上各 IPMP 组的状态,包括其底层接口的状态。如果为特定组启用了基于探测器的故障检测,则该命令还包括该组的故障检测时间。

% 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]

输出字段提供以下信息:

GROUP

指定 IPMP 接口名称。对于匿名组,此字段为空。有关匿名组的更多信息,请参见 in.mpathd(1M) 手册页。

GROUPNAME

指定 IPMP 组的名称。对于匿名组,此字段为空。

STATE

表示一个 IPMP 组的当前状态,可以是以下值之一:

  • ok-表示 IPMP 组的所有底层接口都可用。

  • degraded-表示该组中的部分底层接口不可用。

  • failed-表示该组的所有接口都不可用。

FDT

指定故障检测时间(如果启用了故障检测)。如果禁用了故障检测,则此字段为空。

INTERFACES

指定属于该 IPMP 组的底层接口。在此字段中,首先显示活动接口,然后是非活动接口,最后显示不可用的接口。接口的状态由显示方式表示:

  • interface(不带圆括号或方括号)-表示活动接口。系统使用活动接口发送或接收数据通信。

  • (interface)(带圆括号)-表示能正常工作但处于非活动状态的接口。根据管理策略的定义,该接口并未使用。

  • [interface](带方括号)-表示接口不可用,因为它已出现故障或处于脱机状态。

示例 3-10  获取 IPMP 数据地址信息

–a 选项显示数据地址以及每个地址所属的 IPMP 组。显示的信息还包括那些可供使用的地址,具体取决于是否通过 ipadm [up-addr/down-addr] 命令切换了地址的状态。您还可以确定一个地址可以在哪个传入或传出接口上使用。

% 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        --          --
192.168.10.31   up       field2        net2    net2 net7
192.168.10.32   up       field2        net7    net2 net7
192.168.10.33   down     field2        --          --

输出字段提供以下信息:

ADDRESS

指定主机名或数据地址(如果 –n 选项与 –a 选项结合使用)。

STATE

指示 IPMP 接口上的地址状态是 up(因此可用)还是 down(因此不可用)。

GROUP

指定承载特定数据地址的 IPMP 接口。通常,在 Oracle Solaris 中,IPMP 组的名称是 IPMP 接口。

INBOUND

标识接收给定地址的包的接口。根据外部事件,字段信息可能会发生更改。例如,如果数据地址已关闭或者 IPMP 组中没有活动的 IP 接口,此字段为空。空字段指示系统当前没有接受发送到给定地址的 IP 包。

OUTBOUND

标识发送使用给定地址作为源地址的包的接口。与 INBOUND 字段一样,OUTBOUND 信息也可能根据外部事件而变化。空字段指示系统当前未发送具有给定的源地址的包。该字段可能为空,原因是该地址已关闭或组中没有活动 IP 接口。

示例 3-11  获取有关 IPMP 组的底层 IP 接口的信息

–i 选项显示有关 IPMP 组的底层 IP 接口的信息。

% 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

输出字段提供以下信息:

INTERFACE

指定每个 IPMP 组的每个底层接口。

ACTIVE

指示该接口是正常工作并在使用中 (yes) 还是没有 (no)。

GROUP

指定 IPMP 接口名称。对于匿名组,此字段为空。有关匿名组的更多信息,请参见 in.mpathd(1M) 手册页。

FLAGS

指示每个底层接口的状态,可以是以下各项之一或这些项的任意组合:

  • b-表示接口由系统指定用于接收 IPMP 组的广播通信。

  • d-表示接口已关闭,因此不可用。

  • h-表示接口与另一个接口共享一个重复的物理硬件地址并且已处于脱机状态。h 标志指示接口不可用。

  • i-表示为接口设置了 INACTIVE 标志。因此,该接口不用于发送或接收数据通信。

  • m-表示接口由系统指定用于发送和接收 IPMP 组的 IPv4 多播通信。

  • M-表示接口由系统指定用于发送和接收 IPMP 组的 IPv6 多播通信。

  • s-表示接口配置为备用接口。

LINK

指示基于链路的故障检测的状态,为以下状态之一:

  • updown-分别表示链路可用或不可用。

  • unknown-表示驱动程序不支持链路是 up 还是 down 的通知,因此不检测链路状态的变化。

PROBE

指定使用测试地址配置的接口的基于探测器的故障检测的状态,如下所示:

  • ok-表示探测器正常工作并处于活动状态。

  • failed-表示基于探测器的故障检测已检测到接口未正常工作。

  • unknown-表示找不到合适的探测器目标,因此无法发送探测器。

  • disabled-表示在接口上没有配置 IPMP 测试地址。因此,基于探测器的故障检测处于禁用状态。

STATE

指定接口的整体状态,如下所示:

  • ok-表示接口已联机并正在基于故障检测方法的配置正常工作。

  • failed-表示接口当前未工作,原因是接口的链路已关闭或探测器检测已确定该接口无法发送或接收通信。

  • offline-表示接口不可用。通常,在以下情况下会将接口置于脱机状态:

    • 正在测试接口。

    • 正在执行动态重新配置。

    • 接口与另一个接口共享一个重复的硬件地址。

  • unknown-表示无法确定 IPMP 接口的状态,因为找不到基于探测器的故障检测的探测器目标。

示例 3-12  获取 IPMP 探测器目标信息

–t 选项标识与 IPMP 组中每个 IP 接口相关联的探测器目标。以下示例中的输出显示为基于探测器的故障检测使用测试地址的 IPMP 配置。

% 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     192.168.10.200   192.168.10.1 192.168.10.2
net6        multicast     192.168.10.201   192.168.10.2 192.168.10.1
net5        multicast     192.168.10.202   192.168.10.1 192.168.10.2
net7        multicast     192.168.10.203   192.168.10.1 192.168.10.2

以下输出显示使用传递式探测(即,没有测试地址的基于探测器的故障检测)的 IPMP 配置。

% 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

输出字段提供以下信息:

INTERFACE

指定 IPMP 组的每个底层接口。

MODE

指定用于获取探测器目标的方法。

  • routes-表示使用系统路由表查找探测器目标。

  • mcast-表示使用多播 ICMP 探测器查找目标。

  • disabled-表示已为接口禁用基于探测器的故障检测。

  • transitive-表示使用传递式探测检测故障,如第二个示例中所示。请注意,无法在同时使用传递式探测器和测试地址的情况下实现基于探测器的故障检测。如果您不希望使用测试地址,则必须启用传递式探测。如果您不希望使用传递式探测,则必须配置测试地址。有关概述,请参见基于探测器的故障检测

TESTADDR

指定主机名;或者如果 –n 选项与 –t 选项结合使用,则指定分配给用于发送和接收探测器的接口的 IP 地址。

如果使用传递式探测,则接口名称指当前未用于接收数据的底层 IP 接口。这些名称还指示传递式测试探测器是使用这些指定接口的源地址发送的。对于接收数据的活动底层 IP 接口,显示的 IP 地址指示传送 ICMP 探测器的源地址。


注 -  如果某 IP 接口同时配置了 IPv4 和 IPv6 测试地址,分别显示每个测试地址的探测器目标信息。
TARGETS

在空格分隔的列表中列出当前探测器目标。探测器目标以主机名或 IP 地址形式显示。如果 –n 选项与 –t 选项结合使用,将会显示 IP 地址。

示例 3-13  观察 IPMP 探测器

–p 选项使您能够观察正在运行的探测器。将该选项和 ipmpstat 命令一起使用时,会持续显示有关系统上探测器活动的信息,直到您按 Ctrl-C 组合键终止命令。您必须成为 root 角色或具有适当的权限才能运行此命令。

下面是为基于探测器的故障检测使用测试地址的 IPMP 配置示例。

# 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     192.168.10.1
0.26s   net6        602       --       --       --         192.168.10.2
0.25s   net5        601       0.62ms   1.20ms   1.00ms     192.168.10.1
0.26s   net7        603       0.79ms   1.11ms   1.10ms     192.168.10.1
1.66s   net4        613       --       --       --         192.1.2.1
1.70s   net0        603       0.63ms   1.10ms   1.10ms     192.168.85.3
^C

下面是使用传递式探测(即,没有测试地址的基于探测器的故障检测)的 IPMP 配置示例。

# 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

输出字段提供以下信息:

TIME

指定发送探测器的时间(相对于发出 ipmpstat 命令的时间)。如果探测器在 ipmpstat 开始之前已启动,则显示的时间为负值(即相对于发出命令的时间)。

INTERFACE

指定在其上发送探测器的接口。

PROBE

指定代表探测器的标识符。如果使用传递式探测进行故障检测,则标识符具有前缀 t(对于传递式探测器)或 i(对于 ICMP 探测器)。

NETRTT

指定探测器的总网络往返时间(以毫秒为单位)。NETRTT 指从 IP 模块发送探测器到 IP 模块接收到来自目标的 ack 包的时间。如果 in.mpathd 守护进程已确定探测器丢失,则该字段为空。

RTT

指定探测器的总往返时间(以毫秒为单位)。RTT 指从 in.mpathd 守护进程执行代码以发送探测器到守护进程完成对来自目标的 ack 包的处理之间的时间。如果守护进程已确定探测器丢失,则该字段为空。如果 RTT 出现峰值而 NETRTT 没有出现,则可能表明本地系统过载。

RTTAVG

指定接口上的探测器在本地系统和目标之间的平均往返时间。平均往返时间可以帮助确定速度慢的目标。如果数据不足以计算平均值,此字段为空。

TARGET

指定主机名。如果 –n 选项与 –p 选项结合使用,则指定向其发送探测器的目标地址。