一、AIX系統(tǒng)維護(hù)經(jīng)驗(yàn)
1.故障信息的收集
收集故障信息對于判斷、診斷故障原因,修復(fù)系統(tǒng)非常重要。我們通過檢查系統(tǒng)錯誤報(bào)告errorlog、發(fā)給root用戶的錯誤報(bào)告mail和檢查hacmp.outsmit.logboot.log等內(nèi)容來判斷系統(tǒng)是否發(fā)生故障,根據(jù)故障信息進(jìn)行相應(yīng)的處理。
(1)系統(tǒng)故障記錄
errdemon 進(jìn)程在系統(tǒng)啟動時(shí)自動運(yùn)行,記錄包括硬件、軟件及其他操作信息,故障記錄文件為/var/adm/ras/errlog,可備份下來或拷貝到別的機(jī)器上分析,使用errpt 命令(普通用戶權(quán)限也可使用)。
#errpt |more 列出簡短出錯信息
#errpt -d H 列出所有硬件出錯信息
#errpt -d S 列出所有軟件出錯信息
#errpt -aj ERROR_ID 列出詳細(xì)出錯信息
(2)控制面板上的LED 代碼
(3)SMS(System Management Service)故障記錄
當(dāng)主控臺出現(xiàn)鍵盤圖標(biāo)后(LED顯示“E1F1時(shí)”)按1鍵。選擇“Utilities”,選擇“Error Log”,抄下8位故障代碼。
(4) Mail檢查
系統(tǒng)出現(xiàn)故障后會向root用戶發(fā)mail,報(bào)告出錯信息。通常系統(tǒng)出現(xiàn)故障后沒有進(jìn)行檢查修復(fù),系統(tǒng)還會定時(shí)以mail方式提醒root用戶。
(5)運(yùn)行故障診斷程序
對系統(tǒng)硬件進(jìn)行檢查和診斷,當(dāng)發(fā)現(xiàn)有硬件故障時(shí)應(yīng)立即使用diag。
#diag
> 選高級診斷(Advanced Diagnostic)
> 選問題診斷(Problem Determination)或選系統(tǒng)檢查(System Verification)
diag運(yùn)行后會給出SRN代碼、故障設(shè)備名稱及百分比數(shù)、地址代碼等。
(6)其他用于收集系統(tǒng)信息的命令
lsdev -C 系統(tǒng)設(shè)備信息
lspv 查看物理卷信息
lsvg 查看卷組信息
lslpp 查看文件組信息
lsattr 查看設(shè)備參數(shù)設(shè)置
lscfg 查看VPD(Virtual Product Data)信息
?。玻到y(tǒng)硬件故障定位
IBM 小型機(jī)硬件故障定位方法包括小型機(jī)機(jī)柜上的顯示面板上的Checkpoints信息,Error Code和SRNs。Checkpoints檢查點(diǎn)是系統(tǒng)加電CMOS初始化程序 (IPL,Initial Program Load)運(yùn)行后顯示在機(jī)柜的顯示面板上一系列信息。
IPL流程如下:當(dāng)系統(tǒng)加電后,自動進(jìn)入IPL流程,IPL流程包括4個(gè)步驟,
①Service Processor的初始化,始于系統(tǒng)加電,直到OK顯示在機(jī)柜上的顯示面板上為止。這個(gè)步驟會顯示8xxx或9xxx checkpoints代碼。
?、谟桑樱澹颍觯椋悖?Processor引導(dǎo)的硬件初始化,始于按下機(jī)柜上的白色電源開關(guān)。這個(gè)步驟會顯示9xxx checkpoints。“91FF”是最后的代碼,標(biāo)志著第3步的開始。
?、巯到y(tǒng)固件的初始化,一個(gè)系統(tǒng)處理器接管控制并繼續(xù)初始化系統(tǒng)資源,這個(gè)步驟會顯示Exxx。“E105”是最后的代碼,標(biāo)志著第4步驟AIX啟動的開始。在這個(gè)過程中還會顯示各種位置碼(位置碼代表著系統(tǒng)的每一個(gè)部分)。
④AIX啟動,當(dāng)AIX開始啟動時(shí),顯示面板上的代碼為0xxx,同時(shí)位置碼會出現(xiàn)在第二行。當(dāng)AIX的登錄窗口出現(xiàn)在控制臺上時(shí),第4步驟結(jié)束,同時(shí)顯示面板上再無任何信息顯示。
當(dāng)系統(tǒng)運(yùn)行發(fā)現(xiàn)錯誤時(shí),SRNs碼(Service request numbers,服務(wù)請求碼)會以xxx-xxx的形式顯示在顯示面板上,同時(shí)在AIX的errorlog中也會進(jìn)行登記;當(dāng)SSA磁盤柜出現(xiàn)故障時(shí),在磁盤柜前面板的液晶顯示屏上會顯示相應(yīng)的SRNs,同時(shí)黃色的顯示燈會閃動,在AIX的errorlog中會登記相應(yīng)錯誤信息,在出現(xiàn)問題后記錄下代碼,并告之IBM公司解決。
?。常浖栴}處理
軟件故障情況錯綜復(fù)雜,下面列舉幾個(gè)常見的故障處理方法。
(1)文件系統(tǒng)空間不夠
查看有沒有“滿”的文件系統(tǒng)。特別是/、/var、/tmp,不要超過90%。文件系統(tǒng)滿可導(dǎo)致系統(tǒng)不能正常工作,尤其是AIX的基本文件系統(tǒng)。如/ 根文件系統(tǒng)滿則會導(dǎo)致用戶不能登錄。用df-k查看。
# df -k 查看AIX的基本文件系統(tǒng)
除/usr文件系統(tǒng),其他文件系統(tǒng)都不應(yīng)太滿,一般不超過80%。
處理方法1:刪除垃圾文件
# du -sk |sort -rn |head
查找出當(dāng)前目錄下占空間最大的子目錄,逐層往下直到找出占空間最大的文件(要區(qū)分哪些目錄是文件系統(tǒng)的 mount point,哪些是文件系統(tǒng)的子目錄)。刪除文件,釋放空間。有時(shí)刪除文件后空間并不馬上釋放,這是由于刪除的文件正被某個(gè)程序打開。只有當(dāng)這個(gè)程序停止后,空間才釋放,有時(shí)甚至需要重啟系統(tǒng)。
處理方法2:增加文件系統(tǒng)大小
# smitty chjfs
只要卷組VG中有剩余空間,文件系統(tǒng)可以在任何時(shí)候加大。
(2)檢查文件系統(tǒng)的完整性
# umount filesystem_name
# fsck -y filesystem_name
注意:文件系統(tǒng)必須先umount,再做檢查和修復(fù),否則將導(dǎo)致未知的后果。
(3)查看卷組信息
查看是否有“stale”狀態(tài)的邏輯卷。若有,用syncvg命令修復(fù)。
(4)檢查內(nèi)存交換區(qū)使用率
檢查使用率是否超過70%,若超過則用chps-sX pgname增加X個(gè)PP或用 mkps -a -n -sX myvg在myvg上增加一個(gè)PP數(shù)為X的內(nèi)存交換區(qū)。
(5)小型機(jī)內(nèi)存泄漏問題
小型機(jī)出現(xiàn)內(nèi)存泄漏,即系統(tǒng)或應(yīng)用進(jìn)程無法將使用過的內(nèi)存釋放,使可用內(nèi)存的容量逐漸減少。如果可用內(nèi)存降到某最小值將造成系統(tǒng)或應(yīng)用程序無法FORK子進(jìn)程,就會造成系統(tǒng)癱瘓。通常我們可以用ps和sar命令來查看小型機(jī)內(nèi)存和CPU占用率的大概情況以及各進(jìn)程的內(nèi)存和CPU占用率的發(fā)展趨勢。使用ps命令,可查看內(nèi)存和CPU占用率的基本情況。找出其中占用內(nèi)存數(shù)不斷變大的進(jìn)程,這個(gè)進(jìn)程可能就已經(jīng)發(fā)生了內(nèi)存泄漏。
?。矗桑拢?HACMP 雙機(jī)熱備系統(tǒng)的管理和維護(hù)
(1)HACMP 雙機(jī)系統(tǒng)的啟動
以root用戶身份分別進(jìn)入系統(tǒng)各節(jié)點(diǎn),執(zhí)行# smit clstart命令。
(2)HACMP 雙機(jī)系統(tǒng)的關(guān)閉
以root用戶身份分別進(jìn)入系統(tǒng)各節(jié)點(diǎn),執(zhí)行# smit clstop命令。
(3)查詢HACMP 雙機(jī)系統(tǒng)的狀態(tài)
在雙機(jī)系統(tǒng)的運(yùn)行中,操作員只有知道雙機(jī)系統(tǒng)的當(dāng)前狀態(tài),才有可能對雙機(jī)系統(tǒng)出現(xiàn)的異常情況進(jìn)行恢復(fù)處理,保證雙機(jī)系統(tǒng)的高可用性和高容錯性。查詢HACMP雙機(jī)系統(tǒng)的狀態(tài),以root用戶身份進(jìn)入需要查詢的節(jié)點(diǎn),用# lssrc -g cluster命令檢查HACMP雙機(jī)軟件在該節(jié)點(diǎn)是否已啟動,系統(tǒng)顯示3個(gè)active的信息,則說明HACMP 雙機(jī)軟件已正常啟動。
在確認(rèn)雙機(jī)軟件HACMP 正常啟動的情況下,在命令行執(zhí)行# /usr/sbin/cluster/clstat -a命令查看雙機(jī)系統(tǒng)的當(dāng)前狀態(tài)。
?。担W(wǎng)絡(luò)故障處理
(1)網(wǎng)絡(luò)不通的診斷過程
ifconfig 查看網(wǎng)卡是否啟動(up);netstat-i查看網(wǎng)卡狀態(tài);Ierrs/Ipkts和Oerrs/Opkts是否>1%;ping本機(jī)網(wǎng)卡地址;ping其他機(jī)器地址,如不通,在其機(jī)器上用diag檢測網(wǎng)卡是否有問題。
在同一網(wǎng)中,子網(wǎng)掩碼應(yīng)一致。
(2)網(wǎng)絡(luò)配置的基本方法
①如需修改網(wǎng)絡(luò)地址、主機(jī)名等,一定要用chdev 命令。
# chdev -l inet0 -a hostname=myhost
# chdev -l en0 -a netaddr='112.0.15.1' -a netmask=255.255.255.0'
②查看網(wǎng)卡狀態(tài):# lsdev -Cc-if
③確認(rèn)網(wǎng)絡(luò)地址:# ifconfig en0
④啟動網(wǎng)卡:# ifconfig en0 up
⑤配置路由,有兩種方式加入路由:
a.永久路由
# chdev -l inet0 -a route='112.1.15.2','112.0.15.254'
b.臨時(shí)路由
# route add 112.1.15.2 112.0.15.254
用命令 netstat -rn 查看路由表
?。叮桑拢凸镜难矙z流程
IBM公司的巡檢流程,對我們?nèi)粘>S護(hù)應(yīng)重點(diǎn)關(guān)注的事項(xiàng)有所幫助,大家可以借鑒一下。
(1)檢查系統(tǒng)硬件情況:設(shè)備故障燈是否亮。
(2)系統(tǒng)錯誤報(bào)告。
(3)檢查是否有發(fā)給root用戶的錯誤報(bào)告。
(4)檢查hacmp.out,smit.log,boot.log。
(5)關(guān)鍵系統(tǒng)的文件使用率不大于80%。
(6)邏輯卷有否stale。
(7)內(nèi)存交換區(qū)使用率是否超過70%。
(8)內(nèi)存交換區(qū)的大小是否為物理內(nèi)存的1.5倍。
(9)檢查備份情況(是否有系統(tǒng)備份、用戶數(shù)據(jù)備份,磁帶機(jī)是否需要清洗)。
(10)檢查通信設(shè)置(網(wǎng)卡、IP、路由表、ping、/etc/hosts、DNS設(shè)置等)。
(11)是否有數(shù)據(jù)保護(hù)方式如RAID10/RAID5是否有Hot Spare。
(12)系統(tǒng)DUMP設(shè)置是否正確。
(13)檢查系統(tǒng)參數(shù)是否正確。
(14)檢查rootvg是否鏡像。
(15)檢查errdemonsrcmstr是否正常運(yùn)行。
(16)檢查機(jī)房環(huán)境(電壓、濕度)。
(17)檢查系統(tǒng)性能:是否存在性能瓶頸topasvmstat。
(18)檢查補(bǔ)丁程序(PTF)、微碼(是否需要升級)。
(19)進(jìn)行HACMP測試:Cluster Verification。
(20)進(jìn)行系統(tǒng)硬件診斷:運(yùn)行故障診斷程序(Diagnostic)。
二、AIX系統(tǒng)參數(shù)優(yōu)化
AIX內(nèi)核屬于動態(tài)內(nèi)核,核心參數(shù)基本上可以自動調(diào)整,因此當(dāng)系統(tǒng)安裝完畢后應(yīng)考慮修改的參數(shù)一般包括以下內(nèi)容。
1.系統(tǒng)用戶的最大登錄數(shù)maxlogin
maxlogin的具體大小可根據(jù)用戶數(shù)設(shè)定,可以通過smitty chlicense命令修改,該參數(shù)記錄在/etc/security/login.cfg文件中,修改在系統(tǒng)重新啟動后生效。
?。玻到y(tǒng)用戶的limits參數(shù)
這些參數(shù)位于/etc/security/limits文件中,可以把這些參數(shù)設(shè)為-1即無限制,可以用vi修改/etc/security/limits文件,所有修改在用戶重新登錄后生效。
?。常校幔纾椋睿?Space
檢查Paging Space的大小,在物理內(nèi)存<2G時(shí),應(yīng)至少設(shè)定為物理內(nèi)存的1.5倍,若物理內(nèi)存>2G,可作適當(dāng)調(diào)整。同時(shí)在創(chuàng)建Paging Space時(shí) 應(yīng)盡量分配在不同的硬盤上,提高其性能。利用smitty chps修改原有Paging Space的大小或利用smitty mkps增加一塊Paging Space。
?。矗到y(tǒng)核心參數(shù)配置
利用lsattr -Elsys0檢查maxuproc,minpout,maxpout等參數(shù)的大小。maxuproc為每個(gè)用戶的最大進(jìn)程數(shù)通常如果系統(tǒng)運(yùn)行Oracle應(yīng)調(diào)整maxuproc,將Default:128調(diào)整到500,maxuproc增加可以馬上生效。當(dāng)應(yīng)用涉及大量的順序讀寫而影響前臺程序響應(yīng)時(shí)間時(shí),可考慮將maxpout設(shè)為33minpout設(shè)為16,用smitty chgsys命令設(shè)置。
?。担募到y(tǒng)空間的設(shè)定
一般來說,文件系統(tǒng)/、/usr、/var、/tmp的使用率不應(yīng)超過80%,/tmp建議至少為300M,文件系統(tǒng)滿將導(dǎo)致系統(tǒng)不能正常工作,尤其是AIX的基本文件系統(tǒng),如/根文件系統(tǒng)滿則會導(dǎo)致用戶不能登錄。用df 查看:#df-k(查看AIX的基本文件系統(tǒng)),利用smitty chfs擴(kuò)展文件系統(tǒng)的空間。
?。叮せ睿樱樱?Fast-Write Cache
利用smitty ssafastw激活每一個(gè)邏輯盤hdiskn的Fast-Write Cache:選擇硬盤后,把Enable Fast-Write改為Yes后,回車即可。
?。罚龋椋纾?water mark for pending write I/Os per filemaxpout和Low water mark for pending write I/Os per file配置
其缺省值為0,在雙機(jī)環(huán)境中一般應(yīng)將High water mark設(shè)為33Low water mark設(shè)為24,這兩個(gè)參數(shù)可用smitty chgsys來設(shè)置。
8.syncd daemon的數(shù)據(jù)刷新頻率
該值表示刷新內(nèi)存數(shù)據(jù)到硬盤的頻率,缺省值為60,一般可改為20,也可根據(jù)實(shí)際情況更改。該參數(shù)通過/sbin/rc.boot配置,將nohup/usr/sbin/syncd 60>/dev/null 2>&1&參數(shù)中的60改為20即可。
三、AIX系統(tǒng)備份和恢復(fù)
備份和恢復(fù)是系統(tǒng)管理員經(jīng)常要做的事情,主要包括rootvg備份和用戶數(shù)據(jù)備份。
1.操作系統(tǒng)和系統(tǒng)程序的備份
#tctl -f /dev/rmt0 rewind
#smit mksysb
在“備份設(shè)備或文件”中添入“/dev/rmt0”后回車,系統(tǒng)會運(yùn)行很長時(shí)間,等到屏幕顯示OK后拿出磁帶。這時(shí)候,系統(tǒng)備份完成。mksysb僅備份rootvg中已安裝的文件系統(tǒng)。
?。玻脩魯?shù)據(jù)備份
(1)常用磁帶機(jī)選項(xiàng)
/dev/rmt0 若選擇/dev/rmt0,在插入磁帶和寫完一次磁帶時(shí),磁帶機(jī)都將磁帶反繞到頭。因此下一次備份文件將覆蓋本次備份。
/dev/rmt0.1若選擇/dev/rmt0.1則插入磁帶和寫完一次磁帶時(shí),磁帶機(jī)均不反繞磁帶。因此,一盤磁帶可以連續(xù)備份幾個(gè)文件或文件系統(tǒng)。
(2)#smit fs
選擇“備份文件系統(tǒng)”,輸入要備份的“文件系統(tǒng)名稱”,輸入“/dev/rmt0.1”,重復(fù)上述操作即可在同一盤磁帶上備份多個(gè)文件系統(tǒng)。
?。常颍铮铮簦觯绲幕謴?fù)
啟動機(jī)器進(jìn)入維護(hù)模式,當(dāng)出現(xiàn)“Welcome to Base Operating System Installation and Maintanence”時(shí),選3 “Start Maintenance Mode for System Recovery”,要恢復(fù)系統(tǒng),繼續(xù)選4“Install from a System Backup”,出現(xiàn)“Choose mksysb Device”畫面,選“/dev/rmt0”并插入磁帶后回車,系統(tǒng)自動恢復(fù)操作系統(tǒng)。
4.用戶數(shù)據(jù)恢復(fù)
#tctl -f /dev/rmt0 rewind
#smit fs
選擇“恢復(fù)文件系統(tǒng)”,添入“設(shè)備名稱”和“目標(biāo)目錄”,系統(tǒng)會自動恢復(fù)相應(yīng)目錄。
四、AIX系統(tǒng)日常檢查
AIX系統(tǒng)日常檢查工作是應(yīng)用維護(hù)非常重要的部分,可以把系統(tǒng)故障排除在萌芽階段,以下日常檢查很有參考價(jià)值。
(1)硬件檢查
檢查各指示燈狀態(tài)和各物理設(shè)備的可用情況。
(2)進(jìn)程檢查
檢查是否有死進(jìn)程,使用ps -ef命令列出正在運(yùn)行的所有進(jìn)程的各種信息。
(3)文件系統(tǒng)是否滿
適用df-k 命令可以以k為單位檢查文件系統(tǒng)的使用率。
(4)檢查系統(tǒng)出錯日志
使用errpt |more命令檢查,清除現(xiàn)有的logErrclear 0。
(5)檢查系統(tǒng)合法/非法登錄情況
使用Last命令檢查登錄地點(diǎn)。
(6)檢查系統(tǒng)是否有巨大的Core文件生成
使用find / -name core-print命令檢查。對Core文件,一般直接刪除即可。
(7)系統(tǒng)性能檢查
①CPU性能:使用Vmstat topas命令檢查。
②內(nèi)存使用情況:使用topas,vmstat命令檢查。
③檢查IO平衡使用情況:使用iostat命令檢查。
④交換空間使用情況:使用lsps -a命令檢查。
(8)Mail檢查