銀行AIX日常維護內容

AIX操作系統下應用系統的維護與性能優化

 

 

應用維護是一項細緻的工作,在工作中除了要求技術人員工作嚴謹、認真負責外,還要求技術人員必須具備在各種突發事件中較高的處理能力和工作經驗。隨着工商銀行兩大數據中心的建立,工行核心業務數據集中到數據中心,各一級分行的工作重點轉移到櫃面業務系統、綜合前置系統和歷史數據查詢系統等外圍系統的維護工作方面,其中AIX操作系統在工行的使用比較廣泛。在應用維護方面,工行使用AIX操作系統的應用主要有:綜合前置系統、跨行支付系統、客戶對賬系統、歷史數據查詢系統、國際業務結算系統5個應用系統。通過幾年來的工作實踐,我們積累了一些AIX操作系統環境下應用系統的維護及性能優化的經驗,歸納爲5個方面,供同行借鑑。

  
  一、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、hdisk0rootvg。
  做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將釋放資源組aNodeA重新取得控制權。NodeB發生任何故障,不會造成任何影響。

  
  二、AIX系統維護經驗
  
  1.故障信息的收集
   收集故障信息對於判斷、診斷故障原因,修復系統非常重要。我們通過檢查系統錯誤報告errorlog、發給root用戶的錯誤報告mail和檢查hacmp.outsmit.logboot.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)檢查errdemonsrcmstr是否正常運行。
   (16)檢查機房環境(電壓、溼度)。
   (17)檢查系統性能:是否存在性能瓶頸topasvmstat。
   (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設爲33minpout設爲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 filemaxpout和Low water mark for pending write I/Os per file配置
   其缺省值爲0,在雙機環境中一般應將High water mark設爲33Low 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時,選3Start Maintenance Mode for System Recovery,要恢復系統,繼續選4Install 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命令檢查,清除現有的logErrclear 0。
   (5)檢查系統合法/非法登錄情況
   使用Last命令檢查登錄地點。
   (6)檢查系統是否有巨大的Core文件生成
   使用find / -name core-print命令檢查。對Core文件,一般直接刪除即可。
   (7)系統性能檢查
  CPU性能:使用Vmstat topas命令檢查。
  內存使用情況:使用topas,vmstat命令檢查。
  檢查IO平衡使用情況:使用iostat命令檢查。
  交換空間使用情況:使用lsps -a命令檢查。
   (8)Mail檢查

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章