1.文件系统是否满
方法:df –k 可以以K为单位检查文件系统的使用率。(90%以上,需要调整)
2.检查系统出错日志 使用errpt |more来检查
清除现有的log: Errclear 0
3.检查系统合法/非法登陆情况
使用Last命令来检查来自登陆的地方。
4.检查系统是否有巨大的Core文件生成
使用 find / -name core –print来检查。对Core文件,一般直接删除就可以了。
5.系统性能检查:
  a) CPU性能:使用Vmstat, topas来检查
  b) 内存使用情况:也是使用topas, vmstat来检查
  c) 检查IO平衡使用情况:使用iostat来检查
  d) 交换空间使用情况:使用lsps –a来检查
6.Mail检查
7.Diag 一个月一次

补充两点:
1、硬件检查,检查各指示灯状态和各物理设备的可用情况。
2、进程检查,检查是或有死进程。
用who -d 查出一些死进程!
AIX日常指令和常用操作

==================================================
一:开机登录
在开机之前,先检查电源是否插好;然后,按下前面板上白色电源开关后,主机会进入硬件自检和引导阶段;此时,前面板上的液晶会有代码跳动,每一个代码表示自检或引导的不同阶段,最后在引导结束时,前面板液晶上的代码消失,彩显或终端上有显示,进入系统初始化和登录提示。如果主机停在某一代码上,引导不下去 (大于半小时),说明系统可能有故障,请与IPACS 联系,并把代码一起报给我们。

二:关机
1)关闭应用程序
2)HACMP软件,先用smit clstop关闭HACMP。
3)命令行打“shutdown -F”进关机,显示器上出现“Halt Completed”可按下前面板
上白色电源开关,关电源。
如果需要关机后重新引导,打“shutdown -Fr”命令。

三:基本定义
1) Physical Volume(PV)
Physical Volume就是指硬盘,在AIX中用hdiskx表示。
7133磁盘阵列中的某个硬盘用pdiskx表示,pdiskx对应的AIX操作系统中Physical Volume用hdiskx表示。
用lspv命令来看一下PV与VG对应关系
用lsdev -Cc disk命令看一下硬盘状态,Available 表示硬盘可用,Defined 表示物理硬盘
找不到,只有逻辑定义。

2)Volume Group(VG)
Volume Group 是由多个Physical Volume组成的集合。
Physical Partition是VG分配空间的最小单位。
AIX操作系统所在的卷组就是rootvg
可用lsvg 查看VG信息,
用lsvg -o 查看打开的卷组。

3)Logical Volume(LV)和FileSystem(FS)
Logical Volume和Filesystem是在卷组上划分的空间,不能跨多个卷组而且只能扩大不
能缩小。
Filesystem是在LV上建的,使用时,需mount在AIX某一目录上。
可用lsvg -l VG_Name来看VG 上所有的LV和FS
用 df 命令来看Filesystem 使用情况
用mount命令来看已mount的Filesystem

四: 日常系统管理
AIX通过smit 工具 (smitty是字符界面)来进行系统管理。
1)增加修改删除用户
smit user
2)增加修改删除卷组
smit vg
3)增加修改删除逻辑卷
smit lv
4)增加修改删除文件系统
smit fs
5)网络设置和查询
smit tcpip
Minimal Configuration
填入IP地址,子网掩码,网关等参数;
Start Now改为Yes
netstat -i / netstat -in 查看网卡interface状态和参数
6)日常维护
平时需用 df 和 errpt 检查一下文件系统使用率和有无新的错误日志。
如果文件系统使用率大于90%,需扩大该文件系统。
命令行打errpt后,可以显示类似下列错误日志;

ERROR_IDENTIFIER TIMESTAMP T CL RESOURCE_NAME ERROR_DESCRIPTION
192AC071 0101000070 I 0 errdemon Error logging turned off
0E017ED1 0405131090 P H mem2 Memory failure
9DBCFDEE 0101000070 I 0 errdemon Error logging turned on
038F2580 0405131090 U H scdisk0 UNDETERMINED ERROR
AA8AB241 0405130990 I O OPERATOR OPERATOR NOTIFICATION

其中,TIMESTAMP代表日期,以MMDDhhmmYY格式;如0405131090表示1990年
4月5日13时10分
T(Type)一栏中,P表示永久性错误,T 表示零时性错误,U 表示不能决定是什么错误
,I 表示信息而非错误。
CL(CLass)一栏中,H表示硬件错误,S 表示硬件错误,O 表示通知操作员。
如果 T(Type)一栏中是P且 CL(CLass)一栏中是H,表示较严重错误,需跟IBM联系。

