第十章



用于监视群集链接状态的技术


本章说明如何在 Sun Fire Link 群集中监视链接状态以及如何收集对诊断链接故障有用的群集数据。本章包含以下主题:


概述

链接可为表 10-1 中所述的 6 种状况之一。

表 10-1   链接状况摘要

状况

含义

Link Up

该链接可发送和接收数据。

Link Down

存在光学部件,但激光器并未开启。

LinkNotThere

此链接位置的光学部件不存在。

Wait Up for SC
Takedown

该链接正等待由 SC(Sun Fire 系统)或 SSC(交换机)来断开。

Wait Up for SC
Link
Up

该链接正等待由 SC(Sun Fire 系统)或 SSC(交换机)来连通。

SC Error Wait Up for Link

由于错误导致链接处于“链接断开”状况,并且等待 SC(Sun Fire 系统)或 SSC(交换机)来连通该链接。

当 FM 确定存在 Sun Fire Link 光学接口,但其激光器并未开启时,它将该链接置于链接断开 状况。这可能是因操作人员有意而为或因硬件或软件故障而导致。在这两种情况下,都会将一条“链接断开”消息发送到系统控制台并存储到日志文件中。若您是使用 Sun Management Center 图形用户界面 (GUI) 来监视 Sun Fire Link 群集,则“链接断开”状态还将导致互联体细节画面中表示该链接的部分变成红色。

本章说明如何识别“链接断开”错误消息以及如何确定涉及到哪些实体组件。此确定过程将关注构成一个链接的基本组件,该链接位于两个物理上相连接的端点之间。使用图 10-1 来阐明这一点,您将能够确定发生故障的链接中涉及以下实体组件:

图 10-1   直接连接的双节点群集,其中一个链接断开而另外三个链接连通

若一个或多个群集节点为 Sun Fire 15K/12K 系统或群集中包含 Sun Fire Link 交换机,此图示将稍有不同。不过,在这两种情况下,识别的组件组均无变化:本地光学链接端点、光缆和远程光学链接端点。只有包含端点的硬件部件的标识符受机柜类型的影响。



注意 - 在直接连接(无交换机)的 Sun Fire Link 群集中,连接故障路径的两个节点均检测并报告链接故障 -- 在图 10-1 中,为 SF6800-1 和 SF6800-2。当计算节点连接到 Sun Fire Link 交换机时,计算节点检测并报告“链接断开”消息。交换机还生成一条表明“链接断开”情况的错误消息。



Sun 现场技术支持人员应找出链接-光缆-链接级别之下的故障。本章说明如何收集诊断信息,以便帮助现场技术支持人员定位发生故障的具体组件。

若一组复线链接中有一个或多个链接出现“链接断开”情况,则通信就能通过该复线组中的其余链接继续进行,只要该复线组中有一个成员保持正常运作情况。若一个链接发生故障且您当时并未直接监视网络状态,则 Sun Fire Link 群集的继续运作可能使您无法察觉链接断开。本章讲述两种方法,可用于在链接断开时自动通知您。



注意 - 若您有一个列出 Sun Fire Link 网络中所有实体连接的图表,则本章中的信息将尤为有用。此图表可能在安装 Sun Fire Link 硬件时已创建。《Sun Fire Link Hardware Installation Guide》 中推荐在 Sun Fire Link 网络安装时创建此图表。




在群集运作过程中识别链接故障

本节说明如何在 Sun Fire Link 群集正在运作时识别发生的“链接断开”错误情况。这些讨论涉及如下主题:

使用 Sun Management Center/FM 控制台监视链接状态

只要有可能,就应使用 Sun Management Center/FM 控制台作为管理和监视 Sun Fire Link 群集的主要界面。本手册的第九章讨论了大量可用作此目的的 Sun Management Center/FM 控制台功能。本节着重于使用 Sun Management Center/FM 控制台访问链接状态细节。

以下步骤中,假定 Sun Fire Link 群集正在运作、Sun Management Center 控制台正在运行,且群集分区中的一个链接断开。

1. 打开“互联体细节”窗口,若其尚未显示的话。若想要获得此步骤的指导,请参见显示互联体控制台

2. 单击左边窗格中的“互联体信息”文件夹。

这将导致显示以下表格。请参见利用系统细节监视互联体,以获得有关这些表格的说明。

3. 检查链接表,它包含群集中所有链接的全面说明。

链接表中的每行说明一个链接,包括该链接本地和远程端点的说明。这些链接属性在互联体信息表中得以说明。

使用 WRSM CLI 在节点级别监视链接状态

本节说明如何收集群集中每个节点上的链接状态信息。它说明了在一个 4 节点群集例子(其中有一个发生故障的链接)中如何使用 wrsmstat wrsm -vwrsmstat route

本例中,群集节点为 sys_asys_bsys_csys_d。发生故障的链接为链接 2,它位于 sys_b 上的 IB9。要查找这一发生故障的链接,请执行以下步骤:

wrsmstat wrsm -v 输出的简要说明紧随在代码示例 10-1 之后。

代码示例 10-1   初次运行 wrsmstat wrsm -v 的结果
sys_a# wrsmstat wrsm -v


WCI instance: 1

-------------

Port ID:                       29

Controller ID:                 1

Config Version:                1

Link Error Shutdown Trigger:   1000

Link 0

       Link enabled:           yes

       Link State:             up

       Physical Link State:    in use

       Laser Enabled:          yes

       Transmit Enabled:       yes

       Remote RSM HW addr:     0

       Remote wnode ID:        0

       Remote link num:        0

       Remote WCI port ID:     0

       Error takedowns:        0

       Disconnected takedowns: 0

       Bad Config takedowns:   0

       Failed bringups:        0

       Total link errors:      0

       Maximum link errors:    0

       Average link errors:    0

       Auto shutdown enabled:  yes

