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、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将释放资源组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”时,选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命令检查,清除现有的log?Errclear 0。

   (5)检查系统合法/非法登录情况

   使用Last命令检查登录地点。

   (6)检查系统是否有巨大的Core文件生成

   使用find / -name core-print命令检查。对Core文件,一般直接删除即可。

   (7)系统性能检查

   ①CPU性能:使用Vmstat? topas命令检查。

   ②内存使用情况:使用topas,vmstat命令检查。

   ③检查IO平衡使用情况:使用iostat命令检查。

   ④交换空间使用情况:使用lsps -a命令检查。

   (8)Mail检查

相关文章
|
17天前
|
移动开发 Android开发 开发者
移动应用与系统:探索移动开发与操作系统的协同进化###
本文深入探讨了移动应用开发与移动操作系统之间错综复杂的关系,揭示了技术进步如何推动用户体验的飞跃。通过案例分析和技术解析,本文阐述了开发者在适应不断变化的操作系统环境中面临的挑战与机遇,以及这种互动如何塑造了我们的数字生活。 ###
|
26天前
|
人工智能 Linux Android开发
移动应用与系统:探索移动应用开发和操作系统的奥秘
【10月更文挑战第5天】 这篇文章将深入探讨移动应用与系统的关键技术,包括移动应用开发的基本流程、工具和技术,以及移动操作系统的核心原理和架构。我们将从浅入深,逐步揭开移动应用与系统的神秘面纱,帮助读者更好地理解和掌握这一领域的知识。
34 2
|
1月前
|
存储 传感器 API
移动应用开发中的操作系统交互与性能优化
本文将深入探讨移动应用开发中,开发者如何通过理解操作系统的工作原理和APIs来提升应用性能。我们将从基础的系统调用开始,逐步过渡到复杂的多线程管理和内存优化策略,最后讨论如何利用操作系统特性实现高效的数据存储和网络通信。文章旨在为开发者提供一系列实用的技巧和方法,帮助他们构建更快速、更稳定、更省电的移动应用。
29 1
|
4天前
|
人工智能 Android开发 数据安全/隐私保护
移动应用与系统:探索移动应用开发及操作系统的未来趋势####
本文深入探讨了移动应用开发和移动操作系统的现状、挑战与未来发展趋势。通过分析当前主流的移动操作系统(如Android和iOS)以及移动应用开发的最新技术,旨在为开发者提供有价值的参考,帮助他们更好地应对未来的挑战。 ####
|
8天前
|
前端开发 测试技术 调度
移动应用与系统:探索开发与操作系统的奥秘####
【10月更文挑战第22天】 本文深入剖析了移动应用的开发流程与移动操作系统的核心原理,揭示了两者如何相互依存、共同推动移动互联网的发展。从应用架构设计到操作系统性能优化,全方位解读移动生态的技术细节,为开发者和用户提供有价值的参考。 ####
19 5
|
7天前
|
人工智能 前端开发 Android开发
移动应用与系统:探索移动应用开发与操作系统的协同进化
本文深入探讨了移动应用开发与移动操作系统之间的紧密关系,以及它们如何相互影响、共同推动移动技术的发展。文章从移动应用开发的基础知识出发,逐步深入到移动操作系统的核心特性,分析了两者在技术层面的交互作用,并展望了未来的发展趋势。通过具体案例和数据分析,本文揭示了移动应用开发与移动操作系统协同进化的重要性,为开发者提供了宝贵的参考和启示。
|
6天前
|
搜索推荐 前端开发 测试技术
移动应用与系统:探索开发之道与操作系统的演进#### 一、
【10月更文挑战第24天】 本文将带你深入探索移动应用开发的全过程,从构思到上架的每一个细节。同时,我们还将回顾移动操作系统的发展历程,分析当前主流系统的技术特点和未来趋势。无论你是开发者还是普通用户,都能在这里找到感兴趣的内容。 #### 二、
14 1
|
9天前
|
安全 算法 Unix
深入浅出操作系统:从基础概念到实践应用
【10月更文挑战第22天】本文旨在以浅显易懂的语言,为读者揭开操作系统的神秘面纱。我们将从操作系统的基本概念出发,逐步深入其核心功能与设计哲学,并通过具体代码示例,展示操作系统如何在实际中发挥作用。无论你是计算机科学的学生,还是对技术有浓厚兴趣的爱好者,这篇文章都将为你提供一次轻松愉快的操作系统之旅。
22 4
|
10天前
|
安全 Android开发 数据安全/隐私保护
移动应用与系统:探索开发趋势与操作系统革新#### 一、
【10月更文挑战第20天】 本文旨在剖析当前移动应用开发的热门趋势,并探讨移动操作系统的最新进展与未来展望。通过梳理从原生应用到跨平台开发的转变,以及主流操作系统如iOS和Android的技术创新,本文为开发者提供了一份详尽的行业指南,助力他们在快速迭代的移动科技领域保持领先。 #### 二、
23 2
|
23天前
|
安全 Android开发 UED
移动应用与系统:探索移动应用开发和操作系统的融合
【10月更文挑战第8天】 本文深入探讨了移动应用开发和操作系统之间的紧密联系,分析了它们如何共同塑造用户体验。我们将从技术角度出发,揭示移动应用开发的最佳实践,并讨论移动操作系统的关键特性。通过案例研究,我们展示了如何利用这些技术来创建高效、用户友好的移动应用。
39 2