五:系统备份(仅rootvg备份)
备份是用户的责任,可用下列步骤备份rootvg,其它数据需另外备份。系统备份要定
时做,一般1–2月做一次,凡rootvg数据有变化(如系统参数修改)要马上备份。最好用几合带子轮流备份。备份带上要标明备份时间和内容。

1)用root用户登录
2)mount rootvg下需备份的文件系统
3)smit mksysb
选择备份介质
Expand /tmp filesystem if needed 改为 Yes

六:诊断
diag
->System Verification
选择需诊断的硬件设备

七:常用命令
set -o vi 类似PC DOS 中doskey命令,先按ESC键再按几下k键,可重现以前打过的
命令。
export TERM=vt100/ibm3153/lft 设置终端类型
lsdev -C和lscfg -v 显示硬件配置
1、df -k文件系统空间使用情况
2、lsvg 列出系统中所有vg的名字
lsvg -o 列出激活vg名字
lsvg vgname列出指定vg的详细信息
lsvg -l vgname列出指定vg上的lv情况
3、lsdev -P -H列出AIX支持的设备(即预定义odm数据库中的设备对象)
lsdev -C 列出AIX支持的设备已定义的odm数据库中的设备对象
lsdev -Cc xxx列出定制odm数据库中某个设备对象的信息
例如:
lsdev -Cc disk
lsdev -Cc tape
lscfg列出系统上已安装的资源的配置信息
lscfg -vl列出某个设备的VPD信息
例如:
lscfg -vl ent1
lscfg -vl hdisk1
lscfg -l xxx*列出设备的不带VPD的相关信息
lscfg -l proc*
lscfg -l hdisk*
4、修改文件及目录的属性
4.1 chmod
例如:
chmod 765 xxx 修改文件xxx属性为765
chmod -R 765 XXX 修改目录xxx及其下子目录及文件属性为765
4.2 chown
例如:chown user:usergroup xxx修改文件xxx的属主为user:usergroup
chmod -R user:usergroup xxx 修改目录xxx及其下子目录及文件属主为user:usergroup
5、系统性能检测工具
vmstat内存、pagespace、CPU等监测(vmstat 2 10每隔2秒钟执行一次,共执行10次)
iostat 硬盘I/O监测
netstat网卡监测
topas综合检测工具
6、ps进程察看
ps -ef|grep 进程名
例如:
ps -ef|grep sap
ps -ef|grep oracle
ps -ef|grep tsm
ps -ef|grep cluster
其他的指令可参照smitty工具来操作

Basis学习

showmount -e ip
lsdev -Cc adapter|grep ent 查看网卡
lsdv -Cc if 查看网卡接口
ifconfig -a
netstat -in 看网卡IP信息
netstat -rn 路由
lssrc -t telnet
lssrc -t ftp
vi /etc/inetd.conf
禁止远程通过 root 登陆,修改 /etc/security/user 文件,在root选项将 false 作为 rlogin 的值

进行AIX 的日常维护,需要关注哪些日志文件? 

文件 描述 建议
core 和 snapcore 由应用产生的 dump 文件, 可用于诊断错误可删除
nohup.out nohup 命令的输出结果 可删除
.xerrors X11的输出结果 可截短
mbox 用户邮箱中的邮件 可截短
smit.log 和 smit.script 用户使用smit 命令后的日志可适当保留最后1000行,或删除
/var/adm/wtmp 记录用户的登录信息,是二进制文件, 用who 命令来阅读其内容 根据需要保留60天中有用的内容,其余删除
/etc/security/failedlogin 记录用户失败的登录信息,是二进制文件,用who 命令来阅读其内容可根据需要保留60天中有用的内容,其余删除
/var/adm/sulog 用户使用su 命令的日志可根据需要保留60天中有用的内容,其余删除
/var/adm/cron/log cron的日志 可截短
/var/tmp/snmpd.log snmp 监控进程日志 可截短
/var/tmp/dpid.log
/var/tmp/dpid2.log
/var/tmp/hostmidb.log
/var/tmp/muxatmd snmp 子系统日志 可截短
dead.letter 未成功的邮件 可删除
trcfile trace 实用程序的输出 可删除
/var/adm/messages 用于记录syslog进程的日志可适当保留最后1000行,或删除
/etc/shutdown.log 系统关机过程日志,用shutdown -l 命令产生可适当保留最后1000行,或删除

