RS/6000小型机故障的基本定位方法

时间:2021-07-31 13:59:48

可憐啊,公司的一臺RS6000啟動不了了,拉不到人來解決,讓我來弄,我可重來沒玩過AIX啊,唉,GOOGLE了一篇文章,先放這兒備查吧。上帝保佑.......

作者:nicolaszhou
引用處:http://blog.blogchina.com/article_115800.1295168.html

一、故障的定义
   .弄清楚系统发生了什么问题
  .系统现在能做什么?不能做什么?
  .故障什么时候发生的?
  .有没有做平时不同的操作?
  .故障有没有规律?定时还是不定时?发生的频率有多高?
  .是一台机器出现故障还是多台机器故障?故障现象是否相同?
  .最近有没有做改动?如安装了新的硬件、软件,改变了系统的一些设置。

二、故障信息的收集
  1)收集故障信息对于判断、诊断故障原因,修复系统非常重要。
  2)系统故障记录(errorlog) 。errdemon进程在系统启动时自动运行,记录包括硬件、软件及其他信息。
故障记录文件为/var/adm/ras/errlog,可备份下来或拷贝到别的机器上分析。errpt命令的使用(普通用户权限也可使用) :
  #errpt |more 列出简短出错信息
  T(类型): P 永久; T 临时; U 未知 (永久性的错误应引起重视)
  C(分类): H 硬件; S 软件; O 用户; U未知
  #errpt -d H 列出所有硬件出错信息
  #errpt -d S 列出所有软件出错信息
  #errpt -aj ERROR_ID 列出详细出错信息
  # errpt -aj 0502f666 <--- ERROR_ID用大小写均可
  3)控制面板上的LED代码
  .8 位代码,通常系统故障灯会同时亮起。某些机型还会同时显示故障设备位置代码。
  .4 位代码,通常是Exxx。
  .3 位代码,通常为0yyy,只看后3位。
  .8 位和4位代码可查看系统服务手册 (Service Guide)。
  3 位代码可查看系统诊断手册(Diagnostic Information for Multiple Bus System)。
  .闪动的 888, 系统崩溃,硬件或软件原因造成。按reset 键会显示更多内容。
  888-102 一般为软件故障(888-102-207 例外)系统会产生一个dump。
  888-102-xxx-0C9 系统正在做dump, 请等待。
  888-102-xxx-0C0 系统dump完成,可关电重启。
  888-103 或 105 硬件故障,一般有 SRN 代码及位置代码。
  4)SMS (System Management Service) 故障记录
  如何进入SMS 菜单:
  当主控台出现键盘图标后(LED 显示E1F1时)按1键。
  选择"Utilities"
  选择"Error Log", 抄下8位故障代码(在SMS中还可以更改系统启动顺序表)
  5)MAIL
  #mail
  系统会向root用户发mail报告出错信息。通常系统出现故障后没有进行检查修复,系统会定时提醒root。
  6)运行故障诊断程序(Diagnostic),对系统硬件进行检查和诊断。当发现有硬件故障时应立即使用diag
  #diag
  > 选高级诊断(Advance Diagnostic)
  > 选问题诊断(Problem Determination) 或选系统检查(System Verification) (选PD 会对系统错误记录进行分析)diag运行后会给出SRN 代码,故障设备名称及百分比,地址代码等。对于PCI机型应在系统报错7天之内运行diag程序对出错记录里的sense数据进行分析。
  7)其他用于收集系统信息的命令
  lsdev -C 系统设备信息
    #lsdev -Cc disk
  lspv查看物理卷信息
    #lspv
  lsvg查看卷组信息
    #lsvg datavg
    #lsvg -l rootvg
  lslpp查看文件组信息
    #lslpp -L |grep 23100020
  lsattr查看设备参数设置
    #lsattr -El ent2
  lscfg查看VPD信息(Virtual Product Data)
    #lscfg -vl ssa1
  不同的硬件设备有不同的VPD,所含的格式和信息都不一样。通常备件号和微码版本最有参考价值。注:FRU(Field Replace Unit)才是真正的备件号。

三、硬件故障定位方法
  IBM小型机故障定位方法包括小型机I/O柜上的显示面板上的Checkpoints信息,Error Code 和SRNs。
  Checkpoints 检查点是系统加电CMOS初始化程序(initial program load (IPL)),运行后显示在I/O柜的显示面板上一系列信息。IPL流程当交流电源接到系统后,IPL流程就开始了,IPL流程包括四个步骤:
  . Phase 1: Service Processor 的初始化  Phase 1 开始于交流电源接到系统后,直到OK显示在I/O柜上的显示面板上为止。在这个步骤会显示 8xxx 或9xxx checkpoints代码 。
  . Phase 2: 由 Service Processor 引导的硬件初始化  Phase 2 开始于按下I/O柜上的白色电源开关。在这个步骤会显示 9xxx checkpoints 。91FF 是最后的代码标志着第三步骤的开始。
  . Phase 3: 系统固件的初始化  Phase 3 一个系统处理器接管控制并继续初始化系统资源,在这个步骤会显示 Exxx。E105是最后的代码标志着第四步骤AIX启动的开始。在这个过程中还会显示各种位置码( 位置码代表着系统的每一个部分)
  . Phase 4: AIX 启动 当AIX开始启动时,显示面板上的代码为 0xxx ,同时位置码会出现在第二行。当AIX的登录窗口出现在控制台上时第四步骤结束同时显示面板上再无任何信息出现。

  Error Code 当系统运行有错误发现时,一个8位码会显示在显示面板上,同时在第二行显示相对应问题硬件的位置码。
  SRNs (Service request numbers,服务请求码 )当系统运行有错误发现时,SRNs码会以 xxx-xxx的形式显示在显示面板上,同时在AIX的error log中也会有记载。

  以上所有代码都会有相应的步骤解决。由于代码繁多,请在出现问题后记录下代码,并致电IBM服务热线。
  系统的启动顺序: 系统不能启动
  系统停在Stage 1,可能为电源、系统板、CPU、内存等硬件故障。记录故障代码通知IBM工程师。
  系统停在Stage 2,可能是启动顺序表(bootlist)损坏或I/O子系统故障。可尝试进入SMS 菜单检查启动顺序表,并修改。若在选择bootlist时没有硬盘设备可选或显示的硬盘信息不正确则可能是硬盘故障。若根本没有SCSI设备可选则链路有问题。
  系统停在Stage3,可能是硬盘数据损坏,系统设置文件出错,或I/O子系统故障。系统停在551,555或557
