AIX操作系統下應用系統的維護與性能優化
一、AIX系統數據安全措施
在IBM小型機硬件配置期間,就應該考慮數據的安全性,系統資源的配置要滿足容錯處理的要求。主要應考慮以下幾點:
①生產主機發生硬件故障後,備機可以馬上自動接管應用系統;
②提高操作系統的硬件冗餘,儘量減少單點故障對系統的影響;
③加強系統備份,減少系統版本升級造成的影響。
針對以上要求,可以採取一些安全措施,主要是硬件資源的冗餘備份、系統軟件和應用軟件的合理分佈以及高可靠性集羣軟件的使用。我們的經驗是:把AIX操作系統和HACMP(High Availability Cluster Multi-Processing)軟件安裝在rootvg上,因爲rootvg損壞,系統將無法運行,即使通過備份磁帶恢復,也會造成系統停機。因此在磁盤空間充裕的情況下,可考慮對rootvg作鏡像。具體做法是將主機的兩塊內置硬盤做rootvg鏡像,這樣可提高系統的安全性,防止單塊硬盤損壞對系統的影響,即使內置硬盤壞了一塊,系統仍可正常運行。在建立rootvg鏡像時,應儘量使用連接在不同SCSI上的硬盤,以做到負載均衡。另外,爲提高系統的容錯能力,可對磁盤陣列上的硬盤進行鏡像配置(RAID0)或RAID5冗餘配置,配置爲datavg,在上面安裝數據庫和應用程序。爲提高節點可靠性,可搭建HACMP集羣環境,做到雙機熱備,即在2臺互爲備份的主機上配置HACMP參數,滿足系統熱備要求。在日常操作方面,要做好系統備份工作,定期對生產機做兩個或兩個以上的介質備份。
1.rootvg的配置
將hdisk0和hdisk1做成mirror,配置爲rootvg。
①把hdisk0、hdisk1加到rootvg:smitty extentvg hdisk1、hdisk0 →rootvg。
②做mirror:mirrorvg -c 2 rootvg。
③在hdisk0、hdisk1上創建boot IMAGE:bosboot -ad hdisk0,bosboot -ad hdisk1。
④改變啓動設備的順序:bootlist -m normal hdisk0,hdisk1 cd0
2.HACMP工作原理
HACMP主要是對羣集(cluster)資源的管理,根據應用複雜程度和配置的不同,其羣集資源的接管時間在30秒到300秒不等,完全不需要人工干預。一個羣集中的資源通常包括:應用程序、硬盤、卷組(VG)、文件系統、NFS文件系統、IP地址等。資源分屬三類資源組(Resource Group):層遞式(Cascading)、替換式(Rotating)、同時存取式(Concurrent)。不同類型的資源組對應不同的接管方式。一個羣集中可以有幾個資源組,它們可以分別是不同類型,因此,資源接管的方式可以多種多樣,配置十分靈活。
我們一般採用的是層遞式方式,即熱備份工作方式,其工作原理是:NodeA和NodeB都是資源組a的成員,該資源組a被設置成層遞式方式,NodeA對其擁有最高優先級。因此NodeA在羣集中處於active狀態時,它會控制資源組a中的所有資源,此時NodeB處於閒置(idle)狀態,僅當NodeA down掉時,NodeB纔會接管資源組a,一旦NodeA重新加入羣集,NodeB將釋放資源組aNodeA重新取得控制權。NodeB發生任何故障,不會造成任何影響。
二、AIX系統維護經驗
1.故障信息的收集
收集故障信息對於判斷、診斷故障原因,修復系統非常重要。我們通過檢查系統錯誤報告errorlog、發給root用戶的錯誤報告mail和檢查hacmp.outsmit.logboot.log等內容來判斷系統是否發生故障,根據故障信息進行相應的處理。
(1)系統故障記錄
errdemon 進程在系統啓動時自動運行,記錄包括硬件、軟件及其他操作信息,故障記錄文件爲/var/adm/ras/errlog,可備份下來或拷貝到別的機器上分析,使用errpt 命令(普通用戶權限也可使用)。
#errpt |more 列出簡短出錯信息
#errpt -d H 列出所有硬件出錯信息
#errpt -d S 列出所有軟件出錯信息
#errpt -aj ERROR_ID 列出詳細出錯信息
(2)控制面板上的LED 代碼
(3)SMS(System Management Service)故障記錄
當主控臺出現鍵盤圖標後(LED顯示“E1F1時”)按1鍵。選擇“Utilities”,選擇“Error Log”,抄下8位故障代碼。
(4) Mail檢查
系統出現故障後會向root用戶發mail,報告出錯信息。通常系統出現故障後沒有進行檢查修復,系統還會定時以mail方式提醒root用戶。
(5)運行故障診斷程序
對系統硬件進行檢查和診斷,當發現有硬件故障時應立即使用diag。
#diag
> 選高級診斷(Advanced Diagnostic)
> 選問題診斷(Problem Determination)或選系統檢查(System Verification)
diag運行後會給出SRN代碼、故障設備名稱及百分比數、地址代碼等。
(6)其他用於收集系統信息的命令
lsdev -C 系統設備信息
lspv 查看物理卷信息
lsvg 查看卷組信息
lslpp 查看文件組信息
lsattr 查看設備參數設置
lscfg 查看VPD(Virtual Product Data)信息
2.系統硬件故障定位
IBM 小型機硬件故障定位方法包括小型機機櫃上的顯示面板上的Checkpoints信息,Error Code和SRNs。Checkpoints檢查點是系統加電CMOS初始化程序 (IPL,Initial Program Load)運行後顯示在機櫃的顯示面板上一系列信息。
IPL流程如下:當系統加電後,自動進入IPL流程,IPL流程包括4個步驟,
①Service Processor的初始化,始於系統加電,直到OK顯示在機櫃上的顯示面板上爲止。這個步驟會顯示8xxx或9xxx checkpoints代碼。
②由Service Processor引導的硬件初始化,始於按下機櫃上的白色電源開關。這個步驟會顯示9xxx checkpoints。“91FF”是最後的代碼,標誌着第3步的開始。
③系統固件的初始化,一個系統處理器接管控制並繼續初始化系統資源,這個步驟會顯示Exxx。“E105”是最後的代碼,標誌着第4步驟AIX啓動的開始。在這個過程中還會顯示各種位置碼(位置碼代表着系統的每一個部分)。
④AIX啓動,當AIX開始啓動時,顯示面板上的代碼爲0xxx,同時位置碼會出現在第二行。當AIX的登錄窗口出現在控制檯上時,第4步驟結束,同時顯示面板上再無任何信息顯示。
當系統運行發現錯誤時,SRNs碼(Service request numbers,服務請求碼)會以xxx-xxx的形式顯示在顯示面板上,同時在AIX的errorlog中也會進行登記;當SSA磁盤櫃出現故障時,在磁盤櫃前面板的液晶顯示屏上會顯示相應的SRNs,同時黃色的顯示燈會閃動,在AIX的errorlog中會登記相應錯誤信息,在出現問題後記錄下代碼,並告之IBM公司解決。
3.軟件問題處理
軟件故障情況錯綜複雜,下面列舉幾個常見的故障處理方法。
(1)文件系統空間不夠
查看有沒有“滿”的文件系統。特別是/、/var、/tmp,不要超過90%。文件系統滿可導致系統不能正常工作,尤其是AIX的基本文件系統。如/ 根文件系統滿則會導致用戶不能登錄。用df-k查看。
# df -k 查看AIX的基本文件系統
除/usr文件系統,其他文件系統都不應太滿,一般不超過80%。
處理方法1:刪除垃圾文件
# du -sk |sort -rn |head
查找出當前目錄下佔空間最大的子目錄,逐層往下直到找出佔空間最大的文件(要區分哪些目錄是文件系統的 mount point,哪些是文件系統的子目錄)。刪除文件,釋放空間。有時刪除文件後空間並不馬上釋放,這是由於刪除的文件正被某個程序打開。只有當這個程序停止後,空間才釋放,有時甚至需要重啓系統。
處理方法2:增加文件系統大小
# smitty chjfs
只要卷組VG中有剩餘空間,文件系統可以在任何時候加大。
(2)檢查文件系統的完整性
# umount filesystem_name
# fsck -y filesystem_name
注意:文件系統必須先umount,再做檢查和修復,否則將導致未知的後果。
(3)查看卷組信息
查看是否有“stale”狀態的邏輯卷。若有,用syncvg命令修復。
(4)檢查內存交換區使用率
檢查使用率是否超過70%,若超過則用chps-sX pgname增加X個PP或用 mkps -a -n -sX myvg在myvg上增加一個PP數爲X的內存交換區。
(5)小型機內存泄漏問題
小型機出現內存泄漏,即系統或應用進程無法將使用過的內存釋放,使可用內存的容量逐漸減少。如果可用內存降到某最小值將造成系統或應用程序無法FORK子進程,就會造成系統癱瘓。通常我們可以用ps和sar命令來查看小型機內存和CPU佔用率的大概情況以及各進程的內存和CPU佔用率的發展趨勢。使用ps命令,可查看內存和CPU佔用率的基本情況。找出其中佔用內存數不斷變大的進程,這個進程可能就已經發生了內存泄漏。
4.IBM HACMP 雙機熱備系統的管理和維護
(1)HACMP 雙機系統的啓動
以root用戶身份分別進入系統各節點,執行# smit clstart命令。
(2)HACMP 雙機系統的關閉
以root用戶身份分別進入系統各節點,執行# smit clstop命令。
(3)查詢HACMP 雙機系統的狀態
在雙機系統的運行中,操作員只有知道雙機系統的當前狀態,纔有可能對雙機系統出現的異常情況進行恢復處理,保證雙機系統的高可用性和高容錯性。查詢HACMP雙機系統的狀態,以root用戶身份進入需要查詢的節點,用# lssrc -g cluster命令檢查HACMP雙機軟件在該節點是否已啓動,系統顯示3個active的信息,則說明HACMP 雙機軟件已正常啓動。
在確認雙機軟件HACMP 正常啓動的情況下,在命令行執行# /usr/sbin/cluster/clstat -a命令查看雙機系統的當前狀態。
5.網絡故障處理
(1)網絡不通的診斷過程
ifconfig 查看網卡是否啓動(up);netstat-i查看網卡狀態;Ierrs/Ipkts和Oerrs/Opkts是否>1%;ping本機網卡地址;ping其他機器地址,如不通,在其機器上用diag檢測網卡是否有問題。
在同一網中,子網掩碼應一致。
(2)網絡配置的基本方法
①如需修改網絡地址、主機名等,一定要用chdev 命令。
# chdev -l inet0 -a hostname=myhost
# chdev -l en0 -a netaddr='112.0.15.1' -a netmask=255.255.255.0'
②查看網卡狀態:# lsdev -Cc-if
③確認網絡地址:# ifconfig en0
④啓動網卡:# ifconfig en0 up
⑤配置路由,有兩種方式加入路由:
a.永久路由
# chdev -l inet0 -a route='112.1.15.2','112.0.15.254'
b.臨時路由
# route add 112.1.15.2 112.0.15.254
用命令 netstat -rn 查看路由表
6.IBM公司的巡檢流程
IBM公司的巡檢流程,對我們日常維護應重點關注的事項有所幫助,大家可以借鑑一下。
(1)檢查系統硬件情況:設備故障燈是否亮。
(2)系統錯誤報告。
(3)檢查是否有發給root用戶的錯誤報告。
(4)檢查hacmp.out,smit.log,boot.log。
(5)關鍵系統的文件使用率不大於80%。
(6)邏輯卷有否stale。
(7)內存交換區使用率是否超過70%。
(8)內存交換區的大小是否爲物理內存的1.5倍。
(9)檢查備份情況(是否有系統備份、用戶數據備份,磁帶機是否需要清洗)。
(10)檢查通信設置(網卡、IP、路由表、ping、/etc/hosts、DNS設置等)。
(11)是否有數據保護方式如RAID10/RAID5是否有Hot Spare。
(12)系統DUMP設置是否正確。
(13)檢查系統參數是否正確。
(14)檢查rootvg是否鏡像。
(15)檢查errdemonsrcmstr是否正常運行。
(16)檢查機房環境(電壓、溼度)。
(17)檢查系統性能:是否存在性能瓶頸topasvmstat。
(18)檢查補丁程序(PTF)、微碼(是否需要升級)。
(19)進行HACMP測試:Cluster Verification。
(20)進行系統硬件診斷:運行故障診斷程序(Diagnostic)。
三、AIX系統參數優化
AIX內核屬於動態內核,核心參數基本上可以自動調整,因此當系統安裝完畢後應考慮修改的參數一般包括以下內容。
1.系統用戶的最大登錄數maxlogin
maxlogin的具體大小可根據用戶數設定,可以通過smitty chlicense命令修改,該參數記錄在/etc/security/login.cfg文件中,修改在系統重新啓動後生效。
2.系統用戶的limits參數
這些參數位於/etc/security/limits文件中,可以把這些參數設爲-1即無限制,可以用vi修改/etc/security/limits文件,所有修改在用戶重新登錄後生效。
3.Paging Space
檢查Paging Space的大小,在物理內存<2G時,應至少設定爲物理內存的1.5倍,若物理內存>2G,可作適當調整。同時在創建Paging Space時 應儘量分配在不同的硬盤上,提高其性能。利用smitty chps修改原有Paging Space的大小或利用smitty mkps增加一塊Paging Space。
4.系統核心參數配置
利用lsattr -Elsys0檢查maxuproc,minpout,maxpout等參數的大小。maxuproc爲每個用戶的最大進程數通常如果系統運行Oracle應調整maxuproc,將Default:128調整到500,maxuproc增加可以馬上生效。當應用涉及大量的順序讀寫而影響前臺程序響應時間時,可考慮將maxpout設爲33minpout設爲16,用smitty chgsys命令設置。
5.文件系統空間的設定
一般來說,文件系統/、/usr、/var、/tmp的使用率不應超過80%,/tmp建議至少爲300M,文件系統滿將導致系統不能正常工作,尤其是AIX的基本文件系統,如/根文件系統滿則會導致用戶不能登錄。用df 查看:#df-k(查看AIX的基本文件系統),利用smitty chfs擴展文件系統的空間。
6.激活SSA Fast-Write Cache
利用smitty ssafastw激活每一個邏輯盤hdiskn的Fast-Write Cache:選擇硬盤後,把Enable Fast-Write改爲Yes後,回車即可。
7.High water mark for pending write I/Os per filemaxpout和Low water mark for pending write I/Os per file配置
其缺省值爲0,在雙機環境中一般應將High water mark設爲33Low water mark設爲24,這兩個參數可用smitty chgsys來設置。
8.syncd daemon的數據刷新頻率
該值表示刷新內存數據到硬盤的頻率,缺省值爲60,一般可改爲20,也可根據實際情況更改。該參數通過/sbin/rc.boot配置,將nohup/usr/sbin/syncd 60>/dev/null 2>&1&參數中的60改爲20即可。
四、AIX系統備份和恢復
備份和恢復是系統管理員經常要做的事情,主要包括rootvg備份和用戶數據備份。
1.操作系統和系統程序的備份
#tctl -f /dev/rmt0 rewind
#smit mksysb
在“備份設備或文件”中添入“/dev/rmt0”後回車,系統會運行很長時間,等到屏幕顯示OK後拿出磁帶。這時候,系統備份完成。mksysb僅備份rootvg中已安裝的文件系統。
2.用戶數據備份
(1)常用磁帶機選項
/dev/rmt0 若選擇/dev/rmt0,在插入磁帶和寫完一次磁帶時,磁帶機都將磁帶反繞到頭。因此下一次備份文件將覆蓋本次備份。
/dev/rmt0.1若選擇/dev/rmt0.1則插入磁帶和寫完一次磁帶時,磁帶機均不反繞磁帶。因此,一盤磁帶可以連續備份幾個文件或文件系統。
(2)#smit fs
選擇“備份文件系統”,輸入要備份的“文件系統名稱”,輸入“/dev/rmt0.1”,重複上述操作即可在同一盤磁帶上備份多個文件系統。
3.rootvg的恢復
啓動機器進入維護模式,當出現“Welcome to Base Operating System Installation and Maintanence”時,選3 “Start Maintenance Mode for System Recovery”,要恢復系統,繼續選4“Install from a System Backup”,出現“Choose mksysb Device”畫面,選“/dev/rmt0”並插入磁帶後回車,系統自動恢復操作系統。
4.用戶數據恢復
#tctl -f /dev/rmt0 rewind
#smit fs
選擇“恢復文件系統”,添入“設備名稱”和“目標目錄”,系統會自動恢復相應目錄。
五、AIX系統日常檢查
AIX系統日常檢查工作是應用維護非常重要的部分,可以把系統故障排除在萌芽階段,以下日常檢查很有參考價值。
(1)硬件檢查
檢查各指示燈狀態和各物理設備的可用情況。
(2)進程檢查
檢查是否有死進程,使用ps -ef命令列出正在運行的所有進程的各種信息。
(3)文件系統是否滿
適用df-k 命令可以以k爲單位檢查文件系統的使用率。
(4)檢查系統出錯日誌
使用errpt |more命令檢查,清除現有的logErrclear 0。
(5)檢查系統合法/非法登錄情況
使用Last命令檢查登錄地點。
(6)檢查系統是否有巨大的Core文件生成
使用find / -name core-print命令檢查。對Core文件,一般直接刪除即可。
(7)系統性能檢查
①CPU性能:使用Vmstat topas命令檢查。
②內存使用情況:使用topas,vmstat命令檢查。
③檢查IO平衡使用情況:使用iostat命令檢查。
④交換空間使用情況:使用lsps -a命令檢查。
(8)Mail檢查
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1527490