Link 1 is not present.

Link 2

       Link enabled:           yes

       Link State:             up

       Physical Link State:    in use

       Laser Enabled:          yes

       Transmit Enabled:       yes

       Remote RSM HW addr:     0

       Remote wnode ID:        0

       Remote link num:        0

       Remote WCI port ID:     0

       Error takedowns:        0

       Disconnected takedowns: 0

       Bad Config takedowns:   0

       Failed bringups:        0

       Total link errors:      0

       Maximum link errors:    0

       Average link errors:    0

       Auto shutdown enabled:  yes

Cluster Error Count:           0

Uncorrectable SRAM ECC error:  no

Maximum SRAM ECC errors:       0

Average SRAM ECC errors:       0



WCI instance: 2

-------------

Port ID:                       31

Controller ID:                 1

Config Version:                1

Link Error Shutdown Trigger:   1000

Link 0

       Link enabled:           yes

       Link State:             up

       Physical Link State:    in use

       Laser Enabled:          yes

       Transmit Enabled:       yes

       Remote RSM HW addr:     0

       Remote wnode ID:        0

       Remote link num:        1

       Remote WCI port ID:     0

       Error takedowns:        0

       Disconnected takedowns: 0

       Bad Config takedowns:   0

       Failed bringups:        0

       Total link errors:      0

       Maximum link errors:    0

       Average link errors:    0

       Auto shutdown enabled:  yes

Link 1 is not present.

Link 2

       Link enabled:           yes

       Link State:             up

       Physical Link State:    in use

       Laser Enabled:          yes

       Transmit Enabled:       yes

       Remote RSM HW addr:     0

       Remote wnode ID:        0

       Remote link num:        1

       Remote WCI port ID:     0

       Error takedowns:        0

       Disconnected takedowns: 0

       Bad Config takedowns:   0

       Failed bringups:        0

       Total link errors:      0

       Maximum link errors:    0

       Average link errors:    0

       Auto shutdown enabled:  yes

Cluster Error Count:           41

Uncorrectable SRAM ECC error:  no

Maximum SRAM ECC errors:       0

Average SRAM ECC errors:       0

下面是代码示例 10-1 所示输出的简要分析:

下一步是在 sys_a 上运行 wrsmstat route,以获取将 sys_a 连接到其它节点和交换机的路由的概要信息。代码示例 10-2 所示为这一步生成的输出。该输出的说明紧随在示例之后。

代码示例 10-2   运行 wrsmstat route 的结果
sys_a# wrsmstat route


Controller 1 - Route to sys_a

------------------------

Config Version:                1

FM node id:                    0x830740c6

RSM hardware addr:             0

Route Changes:                 0

Route Type:                    Multihop

Number of WCIs:                1

Stripes:                       0

WCI #0

       Port ID:                31

       Instance :              2

       Number of hops:         0

       Number of links:        0


Controller 1 - Route to sys_b

------------------------

Config Version:                1

FM node id:                    0x83073cdc

RSM hardware addr:             1

Route Changes:                 0

Route Type:                    Multihop

Number of WCIs:                2

Stripes:                       3

WCI #0

       Port ID:                29

       Instance :              1

       Number of hops:         1

       Number of links:        2

              Link #0, is a switch, leading to RSM HW addr: 0x1

              Link #2, is a switch, leading to RSM HW addr: 0x1

WCI #1

       Port ID:                31

       Instance :              2

       Number of hops:         1

       Number of links:        1

              Link #0, is a switch, leading to RSM HW addr: 0x1


Controller 1 - Route to sys_c

------------------------

Config Version:                1

FM node id:                    0x8308e1a8

RSM hardware addr:             2

Route Changes:                 0

Route Type:                    Multihop

Number of WCIs:                2

Stripes:                       4

WCI #0

       Port ID:                29

       Instance :              1

       Number of hops:         1

       Number of links:        2

              Link #0, is a switch, leading to RSM HW addr: 0x2

              Link #2, is a switch, leading to RSM HW addr: 0x2

WCI #1

       Port ID:                31

       Instance :              2

       Number of hops:         1

       Number of links:        2

              Link #0, is a switch, leading to RSM HW addr: 0x2

              Link #2, is a switch, leading to RSM HW addr: 0x2


Controller 1 - Route to sys_d

------------------------

Config Version:                1

FM node id:                    0x8308eea4

RSM hardware addr:             3

Route Changes:                 0

Route Type:                    Multihop

Number of WCIs:                2

Stripes:                       4

WCI #0

       Port ID:                29

       Instance :              1

       Number of hops:         1

       Number of links:        2

              Link #0, is a switch, leading to RSM HW addr: 0x3

              Link #2, is a switch, leading to RSM HW addr: 0x3

WCI #1

       Port ID:               31

       Instance:              2

       Number of hops:        1

       Number of links:       2

              Link #0, is a switch, leading to RSM HW addr: 0x3

              Link #2, is a switch, leading to RSM HW addr: 0x3

此输出表明 sys_a 有一个到 sys_c 的 4 链接路由和一个到 sys_d 的 4 链接路由。但到 sys_b 的路由只包含以下三个链接:

下一步是登录到 sys_b 并运行 wrsmstat wrsm -v,以获取 IB9 的链接 2 的本地视图。这一步如代码示例 10-3 所示。该输出在示例后进行解释。

代码示例 10-3   有故障链接的节点的 wrsmstat wrsm -v 输出
sys_b# wrsmstat wrsm -v


