首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

解码位置代码

解码位置代码

简介遇到设备故障肯定是一件麻烦事。故障设备的类型可能是热插拔硬件,比如风扇冷却装置或热插拔外设组件互连(PCI)卡。在这两种情况下,都需要知道设备的物理位置,然后才能更换它。所以,您需要知道设备的位置代码。故障设备会显示在错误报告中(使用 errpt 命令),该报告还会发布物理位置代码。此外,使用 lscfg  命令可以获得您设备的物理位置。在获得该位置后,应该如何定位设备?
AIX 内部代码和物理代码AIX 提供了两种不同的代码,它们分别是:
  • IBM AIX®(内部)位置系统代码
  • 物理位置代码
AIX 内部位置代码可与物理代码配合使用来识别设备,我们稍后会在本文这了解这种用法。使用 AIX 生成的那些代码引用了某些特定的设备,例如:
1
2
3
10-80-00-3,0    SCSI CD Drive
10-80-00-2,0    SCSI disk
02-08-00        SAS disk




上面的代码是访问实际设备的内部路径,可以使用 lsdev 命令来查看它们。
另一个我们特别感兴趣的位置代码是物理类型的,由固件生成。例如:
1
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 型号序列号位置U789C001DQD3F62P2-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 输出:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 磁盘,但让我们更仔细地看一看位置代码,并拆分它:
1
U789C.001.DQD3F62-P2-D3




代码描述U789C单元类型001enclosure 型号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
看看位置代码:
1
P1-C1-T1




我们知道:
代码描述P1背板 1。可从单元的后面访问此背板。C1卡(PCI)插槽 1。从单元的顶部往下看,这是第一个 PCI 插槽。T1这是第一个端口(上端口)。
查看一个集成的(板上)端口,例如,硬件管理控制台(HMC)以太网端口:
1
P1-T5




我们知道,这不是一个卡,因为位置代码中没有 “C”。
代码描述P1背板 1。可从单元的后面访问此背板。T5插槽 5。定位在机器的左侧。左端口。
确定设备是否是板载设备的另一种方法是,设备还会返回一个 AIX 内部位置代码。例如,以 Power Systems 570 为例,以下是一些以太网设备:
1
2
3
4
5
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 磁盘系统:
1
2
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 磁盘阵列的位置如下所示:
1
P1-C8-T1-L0-L0  SCSI RAID 5 Disk Array




热插拔了解 PCI 热插拔卡是有好处的,因为如果热插拔设备发生故障,只需花费几分钟就可以更换它们。要查看 PCI 热插拔卡,可使用下面的命令:
1
2
3
4
5
6
7
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 是未分配的。
要查看逻辑热插拔设备,可使用以下命令:
1
lsslot -c slot




快速获得位置代码如果您对位置仍然感到困惑,而此时一个单元出现了故障,IBM 工程师正在敲门,并且该工程师期望您知道发生故障的设备在哪里,那么您可以随时进入 'SMIT diag',识别出故障设备。该命令还会将位置代码也告诉您。在您这么做之前,一定要先查看 errpt,确认您在识别正确的设备。
修复闪烁的警示灯在一个设备出故障后,可以通过一个闪烁着琥珀色的指示灯来识别它,也可以通过登录到 HMC 时的一个符号来识别它。在更换或修复设备后,可使用以下命令让状态恢复正常:
1
/usr/lpp/diagnostics/bin/usysfault -s normal




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