解码位置代码

我的设备在哪里?

在一个设备出现故障时,您需要知道该设备在系统中的物理位置,以便可以更换它。errptlscfg 命令提供了一个位置代码,指定了故障设备所在的位置。有了位置代码和服务器手册,或包含您的型号的 IBM® Redbooks®,甚至您可以访问 IBM Web 信息中心获得更有用的信息,您就能够识别设备所在的确切位置。

David Tansley, 系统管理员, Ace Europe

//ibm.com/developerworks/i/p-dtansley.jpgDavid Tansley 是一位自由作家。他有 15 年 UNIX 系统管理经验,最近 8 年使用 AIX。他喜欢打羽毛球和观赏一级方程式赛车,但是最喜欢与妻子一起开着 GSA 摩托车旅行。


developerWorks 投稿作者

2013 年 11 月 25 日

简介

遇到设备故障肯定是一件麻烦事。故障设备的类型可能是热插拔硬件,比如风扇冷却装置或热插拔外设组件互连(PCI)卡。在这两种情况下,都需要知道设备的物理位置,然后才能更换它。所以,您需要知道设备的位置代码。故障设备会显示在错误报告中(使用 errpt 命令),该报告还会发布物理位置代码。此外,使用 lscfg 命令可以获得您设备的物理位置。在获得该位置后,应该如何定位设备?


AIX 内部代码和物理代码

AIX 提供了两种不同的代码,它们分别是:

  • IBM AIX®(内部)位置系统代码
  • 物理位置代码

AIX 内部位置代码可与物理代码配合使用来识别设备,我们稍后会在本文这了解这种用法。使用 AIX 生成的那些代码引用了某些特定的设备,例如:

10-80-00-3,0    SCSI CD Drive
10-80-00-2,0    SCSI disk
02-08-00        SAS disk

上面的代码是访问实际设备的内部路径,可以使用 lsdev 命令来查看它们。

另一个我们特别感兴趣的位置代码是物理类型的,由固件生成。例如:

U789C.001.DQD3F62-P2-D3  SAS Disk Drive

自从几年前发布了 IBM POWER5 处理器以后,物理位置代码就成为了定位设备的首选方法。作为一项经验法则,您需要的通常是物理代码。这也是本文的重点。表 1 中提供的命令使您能够获得有关设备的各种信息。

表 1. 获得有关您的设备的信息的命令

命令 描述
lsdev -C -H -F "name status physloc location description" 获得 AIX(如果存在)和物理位置代码。
lsdev -Cc disk -F 'name location physloc' 获得所有磁盘的 AIX 和物理位置代码。
lsdev -Cl hdisk0 -F physloc 获得 hdisk0 的位置代码。
lscfg -vpl hdisk0 获得 hdisk0 的扩展信息。
lsdev -C| grep hdisk0 获得 hdisk0 的 AIX 位置代码。
lsparent -Cl hdisk0 获得 hdisk0 的父设备。
lscfg -l fcs0 获得关于 fsc0 设备的信息。

使用 IBM 信息中心或红皮书

如何能使用物理位置代码定位设备?这取决于您拥有哪种类型的系统,因为这些代码可能因系统而略有不同。请务必持有服务器系统手册,或参阅 IBM 信息中心的在线信息。这些参考资料提供了您所用型号的原理图,包括系统的位置代码,以方便识别。不过,前面已经说过,只要没有东西丢失,就有办法识别设备的物理位置。


代码中包含什么?

物理设备的位置代码来自固件端。如果正确地遵循位置代码,它最终会指向您正在寻找的设备。
无论您有什么样的服务器,位置代码的实际格式都是相同的,它只是可以指向系统上的不同物理位置的代码(数字/字母)。到目前为止,可定位设备的第一个字符一直是 “U”。接下来的介绍会比较有趣。下面是位置代码的通用格式,包含一个示例,该示例来自 IBM Power Systems™ 520 型号(落地式),除非另行说明,否则各示例均使用此型号。除非另行说明,否则所有位置代码示例都是物理位置。

单元 enclosure 类型 enclosure 型号 序列号 位置
U789C 001 DQD3F62 P2-D3

字段 location 是单元/抽屉的单元/型号序列号。您的系统可能包含不同的单元 enclose 类型。不要指望在所有位置代码上都有相同的 enclosure。在有扩展槽(比如额外的磁盘抽屉)时尤其如此。

在本文中,location 字段是备受关注的位。