WCI instance: 1

-------------

Port ID:                       29

Controller ID:                 1

Config Version:                1

Link Error Shutdown Trigger:   1000

Link 0

       Link enabled:           yes

       Link State:             up

       Physical Link State:    in use

       Laser Enabled:          yes

       Transmit Enabled:       yes

       Remote RSM HW addr:     0

       Remote wnode ID:        0

       Remote link num:        2

       Remote WCI port ID:     0

       Error takedowns:        0

       Disconnected takedowns: 0

       Bad Config takedowns:   0

       Failed bringups:        0

       Total link errors:      0

       Maximum link errors:    0

       Average link errors:    0

       Auto shutdown enabled:  yes

Link 1 is not present.

Link 2

       Link enabled:           yes

       Link State:             up

       Physical Link State:    in use

       Laser Enabled:          yes

       Transmit Enabled:       yes

       Remote RSM HW addr:     0

       Remote wnode ID:        0

       Remote link num:        2

       Remote WCI port ID:     0

       Error takedowns:        0

       Disconnected takedowns: 0

       Bad Config takedowns:   0

       Failed bringups:        0

       Total link errors:      0

       Maximum link errors:    0

       Average link errors:    0

       Auto shutdown enabled:  yes

Cluster Error Count:           0

Uncorrectable SRAM ECC error:  no

Maximum SRAM ECC errors:       0

Average SRAM ECC errors:       0



WCI instance: 2

-------------

Port ID:                       31

Controller ID:                 1

Config Version:                1

Link Error Shutdown Trigger:   1000

Link 0

       Link enabled:           yes

       Link State:             up

       Physical Link State:    in use

       Laser Enabled:          yes

       Transmit Enabled:       yes

       Remote RSM HW addr:     0


       Remote wnode ID:        0

       Remote link num:        3

       Remote WCI port ID:     0

       Error takedowns:        0

       Disconnected takedowns: 0

       Bad Config takedowns:   0

       Failed bringups:        0

       Total link errors:      0

       Maximum link errors:    0

       Average link errors:    0

       Auto shutdown enabled:  yes

Link 1 is not present.

Link 2

       Link enabled:           yes

       Link State:             wait (up)

       Physical Link State:    seek

       Laser Enabled:          yes

       Transmit Enabled:       no

       Remote RSM HW addr:     0

       Remote wnode ID:        0

       Remote link num:        3

       Remote WCI port ID:     0

       Error takedowns:        0

       Disconnected takedowns: 0

       Bad Config takedowns:   0

       Failed bringups:        2128

       Total link errors:      0

       Maximum link errors:    0

       Average link errors:    0

       Auto shutdown enabled:  no

Cluster Error Count:           19

Uncorrectable SRAM ECC error:  no

Maximum SRAM ECC errors:       0

Average SRAM ECC errors:       0

IB9 状态列于标题 WCI instance 2 之下。其后信息讲述链接 2 的情况:

这表明连接到 IB9 中的链接 2 的光缆或另一端连接的 Sun Fire Link 板发生了故障。本例中,光缆的另一端连接到交换机。

使用 FM CLI 监视链接状态

下例说明如何使用 wcfmstatwcfmver 命令在整个 Sun Fire Link 群集中调查链接状态。每个示例的结尾均提供该命令输出的说明。请参见《Sun Fire Link 互联体管理员指南》 的附录 A 以获得有关这些命令的更多信息。

在 FM 管理站(亦称 FM 主机)上以 root 用户身份执行这些命令。

============= 示例 1 =================

下面的代码示例 10-4 报告名为 fabric1 的互联体中所有成员的状态。

代码示例 10-4   wcfmstat 互联体名 的输出示例
  fm_host# cd /opt/SUNWwcfm/bin

  fm_host# ./wcfmstat fabric1

Partition                      Stripe Level

Name    Type    Topology       WCI     Link

part1   RSM     WCIX_SWITCH     1       2

part2   RSM     WCIX_SWITCH     1       2

All members of this fabric are assigned to partitions.

下面说明如何理解代码示例 10-4 所示的输出:

============= 示例 2 =================

本例报告名为 part1 的分区的详细状态。

代码示例 10-5   带分区自变量的 wcfmstat 的输出
  fm_host# cd /opt/SUNWwcfm/bin

  fm_host# ./wcfmstat -p part1 fabric1

Partition Name: part1

Members:

  sys_a_sc1-A

  sys_b_sc1-A

  link-sw1-null

  link-sw2-null

-----------------------------------------

Routes:

  sys_a_sc1:A=sys_b_sc1:A

    sys_a_sc1:A:8:1:0=link-sw2::::3=0

    sys_a_sc1:A:8:1:2=link-sw1::::3=0

    sys_b_sc1:A:8:1:0=link-sw2::::1=0

    sys_b_sc1:A:8:1:2=link-sw1::::1=0

-----------------------------------------

Links:

  sys_a_sc1:A:8:1:0=link-sw2::::3=0

  sys_a_sc1:A:8:1:2=link-sw1::::3=0

  sys_b_sc1:A:8:1:0=link-sw2::::1=0

  sys_b_sc1:A:8:1:2=link-sw1::::1=0

下面说明如何理解代码示例 10-5 所示的输出:

请注意:交换机名不包含域扩展名。

例如,列出的第一个链接为 sys_a_sc1:A:8:1:0=link-sw2::::3=0。此字符串含义说明如下:

============= 示例 3 =================

本例执行链接搜索操作并报告出所有找到的链接。如代码示例 10-6 所示,使用此命令时您应有一个列出 Sun Fire Link 网络中所有实体连接的图表,包括端点细节。



