当前位置:操作系统 > Unix/Linux >>

solaris系统panics故障实例与解决

一、故障现象及分析

  该工作站的不定时自动重启有着比较特殊的现象:没有规律、没有预兆。对用户的影响也是最致命的---不仅是作业失败,甚至会导致数据库被破坏。针对这一系统故障现象进行了认真的分析,通过查找错误日志,找出了系统报出的“Panics”错误。当系统自动重启时,/etc/rc2.d/S75savecore 实用程序会把这些信息卸载到文件系统/var/crash/`hostname`/目录下,便于系统管理员进行故障分析和故障定位,21次Panics错系统自动产生的文件如下:

  -rw-r--r-- 1 root root 634041 Feb 3 03:20 unix.0

  ………………………

  -rw-r--r-- 1 root root 620121 Aug 7 12:35 unix.16

  ………………………

  -rw-r--r-- 1 root root 622218 Aug 12 09:25 unix.21

  -rw-r--r-- 1 root root 181395456 Feb 3 03:20 vmcore.0

  ………………………

  -rw-r--r-- 1 root root 237830144 Aug 7 12:35 vmcore.16

  ………………………

  -rw-r--r-- 1 root root 168732916 Aug 12 09:25 vmcore.21

  二、Panics错误类型分析

  依据系统提供的技术资料,Panics错误具有两种典型的错误类型:

  第一类:系统自动重启(reboot)

  这类错误是指系统在执行过程中遇到一条非法指令无法继续执行下去,为避免错误的扩大而采取的保护措施,这种非法指令的访问可由来自于主板、内存、显卡等很多因素,也可能是系统对某一硬件支持存在BUG;若硬件自身没问题,有时操作系统存在某些缺陷,也会导致此类故障的发生。

  第二类:系统挂起(system hang)

  这类错误现象是系统不接受任何指令,大多属于用户应用程序存在错误而耗尽了系统资源所致。

  从故障现象分析我们判断,该机器呈现的故障属于第一类情况。

  三、故障的研究与解决

  通过对系统内核故障卸载的文件unix.16 和 vmcore.16分析研究,解决了装有地震反演Jason软件的sun工作站系统运行不稳定问题。

  针对系统重启(reboot)故障,为了找出有效的故障处理方法,我们认为应该从分析系统发生故障所卸载的错误信息入手,利用系统中提供的调试工具,(如:adb、crash等)进行错误分析,根本无法找出解决问题的方法。最终在sunsolve网站上找到一个用于分析Panics错误所产生的DUMP文件的软件---Act(Automated Crash Analysis Tool)。

  1 act 软件的安装配置

  该软件的安装会在/etc/rc2.d中产生S76ACT_dumpscript脚本配置文件,便于日后跟踪分析。

  详细安装过程(略)

  2 运行Act软件进行代码分析,并将分析结果存放于act.16文件中

  # cd /var/crash/`hostname`

  # /opt/CTEact/bin/act ?n unix.16 ?d vmcore.16 > act.16

  3 对软件的结果进行分析,提取故障信息关键字

  # more act.16

  该文件信息很多,摘录其中的部分信息为:

  System booted at: 2003 Aug 7 01:09:37 GMT

  System crashed at: 2003 Aug 7 12:33:14 GMT

  Crash dump started at: 2003 Aug 7 12:34:54 GMT

  panic: BAD TRAP: type=%x rp=%p addr=%p mmu_fsr=%x occurred in module“%s”due to %s

  SunSolve search string: ### SUNSOLVE ###

  [ifb_kernel_dma_cmd_data trap type 31 (data mmu miss)](其中ifb为3D显卡逻辑设备名)

  从软件分析结果中提取出故障关键字: [ifb_kernel_dma_cmd_data trap type 31 (data mmu miss)],得到的结论是:目前的SunOS 5.8 Generic_108528-11 kernel版本对X Window 及3D显卡的支持仍存在bug,该工作站使用的显卡是Elite3D Graphics和Expert3D Graphics,由此得出故障处理的方法是对这台工作站下载最新补丁(patch)以解决对显卡的支持问题。

  需要的补丁文件如下:

  108569-08、108604-32、108605-33、108606-31、108576-41、108714-05、108773-08。

  4 故障的解决方法

  首先download所有补丁文件,再利用系统提供的pkgadd或patchadd实用程序解包并安装、效验。

  四、技术关键

  1 、 系统错误的定位及分析

  2 、 故障类型的确定及处理方法

  3 、ACT软件的开发与应用

  

上一个:在Linux中如何提高文件系统的使用效率
下一个:Linux教程:基于DNS的多机均衡负载的实现

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,