如果无法解析物理位置,AIX 会假定该设备是一个逻辑设备,在某个点上被链接到一个物理设备。通常情况下,这些设备可能是连接到独立磁盘冗余阵列(RAID)的 SCSI 设备或磁带单元等外部存储的逻辑设备。根据不同的硬件(比如 SCSI、串行、tty 和适配器),这些代码可能具有不同的含义。

位置代码可能由几个前缀字母和数字组成。常用前缀如表 2 所示。

表 2. 常用前缀

代码前缀 描述
A 通风设备,例如,风扇
C 卡,例如,PCI 插槽、内存插槽
D 设备,例如,磁盘插槽、磁盘抽屉
E 与电有关的设备,例如,电源
L 逻辑路径,例如,光纤通道
P 背板设备,例如,一个系统或 I/O 背板、系统板
T 接口连接器/端口,例如,串行端口,通常后跟一个表示它是哪个端口的数字
U 单元
V 虚拟背板

这是一个代码

现在,让我们来看一个示例,hdisk0。以下是 hdisk0 的部分 lscfg 输出:

lscfg -vpl hdisk0
hdisk0 U789C.001.DQD3F62-P2-D3 SAS Disk Drive (146800 MB)

Manufacturer................IBM 
Machine Type and Model......ST3146356SS 
FRU Number..................10N7204 
ROS Level and ID............45363045
Serial Number...............3QN2JFEP

Hardware Location Code......U789C.001.DQD3F62-P2-D3

PLATFORM SPECIFIC
Name:disk
Node: disk
Device Type:block

看看上面的 lscfg 输出,它首先告诉我,这是一个 SAS 磁盘,但让我们更仔细地看一看位置代码,并拆分它:

U789C.001.DQD3F62-P2-D3
代码 描述
U789C 单元类型
001 enclosure 型号
DQDS3F62 序列号
P2 背板 2(可从单元前面访问)
D3 设备插槽 3(1 号磁盘驱动器,这是从第二个机架向下数的左边第一个磁盘。)

我如何知道上述所有信息?通过使用我的红皮书并参考该型号的示意图中的位置,我可以知道它的确切位置!

您通常会发现,位置代码只被位置代码引用,不会被系统详细信息引用。在所有设备都来自同一背板时,上述情况绝对适用,并且在这种情况下,将会使用以下格式:Un<location>

这些代码可能使用下面的格式,该格式被转换为:单元 1,抽屉/框架 6,第一个背板,
I/O 插槽 2。

U1.6-P1-I2

在处理卡插槽时,它们可能包含双端口,例如以太网或光纤卡。如果出现这种情况,那么该位置将会包含一个与这些端口有关联的字母 “T”,而且 T 后面的数字是端口号。如果某个位置包含 “T”,但它不是一个卡插槽(并且位置代码中没有 C),那么我们可以非常肯定这是一个集成的(板上)接口。在这里,我想到的是串行端口或以太网端口。

现在,让我们将注意力转向光纤卡插槽。看看光纤卡(fcs0)位置:
lscfg -vl fcs0
物理位置:U789C.001.DQD3F62-P1-C1-T1

看看位置代码:

P1-C1-T1

我们知道:

代码 描述
P1 背板 1。可从单元的后面访问此背板。
C1 卡(PCI)插槽 1。从单元的顶部往下看,这是第一个 PCI 插槽。
T1 这是第一个端口(上端口)。

查看一个集成的(板上)端口,例如,硬件管理控制台(HMC)以太网端口:

P1-T5

我们知道,这不是一个卡,因为位置代码中没有 “C”。

代码 描述
P1 背板 1。可从单元的后面访问此背板。
T5 插槽 5。定位在机器的左侧。左端口。

确定设备是否是板载设备的另一种方法是,设备还会返回一个 AIX 内部位置代码。例如,以 Power Systems 570 为例,以下是一些以太网设备:

ent0      Available 02-08 2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)
ent1      Available 02-09 2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)

ent0      U7879.001.DQD1AE7-P1-T6
ent1      U7879.001.DQD1AE7-P1-T7

上述 AIX 内部位置码(02-08 和 02-09)告诉我们,两个以太网设备使用了相同的地址位置 02。由于物理位置中没有 “C”,这说明没有卡插槽,所以我们可以假定,这是一个板载的双端口。作为一个经验法则,如果有两个板载设备(T1 和 T2),而且这两个设备是水平的一对,那么 T1 在右边,T2 在左边。如果设备是垂直的,那么 T1 在上面,T2 在下面。

