AIX系统维护大全.docx
《AIX系统维护大全.docx》由会员分享,可在线阅读,更多相关《AIX系统维护大全.docx(17页珍藏版)》请在冰豆网上搜索。
AIX系统维护大全
AIX资源监控与调制工具
性能优化以及确定系统中的性能瓶颈是系统管理员的主要任务之一。
在一个计算机系统中,CPU、内存、硬盘和网络是影响系统性能的主要因素,因此系统性能调整也主要在于如何在这些资源中获得某种平衡,以满足人们对系统性能的期望。
性能调制需要很多技巧,知识以及经验,不能仅靠分析统计数字,图表就可取得,性能调制有时是一件复杂甚至是非常困难的任务。
如同其它UNIX系统一样,AIX也给系统管理员剪裁系统提供了非常丰富的手段。
这里我们简单介绍RS/6000AIX系统中几个用于监控和调制多项系统资源的工具,每个工具的功能都很强,如想更透彻地了解这些命令的用法,请参考有关技术资料或手册。
这里讲述的命令将不仅仅局限于CPU、硬盘、内存或网络资源的某个方面,它们可用于其中的一项或多项资源。
AIX监控工具
1、iostat
iostat命令主要通过观察物理磁盘的活跃时间以及他们的平均传输速度,监控系统输入/输出设备负载。
根据iostat命令产生的报告,用户可确定一个系统配置是否平衡,并据此在物理磁盘与适配器之间更好地平衡输入/输出负载。
iostat工具的主要目的是通过监控磁盘的利用率(tm_act字段),而探测到系统中的I/O瓶颈。
iostat还可用于确定CPU问题,辅助容量规划,并可以为最终解决I/O问题提供相关材料。
vmstat和iostat联合使用,可捕获到确定与CPU,内存和I/O子系统有关的性能问题的必需数据。
iostat命令可产生下面四种类型的报告:
?
tty和CPU利用情况
?
磁盘的利用情况
?
系统吞吐率
?
适配器吞吐率
2、netpmon
netpmon命令可以监控关于网络行为的系统事件和性能以及网络行为对CPU的消耗。
netpmon命令在指定的监控周期报告网络行为。
netpmon启动后直至发布trcstop命令终止它之前,一直在后台运行。
如果使用缺省设置,trace命令将会在netpmon命令之后立即自动启动。
另外,netpmon中还可用trcon命令选择在后面的某个时间跟踪。
当这种跟踪用trcstop命令终止后,netpmon命令就会输出它的报告并退出。
缺省时报告会输出到标准输出,需要时也可以重定向到某个文件。
netpmon命令还可以在一次先前产生的跟踪中以脱机模式使用。
在这样的情况下,需要用gennames命令产生一个文件。
该文件必须在trace终止后立即产生。
所产生的报告中包括CPU使用情况、网络设备驱动器I/O情况、互联网络套接字调用,以及网络文件系统(NFS)I/O信息:
?
CPUuse:
netpmon命令报告线程和中断处理器对CPU的使用情况。
该命令将网络相关行为的CPU使用情况与其它行为的CPU使用情况区分开。
?
NetworkDeviceDriverI/O:
netpmon命令监控网络适配器上所通过的I/O统计。
?
InternetSocketCalls:
netpmon命令在互联网络套接字上监控read,recv,recvfrom,write,send以及sendto子程序。
ICMP,TCP,UDP这几个协议的每个进程都会予以报告。
?
NFSI/O:
netpmon命令监控客户NFS文件上的read和write子程序,NFS客户上的RPC请求以及NFS服务器的read和write请求。
3、PDT(性能诊断工具)
PDT通过收集和集中各种性能、配置和可用数据自动找出性能问题。
PDT评估系统的当前状态并跟踪系统在工作量和性能上的变化。
PDT数据收集和报告很容易起用,不需要更多的管理行为。
虽然许多常见的系统性能问题都有特定性,但PDT还试图用一些被认为性能好的系统中的通用概念来帮助它查找问题。
这些概念包括:
?
资源的平衡使用
?
在限定范围操作
?
确定的工作量趋势
?
无错误操作
?
系统参数得到适当设置。
4、ps
ps命令是UNIX系统中最常见的命令,它主要显示系统中关于进程的统计和状态信息,如进程ID,I/O行为以及CPU利用率等。
利用ps命令提供的信息,可决定一个进程运行了多长时间,进程使用了多少CPU时间,以及进程是否受系统的惩罚。
还可用ps命令确定进程使用了多少内存,完成多少I/O,进程的优先级以及是谁创建了进程。
下面这几个命令组合对于管理RS/6000AIX系统有帮助:
(1)显示10个消耗CPU最多的进程:
#psaux|head-1;psaux|sort-rn+2|head–10
(2)显示10个消耗存储空间最多的进程:
#psaux|head-1;psaux|sort-rn+3|head-10
(3)按顺序显示系统中受罚的进程:
#ps-eakl|head-1;ps-eakl|sort-rn+5
(4)按优先级顺序显示系统中的进程:
#ps-eakl|sort-n+6|head
(5)按处理时间为顺序显示系统中的前十个进程:
#psvx|head-1;psvx|grep-vPID|sort-rn+3|head–10
(6)按实际内存使用的多少顺序显示系统中的前十个进程:
#psvx|head-1;psvx|grep-vPID|sort-rn+6|head–10
(7)按换入页面的多少顺序显示系统中的前10个进程:
#psvx|head-1;psvx|grep-vPID|sort-rn+4|head-10
5、vmstat
vmstat命令报告关于核心线程,虚拟内存,自陷(trap),磁盘以及CPU行为的统计。
而且每种行为报告都被更细致地用百分比分别表示用户态、核态、空闲以及等待磁盘I/O等情况。
内核维持了对核心线程,换页以及中断行为的统计数据,而vmstat命令则通过使用knlist子程序和/dev/kmen伪设备驱动器访问这些数据。
磁盘的输入/输出统计是通过设备驱动器维持的。
对于磁盘,平均传输速度是通过使用活跃时间核传输信息数目决定的。
而活跃时间百分比则是从报告期间驱动器忙的时间量计算出来的。
vmstat命令产生五种类型的报告:
?
虚存行为报告
?
fork子进程情况报告
?
每个设备产生的中断情况报告
?
汇总报告
?
输入/输出行为报告
6、sar
sar命令报告CPU的使用情况,I/O以及其它系统行为。
sar命令可以收集,报告以及保存系统行为信息。
如果没有指定输入文件,则sar调用sarc命令访问系统数据。
用户可用让cron命令运行两个shell脚本(/usr/lib/sa/sa1和/usr/lib/sa2)以提供日统计和报表。
在crontab文件/var/spool/cron/crontabs/adm中包括了一些样本节,用于示范cron要在何时运行这些shell脚本。
以这种方式收集到的数据对于确定系统的时间周期特征和决定峰值使用时间是有用的。
但要注意的是,sar命令自己运行时会产生相当数量的读写。
因此最好在没有工作量的情况下运行sar统计,看看sar对总的统计数字有多大的影响。
7、topas
topas命令用于监控各种系统资源,如CPU的使用情况,CPU事件和队列,内存和换页空间的使用,磁盘性能,网络性能以及NFS统计等。
它还会报告指派给不同WLM类的进程对系统资源的消耗情况。
它还能报告系统中最热门的进程和工作量管理器(WLM)的热门类。
有关WLM类信息只有在WLM激活时才会显示。
topas命令将热门进程定义为那些使用大量CPU时间的进程。
topas命令没有作日志的选项,所有信息都是实时的。
topas命令利用SystemPerformanceMeasurementInterface(SPMI)API获得有关信息。
正是因为通过SPMIAPI,使系统开销保持在最小程度。
topas命令使用perfstat库调用访问perfstat内核扩展。
8、truss
truss命令跟踪一个进程的系统调用、所接收的信号以及招致的机器错。
要检查的应用程序可在truss命令的命令行中指定,也可将truss命令挂在一个或多个已经在运行的进程上。
AIX调制工具
1、fdpr
fdpr命令改进用户级程序和库的执行时间和对实际内存的使用。
fdr命令可以通过不同的操作,如删除不必要的指令和重组代码和数据,而实现这样的目标。
fdr命令安装在目录/usr/bin下。
fdpr命令在三个不同阶段上,对原有的执行代码应用先进的优化技术从而为其构筑一个优化的可执行代码。
这三个阶段分别是:
?
在阶段1,fdpr创建一个增加了某些装置(instrumented)的可执行程序。
原有的可执行程序被保存为__,而新版本被命名为__。
?
在阶段2,fdpr运行该增加了某些装置的可执行程序,并收集摘要(profiling)数据。
该摘要数据被保存在一个叫__的文件中。
运行执行程序时需要为它提供典型的输入数据,以使fdpr命令能够找出代码中可优化的部分。
?
在阶段3,fdpr命令使用阶段2中收集到的重要信息对可执行代码重新排序。
这些重新排序涉及到这样一些任务:
(1)将那些高频度执行代码序列包装在一起。
(2)对条件分之重新排序,以改进硬件对分之条件的预测。
(3)将较少使用的代码部分移出来。
(4)内嵌一些热门函数。
(5)从重排序后的代码中删除掉NOP(空操作)指令。
另外,编译器中还提供了一个-qfdpr标志,用它可使编译器在执行代码中增加一些额外的信息,以辅助fdpr对该执行代码重新排序。
但是,如果使用这个-qfdpr标志,则fdpr也只对那些用-qfdpr标志编译的模块重新排序。
2、schedtune
schedtune命令可以给抖动、进程挂起、时间片以及线程在锁上所能轮询的时间长度等设置准则。
用schedtune,可调整AIX中所设立的一组影响其内存负载控制机制的参数。
Schedtune命令用于显示和修改那些用于检测系统内存是否在过度使用以致造成抖动的参数。
Schedtune命令还能用于修改运行在系统上的进程的惩罚和衰减因子。
在root用户下,用schedtune命令可做下面的事情:
?
决定用于确定抖动的准则。
?
决定哪个准则用于挂起进程。
?
决定在抖动终止后要等待多长时间才重新激活那些先前被挂起的进程。
?
决定被挂起的进程的最小数目。
?
调制调度优先级公式。
?
更改时间片数值。
?
决定在一把锁上轮询多长时间。
?
将schedtune值复位到它的缺省值。
需要注意的是,所有用schedtune作的修改在系统重启后都将丢失。
为了确保所需的schedtune值在引导时能够置上,可在/etc/inittab文件中插入适当的schedtune命令。
如:
schedt:
2:
once:
/usr/samples/kernel/schedtune-s65536
3、vmtune
vmtune命令负责显示和调整虚存管理器(VMM)和其它AIX部件使用的参数。
系统中的根用户可动态修改包括下面这些参数:
?
VMM页替换
?
永久文件读写
?
文件系统缓冲区结构(bufstructs)
?
LVM缓冲区
?
裸输入/输出
?
换页空间参数
?
页删除
?
内存固定参数
第39楼:
fastt动态扩展容量
在fastt中,用SM可以动态扩展容量
如果是aix4.3.3或AIX5.1,仍然不可以在线升级。
1.umount文件系统
2.varyoffvgdatavg
3.rmdev-1hdisk1
4.cfgmgr–v
5.lsattrr-Elhdisk1
6.varyonvgdatavg
7.chvg-gdatavg
8.mount文件系统
如果是aix5.2,支持直接chvg-gdatavg
注意在用chvg-g时,会有一个报警,选择yes.
第40楼:
aix操作系统的备份和恢复
备份和恢复是系统管理员经常要做的事情,主要包括rootvg备份和用户数据备份.
1.操作系统和系统程序的备份:
将一盘新磁带或无用磁带插入磁带机
#tctl-f/dev/rmt0rewind
#smitmksysb
在"备份设备或文件"中添入"/dev/rmt0"后回车.
系统会运行很长时间,等到屏幕显示OK后拿出磁带.这时候,系统备份完成.注意:
mksysb仅备份rootvg中已安装的文件系统.
2.用户数据备份
?
常用磁带机选项
/dev/rmt0:
若选择/dev/rmt0,在插入磁带和写完一次磁带时,磁带机都将磁带反绕到头.
因此,下一次备份文件将覆盖本次备份.
/dev/rmt0.1:
若选择/dev/rmt0.1,则插入磁带和写完一次磁带时,磁带机均不反绕磁带.
因此,一盘磁带可以连续备份几个文件或文件系统.
?
#smitfs
选择"备份文件系统"
添入要备份的"文件系统名称"
添入"/dev/rmt0.1"
重复上述操作即可在同一盘磁带上备份多个文件系统.
3.rootvg的恢复
?
启动机器进入维护模式
参见安装手册,当出现"WelcometoBaseOperatingSystemInstallationandMaintanence"时,
选3"StartMaintenanceModeforSystemRecovery"
?
恢复系统
继续选4"InstallfromaSystemBackup"
出现"ChoosemksysbDevice"画面,选"/dev/rmt0"并插入磁带后回车.这时候,系统自动恢复操作系统.
4.用户数据恢复
#tctl-f/dev/rmt0rewind
#smitfs
选择"恢复文件系统"
添入"设备名称"和"目标目录"
系统会自动找到相应目录恢复.
第41楼:
使用recreatevg来修复卷组
由于操作失误(chdev-lhdiskx-apv=yes)使得hdiskx的PVID发生改变,硬盘上的内容尽管没被破坏,但由于与VGDA区的描述不一致,造成卷组无法访问,该怎么办?
可用recreatevg命令来重新创建一内容相同的卷组,以达到修复的目的。
1.首先将原卷组的定义从系统的ODM库中删除:
#exportvgvgname
2.检查硬盘上VGDA区的信息,从中得到有关逻辑卷的名称及定义:
如:
#lqueryvg-Atphdisk2
MaxLVs:
------256
PPSize:
------26
FreePPs:
-----538
LVcount:
-----2
PVcount:
-----1
TotalVGDAs:
--2
ConcAllowed--0
MAXPPsper---1016
MAXPVs:
------32
ConcAutovar--0
VariedonCo--0
Logical:
------0003f62a00004c00000000f52f1737c5.1--datalv11
---------------0003f62a00004c00000000f52f1737c5.2--datalv21
Physical:
-----0003f62a2f135f0e--------------2----0
TotalPPs:
----542
LTGsize:
-----128
HOTSPARE:
----0
AUTOSYNC:
----0
VGPERMISSIO--0
3.创建逻辑卷名对应表文件。
第一字段为VGDA区中的逻辑卷的名,第二字段为在新卷组中新的逻辑卷名,可相同也可不同;为了修复原有卷组的内容,通常逻辑卷名保持不变。
如:
#vi-/tmp/lvname
-----datalv1:
datalv1
-----datalv2:
datalv2
4.在硬盘上重新创建卷组,保留原有卷组的数据结构。
#recreatevg-yvgname---llv_filehdisk_name...
如:
#recreatevg-yforrecr2---l/tmp/lvnamehdisk2
经过上述步骤,在hdisk2上创建了一个卷组forrecr2,原有的datalv1,datalv2逻辑卷的内容也保留了下来。
此时硬盘的PVID与新卷组VGDA的一致。
5.如果卷组上有文件系统,还需修改/etc/filesystems,使对应的文件系统的加载点与原来的一致。
第42楼:
组织规划逻辑卷以增加系统的I/O性能及可靠性
内容
提要本文描述了基于物理卷内部及物理卷之间分配策略的系统设置,以更好地组织逻辑卷,增加系统的I/O性能。
同时,本文也介绍了一些有关创建逻辑卷时应考虑的因素,以使系统获得最好的性能和可靠性。
正文1.物理卷内及物理卷间的分配策略
(1)物理卷内部
物理卷内部的分配策略描述了逻辑卷在磁盘上的位置。
该位置可以在使用mklv命令创建逻辑卷时设置或通过chlv命令更改。
位置值可以是CENTER,MIDDLE或EDGE。
要更改内部策略,使用chlv命令如下:
#chlv-a{mceieim}LVname
I/O操作最频繁的逻辑卷应该被放置在中央(CENTER),而最不频繁的逻辑卷应该被放置在边缘(EDGE)。
(2)物理卷间
在磁盘上创建逻辑卷时也需要考虑物理卷间的分配策略。
该策略将确定一个逻辑卷是否可以跨多个物理卷。
为了增加性能,该策略的值应该为MAXIMUM,说明逻辑卷应该跨最多的物理卷数分配。
但是该策略将在任一个物理卷不可用时影响逻辑卷的可靠性。
为了增加逻辑卷的可靠性,要限制将一个逻辑卷分配在一个物理卷上,即使用MINIMUM分配策略。
要更改物理卷间的策略,使用chlv命令如下:
#chlv-e{xm}LVname
(其中,x=MAXIMUM,m=MINIMUM分配策略。
)
当对所有的逻辑卷设置了分配策略后,可能需要使用reorgvg命令重新组织逻辑卷。
该命令将重新组织所有的物理分区以匹配为每个逻辑卷设置的分配策略。
命令如下:
#reorgvgVGnameLVname1LVname2...
(其中,VGname是包含指定逻辑卷的卷组的名称,LVname1,LVname2等等是要被重新组织的逻辑卷的名称。
如果不指定逻辑卷的名称,那么,卷组中的所有逻辑卷都将被重新组织。
)
2.决定LVM配置--性能及可靠性
通常情况下,如果逻辑卷被配置为提供较好的性能,那么它的可靠性就会受到影响。
(1)性能
要配置系统提供最好的性能,在创建逻辑卷时遵循下述步骤中的设置:
a.创建逻辑卷只有一份拷贝(不镜像分区)。
如果选择镜像分区,那么设置下面的内容:
SchedulingPolicyPARALLEL
Allocateeachlogicalpartitioncopyonaseparatedisk?
YES
“PARALLEL”机制对一个逻辑分区对应的所有物理分区同时开始写操作;“YES”策略确保在可能的情况下,没有一个逻辑分区的任两份拷贝在同一个物理卷上。
b.设置写校验(Write-verify)为NO
这样,在写操作后不再做读操作进行校验。
c.内部策略应该被设置为下列之一:
*如果对逻辑卷的I/O操作很频繁,设置为CENTER
*对中等程度的I/O操作,设置为MIDDLE或INNERMIDDLE
*如果对逻辑卷的I/O操作很少,则设置为EDGE或INNEREDGE
d.设置物理卷间的策略为MAXIMUM
该策略会将逻辑卷跨尽可能多的物理卷分配,这样,对一个逻辑卷的读写操作将可以在多个物理卷间同时进行。
(2)可靠性
要配置系统提供最高的可靠性,在创建逻辑卷时遵循下述步骤中的设置:
a.创建三份拷贝(镜像分区两次)
b.设置写校验(Write-verify)为YES
这样,在每次写操作后进行读操作来校验。
c.设置物理卷间的策略为MINIMUM
d.设置SchedulingPolicy为SEQUENTIAL。
这样使对每份拷贝的写操作顺序进行。
e.设置Allocateeachlogicalpartitioncopyonaseparatedisk为YES,确保在可能的情况下,没有一个逻辑分区的任两份拷贝在同一个物理卷上。
第43楼:
深入讨论lvm,你该如何换硬盘?
关于lvm是aix中与odm一样最难的部分,但是确实非常的实用。
因为这一部分涉及到的
命令关系到你对整个AIX的物理存储和逻辑存储的理解,尤其是在换硬盘的时候,有时候还要涉及到上层的fs或裸设备。
因为有时侯由于你不太了解每个命令使用的后果,可能会畏惧为客户的生产系统做相应的操作。
所以我想跟大家探讨一下,就举一个实例来做个深入的讨论吧。
具体情况是这样的,某个客户可能由于历史原因,有四块7133-D40上的的SSA硬盘(hdisk0~hdisk3)在一个uservg上。
被做了基于lv的mirror,有就是说相关的LP对应2个PP.但是分布却是相互交错的,不象两块硬盘做的lvcopies那样容易判断lv的分布。
假设这时候突然出现hdisk2的PH磁盘操作错误。
我们需要更换一块硬盘代替hdisk2,这时候我们该考虑一下如何做是安全性最高和最有效率的方法呢,并且也要考虑每种方法的局限性,我把我的考虑按照优先选择的顺序列出,请大家斧正。
一、优先选择migratepv.具体做法如下:
1、加一块新盘到阵列上成为hdisk4.
2、extendvguservghdisk4
3、migratepvhdisk2hdisk4迁移hdisk2上所有的lv到hdisk4
(你也可以用migratepv–llvnamehdisk2hdisk4逐一地将hdisk2上的lv迁移到hdisk4)
4、syncvg-fvuservg
使用migratepv的优点是思路清晰,简单,可以包括裸设备。
将整个pv上的lvs全部迁移到新加的硬盘上,而且不用考虑lv上层的fs级别的情况,并且在执行命令的时候不需要umount相关的fs.而且也不会改变迁移的lv上层fs中目录和文件的owner和执行权限。
因此成为首选。
缺点是有可能hdisk2上某lv所在的pp严重损坏,可能迁移后无法使用。
或导致migratepv失败。
二、使用cplv.具体做法如下:
1、加两块新盘到阵列上分别成为hdisk4,hdisk5.
2、extendvguservghdisk4
3、smitvg建立一个临时vg为tempvg,只包含hdisk5一个pv.
4、用lspv–lhdisk2看hdisk2中lv的名称和数量,作好记录。
可结合命令lslv–mlvname进一步对lvcopie