注意 - 此图表可能已存在。《Sun Fire Link Hardware Installation Guide》 中推荐在 Sun Fire Link 网络安装时创建此图表。



若您有实体链接图表,则可将 wcfmver 命令生成的搜索链接组与该图表列表进行比较。这将告知我们是否有任何链接断开,若有,则会告知是哪个链接断开了。

代码示例 10-6   带节点自变量的 wcfmver 输出
fm_host# cd /opt/SUNWwcfm/bin

fm_host# ./wcfmver -n sys_a_sc1:a sys_b_sc1:a link-sw1 link-sw2 fabric1

Node = sys_a_sc1:a

Node = sys_b_sc1:a

Node = link-sw1

Node = link-sw2

Starting discovery on:  

tools.wcfmver.WildcatFMVer@1c88f9e

Estimated wait time = 180 sec.

..............................................................................

..............................................................................

..............................................................................


The following links are in the configuration but were not discovered...


The following links were discovered but are not in the configuration...


sys_b_sc1:A:8:1:2=sys_a_sc1:A:8:1:2=-1

sys_b_sc1:A:8:1:0=sys_a_sc1:A:8:1:0=-1

sys_b_sc1:A:9:1:2=link-sw1::::0=-1

sys_b_sc1:A:9:1:0=link-sw2::::0=-1

sys_a_sc1:A:9:1:2=link-sw1::::1=-1

sys_a_sc1:A:9:1:0=link-sw2::::1=-1

下面说明了如何理解代码示例 10-6 所示的输出:

使用 showlinks 命令监视 Sun Fire Link 交换机上的链接状态

showlinks 命令报告运行该命令的交换机中链接的状态(包括错误)。登录到交换机并在 SSC 提示符下执行 showlinks表 10-2 所示为 showlinks 命令的语法。

表 10-2   showlinks 命令的语法

showlinks

显示链接状态和错误统计信息。

showlinks -l

只显示链接状态。

showlinks -e

只显示错误统计信息。

showlinks [-e | -l] loop [时间]

每隔时间 秒重复一次 showlinks 操作,直到按回车键为止。重复时间间隔的缺省值为 1 秒。

代码示例 10-7 举例说明如何在交换机 wcsw1 上使用 showlinks。本例中,只有链接 0 为 up(连通)。所有其它链接均处于 waitup(等待)状况,这意味着它们已在一个分区中配置,但当前并未用于传送数据。这有可能预示存在问题,也可能没有问题。下一步将识别这些链接所连接的其它端点,并调查远程链接端点的状态。

代码示例 10-7   showlinks 输出示例
wcsw1:SSC> showlinks


======================================

                LINKS

======================================

Link      State

----   ------------

 0    up

 1    waitup

 2    waitup

 3    waitup

 4    waitup


======================================

                ERRORS

======================================

Link  Current  Average  Total    Num of intervals  Min/interval

----  -------  -------  -------  ----------------  ------------

 0         0        0        0                 0        60

 1         0        0        0                 0        60

 2         0        0        0                 0        60

 3         0        0        0                 0        60

 4         0        0        0                 0        60

理解链接断开消息

本节说明如何理解包含在消息日志和/或发送到控制台的消息中的链接状态信息。

Sun Fire 6800 系统的链接断开消息

当检查 /var/adm/messages 以查找 Sun Fire 6800 域中的“链接断开”消息时,请查找字符串“link n down”,其中,n02

代码示例 10-8 中所示的文本为 Sun Fire 6800 域的典型“链接断开”消息内容。该消息指出群集节点 sf6800-1-a 的 IB8 (wci 29) 上的链接 0 于 9 月 16 日 9:17:44 断开。

代码示例 10-8   Sun Fire 6800 域中 IB8,端口 0 的“链接断开”消息
Sep 16 09:17:44 sf6800-1-a wrsm: [ID 220426 kern.notice] NOTICE: 

wci 29 link 0 down: hardware-shutdown

若该链接位于 I/O 插槽 IB9,则 wci ID 应为 31。代码示例 10-9 所示即为这样的一个例子,它显示端口 2 为发生故障的链接。

代码示例 10-9   Sun Fire 6800 域中 IB9,端口 2 的“链接断开”消息
Sep 16 9:22:34 sf6800-1-a wrsm: [ID 311464 kern.notice] NOTICE: 
wci 31 link 2 down: hardware-shutdown



注意 - Sun Fire Link I/O 部件 IB8 和 IB9 的 wci ID 总是分别赋予 29 和 31。



在 Sun Fire 6800 系统中,链接 0 位于安装在 Sun Fire Link 部件插槽 2 中的 Paroli 板上。链接 2 位于安装在插槽 1 中的 Paroli 板上。请参考图 10-2 以查看 wci nlink n 值的物理位置。请参考《Sun Fire Link 系统概述》《Sun Fire Link Hardware Installation Guide》 以获得有关 Sun Fire 系统机柜中 Sun Fire Link 组件物理位置的其它细节。

链接连通时,此转变会由一条消息来报告,该消息包含字符串“link n up”。请参见代码示例 10-10。本例中,在代码示例 10-8 中断开的链接于 10:02:25 恢复连通。

代码示例 10-10   Sun Fire 6800 域中 IB8,端口 0 的“链接连通”消息
Sep 16 10:02:25 sf6800-1-a wrsm: [ID 881732 kern.notice] NOTICE: 

wci 29 link 0 up

图 10-2   Sun Fire 6800 机柜中 Sun Fire Link 光学端口的位置