发生在系统启动的第三阶段 (Stage 3),可能是:文件系统损坏、文件系统日志(jfslog)损坏 、rootvg中有坏硬盘,修复方法:用系统光盘或系统备份带启动(必须与硬盘中的操作系统版本一致),启动后选择选项3
"Start Maintenance Mode for System Recovery"
> "Access a Root Volume Group"
> "Access this volume group and start a shell
before mounting the file systems"
格式化文件系统日志(jfslog)
#/usr/sbin/logform /dev/hd8
检查修复文件系统
# fsck -y /dev/hd1 (/home 文件系统)
# fsck -y /dev/hd2 (/usr 文件系统)
# fsck -y /dev/hd3 (/tmp 文件系统)
# fsck -y /dev/hd4 (/ 文件系统)
# fsck -y /dev/hd9var (/var 文件系统)
... ...
用 exit 命令退出,文件系统会自动 mount 起来。
重建bootimage
# lslv -m hd5 找出bootimage所在的硬盘,如hdisk0
# bosboot -ad /dev/hdisk0
# bootlist -m normal /dev/hdisk0 重建启动顺序表。
重启动系统
# shutdown -Fr
  如上述步骤不奏效,用系统备份带恢复系统。如备份带不能恢复,用诊断光盘(Diagnostic CDROM)检查是否坏硬盘。

  CDE图形界面挂死
  CDE运行时不要更改网络参数(如:主机名和IP 地址)更改网卡设置,请先退出CDE图形环境,选择命令行方式登录,在字符界面下更改。如CDE已经挂死远程 telnet 登录,找出所有dt有关的进程用kill命令杀掉。
  # ps -ef |grep dt
  ... ...
  # kill PID
  检查当前主机名
  # hostname
  tscf50
  查看主机名是否对应有效的IP地址
  # netstat -i |grep tscf50
  tr0* 1500 9.185.40 tscf50 506049 0 28247 0 0
  更改主机名或IP地址,使主机名与当前有效的IP地址存在对应关系。
  # smitty tcpip
  重新启动CDE界面
  # /etc/rc.dt
  HACMP环境下可把主机名alias到127.0.0.1上
  # cat /etc/hosts
  127.0.0.1 loopback localhost tscf50 # loopback (lo0)
  name/addressbvg
  系统dump
  发生在系统崩溃时,AIX会做dump(系统内存的快照)。此时机器会显示闪动的888 102 xxx 0cx 代码:
0c9 系统dump 进行中。0c9状态可能会维持超过2分钟,不要关电和按reset, 等待dump做完。0c0 dump 成功完成,这时可以断电重起。0c2 手动启动dump 功能。0c4 dump 设备空间不足,只有部分信息保存下来。0c5 不明原因导致dump失败。
  一般dump是由于软件出错引起(888-102-207 除外),机器通常可以重启。重启时可能提示用户插入磁带拷贝dump文件,不要选择退出,这样会丢失重要的故障信息。
  dump的有关设置
  估算系统dump的大小,在系统最繁忙时(内存使用最多)
  # sysdumpdev -e
  0453-041 Estimated dump size in bytes: 53477376
  # lsps -a
  Page Space Physical Volume Volume Group Size %Used Active
  paging00 hdisk0 rootvg 480MB 1 yes
  hd6 hdisk1 rootvg 544MB 1 yes
  当前的设置
  #sysdumpdev -l
  primary /dev/hd6 <-- dump的主设备
  secondary /dev/sysdumpnull
  copy directory /var/adm/ras <-- dump拷贝的目录
  forced copy flag TRUE
  always allow dump TRUE
  hd6应比估算值稍大。
  /var/adm/ras 是默认的dump拷贝目录,比较估算值,保证/var文件系统有足够的剩余空间拷贝dump文件。否则机器重起时会提示用户插入磁带。
  dump文件名为vmcore.#
  对PCI机型如要手动做dump,须把" always allow dump" 先设成true。
  # sysdumpdev -K
  dump打包
  # snap -a -o /dev/rmt# 或 # snap -a -c 把/tmp/ibmsupt目录做成一个压缩文件snap.tar.Z,如果/tmp文件系统空间不够,可用-d directory 参数指定别的目录代替/tmp/ibmsupt。