扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
硬件助手
一、本章讨论各种确认设备安装的方法,这些方法有利于记录系统错误信息,然后采用一定的措施来解决系统故障。也讨论使用系统日志记录任何想要的信息
二、列出各种硬件设备:
1〕lsdev显示在系统中的设备及其属性,语法:
lsdev -C [ -c Class ] [ -s Subclass ] [ -t Type ] [ -f File ][ -F Format | -r ColumnName ] [ -h ] [ -H ] [ -l Name ][ -S State ]
lsdev -P [-c Class ] [ -s Subclass ] [ -t Type ] [ -f File ][ -F Format | -r ColumnName ] [ -h ] [ -H ]
参数意义:
-C:列出在自定义设备对象类中的设备信息,C是customized,通常列出设备名、状态、位置、描述,不能和-P一起使用;
-c class:指定输出设备的类;
-H:在输出栏中显示每栏的头;
-h:显示命令使用消息;
-P:显示预定义设备对象类中的设备信息,P是predefined,通常列出类、类型、子类、描述,不能和-C、-l、-S一起使用;
-S State:列出所有在指定状态的设备。
2〕lspv 显示在卷组中的物理卷的信息,语法:
lspv [ -l | -p | -M ] [ -n DescriptorPhysicalVolume] [-v VolumeGroupID] PhysicalVolume
-p:列出每个物理卷中物理分区范围、状态、在盘体中的区域(如outer、center等)、LV名、类型和mount点;
-v VGID:访问基于卷组ID变量的信息
3〕lsattr显示给定设备或给定设备种类的属性信息
三、配置系统设备
cfgmgr可以向系统中加入一个新设备或者配置在系统启动过程中无法侦测为可用状态的设备。设备的配置受作为设备配置数据库的一部分的Configuration Rules object class的约束。配置规则包含三个项目:一个可执行程序运行的全路径;何时运行该程序(和其它规则相关);在哪个阶段运行该程序。
cfgmgr在系统启动的第一阶段运行所有第一阶段的配置规则,这使得所有的基本设备被配置,此后第二阶段cfgmgr带参数-s被调用。一般来说cfgmgr命令在调用过程中会运行所有的配置规则〔第一阶段带有参数-f〕,但是如果-l参数被使用了,就会只配置指定的设备及其子设备。
如cfgmgr命令被调用时没有指定阶段,就会运行第二阶段规则。如果要运行第三阶段的规则,只能用-p 3指定。
每个阶段的配置规则都被安排好从指定的seq域中读取相应的值。这个域是一个整数,用来指定执行与其它在这阶段运行的规则关联的运行优先级,数值越小优先级越高,但是0代表最后运行。
典型的配置规则:
phase seq rule
1 1 /usr/lib/methods/defsys
1 10 /usr/lib/methods/deflvm
2 1 /usr/lib/methods/defsys
2 5 /usr/lib/methods/ptynode
210 /usr/lib/methods/startlft
215 /usr/lib/methods/starttty
3 1 /usr/lib/methods/defsys
3 5 /usr/lib/methods/ptynode
3 10 /usr/lib/methods/startlft
315 /usr/lib/methods/starttty
cfgmgr使用举例:当cfgmgr带-f参数被调用,执行上表中的两个第一阶段的命令;当带-s参数或-p 2或不带参数被调用时,执行上表中4个第二阶段的命令;当带-p 3调用时,执行4个第三阶段命令;
要配置连接在scsi0上的设备时,使用cfgmgr -l scsi0;要在配置时自动从安装介质安装,使用cfgmgr -i /usr/sys/inst.images
四、系统管理服务(System Managenmen Services):cfgmgr是从软件级别配置硬件,SMS可以从硬件级别检查配置系统。
使用sms程序的步骤:
1、首先确认机器是关闭的;
2、如果系统是需要sms软盘的,先在客户端插入软盘并打开机器,如果不插入软盘而需要软盘,将提示以后插入;
3、当显示器上底部图标从左向右显示时按下F1(图形菜单)或F4(文字菜单)进而sms菜单(如果没有按下F1或F4,将正常启动);
4、菜单显示,进行必要的测试或配置,也可修改进入查询密码,如果忘记,请主板放电。
五、硬件兼容性
RS/6000和RSPC系统支持PCI、ISA、SCSI接口的设备。如果设备支持软件安装了并且cfgmgr在系统引导时运行了并且无硬件冲突,PCI和SCSI设备会自动配置。
非本地的设备必须人工配置,可能需要改变设备的predefined 或customized属性值,尤其是当配置超过一个的相同设备的时候。
即使有多个适配器,也不一定能在相同的适配器上运行不同的设备。不同的机器规格有各种不同的配置。例如:如果有SCSI SE Ultra控制器,只有SE SCSI设备能接上去;同样地,如果有100M局域网,10M网卡就不能正常工作。
设备配置数据库:a、predefined数据库包含所有可能的系统中的已配置的设备的配置数据;b、customized数据库包含了所有当前系统中已定义和已配置的设备的配置数据。
无论在系统引导阶段还是运行阶段,只要cfgmgr程序在运行,设备配置数据库就允许机器进行自动配置。
对于非本地的ISA设备,包含在配置数据库中预定义部分的信息数据没有充分地自动完成,自由冲突,ISA设备配置。因此,在第一次配置设备是用户需要人工自定义一些被ISA设备使用的值〔如中断级别、共享内存地址等〕。
六、lsattr命令语法:lsattr { -D [ -O ] | -E [ -O ] | -F Format } -l Name [ -a Attribute ] [ -f File ] [ -h ] [ -H ]
lsattr { -D [ -O ] | -F Format } { [ -c Class ] [ -s Subclass ] [ -t Type ] }[ -a Attribute ] ... [ -f File ] [ -h ] [ -H ]
lsattr -R { -l Name | [ -c Class ] [ -s Subclass ] [ -t Type ] } -a Attribute [ -f File ] [ -h ] [ -H ]
参数意义:-D:显示属性名、默认值、描述、不使用-O参数的指定设备中用户可设定的参数值,当使用-O参数的时候,只显示属性名,默认值
-E:显示属性名、当前值、描述、不使用-O参数的指定设备中用户可设定的参数值,当使用-O参数时,只显示属性名,当前值,这个参数不和-c,-D,-F,-R,-s,-t一起使用
-F format:以指定的格式显示输出
-a attribute:显示指定设备或设备种类的属性
-c class:指定设备类名,不能和-E和-l参数一起使用
-f file:从文件中读取需要的参数
-H:在输出中显示栏标题,把-H和-O或-R一起使用没有意义,-O或-R优先
-l:指定要显示其属性名和values的自定义设备对象类中设备逻辑名,这些设备在/dev下都列出来了
-O:显示所有属性名,以冒号分开,第二行显示所有相应的属性值
-R:显示一个属性名的合法值,不能和-D,-E,-F和-O参数一起使用,但可以和-c,-s,-t,-l参数一起使用,显示结果以垂直列表的方式显示,-R参数可以显示从x到n的范围的属性值。
-s subclass:指定一个设备子类名,该参数不能和-E或-l一起使用
-t type:指定一个设备类型名,不能和-E或-l一起使用
当显示自定义设备的有效属性值的时候,这些信息来自配置数据库,而不是来自设备本身。通常数据库里的值反映了设备是如何配置的,除非该设备被以chdev -P或-T命令重新配置过。如果有这种情况,在下次重新启动之前,lsattr命令可能不会正确地反映当前设备的配置
如果使用的-D或-E参数,输出会显示属性名、属性值、描述、不带-O参数时用户可设定的字符串。-O表示显示所有指定属性的名字,以冒号分开。下一行显示相应的所有属性值。-H参数可以和-D,-E,-F一起使用显示栏头,-F参数可以指定输出的格式。
七、用smit管理设备,可以实现以下目的:在IPL后安装或配置附加的硬件;删除设备;列出存在的设备;改变或显示设备属性;实现设备问题的诊断。
八、系统错误日志:当某个操作系统模块探测到一个错误的时就会触发错误日志进程,错误侦测段代码就会发送错误信息到errsave和errlast kernel service或错误日志应用子程序,信息就被转入或写入/dev/error文件。进程然后加入时间戳到收集到的数据中去,可以使用errpt命令从错误日志中找到错误记录。
使用errdemon命令:errdemon进程经常检查/dev/error文件中的新条目,如果新数据匹配错误记录模板库中的某个项目时,后台程序就会收集其它系统组件中的信息.
errdemon通常在系统启动是自动启动,但是如果它被中断了,可以重新执行它:/usr/lib/errdemon.
确定系统错误日志文件的路径:/usr/lib/errdemon -l,结果如下:
# /usr/lib/errdemon -l
Error Log Attributes
--------------------------------------------
Log File /var/adm/ras/errlog
Log Size 1048576 bytes
Memory Buffer Size 8192 bytes
要改变log size,运行/usr/lib/errdemon -s 2000000;
要改变错误日志设备驱动器的内部缓冲,运行:/usr/lib/errdemon -B 16384;同时会显示以下信息:0315-175 The error log memory buffer size you supplIEd will be rounded up to a multiple of 4096 bytes.
使用errpt命令:errpt命令用errlog中的数据产生错误报告,它也可用参数来指定匹配特殊标准的条目,如果不带参数,就会列出所有的记录,并以从近到久的顺序排列,该命令不能完成日志分析,要分析需要用diag命令.
常用语法:
errpt [ -a ] [ -c ] [ -d ErrorClassList ] [ -e EndDate ] [ -g ] [ -i File ]
[ -j ErrorID [ , ErrorID ] ] | [ -k ErrorID [ , ErrorID ]] [ -J ErrorLabel
[ , ErrorLabel ] ] | [ -K ErrorLabel [ , ErrorLabel ] ] [ -l SequenceNumber ]
[ -m Machine ] [ -n Node ] [-s StartDate ] [ -F FlagList ]
[ -N ResourceNameList ] [ -R ResourceTypeList ] [ -S ResourceClassList ]
[ -T ErrorTypeList ] [ -y File ] [ -z File ]
常用参数意义:
-a:以详细方式显示错误日志中的错误信息,如果和-t参数联合使用,显示模板中所有的信息
-j errid[,errid]:显示指定errid的错误记录,可用逗号分隔多个errid,或附上双引号以逗号分隔或空格分隔.联合-t参数,条目从错误模板库中取出.
-s startdate:指定显示startdate之后的记录,startdate格式为mmddhhmmyy.
-t:对错误记录模板库进行处理而不是对错误日志,该参数可以用于查看报表中的错误记录模板.
-F flaglist:依据模板的Alert/Log/Report域的值选择错误记录模板.
-J errorlabel:列出由errorlabel指定的错误日志条目.
errloger:写错误日志
errclear:从错误日志中删除条目
errinstall:安装消息到错误日志消息集中
errupdate:更新错误记录模板库
九、诊断硬件问题
diag命令用于定位硬件问题,它测试系统并分析错误日志.有图形界面,也可直接用命令行.其使用方法:
1.运行diag命令;
2.在显示的信息屏中按下回车;
3.选择诊断程序;
4.选择故障定位.
同样地,也可以使用diag -d sysplanar0 -v -e完成相同的诊断任务.
十、系统日志
AIX使用syslogd记录系统消息.syslogd读取datagram socket并发送每个消息行到/etc/syslog.conf描述的目的地.syslogd后台在活动并收到挂起信号的时候读取配置文件.
syslogd后台创建/etc/syslog.pid文件.该文件只有这样一行:该行有syslogd后台的命令进程ID.它用于结束或重新配置syslogd后台.
当一个终结信号送达,syslogd后台终止.后台记录下终止信息并立即结束.
每条消息都只有一行,一条消息包含一个在行首由尖括号括起来的数字,该数字代表优先权,如果消息长度超过900字节,就会被截断.
/usr/include/sys/syslog.h包含定义一些文件灵敏度和优先级的代码,并被配置文件使用
本地被写入的应用程序使用包含在syslog.h文件中的定义通过syslogd后台来记录日志信息.
syslogd的语法syslogd [ -d ] [ -s ] [ -f ConfigurationFile ] [ -m MarkInterval ] [-r].
参数含义:
-d:进入调试
-f config file:指定一个可选的配置文件.
-m markinterval:指定两个mark命令消息之间的分钟数.如果不使用该参数,mark命令每20分钟会发送一个Log_info优先级的消息.facility也不能由选择所有其它facilities的selector域来选择
-s 指定发送精简的消息到其它系统从而使所有syslogd消息在本地系统上产生.
-r 禁止录入从远程主机接受到的消息.
syslogd后台使用一个配置文件根据消息的优先级和facility确定系统消息送达的地方.
默认情况下,syslogd读取默认的配置文件/etc/syslog.conf,但如果通过-f参数指定了,就可以指定替换的配置文件.
/etc/syslog.conf文件控制了syslogd后台的行为.如syslogd使用/etc/syslog.conf文件确认了送错误消息到哪里或者怎样应付不同的系统事件.
除了/etc/syslog.conf文件包含了syslogd后台的设置之外,/etc/syslog.pid也包含了运行syslogd后台的进程ID
配置文件的格式:
selector域定义了facility和优先级.以逗号分离facility名,以点号分离facility和优先级,以分号分离相同selector域中多个条目,选择所有的facilities用星号.
action域确定了一个接收消息的目的地.如果发送到一个远程主机,远程系统会象在自己的配置文件中指出的一样处理该消息,要在一个用户终端上显示消息,destination域必须包含一个登录到系统中的可用用户名.
facilities,下面列出一些在/etc/syslog.conf文件中使用的facilities:
Facility Description
kern Kernel
userUser level
mail Mail subsystem
daemon System daemons
auth Security or authorization
syslog syslogd daemon
lpr Line-printer subsystem
news News subsystem
uucp uucp subsystem
* All facilities
priority,下面列出在/etc/syslog.conf文件中使用的优先级,这些优先级可以在selector域中的消息优先级字段.指定优先级或高于该优先级的级别的消息直接发送.
Priority Level Description
emerg Specifies emergency messages (LOG_EMERG). These messages are not distributed to all users. LOG_EMERG priority messages can be logged into a separate file for reviewing.
alert Specifies important messages (LOG_ALERT), such as a serious hardware error. These messages are distributed to all users.
crit Specifies critical messages not classified as errors (LOG_CRIT),such as improper login attempts. LOG_CRIT and higher-priority messages are sent to the system console.
err Specifies messages that represent error conditions (LOG_ERR), such as an unsuccessful disk write.
warning Specifies messages for abnormal, but recoverable, conditions (LOG_WARNING).
notice Specifies important informational messages (LOG_NOTICE). Messages without a priority designation are mapped into this priority. These are more important than informational messages, but not warnings.
info Specifies informational messages (LOG_INFO). These messages can be discarded but are useful in analyzing the system.
debug Specifies debugging messages (LOG_DEBUG). These messages may be discarded.
none Excludes the selected facility. This priority level is useful only if preceded by an entry with an * (asterisk) in the same selector field.
destination,下面列出一些在/etc/syslog.conf文件中使用的destinations,可以在action域使用这些destinations
Destination Description
File Name Full path name of a file opened in append mode.
@Host Host name, preceded by @ (at sign).
User[, User][...] User names.
* All users.
修改syslog.conf文件后,需要重新启动syslogd后台.使用以下命令
1.查看syslogd后台进程ID是什么:ps -ef|grep syslogd
# ps -ef | grep syslogd
root 5426 4168 0 Nov 01 - 0:00 /usr/sbin/syslogd
root 24938 25854 2 12:04:03 pts/6 0:00 grep syslog
2.使用stoprc命令停止syslogd后台:stoprc -s syslogd
3.检查syslogd后台是否成功停止:ps -ef|grep syslogd
4.重启syslogd后台:startsrc -s syslogd
对/etc/syslog.conf作一些修改:
1.向/tmp/mailsyslog日志中录入所有的mail facility的级别为debug或超过debug级别的消息:mail.debug /tmp/mailsyslog.其中,mail是facility,debug是优先级,/tmp/mailsyslog是目的地.
2.送所有的系统信息[除了来自mail facility的]到一台名为rigil的主机:*.debug;mail.none @rigil.其中*和mail是facility,debug和none是优先级,@rigil是目的地.
3.把所有的mail facility消息送到所有用户终端显示上:mail.debug *
十一、设置ASCII终端
3151终端有几种方式连接到AIX系统:直接联机,通过modem连接.连接到AIX系统将占用一个串口.或通过异步适配器连接到AIX.
要加入一个终端的步骤如下:
1.使用smitty tty并选择Add a TTY,或者使用smitty maktty;
2.系统将询问tty类型及其父适配器,从列表中选择正确的值;
3.在PORT number域选择想使用的端口号,对于紧接着位置代码规则的RAN选择适当的端口号.
4.改变终端类型域的值为正确的值,如果该设置不正确,可能无法使用所有的健.终端环境动态存储这些设置.
5.设置线速度和通讯种类
这些将会创建一个设备特殊文件到/dev目录下,并在/etc/inittab文件中加入一条,以便在系统启动的时候在终端上运行getty使终端可用,同时也会在自定义ODM数据库中加入一条该终端的定义.
也可以通过命令行方式直接加入一个终端.要加入一个ibm3151终端,通过串口rs232,使用sa0适配器的s1端口,使用:mkdev -c tty -t tty -s rs232 -p sa0 -w s1 -a login=enable -a term=ibm3151
可以以以下命令删除一个终端:rmdev -l ttyname -d,这里ttyname可以通过使用tty命令列出来并确认.
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者