Sun Fire 15K/12K 系统的链接断开消息

Sun Fire 15K/12K 域报告的“链接断开”消息与 Sun Fire 6800 域所报告的只是稍有不同。代码示例 10-11 所示为 Sun Fire 15K 域报告的“链接断开”消息内容示例。

代码示例 10-11   Sun Fire 15K 域的“链接断开”消息
Sep 16 8:18:23 sf15k-1-b wrsm: [ID 125775 kern.notice] NOTICE: 

wci 61 link 0 down: hardware-shutdown

本例中,发生故障的链接为 wci 61 中的光学端口 0。这些 Sun Fire Link 资源被分配到 SC sf15k-1 的域 B

在 Sun Fire 15K/12K 系统中,wci ID 的数值从 29 开始,并且对机柜中的每个其它 I/O 插槽以 32 为间隔递增。请参见图 10-3 以获得有关 Sun Fire 15K/12K 机柜的 wci 和 I/O 插槽关系的说明。

图 10-3   Sun Fire 15K/12K 机柜中 Sun Fire Link 光学端口的位置

Sun Fire Link 交换机的链接断开消息

当 Sun Fire Link 交换机遇到“链接断开”情况时,它生成一条与代码示例 10-12 中所示消息示例类似的消息。

代码示例 10-12   Sun Fire Link 交换机的“链接断开”消息
Sep 16 11:06:13 switch2-1 wrsm: [ID 546774 kern.notice] NOTICE: 

wci 1 link 4 down: hardware-shutdown

下面总结了区别交换机“链接断开”消息与 Sun Fire 系统生成的消息的主要特征:

  • 由于交换机并非 Solaris 主机(没有域),因此主机名字段中不显示域。

  • 交换机的 wci ID 将始终为 1。

  • 一台交换机最多可包含 8 个 Paroli 端口。因此,link 数值将为范围在 0-7 之间的整数。

代码示例 10-12 的消息示例中,位于交换机 switch2-1 的端口 4 中的链接于 9 月 16 日 11:06:13 断开。图 10-4 图示了 Sun Fire Link 交换机机柜中光学端口的实体布局。

图 10-4   Sun Fire Link 交换机中的光学端口位置

链接状况更改的自动通知

本节说明当群集节点上的链接状况更改时,自动生成电子邮件消息的两种方法。

  • 一种方法使用现有功能,此功能为 Sun Management Center 警报处理程序的一部分。

  • 另一种方法包括创建一个 shell 脚本,在每个节点上巡回检测链接状况,并在链接状况更改时发送电子邮件。

Sun Management Center 警报处理方法

运行在每个群集节点上的 WRSM 代理通过检查由 kstat 的本地实例生成的数据来监视本地群集组件的运作状况。当所监视的属性遇到指定的警报触发事件时,WRSM 代理会向 Sun Management Center 服务器发送警报信号。

可使用 Sun Management Center 属性编辑器来确定可触发警报的群集属性以及作为触发点的阈值。请参见《Sun Management Center 软件用户指南》中有关“属性编辑器”的讨论。

对于大多数警报情况,Sun Management Center 控制台只是简单地显示一个彩色的警报图标。该图标链接到有关错误的信息,通过沿着此链接路径浏览到一张表格(其中含有有关触发该警报的组件的详细信息),即可看到这些错误信息。

除了显示警报图标或属性状态的其它迹象外,Sun Management Center 可设置为当检测到特定警报时,给一个或多个收件人发送电子邮件。可指示 Sun Management Center 软件在链接状况更改时发送电子邮件消息。简而言之,执行这一操作的步骤如下:

1. 创建一个脚本,运行此脚本可导致发送电子邮件给您或其他人。将该脚本存储在 /var/opt/SUNWsymon/bin 中。

2. 转至“互联体细节”窗口并打开左边窗格中的“互联体信息”文件夹。

随即会显示一个包含“分区表”、“成员表”和“链接表”的窗口。

3. 在“链接表”中,选择您要启用来触发电子邮件的数据特性单元格。

  • 要在任何链接状况更改时发送电子邮件,请右击链接状况栏顶端的单元格。

  • 要在特定链接状况更改时发送电子邮件,请右击每个感兴趣的链接所属的单个链接状况单元格。

这两种操作均会打开“属性编辑器”窗口。

4. 单击“属性编辑器”的“警报”选项卡。

5. 输入适当的警报阈值,然后单击“应用”按钮。

6. 单击“操作”选项卡。

7. 单击“紧急操作”旁边的“操作...”按钮。此步骤注册该操作。

8. 在“紧急操作”方框中输入电子邮件启动脚本的名称,然后将“自动”选项设置为“是”。

9. 单击“确定”以接受该操作,然后关闭“操作”对话框。



注意 - 作为写入您自己的电子邮件启动脚本的替代方法,可使用 Sun Management Center 内核读取器模块中内含的电子邮件工具。此方法如《Sun Management Center 软件用户指南》中“属性编辑器”讨论部分所述。



警报通知的替代方法

若 Sun Management Center 软件不可用,则您可能想要使用自己的错误监视工具,在 /var/adm/messages 中对前面所述的链接状况消息中包含的关键字进行搜索。

或者,您可以设置一个 shell 脚本,它将巡回检测每个节点上的链接状况,并在链接状况更改时发送电子邮件。这种脚本的示例如代码示例 10-13 所示。代码示例 10-14 为此脚本示例将发送的电子邮件内容的一个例子。此脚本还发送消息到控制台,如代码示例 10-15 所示。



注意 - 代码示例 10-13 中的脚本并非 Sun Microsystems, Inc. 所支持的产品。它放在此处仅仅是作为概念上的说明。



