一、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显示在机柜上的显示面板上为止。这个步骤会显示8***或9*** Checkpoints代码。
②由Service Processor引导的硬件初始化,始于按下机柜上的白色电源开关。这个步骤会显示9*** Checkpoints。“91FF”是最后的代码,标志着第3步的开始。
③系统固件的初始化,一个系统处理器接管控制并继续初始化系统资源,这个步骤会显示E***。“E105”是最后的代码,标志着第4步骤AIX启动的开始。在这个过程中还会显示各种位置码(位置码代表着系统的每一个部分)。
④AIX启动,当AIX开始启动时,显示面板上的代码为0***,同时位置码会出现在第二行。当AIX的登录窗口出现在控制台上时,第4步骤结束,同时显示面板上再无任何信息显示。
当系统运行发现错误时,SRNs码(Service request numbers,服务请求码)会以***-***的形式显示在显示面板上,同时在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?是否有HotSpare。
(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文件中,可以把这些参数设为-l?即无限制,可以用vi修改/etc/security/limits文件,所有修改在用户重新登录后生效。
3.PagingSpace
检查PagingSpace的大小,在物理内存时,应至少设定为物理内存的1.5倍,若物理内存>2G,可作适当调整。同时在创建PagingSpace时? 应尽量分配在不同的硬盘上,提高其性能。利用smitty chps修改原有PagingSpace的大小或利用smitty mkps增加一块PagingSpace。
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.Hign water mark for pending write I/Os per file?maxpout?和Low water mark for pending write I/Os per file配置
其缺省值为0,在双机环境中一般应将Hign 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命令检查。
③检查I/O平衡使用情况:使用iostat命令检查。
④交换空间使用情况:使用lsps -a命令检查。
(8)Mail检查
系统会向root用户发mail报告出错信息。通常系统出现故障后没有进行检查
修复,系统会定时提醒root用户。