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