如何自动杀死UNIX僵死的进程
作者:曹苏华
人保系统的计算机应用,已从单机运行方式过渡到以公司为中心的集中处理方式,各县级支公司通过广域网、远程telnet登录到市公司主机。由于网络的原因,有些进程会突然僵死。这些僵死的进程,会消耗系统大量的资源,直接影响机器的正常运行。为了实时地、自动地杀死这些僵死的进程,本人编写了 Shell程序Autokill。

  Autokill程序脚本
  #
  # autokill
  #
  ps -ef | awk ‘{ print $1,$2,$7,$8 }‘ |
   awk ‘/[0-9][0-9]:[0-9][0-9]:[1-9][0-9]/ { print $1,$2,$3,$4 }‘ |
   awk ‘!/root/ { print "kill -9 " $2}‘ > /tmp/k_kill
  chmod 777 /tmp/k_kill
  /tmp/k_kill

  Autokill程序解释
  首先,用UNIX 命令 ps -ef 查看进程状态,通过管道传送给 awk 进行处理。

  在第一个 awk 中,获取进程的用户标识(UID)、进程号(PID)、进程占用CPU时间(Time)、进程执行命令(CMD)四个字段的值。

  在第二个awk 中,通过模式匹配,选取所有匹配模式的行。在awk 中,[0-9]匹配0~9中任一个数字,[1-9]匹配1~9中任何一个数字,连用两个[0-9][0-9]则匹配一个任意两位数,因此[0-9][0- 9]:[0-9][0-9]:[1-9][0-9]则匹配 Time时间字段值,查找占用 CPU 时间超过 10 秒的进程;如果要查找占用 CPU 时间超过半小时的进程,则把模式改成 [0-9][0-9]:[3-9][0-9]:[0-9][0-9]。

  在第三个 awk 中,用 “!/root/ ”过滤掉由 Root用户生成的进程,并进行Shell语言拼装,并将最终结果定向到文件 /tmp/k_kill。在 /tmp/k_kill 文件中,都是形如 kill -9 123 的Shell命令。

  在Autokill程序的最后,执行 /tmp/k_kill 杀死进程。

  查看中间结果
  Autokill程序采用了管道处理方式,如要查看中间结果,则可以依次断开管道。

  第一步执行:ps -ef
  第二步执行:ps -ef | awk ‘{ print $1,$2,$7,$8 }‘
  第三步执行:ps -ef | awk ‘{ print $1,$2,$7,$8 }‘ |

   awk ‘/[0-9][0-9]:[0-9][0-9]:[1-9][0-9]/ { print $1,$2,$3,$4 }‘

  第四步执行:ps -ef | awk ‘{ print $1,$2,$7,$8 }‘ |

   awk ‘/[0-9][0-9]:[0-9][0-9]:[1-9][0-9]/ { print $1,$2,$3,$4 }‘ |

   awk ‘!/root/ { print "kill -9 " $2}‘ > /tmp/k_kill

  最终查看 /tmp/k_kill 文件。

  再有,如只想自动杀死由某一用户执行的进程(如jdc3206),只要将模式“!/root/”改成 “/jdc3206/”即可;如只想杀死执行某一命令的进程(如 xinmu ),只要将模式“!/root/” 改成“/xinmu/”即可。

  最后用 crontab -e 增加一个 cron 作业。

  0,30 * * * * /tmp/autokill

  Kill命令失灵怎么办
  经过以上步骤,系统每隔半小时执行一次/tmp/autokill。但在UNIX系统中,有些僵死的进程会莫名其妙地不能用 Kill 命令杀死,这就需要重新引导机器,一方面清除系统垃圾,另一方面需要对资源重新分配。采用中心运行模式,机器不能随意开关机,总要等到夜晚没有用户使用机器时,才能重新开关机。为此编写一个Shell程序,让机器自动开关机。以下是Autoreboot 程序脚本。

  #
  # autoreboot
  #
  PATH=/bin:/etc:/usr/bin:/tcb/bin:/usr/informix/bin
  INFORMIXDIR=/usr/informix
  INFORMIXSERVER=da3206a
  ONCONFIG=onconfig.yca
  export PATH INFORMIXDIR INFORMIXSERVER ONCONFIG
  onmode -ky
  sync
  sync
  reboot

  Autoreboot程序前 5 行,是设置 Informix系统环境,命令 onmode -ky 是关闭 Informix Online数据库,命令 sync 是UNIX 文件系统超级块回写,命令 reboot 是UNIX 系统中的系统重新启动命令。

  用 crontab -e 命令,增加一行 cron 作业30 6 * * * /tmp/auto_boot。

  该命令使系统每天6:30 重新开关机。如果使用的是双机系统,则要在两台机器上,都要进行重新开关机,时间定成一致。