AIX Problem determination 1、 Boot 日志工具 用于跟踪Boot过程及可能在此期间发生问题的所在,可以使用alog命令监视这些问题,rc.boot 脚本使用alog命令重定向boot信息到文件/var/adm/ras/bootlog如果系统出现问题,可以单用户模式启动系统,使用alog –o –t boot命令查看该文件,确定是哪里出现了问题。 -f:指定一Logfile名字,如文件不存在建立一个,如果alog不能写到该文件,则写到/dev/null -L:列出当前alog配置数据库定义的日志类型,如和-t一起使用,列出该类型的详细信息 -o:写Logfile文件内容到标准输出 -q:拷贝标准输入到Logfile文件,但不写到标准输出 -t Type:指定类型,alog从alog配置数据库获得log名字和大小 例子: alog –f Logfile –o alog –f Logfile |-q –s size alog –t Type –v (verbosity value) alog –C –t Type –f Logfile –s Size –v Verbosity alog –L –t Type alog –L(boot,bosinst,nim,dumpsymp) + alog –o –t Type (smitty alog_show) 循环日志,当多个CPU同时写同一个日志文件时,文件的内容是不可预知的。2、 错误日志工具 错误日志记录硬件及软件故障,为错误诊断及更正提供服务,错误日志子系统有三个组件构成: Error log programming:开发人员使用建立错误模板和信息 Error processing:错误出现是处理 Error log file processing:管理员用于诊断问题 详细视图见下页! ①配置错误日志文件(/var/adm/ras/errlog) /usr/bin/errdemon –l列出错误日志配置数据库中的错误文件信息 /usr/bin/errdemon –i /var/adm/ras/errlog.test 改变错误日志文件的名字 /usr/bin/errdemon –s Size(byte)改变错误日志文件的大小(不能小于4K),如果指定的大小小于当前的文 件,则当前文件更改为.old,并创建新的指定大小的文件,它也是循环日志。 /usr/bin/errdemon –B Size(16384)改变错误日志设备的内部缓存 ②启动、停止错误日志守护进程 /usr/bin/errdemon(如果errpt没有输出,该守护进程可能终止) /usr/bin/errstop ③清除错误日志(smitty errclear) 通常在日处理的cron命令执行,也可手动执行 errclear 0清除所有记录 errclear –d S 0 清除所有的软件错误记录 ④产生错误报告(errpt) errpt –a –c –d ErrClass –e EndDate –g –i File –j|-k ErrID –J|-K ErrLabel –l SequenceNum –m Machine -n Node –s StartDate –F Flag –N ResourceName –R ResourceType –S ResourceClass –T ErrType -y File –z File -a:显示详细信息 -c:同步显示,错误出现时,显示错误信息 -d ErrClass:显示指定类的错误 -T ErrType:显示指定类型的错误 -e EndDate:显示截止到某时的错误信息 -s StartDate:显示自某时开始的错误信息 -J ErrLabel:显示指定Label的错误 -j ErrID:显示指定ID的错误 -K ErrLabel:显示除指定Label的错误 -k ErrID:显示除指定ID的错误 -N ResourceName:显示指定资源名产生的错误 ErrType: PEND:设备、组件不可用,紧急。 PERF:设备、组件的性能低于可接受的级别 PERM:永久性错误,不能恢复 TEMP:临时错误,已经恢复 UNKN:未知错误 INFO:消息 ErrClass: H:硬件错误;S:软件错误;O:消息;U:不能确定 ls /var/adm/ras/errlog|backup -ivp(f /dev/fd0)备份错误日志到软盘 ls /var/adm/ras/errlog|backup –ivpf /dev/rmt0备份错误日志到磁带机 ⑤日志维护 系统管理员可以使用errlogger在错误日志中记录消息 errlogger “This is a test about errlogger command” 3、系统dump工具(smit dump) 当系统意外终止,系统dump拷贝选择的内核结构到dump设备。系统dump设备能被动态配置为磁带 机或逻辑卷来存储系统dump。主要的dump设备是专门的dump设备,次要的dump设备是共享 的。在安装OS时,dump设备自动配置。缺省的,5L版本配置/dev/hd6为主要的dump设备,而 /dev/sysdumpnull为次要的dump设备。(如果系统从AIX3升级而来,AIX3缺省的dump设备/dev/hd7 依然为5L的默认dump设备。系统和用户都可以初始化dump,当dump完成,系统终止或重启,依据 sys0自动重启属性的设置(smitty;System Environments;Change/Show characteristics of OS) ①管理dump设备 sysdumpdev –l列出当前的dump设备 sysdumpdev –P –p /dev/newdump改变缺省的主要dump设备 sysdumpdev –e估计当前dump设备的大小 sysdumpdev -L显示先前dump的统计信息 ②系统开始dump 系统内核panic开始的系统dump写到主dump设备。闪动的“888”指示消息正在解码,按reset键查 看,RS6000系统使用增强的按钮实现该功能。 888-102表示系统异常终止,mmm表示终止原因,ddd表示dump状态和dump码 ③用户开始dump 用户有三种方法实现系统dump。 检查估计的dump大小 sysdumpdev –e 检查主dump设备大小 sysdumpdev -l lsps -a 开始dump sysdumpstart –p(primary)-s(secondary)从命令行开始 Ctrl+Alt+NumPad1(primary);Ctrl+Alt+NumPad2(secondary);reset(primary)特殊键开始 注意:只有keymode开关位于维护模式时按键开始dump才有效,或是执行命令: sysdumpdev –K ④验证系统dump crash命令是用于检验系统dump文件的交互工具 crash SystemImageFile KernelFile在此两个文件上执行crash命令 SystemImageFile是文件名或dump设备名 KernelFile是缺省内核/usr/lib/boot/unix Sysdumpdev –L列出系统dump文件名 Device name: /dev/hd6 Major device number: 10 Minor device number: 2 Size: 24202752 bytes Date/Time: Tue Nov 10 16:50:45 CST 1998 Dump status: 0 dump completed successfully Dump copy filename: /var/adm/ras/vmcore.1 crash /var/adm/ras/vmcore.1验证dump的有效性 Using /unix as the default namelist file. > > stat sysname: AIX nodename: aix4xdev release: 3 version: 4 machine: 000044091C00 time of crash: Tue Nov 10 16:50:45 CST 1998 age of system: 1 day, 5 hr., 28 min. xmalloc debug: disabled abend code: 0 csa: 0x0 > > quit 如果crash命令输出>,stat子命令输出dump细节 ⑤拷贝系统dump 在5L版本,pax命令允许拷贝、建立、修改大于2G的文件(象系统dump),用于迁移dump(先前版本 使用tar,cpio命令---但不能操作大于2G的文件),pax命令也以tar,cpio的格式查看修改文件。 Pax –r|-w|-rw –c –d –i –k –l –n –t –u –v –X –H|-L –p String –o Options –s ReplacementString -x Format File Directory -a:添加文件到归档的末尾 -c:匹配所有归档成员或文件(pattern参数指定的除外) -d:只考虑路径不考虑路径的内容 -f Archive:指定要使用的归档文件的路径 -i:重命名文件或归档 -k:防止该命令覆盖存在的文件 -r:从标准输入读一归档文件 -v:写进程的信息 -w:以指定的归档格式写文件到标准输出 -x Format:指定输出的归档格式(pax----可以大于2G,cpio,ustar) 注意:不指定-x参数,缺省为tar格式,指定-x不指定Format,缺省为pax格式 pax –vf /etc/temp.tar查看tar文件 pax –x pax –wvf temp.tar /home/user/soft.tar /home/user/temp.tar建立一个pax格式文件 temp.tar,包含文件/home/user/soft.tar和/home/user/temp.tar,大于2G pax –wvf /dev/rmt0 dump.out拷贝dump.out文件到磁带机 pax –rvf /var/adm/link.tar解压缩tar文件/var/adm/link.tar到当前目录 pax –rw run.pax /tmp拷贝run.pax文件到/tmp目录 ⑥编译拷贝系统dump到媒质 命令snap用于收集系统的配置信息,提供方便的方法发送lslpp,errpt输出到服务支持中心,它收集 信息并压缩信息成pax文件,并可下载到磁带、软盘等媒质。 Snap –a –A –b –c –D –f –g –G –i –k –l –L –n –N –p –r –s –S –t –T –w –o OutputDev -d Dir –v Component -a:收集所有的系统信息,大约需要8M的/tmp空间 -c:建立/tmp/ibmsupt目录树或其他命名的目录下的所有文件的压缩pax镜像(snap.pax.Z文件) -d Dir:指定可选的snap输出路径(缺省/tmp/ibmsupt) -D:收集dump和/unix信息,使用主dump设备 -f:收集文件系统信息 -g:收集lslpp –hBc命令的输出,需要这些信息重建正确的OS环境,写输出到/tmp/ibmsupt/general/ /lslpp.hBc文件,收集通用的系统信息输出到/tmp/ibmsupt/general/general.snap文件 -k:收集内核信息 -L:收集LVM信息 -o Outputdev:拷贝压缩的镜像到磁带或软盘 -r:从/tmp/ibmsupt目录删除snap命令的输出 -v Component:显示输出,看指定名字或组的文件 /usr/sbin/snap –gfkD –o /dev/rmt0拷贝系统信息(包括文件系统和内核参数)到磁带 在执行snap –o和snap –c命令前,任何服务支持中心需要的附加信息都应该加到/tmp/ibmsupt目录 例如,服务支持中心(IBM)需要你提供一个说明问题的测试例子,则应拷贝它到/tmp/ibmsupt目录, snap –o和snap –c命令执行时,该测试例子也被包括在里面。
|
|