代码示例 10-13   用于链接状况更改自动通知的 Shell 脚本示例
#!/bin/sh

# Example of Fire Link Alarm Mailer script for Cluster Nodes.

# Sept-17-2002

# This script polls the Fire Link cluster node link states

# and send alarm (mail)  to registered users (mail list)

# when a link goes down or up.

# Polling period in seconds, is set in the sleep instruction.

# The script can be run from any account, but it is recommended

# to launch it as a startup script by including it in

# /etc/init.d/flam


LOCAL_NODE="'hostname"

LINKS_STATE="/var/tmp/flink_node_state.tmp"

CHKS0=0

while true

do

     date

     /usr/platform/sun4u/sbin/wrsmstat wrsm \

     | /bin/nawk -v NODE=$LOCAL_NODE í\

     /^Port ID/      {portid=$3} \

     /^Link [0-2]/   {link=$2}   \

     $2 ~ /State/  {linkstate=$3; \

     if (linkstate != "up") \

     {linkstate = "down"} \

     {printf ("Fire Link Status: %s WCI %s LINK %s : %s\n", \

     NODE, portid, link, linkstate)}}' \

     | tee $LINKS_STATE

     CHKS="'cat $LINKS_STATE | sum"

     echo "\n"

     if [ "$CHKS" != "$CHKS0" ]

     then

          mailx -s "Fire Link Alarm: $LOCAL_NODE  Links Status Change" \

          rudolph@east \

          < $LINKS_STATE

     fi 

     CHKS0=$CHKS

     sleep 5

done  

代码示例 10-14   自动通知脚本生成的邮件
From: Super-User <root>

Message-Id: <200209190036.g8J0aEN15656@eis-sg24-1-a>

To: rudolph@east

Subject: Fire Link Alarm: eis-sg24-1-a  Links Status Change


Fire Link Status: eis-sg24-1-a WCI 29 LINK 0 : up

Fire Link Status: eis-sg24-1-a WCI 29 LINK 2 : down

Fire Link Status: eis-sg24-1-a WCI 31 LINK 0 : up

Fire Link Status: eis-sg24-1-a WCI 31 LINK 2 : up

From: Super-User <root>

代码示例 10-15   自动通知脚本发送给标准输出的消息
Wed Sep 18 13:19:16 EDT 2002

Fire Link Status: eis-sg24-1-a WCI 29 LINK 0 : up

Fire Link Status: eis-sg24-1-a WCI 29 LINK 2 : down

Fire Link Status: eis-sg24-1-a WCI 31 LINK 0 : up

Fire Link Status: eis-sg24-1-a WCI 31 LINK 2 : up


Wed Sep 18 13:19:21 EDT 2002

Fire Link Status: eis-sg24-1-a WCI 29 LINK 0 : up

Fire Link Status: eis-sg24-1-a WCI 29 LINK 2 : down

Fire Link Status: eis-sg24-1-a WCI 31 LINK 0 : up

Fire Link Status: eis-sg24-1-a WCI 31 LINK 2 : up


Wed Sep 18 13:19:26 EDT 2002

Fire Link Status: eis-sg24-1-a WCI 29 LINK 0 : up

Fire Link Status: eis-sg24-1-a WCI 29 LINK 2 : down

Fire Link Status: eis-sg24-1-a WCI 31 LINK 0 : up

Fire Link Status: eis-sg24-1-a WCI 31 LINK 2 : up


理解 POST 输出中的链接状态

本节说明如何理解 POST 诊断工具报告的光学链接状态。



注意 - POST 诊断工具的 Sun Fire Link 部分评估直接支持该链接端口的电路的完整性。不过,它们并不亲自开启或执行光学链接的功能性测试。



Sun Fire 6800 系统 POST 输出中的链接状态

本节说明与 Sun Fire Link 组件直接相关的 Sun Fire 6800 系统 POST 输出部分。使用 setupdomain 将域诊断级别设置为缺省值(至少在此级别)。每个 Sun Fire Link 部件进行两组 POST 测试:板互连测试和 I/O 基本测试。每种类型的输出示例如下所示。

代码示例 10-16 显示 POST 板互连测试的输出示例。这些测试中的任何故障均表示 WCI ASIC 将无法使用。

代码示例 10-16    POST 互连测试的输出示例
Powering boards on ...

{/N0/IB8/P1} Subtest: MemBistxt Passed

{/N0/IB8/P1} Subtest: MemBist Passed 

{/N0/IB8/P1} Subtest: LogicBist Passed

{/N0/IB8/P1} Running Board Interconnect Test

{/N0/IB8/P1} Subtest: Wci1 to Link0 Test

{/N0/IB8/P1} Subtest: Wci1 to Link2 Test

{/N0/IB8/P1} Subtest: to Safari Test

{/N0/IB8/P1} Board Interconnect Test Passed

代码示例 10-17 所示为 POST 基本 I/O 测试的输出示例。输出示例的最后两行表示对 IB8 上的端口 P0 和 P1 的测试。此 P0 为控制 I/O 接口卡(插在 Sun Fire Link 部件的插槽 0 和 3 中)的 ASIC。本例中,P1 为控制两个光学链接 0 和 2 的 ASIC。由于此 POST 输出示例用于 IB8,因此 P1 的 WCI ID 为 29。

本例中,最后一行显示 ASIC 已通过基本 I/O 测试。

代码示例 10-17   POST 基本 I/O 测试的输出示例
Copying IO prom to Cpu dram

..........{/N0/SB0/P0} Running PCI IO Controller Basic Tests ..............

