AIX日常維護(hù)(轉(zhuǎn)自CU,感謝原作者) 1. 文件系統(tǒng)是否滿(mǎn)
方法: df –k 可以以K為單位檢查文件系統(tǒng)的使用率。(90%以上,需要調(diào)整)
2. 檢查系統(tǒng)出錯(cuò)日志 使用errpt |more來(lái)檢查
清除現(xiàn)有的log: Errclear 0
3. 檢查系統(tǒng)合法/非法登陸情況
使用Last命令來(lái)檢查來(lái)自登陸的地方。
4. 檢查系統(tǒng)是否有巨大的Core文件生成
使用 find / -name core –print來(lái)檢查。對(duì)Core文件,一般直接刪除就可以了。
5. 系統(tǒng)性能檢查:
a) CPU性能:使用Vmstat, topas來(lái)檢查
b) 內(nèi)存使用情況:也是使用topas, vmstat來(lái)檢查
c) 檢查IO平衡使用情況:使用iostat來(lái)檢查
d) 交換空間使用情況:使用lsps –a來(lái)檢查
6. Mail檢查
7. Diag 一個(gè)月一次
補(bǔ)充兩點(diǎn):
1。硬件檢查,檢查各指示燈狀態(tài)和各物理設(shè)備的可用情況。
2。進(jìn)程檢查,檢查是或有死進(jìn)程。
用who -d 查出一些死進(jìn)程!
AIX日常指令和常用操作
一:開(kāi)機(jī)登錄
在開(kāi)機(jī)之前,先檢查電源是否插好;然后,按下前面板上白色電源開(kāi)關(guān)后,主機(jī)會(huì)進(jìn)入硬件自檢和引導(dǎo)階段;此時(shí),前面板上的液晶會(huì)有代碼跳動(dòng),每一個(gè)代碼表示自檢或引導(dǎo)的不同階段,最后在引導(dǎo)結(jié)束時(shí),前面板液晶上的代碼消失,彩顯或終端上有顯示,進(jìn)入系統(tǒng)初始化和登錄提示。如果主機(jī)停在某一代碼上,引導(dǎo)不下去(大于半小時(shí)),說(shuō)明系統(tǒng)可能有故障,請(qǐng)與IPACS 聯(lián)系,并把代碼一起報(bào)給我們。
二:關(guān)機(jī)
1)關(guān)閉應(yīng)用程序
2)HACMP軟件,先用smit clstop關(guān)閉HACMP。
3)命令行打“shutdown -F”進(jìn)關(guān)機(jī),顯示器上出現(xiàn)“Halt Completed”可按下前面板
上白色電源開(kāi)關(guān),關(guān)電源。
如果需要關(guān)機(jī)后重新引導(dǎo),打“shutdown -Fr”命令。
三:基本定義
1) Physical Volume(PV)
Physical Volume就是指硬盤(pán),在AIX中用hdiskx表示。
7133磁盤(pán)陣列中的某個(gè)硬盤(pán)用pdiskx表示,pdiskx對(duì)應(yīng)的AIX操作系統(tǒng)中Physical Volume用hdiskx表示。
用lspv命令來(lái)看一下PV與VG對(duì)應(yīng)關(guān)系
用lsdev -Cc disk命令看一下硬盤(pán)狀態(tài),Available 表示硬盤(pán)可用,Defined 表示物理硬盤(pán)
找不到,只有邏輯定義。
2)Volume Group(VG)
Volume Group 是由多個(gè)Physical Volume組成的集合。
Physical Partition是VG分配空間的最小單位。
AIX操作系統(tǒng)所在的卷組就是rootvg
可用lsvg 查看VG信息,
用lsvg -o 查看打開(kāi)的卷組。
3)Logical Volume(LV)和FileSystem(FS)
Logical Volume和Filesystem是在卷組上劃分的空間,不能跨多個(gè)卷組而且只能擴(kuò)大不
能縮小。
Filesystem是在LV上建的,使用時(shí),需mount在AIX某一目錄上。
可用lsvg -l VG_Name來(lái)看VG 上所有的LV和FS
用 df 命令來(lái)看Filesystem 使用情況
用mount命令來(lái)看已mount的Filesystem
四: 日常系統(tǒng)管理
AIX通過(guò)smit 工具 (smitty是字符界面)來(lái)進(jìn)行系統(tǒng)管理。
1)增加修改刪除用戶(hù)
smit user
2)增加修改刪除卷組
smit vg
3)增加修改刪除邏輯卷
smit lv
4)增加修改刪除文件系統(tǒng)
smit fs
5)網(wǎng)絡(luò)設(shè)置和查詢(xún)
smit tcpip
Minimal Configuration
填入IP地址,子網(wǎng)掩碼,網(wǎng)關(guān)等參數(shù);
Start Now改為Yes
netstat -i / netstat -in 查看網(wǎng)卡interface狀態(tài)和參數(shù)
6)日常維護(hù)
平時(shí)需用 df 和 errpt 檢查一下文件系統(tǒng)使用率和有無(wú)新的錯(cuò)誤日志。
如果文件系統(tǒng)使用率大于90%,需擴(kuò)大該文件系統(tǒng)。
命令行打errpt后,可以顯示類(lèi)似下列錯(cuò)誤日志;
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時(shí)10分
T(Type)一欄中,P表示永久性錯(cuò)誤,T 表示零時(shí)性錯(cuò)誤,U 表示不能決定是什么錯(cuò)誤
,I 表示信息而非錯(cuò)誤。
CL(CLass)一欄中,H表示硬件錯(cuò)誤,S 表示硬件錯(cuò)誤,O 表示通知操作員。
如果 T(Type)一欄中是P且 CL(CLass)一欄中是H,表示較嚴(yán)重錯(cuò)誤,需跟IBM聯(lián)系。
五:系統(tǒng)備份(僅rootvg備份)
備份是用戶(hù)的責(zé)任,可用下列步驟備份rootvg,其它數(shù)據(jù)需另外備份。系統(tǒng)備份要定
時(shí)做,一般1--2月做一次,凡rootvg數(shù)據(jù)有變化(如系統(tǒng)參數(shù)修改)要馬上備份。最好用幾合帶子輪流備份。備份帶上要標(biāo)明備份時(shí)間和內(nèi)容。
1)用root用戶(hù)登錄
2)mount rootvg下需備份的文件系統(tǒng)
3)smit mksysb
選擇備份介質(zhì)
Expand /tmp filesystem if needed 改為 Yes
六:診斷
diag
->System Verification
選擇需診斷的硬件設(shè)備
七:常用命令
set -o vi 類(lèi)似PC DOS 中doskey命令,先按ESC鍵再按幾下k鍵,可重現(xiàn)以前打過(guò)的
命令。
export TERM=vt100/ibm3153/lft 設(shè)置終端類(lèi)型
lsdev -C和lscfg -v 顯示硬件配置
1、df -k文件系統(tǒng)空間使用情況
2、lsvg 列出系統(tǒng)中所有vg的名字
lsvg -o 列出激活vg名字
lsvg vgname列出指定vg的詳細(xì)信息
lsvg -l vgname列出指定vg上的lv情況
3、lsdev -P -H列出AIX支持的設(shè)備(即預(yù)定義odm數(shù)據(jù)庫(kù)中的設(shè)備對(duì)象)
lsdev -C 列出AIX支持的設(shè)備已定義的odm數(shù)據(jù)庫(kù)中的設(shè)備對(duì)象
lsdev -Cc xxx列出定制odm數(shù)據(jù)庫(kù)中某個(gè)設(shè)備對(duì)象的信息
例如:
lsdev -Cc disk
lsdev -Cc tape
lscfg列出系統(tǒng)上已安裝的資源的配置信息
lscfg -vl列出某個(gè)設(shè)備的VPD信息
例如:
lscfg -vl ent1
lscfg -vl hdisk1
lscfg -l xxx\*列出設(shè)備的不帶VPD的相關(guān)信息
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、系統(tǒng)性能檢測(cè)工具
vmstat內(nèi)存、pagespace、CPU等監(jiān)測(cè)(vmstat 2 10每隔2秒鐘執(zhí)行一次,共執(zhí)行10次)
iostat 硬盤(pán)I/O監(jiān)測(cè)
netstat網(wǎng)卡監(jiān)測(cè)
topas綜合檢測(cè)工具
6、ps進(jìn)程察看
ps -ef|grep 進(jìn)程名
例如:
ps -ef|grep sap
ps -ef|grep oracle
ps -ef|grep tsm
ps -ef|grep cluster
其他的指令可參照smitty工具來(lái)操作
Basis學(xué)習(xí)
showmount -e ip
lsdev -Cc adapter|grep ent 查看網(wǎng)卡
lsdv -Cc if 查看網(wǎng)卡接口
ifconfig -a
netstat -in 看網(wǎng)卡IP信息
netstat -rn 路由
lssrc -t telnet
lssrc -t ftp
vi /etc/inetd.conf
禁止遠(yuǎn)程通過(guò) root 登陸,修改 /etc/security/user 文件,在root選項(xiàng)將 false 作為 rlogin 的值
進(jìn)行AIX 的日常維護(hù),需要關(guān)注哪些日志文件?
文件 描述 建議
core 和 snapcore 由應(yīng)用產(chǎn)生的 dump 文件, 可用于診斷錯(cuò)誤 可刪除
nohup.out nohup 命令的輸出結(jié)果 可刪除
.xerrors X11的輸出結(jié)果 可截短
mbox 用戶(hù)郵箱中的郵件 可截短
smit.log 和 smit.script 用戶(hù)使用smit 命令后的日志 可適當(dāng)保留最后1000行,或刪除
/var/adm/wtmp 記錄用戶(hù)的登錄信息,是二進(jìn)制文件, 用who 命令來(lái)閱讀其內(nèi)容 根據(jù)需要保留60天中有用的內(nèi)容,其余刪除
/etc/security/failedlogin 記錄用戶(hù)失敗的登錄信息,是二進(jìn)制文件,用who 命令來(lái)閱讀其內(nèi)容 可根據(jù)需要保留60天中有用的內(nèi)容,其余刪除
/var/adm/sulog 用戶(hù)使用su 命令的日志 可根據(jù)需要保留60天中有用的內(nèi)容,其余刪除
/var/adm/cron/log cron的日志 可截短
/var/tmp/snmpd.log snmp 監(jiān)控進(jìn)程日志 可截短
/var/tmp/dpid.log
/var/tmp/dpid2.log
/var/tmp/hostmidb.log
/var/tmp/muxatmd snmp 子系統(tǒng)日志 可截短
dead.letter 未成功的郵件 可刪除
trcfile trace 實(shí)用程序的輸出 可刪除
/var/adm/messages 用于記錄syslog進(jìn)程的日志 可適當(dāng)保留最后1000行,或刪除
/etc/shutdown.log 系統(tǒng)關(guān)機(jī)過(guò)程日志,用shutdown -l 命令產(chǎn)生 可適當(dāng)保留最后1000行,或刪除
如何自動(dòng)殺死UNIX僵死的進(jìn)程
作者:曹蘇華
人保系統(tǒng)的計(jì)算機(jī)應(yīng)用,已從單機(jī)運(yùn)行方式過(guò)渡到以公司為中心的集中處理方式,各縣級(jí)支公司通過(guò)廣域網(wǎng)、遠(yuǎn)程telnet登錄到市公司主機(jī)。由于網(wǎng)絡(luò)的原因,有些進(jìn)程會(huì)突然僵死。這些僵死的進(jìn)程,會(huì)消耗系統(tǒng)大量的資源,直接影響機(jī)器的正常運(yùn)行。為了實(shí)時(shí)地、自動(dòng)地殺死這些僵死的進(jìn)程,本人編寫(xiě)了 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 查看進(jìn)程狀態(tài),通過(guò)管道傳送給 awk 進(jìn)行處理。
在第一個(gè) awk 中,獲取進(jìn)程的用戶(hù)標(biāo)識(shí)(UID)、進(jìn)程號(hào)(PID)、進(jìn)程占用CPU時(shí)間(Time)、進(jìn)程執(zhí)行命令(CMD)四個(gè)字段的值。
在第二個(gè)awk 中,通過(guò)模式匹配,選取所有匹配模式的行。在awk 中,[0-9]匹配0~9中任一個(gè)數(shù)字,[1-9]匹配1~9中任何一個(gè)數(shù)字,連用兩個(gè)[0-9][0-9]則匹配一個(gè)任意兩位數(shù),因此[0-9][0-9]:[0-9][0-9]:[1-9][0-9]則匹配 Time時(shí)間字段值,查找占用 CPU 時(shí)間超過(guò) 10 秒的進(jìn)程;如果要查找占用 CPU 時(shí)間超過(guò)半小時(shí)的進(jìn)程,則把模式改成 [0-9][0-9]:[3-9][0-9]:[0-9][0-9]。
在第三個(gè) awk 中,用 “!/root/ ”過(guò)濾掉由 Root用戶(hù)生成的進(jìn)程,并進(jìn)行Shell語(yǔ)言拼裝,并將最終結(jié)果定向到文件 /tmp/k_kill。在 /tmp/k_kill 文件中,都是形如 kill -9 123 的Shell命令。
在Autokill程序的最后,執(zhí)行 /tmp/k_kill 殺死進(jìn)程。
查看中間結(jié)果
Autokill程序采用了管道處理方式,如要查看中間結(jié)果,則可以依次斷開(kāi)管道。
第一步執(zhí)行:ps -ef
第二步執(zhí)行:ps -ef | awk ‘{ print $1,$2,$7,$8 }‘
第三步執(zhí)行: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 }‘
第四步執(zhí)行: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 文件。
再有,如只想自動(dòng)殺死由某一用戶(hù)執(zhí)行的進(jìn)程(如jdc3206),只要將模式“!/root/”改成 “/jdc3206/”即可;如只想殺死執(zhí)行某一命令的進(jìn)程(如 xinmu ),只要將模式“!/root/” 改成“/xinmu/”即可。
最后用 crontab -e 增加一個(gè) cron 作業(yè)。
0,30 * * * * /tmp/autokill
Kill命令失靈怎么辦
經(jīng)過(guò)以上步驟,系統(tǒng)每隔半小時(shí)執(zhí)行一次/tmp/autokill。但在UNIX系統(tǒng)中,有些僵死的進(jìn)程會(huì)莫名其妙地不能用 Kill 命令殺死,這就需要重新引導(dǎo)機(jī)器,一方面清除系統(tǒng)垃圾,另一方面需要對(duì)資源重新分配。采用中心運(yùn)行模式,機(jī)器不能隨意開(kāi)關(guān)機(jī),總要等到夜晚沒(méi)有用戶(hù)使用機(jī)器時(shí),才能重新開(kāi)關(guān)機(jī)。為此編寫(xiě)一個(gè)Shell程序,讓機(jī)器自動(dòng)開(kāi)關(guān)機(jī)。以下是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 行,是設(shè)置 Informix系統(tǒng)環(huán)境,命令 onmode -ky 是關(guān)閉 Informix Online數(shù)據(jù)庫(kù),命令 sync 是UNIX 文件系統(tǒng)超級(jí)塊回寫(xiě),命令 reboot 是UNIX 系統(tǒng)中的系統(tǒng)重新啟動(dòng)命令。
用 crontab -e 命令,增加一行 cron 作業(yè)30 6 * * * /tmp/auto_boot。
該命令使系統(tǒng)每天6:30 重新開(kāi)關(guān)機(jī)。如果使用的是雙機(jī)系統(tǒng),則要在兩臺(tái)機(jī)器上,都要進(jìn)行重新開(kāi)關(guān)機(jī),時(shí)間定成一致。