AIX問題解決思路

anycall2010發表於2008-06-28

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完成,系統終止或重啟,依據
;Change/Show characteristics of;System Environmentssys0自動重啟屬性的設定(smitty 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命令執行時,該測試例子也被包括在裡面。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8334342/viewspace-366208/,如需轉載,請註明出處,否則將追究法律責任。

相關文章