{/N0/SB0/P0} Running Wci Basic Tests

{/N0/SB0/P0} Subtest: Wci Check Reset State for aid 0x1d

{/N0/SB0/P0} Subtest: Wci Register Initialization for aid 0x1d

{/N0/SB0/P0} Subtest: Wci Check SRAM Entries for aid 0x1d

{/N0/SB0/P0} Subtest: Wci Cluster Loopback Initialization for aid 0x1d

{/N0/SB0/P0} Subtest: Wci Cluster Start Performance Registers for aid 0x1d

{/N0/SB0/P0} Running Cluster Data Walk Tests

{/N0/SB0/P0} Subtest: Wci Cluster Data Walk Patterns for aid 0x1d

{/N0/SB0/P0} Subtest: Wci Cluster Data Half Patterns for aid 0x1d

{/N0/SB0/P0} Running Cluster Address Walk Tests

{/N0/SB0/P0} Subtest: Wci Cluster LoopBack Address Bits 12 to 6 for aid 0x1d

{/N0/SB0/P0} Subtest: Wci Cluster LoopBack Address Bits 21 to 13 for aid 0x1d

{/N0/SB0/P0} Subtest: Wci Cluster LoopBack Address Bits 33 to 22 for aid 0x1d

{/N0/SB0/P0} Subtest: Wci Cluster LoopBack Address Bits 41 to 34 for aid 0x1d

{/N0/SB0/P0} Running Wci Cluster Restore Test

{/N0/SB0/P0} Subtest: Wci  Restore Register State for aid 0x1d

{/N0/SB0/P0} Running Optical Link LoopBack Tests

{/N0/SB0/P0} Subtest: Wci Link LoopBack for aid 0x1d

{/N0/SB0/P0} After 5 Attempt(s), Node=0 Slot=8 Port=1 WCI=1 Link=0 link was

not in loopback

{/N0/SB0/P0} Node=0 Board=8 Port=1 WCI=1 Link=1 Link unpopulated

{/N0/SB0/P0} After 5 Attempt(s), Node=0 Slot=8 Port=1 WCI=1 Link=2 link was

not in loopback