许多系统都有存储区域网络(SAN)存储。知道如何找到逻辑单元号(LUN)是好事,我们来了解一下 hdisk0,它是 570 型号上的 IBM System Storage® DS3400 磁盘系统:

lscfg -vl hdisk20
hdisk2 0U7879.001.DQD1AE7-P1-C2-T1-W202500A0B85B6194-LE000000000000 MPIO Other DS3K Array Disk

上述输出相当长。所以,让我们来看看该位置代码到底是怎么回事:

代码 描述
P1 背板 1(可从单元后面访问此背板)
C2 卡(PCI)插槽 2 光纤卡
T1 第一个光纤端口(上)
W202500A0B85B6194 远程 SAN 交换机上的全球端口标识符
LE000000000000 远程磁盘的(逻辑)LUN ID(十六进制值)

某些代码包含一个字母 “L”,后面跟一个数字,这些都是逻辑路径。逻辑路径的典型使用者是包含 RAID 磁盘的 SCSI 磁盘。例如,一个 SCSI 磁盘阵列的位置如下所示:

P1-C8-T1-L0-L0  SCSI RAID 5 Disk Array

热插拔

了解 PCI 热插拔卡是有好处的,因为如果热插拔设备发生故障,只需花费几分钟就可以更换它们。要查看 PCI 热插拔卡,可使用下面的命令:

lsslot -c pci
# Slot Description Device(s)
U789C.001.DQD3F62-P1-C1 PCI-E capable, Rev 1 slot with 8x lanes fcs0 
U789C.001.DQD3F62-P1-C2 PCI-E capable, Rev 1 slot with 8x lanes fcs1 
U789C.001.DQD3F62-P1-C3 PCI-E capable, Rev 1 slot with 16x lanes Empty
U789C.001.DQD3F62-P1-C4 PCI-X capable, 64 bit, 266MHz slot Empty
U789C.001.DQD3F62-P1-C5 PCI-X capable, 64 bit, 266MHz slot Empty

我们已经介绍了 fcs0 卡的位置。但是,我们可以看到,两块激活的卡(fcs0、fcs1)是彼此相邻的。我们已经知道,fcs0 是第一块卡,位于插槽的顶部。所以,向下数的第二块卡就是 fscs1 卡。其他三个插槽 P1-C3、C4 和 C5 是未分配的。

要查看逻辑热插拔设备,可使用以下命令:

lsslot -c slot

快速获得位置代码

如果您对位置仍然感到困惑,而此时一个单元出现了故障,IBM 工程师正在敲门,并且该工程师期望您知道发生故障的设备在哪里,那么您可以随时进入 'SMIT diag',识别出故障设备。该命令还会将位置代码也告诉您。在您这么做之前,一定要先查看 errpt,确认您在识别正确的设备。


修复闪烁的警示灯

在一个设备出故障后,可以通过一个闪烁着琥珀色的指示灯来识别它,也可以通过登录到 HMC 时的一个符号来识别它。在更换或修复设备后,可使用以下命令让状态恢复正常:

/usr/lpp/diagnostics/bin/usysfault -s normal

结束语

现在,您了解了位置代码可以如何帮助您。如前面所述,您需要在更换设备时知道此位置代码。但是,如上所述,位置代码完全取决于您的系统硬件文档,因为这些代码都与特定系统相关。

参考资料

学习

  • Power Systems:Finding parts, locations, and addresses
  • AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。
  • AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。
  • AIX and UNIX 专题汇总:AIX and UNIX 专区已经为您推出了很多的技术专题,为您总结了很多热门的知识点。我们在后面还会继续推出很多相关的热门专题给您,为了方便您的访问,我们在这里为您把本专区的所有专题进行汇总,让您更方便的找到您需要的内容。
  • AIX and UNIX 下载中心:在这里你可以下载到可以运行在 AIX 或者是 UNIX 系统上的 IBM 服务器软件以及工具,让您可以提前免费试用他们的强大功能。
  • IBM Systems Magazine for AIX 中文版:本杂志的内容更加关注于趋势和企业级架构应用方面的内容,同时对于新兴的技术、产品、应用方式等也有很深入的探讨。IBM Systems Magazine 的内容都是由十分资深的业内人士撰写的,包括 IBM 的合作伙伴、IBM 的主机工程师以及高级管理人员。所以,从这些内容中,您可以了解到更高层次的应用理念,让您在选择和应用 IBM 系统时有一个更好的认识。

讨论

  • 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=954230
ArticleTitle=解码位置代码
publish-date=11252013