{/N0/SB0/P0} @(#) lpost         5.13.0  2002/05/28 20:31

{/N0/SB0/P0} Copyright 2001 Sun Microsystems, Inc. All rights reserved.

{/N0/IB8/P0} Passed

{/N0/IB8/P1} Passed



注意 - 路径 {N0/SB0/P0} 指向 CPU。这仅仅表示测试是从该处理器运行的。



为了获得 POST 测试结果的摘要,在 OBP 命令提示符下输入 show-post-results 命令。代码示例 10-18 包含了此操作的一个示例。与链接相关的 POST 输出出现在结尾的 Board 8 和 Board 9 部分。

代码示例 10-18   show-post-results 输出示例
{2} ok

{2} ok show-post-results

Board 0, Type: CPU/Memory

  port  0 - Status = Pass, Type: CPU/Memory

            E-cache: 8 MB R-freq: 750 MHz A-freq: 750 MHz

  port  1 - Status = Pass, Type: CPU/Memory

            E-cache: 8 MB R-freq: 750 MHz A-freq: 750 MHz

  port  2 - Status = Pass, Type: CPU/Memory

            E-cache: 8 MB R-freq: 750 MHz A-freq: 750 MHz

  port  3 - Status = Pass, Type: CPU/Memory

            E-cache: 8 MB R-freq: 750 MHz A-freq: 750 MHz

Board 6, Type: PCI IO

  port 24 - Status = Pass, Type: PCI IO

  port 25 - Status = Pass, Type: PCI IO

Board 8, Type: CPCI WCI board with 2 pci slots & 2 PAROLI slots

  port 28 - Status = Pass, Type: CPCI WCI board with 2 pci slots & 2 PAROLI

  port 29 - Status = Pass, Type: CPCI WCI board with 2 pci slots & 2 PAROLI

Board 9, Type: CPCI WCI board with 2 pci slots & 2 PAROLI slots

  port 30 - Status = Pass, Type: CPCI WCI board with 2 pci slots & 2 PAROLI

  port 31 - Status = Pass, Type: CPCI WCI board with 2 pci slots & 2 PAROLI

{2} ok

port 29port 31 两行分别表示 IB8 和 IB9 中的 WCI ASIC 状态。这些 ASIC 已分配了 WCI ID 29 和 31。此输出表示两个 ASIC 均已通过 POST 测试。



注意 - 摘要的 Board 0 和 Board 6 部分报告出 4 个 CPU 模块和 Sun Fire 6800 PCI I/O 模块的测试状态。



Sun Fire 15K/12K 系统 POST 输出中的链接状态

在 Sun F15K/12K 系统上,POST 诊断工具在 wpci 板上运行。POST 输出包含指明该域可用链接数目的摘要报告。若任何链接未通过 POST 诊断,则摘要也标识它们。

代码示例 10-19 中,POST 摘要报告指出 Sun Fire 15K/12K 域的 4 个链接中有一个发生故障。

代码示例 10-19   指出链接故障的 POST 摘要
CPU_Brds:  Proc  Mem P/B: 3/1 3/0  2/1 2/0  1/1 1/0  0/1 0/0

Slot Gen   3210       /L: 10  10   10  10   10  10   10  10     CDC

SB06:  P   PPPP           PP  PP   PP  PP   PP  PP   PP  PP      P


I/O_Brds:         IOC  P1/Bus/Adapt   IOC  P0/Bus/Adapt

Slot  Gen  Type   P1   B1/10 B0/10    P0   B1/eb10 B0/10   (e=ENet, b=BBC)

IO06:  P   wPCI                        P    p PP_p  p _m

IO07:  P   wPCI                        P    p fP_m  p _m


WCI_Brds:    WCI/Link    WCI/Link    WCI/Link

Slot  Gen     3  210      2  210      1  210

IO06:  P                              P  pmp

IO07:  P                              P  pmf


Configured in 333 with 4  procs, 8.000 GBytes, 1 IO adapter, 3  wlinks.

Interconnect frequency is 149.975 MHz, Measured.

Golden sram is on Slot IO6.

POST (level=16, verbose=40) execution time 4:52

下面说明如何理解此报告:

  • 此域配置有两个 WPCI 部件,位于 I/O 插槽 6 和 7。

  • 报告的文字部分的第一行:
      Configured in 333 with 4 procs, 8.000 GBytes, 1 IO adapter, 3 wlinks.
    
    

显示只找到三个可用链接。应有 4 个链接。

  • 要确定哪个链接不正常,请查看每个 WPCI 的状态代码。此信息在报告的 WCI_Brds 部分最后一栏中提供。
    代码示例 10-20   
    WCI_Brds    WCI/Link    WCI/Link    WCI/Link
    
    
    Slot  Gen     3  210      2  210      1  210
    
    
    IO06:  P                              P  pmp
    
    
    IO07:  P                              P  pmf
    
    

  • 对于 IO 插槽 6,链接 0 和 2 状态均为 p,表示通过。链接 1 状态为 m,表示缺失。链接 1 将总是缺失状态,因为每个插槽只有两个链接,分配为 0 和 2。

  • 对于 IO 插槽 7,链接 2 状态为 p,但链接 0 的状态为 f,表示其未通过 POST 测试。

Sun Fire Link 交换机 POST 输出中的链接状态

Sun Fire Link 交换机的 POST 诊断包括评估每个交换机链接的测试。代码示例 10-21 显示在交换机 wcsw1 中链接 1 上进行测试的结果。与其它 POST 输出一样,所有测试故障均由 FAILED 关键字标明。

代码示例 10-21   交换机 POST 会话的部分链接测试输出
Sep 19 17:58:29 wcsw1 Switch.POST: {/LINK1/}  Testing Link 1...

Sep 19 17:58:29 wcsw1 Switch.POST: {/LINK1/}  Running test "i2cprobe"

Sep 19 17:58:29 wcsw1 Switch.POST: {/LINK1/}    Test "i2cprobe" PASSED.

Sep 19 17:58:29 wcsw1 Switch.POST: {/LINK1/}  Running test "volt"

Sep 19 17:58:30 wcsw1 Switch.POST: {/LINK1/}    Test "volt" PASSED.

Sep 19 17:58:30 wcsw1 Switch.POST: {/LINK1/}  Running test "temp"

Sep 19 17:58:30 wcsw1 Switch.POST: {/LINK1/}    Test "temp" PASSED.

Sep 19 17:58:30 wcsw1 Switch.POST: {/LINK1/}  Running test "frubasic"

Sep 19 17:58:32 wcsw1 Switch.POST: {/LINK1/}    Test "frubasic" PASSED.

Sep 19 17:58:32 wcsw1 Switch.POST: {/LINK1/}  Running test "jtagid"

Sep 19 17:58:32 wcsw1 Switch.POST: {/LINK1/}    Test "jtagid" PASSED.

Sep 19 17:58:34 wcsw1 Switch.POST: {/LINK1/}  Running test "interconnect"

Sep  19 17:58:35 wcsw1 Switch.POST: {/LINK1/}    WCIX is in use. Running 

hot-plug interconnect test.

Sep 19 17:58:44 wcsw1 Switch.POST: {/LINK1/}  Test "interconnect" PASSED.

Sep 19 17:58:44 wcsw1 Switch.POST: {/LINK1/}  JPOST version 1.12.28 PASSED

on Link 1.


收集 Sun 服务的错误诊断信息

本节说明如何收集有助于诊断 Sun Fire Link 群集的诊断信息。若需要向 Sun Service 寻求 Sun Fire Link 群集方面的技术支持,则在提出请求时应备有这些信息。

收集这些信息的最有效方法是运行 Sun Explorer 数据收集工具。若尚未安装此工具,则可从 GeSE 网站的 Explorer 页面下载一份。发行时,GeSE 网站的 URL 如下:

http://ginko.central/kds/explorer/index.html

此站点包括下载和安装 SUNWexplo 软件包(它包含 Explorer 数据收集脚本)的指导。

在群集的 FM 管理站以及每个怀疑有链接故障的群集节点上运行 Sun Explorer。要执行此操作,以 root 用户身份登录到 FM 管理站及各群集节点,然后输入以下命令行:

# /opt/SUNWexplo/bin/explorer

Sun Explorer 收集系统信息,将其打包为压缩的 tar 文件,此文件可发送到 Sun Services。在 FM 管理站上,Sun Explorer 脚本收集详细的互联体信息,包括每个互联体中分区的拓扑结构和链接状况。在每个群集节点上,它收集以下信息:

  • WCI 接口统计信息

  • 路由信息

  • RSM 控制器统计信息

  • RSM 控制器配置数据

若 Sun Explorer 不可用,则您可使用各种 Solaris 和 FM 管理命令来收集足够的信息。

使用 FM CLI 监视链接状态中所述,在 FM 管理站上,运行 wcfmstat 命令。

使用 WRSM CLI 在节点级别监视链接状态中所述,在每个群集节点上,运行 Solaris 命令 wrsmsat

此外,复制 /var/adm/messages 的相关部分。