AIX系统维护大全


第 1 楼:AIX系统日常管理
第 2 楼:AIX的版本号代表什么意思?
第 3 楼:AIX资源监控与调制工具
第 4 楼:AIX常用命令
第 5 楼:常用AIX论坛地址、资料下载地址、FTP地址
第 6 楼:AIX操作系统使用心得
第 7 楼:AIX环境如何找到活动最频繁的进程
第 8 楼:AIX中查看用户对系统资源的使用情况
第 9 楼:AIX的系统备份和恢复
第 10 楼:AIX如何自动启动和关闭软件的运行?
第 11 楼:如何查看操作系统中是否安装了某个补丁程序?
第 12 楼:如何检查AIX文件系统的病毒?
第 13 楼:AIX如何解决"device busy"问题
第 14 楼:何为AIX 5L?
第 15 楼:使用命令行安装删除文件包
第 16 楼:何为AIX/Montery
第 17 楼:如何查找系统中的某个文件存在于哪个文件集中?
第 18 楼:如何减小 /var/adm/wtmp 文件的大小?
第 19 楼:AIX使用异步I/O(aio)提高系统性能
第 20 楼:AIX如何管理Paging Space
第 21 楼:如何在AIX 4.3中安装联机手册?
第 22 楼:如何在AIX中设置中文环境
第 23 楼:AIX 的许可权限---ACL
第 24 楼:AIX管理经验谈
第 25 楼:AIX简介
第 26 楼:AIX网络诊断及解决现场实例
第 27 楼:IBM巡检流程
第 28 楼:AIX Useful Commands
第 29 楼:BACKUPS
第 30 楼:DEVICES
第 31 楼:FILE SYSTEMS
第 32 楼:AIX经验搜集
第 33 楼:find的用法
第 34 楼:RS/6000小型机故障的基本定位方法
第 35 楼:使用lastcomm命令查看用户命令历史
第 36 楼:关于OS定期检查及维护
第 37 楼:关于AIX系统文件安全性方面的几点考虑
第 38 楼:AIX资源监控与调制工具
第 39 楼:fastt动态扩展容量
第 40 楼:aix操作系统的备份和恢复
第 41 楼:使用recreatevg来修复卷组
第 42 楼:组织规划逻辑卷以增加系统的I/O性能及可靠性
第 43 楼:深入讨论lvm,你该如何换硬盘?
第 44 楼:模拟硬盘更换
第 45 楼:AIX资源监控与调制工具
第 46 楼:关于AIX系统文件安全性方面的几点考虑
第 47 楼:使用lastcomm命令查看用户命令历史
第 48 楼:RS/6000小型机故障的基本定位方法
 
第 1 楼:AIX系统日常管理
1. 文件系统是否满 
方法: df –k 可以以K为单位检查文件系统的使用率。(90%以上,需要调整) 
2. 检查系统出错日志 使用errpt |more来检查 
清除现有的log: Errclear 0 
3. 检查系统合法/非法登陆情况 
使用Last命令来检查来自登陆的地方。 
4. 检查系统是否有巨大的Core文件生成 
使用 find / -name core –print来检查。对Core文件,一般直接删除就可以了。 
5. 系统性能检查: 
a) CPU性能:使用Vmstat, topas来检查 
b) 内存使用情况:也是使用topas, vmstat来检查 
c) 检查IO平衡使用情况:使用iostat来检查 
d) 交换空间使用情况:使用lsps –a来检查 
6. Mail检查 
7. Diag 一个月一次
 

 
第 2 楼:AIX的版本号代表什么意思?

AIX的版本号的格式通常为AIX x.x.x.x.例如: AIX 4.3.3.1.其代表意义分别为:
操作系统版本号(version).发行版号(release).改进版号(modification).修正版号(fix)
 

 
第 3 楼:AIX资源监控与调制工具

本文出自:http://www.ccw.com.cn/ 作者: 陆成新 (2002-04-15 06:02:01)
性能优化以及确定系统中的性能瓶颈是系统管理员的主要任务之一。在一个计算机系统中,CPU、内存、硬盘和网络是影响系统性能的主要因素,因此系统性能调整也主要在于如何在这些资源中获得某种平衡,以满足人们对系统性能的期望。性能调制需要很多技巧,知识以及经验,不能仅靠分析统计数字,图表就可取得,性能调制有时是一件复杂甚至是非常困难的任务。
如同其它UNIX系统一样,AIX也给系统管理员剪裁系统提供了非常丰富的手段。这里我们简单介绍RS/6000 AIX系统中几个用于监控和调制多项系统资源的工具,每个工具的功能都很强,如想更透彻地了解这些命令的用法,请参考有关技术资料或手册。这里讲述的命令将不仅仅局限于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信息:
· CPU use:netpmon命令报告线程和中断处理器对CPU的使用情况。该命令将网络相关行为的CPU使用情况与其它行为的CPU使用情况区分开。
· Network Device Driver I/O:netpmon命令监控网络适配器上所通过的I/O统计。
· Internet Socket Calls:netpmon命令在互联网络套接字上监控read,recv,recvfrom,write,send以及sendto子程序。ICMP,TCP,UDP这几个协议的每个进程都会予以报告。
· NFS I/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/6000 AIX系统有帮助:
(1)显示10个消耗CPU最多的进程:
# ps aux |head -1 ;ps aux |sort -rn +2 |head –10
(2)显示10个消耗存储空间最多的进程:
# ps aux |head -1 ;ps aux |sort -rn +3 |head -10
(3)按顺序显示系统中受罚的进程:
#ps -eakl |head -1 ;ps -eakl |sort -rn +5
(4)按优先级顺序显示系统中的进程:
#ps -eakl |sort -n +6 |head
(5)按处理时间为顺序显示系统中的前十个进程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +3 |head –10
(6)按实际内存使用的多少顺序显示系统中的前十个进程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head –10
(7)按换入页面的多少顺序显示系统中的前10个进程:
#ps vx |head -1 ;ps vx |grep -v PID |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命令利用System Performance Measurement Interface(SPMI)API获得有关信息。正是因为通过SPMI API,使系统开销保持在最小程度。topas命令使用perfstat库调用访问perfstat内核扩展。
8、truss
truss命令跟踪一个进程的系统调用、所接收的信号以及招致的机器错。要检查的应用程序可在truss命令的命令行中指定,也可将truss命令挂在一个或多个已经在运行的进程上。
AIX调制工具
1、fdpr
fdpr命令改进用户级程序和库的执行时间和对实际内存的使用。fdr命令可以通过不同的操作,如删除不必要的指令和重组代码和数据,而实现这样的目标。fdr命令安装在目录/usr/bin下。
fdpr命令在三个不同阶段上,对原有的执行代码应用先进的优化技术从而为其构筑一个优化的可执行代码。这三个阶段分别是:
· 在阶段1,fdpr创建一个增加了某些装置(instrumented)的可执行程序。原有的可执行程序被保存为__ProgramFile.save,而新版本被命名为__ProgramFile.instr。
· 在阶段2,fdpr运行该增加了某些装置的可执行程序,并收集摘要(profiling)数据。该摘要数据被保存在一个叫__ProgramFile.prof的文件中。运行执行程序时需要为它提供典型的输入数据,以使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 -s 65536
3、vmtune
vmtune命令负责显示和调整虚存管理器(VMM)和其它AIX部件使用的参数。系统中的根用户可动态修改包括下面这些参数:
· VMM页替换
· 永久文件读写
· 文件系统缓冲区结构(bufstructs)
· LVM缓冲区
· 裸输入/输出
· 换页空间参数
· 页删除
· 内存固定参数
 

 
第 4 楼:AIX常用命令

查看交换区信息:
lsps -a 显示交换区的分布信息
lsps -s 显示交换区的使用信息
slibclean 清除处理程序遗留的旧分页信息
smit mkps 建立交换区空间信息
swapon -a 启动所有的分页空间
/etc/swapspaces 存放分页空间表格信息
-------------------------------------------------
显示卷信息:
lsvg 显示卷的名称
lsvg -l rootvg 显示rootvg卷的详细信息
-------------------------------------------------
mount卷的方法:
varyonvg datavg 加载datavg卷
mount /dev/data1 加载datavg下的一个data1卷
裸设备类型:raw,jfs jfs可以转变成文件系统,而raw则不行
-------------------------------------------------
在裸设备上安装oracle系统:
修改裸设备的权限,如裸设备名为system01,安装数据库用户为oracle
chown oracle:dba /dev/system01
chown oracle:dba /dev/rsystem01
在使用文件时必须用rsystem01
-------------------------------------------------
smit快速路径名称:(smit:图形方式,smitty:字符方式)
dev 设备管理
diag 诊断
jfs 定期档案管理系统
lvm 逻辑卷册系统管理员管理
nfs NFS管理
sinstallp 软件安装及维护
spooler 列印队列管理
system 系统管理
tcpip TCP/IP管理
USER 使用者管理
clstart,clstop:启动和停止cluster
lssrc -g cluser:查看cluser的状态
-------------------------------------------------
查看已安装的软件信息:
ls -aF /usr/lpp (lpp:Licensed Program Products)
查看安装媒体内容:
installp -q -d /dev/cdrom -l
-------------------------------------------------
启动时自动加载文件系统信息:
需要加载的信息存放在/etc/filesystems
mount -t nf 加载所有在/ect/filesystems中定义type=nfs的文件系统
显示已加载的文件系统及状态: df -v,mount
-------------------------------------------------
查看错误日志信息:
errpt -a
-------------------------------------------------
有关TCP/IP的命令
网路卡:
smit chgenet,chgtok,chgfddi,opschange,mktty:adptr架构快速路径
smit mkinet,ppp:slip与ppp快速路径
ifconfig:config界面
位址:
/etc/hosts 静态主机表
/etc/resolv.conf 位址解析的名称服务器
/etc/named.boot 名称服务器架构
/etc/named.ca 根名称服务器快取
/etc/named.data 位址列表
/etc/named.rev 反转指标列表
nslookup 查询名称服务器资讯
网络路由:
route 管理路由
netstat -rn 列出定义的路由
routed 路由(daekmin rip)
gated 路由(daekmin rip、egp、hello)
/etc/gateways 已知网关
/etc/networks 已知网路
服务:
/etc/services
/etc/inetd.conf
TCP/IP群组子系统:
/etc/rc.net
startsrc -g tcpip 启动全部的tcpip子系统 
startsrc -s inetd 启动主要internet
除错:
iptrace 启动封包追踪
ipreport 追踪结果格式化输出
netstat 网络统计
ping 检查是否可以到达
查看HACMP,外部硬盘信息:
lscfg -v
lsdev -Cc adapter
对等机器信息:
/etc/.rhosts
/etc/hosts.equiv
/etc/hosts
-------------------------------------------------
观察进程内存使用情况:
ps aux 观察参数%mem:内存使用百分比 RSS:实际使用内存
vmstat free的单位为块,缺省值为4096bytst
-------------------------------------------------
创建raw设备时选择的类型:
raw_lv
 

 
第 5 楼:常用AIX论坛地址、资料下载地址、FTP地址

AIX论坛:
http://www.loveunix.net/ ; 《爱U家园》是大家的快乐空间
http://www.passcisco.com/bbs/list.asp?boardid=29 ; AIX使用者论坛
http://www.chinaunix.net/cgi-bin/bbs/forums.cgi?forum=5 ; chinaunix的AIX论坛
http://www.aixchina.com/ ; AIX中国论坛
http://www.swg.com.cn/bbs/cgi-bin/leoboard.cgi ; 思达奇公司的AIX 技术区
http://www.itpub.net/forumdisplay.php?s=&forumid=29 ; itpub的UNIX论坛
http://www.ibmusers.com/ ; 银信公司网站
http://bbs.interconn.com.cn/cgi-bin/forums.cgi?forum=2
AIX资料下载:
http://www.redbooks.ibm.com/ ;
http://www-1.ibm.com/servers/ese ... rary/hardware_docs/
http://www-900.ibm.com/cn/support/download/r6download.shtml
http://publib.boulder.ibm.com/pseries/hacmp/hacmp_index.html
http://www-1.ibm.com/servers/ese ... ary/hacmp_docs.html
http://www.storage.ibm.com/hardsoft/products/ssa/docs/index.html
http://www.alphaworks.ibm.com/
http://www.ibm.com/certify
AIX练习:
ip:210.5.4.6 port:4003
user:openuser passwd:openuser
IBM AIX 和 pSeries信息中心,内容多多:
http://publib16.boulder.ibm.com/ ... nter/base/index.htm

首先感谢这些默默无闻为大家服务的同志!
ftp://unix2003:unix2003@166.111.121.3/ 推荐
ftp://chinaunix:unixchina@210.34.8.181/ 推荐
ftp://chinaunix:chinaunix@61.232.65.242/
ftp://firer2000:firer2000@211.141.67.2/
ftp://may:may@cnono.vicp.net/
 

 
第 6 楼:AIX操作系统使用心得

AIX是IBM公司开发的业界领先的优秀商务Unix操作系统,在可靠性、可用性、开放性、扩展性、高性能、安全性等方面都非常突出,尤其是在Internet的关键应用领域以及系统和硬件管理能力方面,其性能表现更为出色,受到了业界的普遍认可和广泛使用。以下是笔者几年来使用AIX系统的一点心得,兹供使用该系统的其他读者参考。
1.如何禁止终端上的中断键(CTRL+C)?
在很多应用系统中,系统管理员希望普通用户只运行自己的应用程序,不能进入系统的shell提示符下,但缺省情况下当用户在终端上按CTRL+C键时就会退到系统提示符下。由于用户终端一般没有固定的端口号,为了禁止使用中断键,可采取下面办法:
(1)如果使用ksh, 可在$HOME/.profile中第一行加入如下内容:
trap "echo 'Abnormal operation'; exit" 123915
(2)如果使用csh(ksh亦可),可用如下命令:
%stty intr ^! 
如果恢复正常情况,键入下列命令:
% stty intr ^c
2.如何在shell中不回显(echo)字符?
在实际应用中,一般当我们在键盘上键入口令时不希望将其显示在屏幕上,为此可采用下面的两种办法:
·使用stty 命令
stty -echo # do not display password
echo "Enter password: /c"
read PASSWD #get the password
stty echo # restore standard configuration
·使用echo命令
设置保密属性:echo "/033[8m"
取消保密属性:echo "/033[m"
3.如何在某个目录及其所属子目录的所有文件中查找字符串?
在程序维护过程中,有时需要在某个目录及其所属子目录的所有文件中查找某一个字符串,为此可用下面两种方法(假设在*.cp文件中查找字符串"abc",结果放在文件out中):
(1)cat /dev/null > out
find ./ -name "*.cp" -exec grep "abc"{} >> out
(2)find ./ -name "*.cp" | xargs grep "abc" > out
推荐使用第二种方法,因其系统开销小、速度快。
4.如何对/etc/inittab文件中的一行进行注释?
我们都知道在shell中使用"#"作为注释符号,但在/etc/inittab中注释一行的方法是在第一个字符前插入字符":"。
5.如何转换DOS和AIX两种格式的文本文件?
如欲转换DOS和AIX两种格式的文本文件,有两种方法:
(1)用ftp命令:设置ASCII传输类型,在一台运行AIX的机器和另外一台运行Windows的机器之间互相传送,这里不再赘述。
(2)使用AIX2dos或dos2AIX命令
如将DOS格式的文本文件转换为AIX格式,可用命令A:dos2AIX inputfile outfile,反之可用命令:AIX2dos inputfile outfile,关于dos2AIX和AIX2dos命令的详细用法可参阅"dos2AIX -h "和"AIX2dos -h "。注意要使用这两个命令,必须首先安装文件集bos.pci。
6.如何解决某一PV上的VGDA与ODM库不一致的问题?
在系统维护过程中,因为操作错误或其他特殊原因,有可能使某一PV上的LVCB和VGDA与其对应的ODM库不一致,导致ODM库紊乱,对PV的有关操作无法进行,这时可采用如下两个AIX命令加以解决:
redefinevg -d hdisk_name vg_name
该命令以指定PV上的LVM信息重新定义给定VG的ODM库。
或:synclvodm -P -v vgname
该命令同步或重建给定VG的ODM库和LVM信息。
7.如何设置用户的文件大小限制?
在AIX系统中,用户使用系统资源是有一定限制的。如用户缺省可创建或扩展的最大文件为1G(参见/etc/security/limits: fsize = 2097151, fsize_hard=fsize 512-bytes blocks)。
如欲修改,可使用smit:
# smit chuser 选择用户,修改下面两项:
Soft FILE size [4194302]
# (2G,可根据需要设定)
Hard FILE size [4194302]
# (2G, 可根据需要设定)
用该用户身份登录,使用"ulimit -f "和"ulimit -Hf"可分别显示其fsize、fsize_hard的大小。
8、如何按文件大小排序列出一个文件系统下的文件?
当监控某一文件系统的空间使用情况时,如果该文件系统剩余空间较少或已使用空间增长较快,则有必要排序列出该文件系统中所有大于某一给定字节数的文件,以便进一步维护管理。为此,可用如下命令:
# find [filesystem_name] -xdev -size +[512-bytes bloks] -ls | sort -r -n -k7
以上所有命令在AIX4.3.3下全部测试通过。
 

 
第 7 楼:AIX环境如何找到活动最频繁的进程

1。下面命令输出中的'C'字段是一个进程的cpu-penalty值(0到120之间),值越大表明进程越活跃。
# ps alxw | sort +5 -n
2.显示前10个累计占用CPU时间的进程 
#ps -e|head -n 1;ps -e|grep -v"TIME|0:"|sort +2b -3 -n -r|head -n 10 
3。显示前10个当前占用CPU时间的进程 
#ps -ef|head -n 1;ps -ef|grep -v"C|0:00"|sort +3b -4 -n -r|head -n 10 
4。显示前10个占用CPU应用的进程 
#ps gu|head -n 1;ps gu|grep -v"CPU|kproc"|sort +2b -3 -n -r|head -n 10
 

 
第 8 楼:AIX中查看用户对系统资源的使用情况

在AIX中可以通过打开acct功能来查看用户的资源使用情况,主要包括:用户连接情况、用户CPU使用情况、
磁盘使用情况和打印机使用情况等。具体的步骤(共7步)有: 
1. 在/var/adm/acct目录下创建三个子目录:nite,sum,fiscal 
2. 以root登录,到/var/adm目录下,执行/usr/lib/acct/nulladm wtmp pacct。 
3. 通过在/etc/rc文件中添加两行(最后一行"exit 0"之上): 
echo "Starting Process Accounting" 
/usr/bin/su - adm -c /usr/lib/acct/startup 
打开记帐功能。 
4. 将/etc/filesystems中要加入磁盘记帐的文件系统相关节中的account值改成true 
5. 修改/etc/qconfig文件,要加入打印机使用记帐的打印队列的描述节中添加一行,如: 
lp0: 
device=dlp0 
acctfile = /var/adm/qacct # 添加行 
6. 修改cron,例/var/spool/cron/crontabs/adm文件: 
10 23 * * 0-6 /usr/lib/acct/runacct 2> /usr/adm/acct/nite/accterr > /dev/null 
0 23 * * 0-6 /usr/lib/acct/dodisk > /dev/null 2>&1 
0 * * * * /usr/lib/acct/ckpacct > /dev/null 2>&1 
15 4 1 * * /usr/lib/acct/monacct > /dev/null 2>&1 
7. 如果要使用adm用户进行记帐管理,首先要给它分配密码,然后在PATH环境变量中包括/usr/lib/acct以方便命令执行。 
完成这些步骤后,系统会在步骤一生成的目录下定期生成报告文件,记录各用户的资源使用情况。
 

 
第 9 楼:AIX的系统备份和恢复

备份和恢复是系统管理员经常要做的事情, 主要包括rootvg备份和用户数据备份.
  1. 操作系统和系统程序的备份:
  将一盘新磁带或无用磁带插入磁带机
  #tctl -f /dev/rmt0 rewind
  #smit mksysb 
   
  在"备份设备或文件"中添入"/dev/rmt0"后回车.
  系统会运行很长时间, 等到屏幕显示OK后拿出磁带. 这时候, 系统备份完成. 注意: 
mksysb仅备份rootvg中已安装的文件系统.
  2. 用户数据备份
  · 常用磁带机选项
  /dev/rmt0: 若选择/dev/rmt0, 在插入磁带和写完一次磁带时, 磁带机都将磁带反绕到头. 
因此, 下一次备份文件将覆盖本次备份.
  /dev/rmt0.1: 若选择/dev/rmt0.1, 则插入磁带和写完一次磁带时, 磁带机均不反绕磁带. 
因此, 一盘磁带可以连续备份几个文件或文件系统.
  · #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
  选择"恢复文件系统"
  添入"设备名称"和"目标目录"
  
  系统会自动找到相应目录恢复.
 

 
第 10 楼:AIX如何自动启动和关闭软件的运行?

本文档讨论了如何定制系统, 以使用户定义的应用在系统引导过程中自动启动, 并在系统关闭时自动停止.
 
1. 自动启动定制的软件
在系统引导时, init进程顺序检测/etc/inittab文件, 决定在引导过程中进行什么样的操作.如果应用, 进程或其它的用户操作需要在系统引导过程中进行, 则要在/etc/inittab文件中加入相应的条目.通常的做法是创建一个名为rc.local的脚本文件, 将所有要在系统引导过程中启动的用户应用写入该脚本文件中. 该脚本文件可以在/etc/inittab文件中被调用, 通常是在所有系统应用和服务启动后, 在用户登录被允许之前被调用. 位置通常是在主控登录的条目前.
下面是一个例子:
  rc.local:2:wait:/etc/rc.local > /dev/console 2>&1
在上面的条目中, init将在执行余下的条目之前等待该脚本程序的完成.如果进程, 应用或命令需要通过特定的用户运行, 则可在运行的命令中加入su命令.
如: su myuser "-c /usr/bin/myapp"
建议在脚本程序中加入应用开始启动和完成启动的输出提示.
如:
  #!/bin/ksh 
  echo "Starting User Applications...." 
  echo "Starting Application XYZ" 
  su myuser "-c /usr/bin/myapp" 
  echo "Startup of User Applications completed" 
2. 自动停止定制的软件
shutdown命令用于关闭AIX系统. 在此操作中会关闭所有AIX子系统及文件系统.如果名为/etc/rc.shutdown的脚本程序存在, 系统会首先执行该脚本程序中的命令. 在该脚本程序中可以加入关闭用户应用的命令. 建议在脚本程序中加入应用停止运行和完成停止运行的输出提示.
如:
  #!/bin/ksh 
  echo "Stopping User Applications...." 
  echo "Stopping Application XYZ" 
  [ commands to stop application ] 
  echo "Shutdown of User Applications completed"
 

 
第 11 楼:如何查看操作系统中是否安装了某个补丁程序?

使用命令:
lslpp -Bl Uxxxxxx 
Uxxxxxx 是补丁程序的ID.
例: lslpp -Bl U465241 命令可用于查看系统中是否安装了ID为U4652241的补丁程序.
 

 
第 12 楼:如何检查AIX文件系统的病毒?

#virscan directory 
例如: virscan /usr
 

 
第 13 楼:AIX如何解决"device busy"问题

当我们对网络或网卡进行操作时,经常会遇到"device busy", 而不让我们进行操作.
例如:
rmdev -l ent1
Method error (/etc/methods/ucfgdevice):
0514-062 Cannot perform the requested function because the
specified device is busy.
1.首先我们要确认网络接口已经"down"及 "detached".
使用以下脚本文件可以"down"及"detach"所有TCP/IP网络接口.
interfaces=`lsdev -Cc if -F name | grep -v lo0`
for interface in $interfaces
do
  ifconfig $interface down
  ifconfig $interface detach
done
2. 检查是否下列应用正在运行:
1) SNA : lssrc -g sna (检查SNA是否运行)
stopsrc -g sna(中断)
stopsrc -f -s sna(强行中断) 
如果以上两条命令都不起作用: /usr/bin/sna -stop sna -t forced
如果仍不能中断: /usr/bin/sna -stop sna -t cancel 
2)  IPX: ps -ef |grep npsd 
ps -ef |grep sapd (IPX是否运行)
/usr/lpp/netware/bin/stopnps (中断)  
3)  Netbios:  ps -ef | grep netbios (是否运行)
mcs0 unload (中断)  

以上步骤对于大部分"device busy"问题都可解决.
 

 
第 14 楼:何为AIX 5L?

AIX 5L 是AIX的下一代产品(当前为AIX V4),它支持IBM POWER 和Intel 64位(IA-64)平台.“L” 指Linux affinity.
 

 
第 15 楼:使用命令行安装删除文件包

在AIX 中, 一般使用"smit"命令来安装和删除文件包,但有时经常会遇到"smit"本身被破坏的情况, 我们可以使用"installp"命令来安装及删除文件包.
安装: installp -ac -Q -d /dev/cd0 
删除: installp -u
 

 
第 16 楼:何为AIX/Montery

AIX/Monterey是IBM下一发展阶段的UNIX操作系统,其中AIX核心为Intel系统带来了极易扩展、高度可用、具有业界非凡实力的UNIX操作系统所具有的全部优势。AIX/Monterey是一项主要的UNIX操作系统方案的成果,该项方案由IBM领导,并与SCO和Intel合作,获得了业界领先的软件和系统厂商的广泛支持。AIX/Monterey是一个大规模的企业级UNIX操作系统,目前运行于各种Intel 32位体系架构(IA-32)及POWER体系架构之上。该产品将于今年晚些时候扩展到IA-64这一Intel的64位体系架构。AIX/Monterey所支持的系统十分广泛,包括从部门级服务器到大型数据中心服务器。AIX/Monterey融合了多种操作系统的最佳特性,包括AIX系统、IBM的DYNIX/ptx,以及SCO的UnixWare,其中DYNIX/ptx来自Sequent,运行NUMA-Q,而UnixWare则是当今运行于Intel平台上的最大份额的一种UNIX操作系统。今年晚些时候,对于那些偏爱基于Intel64位Itanium3系统的客户而言,IBM将为其提供AIX/Monterey/64,使其拥有与运行于RS/6000上的AIX同样强大的功能。AIX/Monterey则将继续满足客户对跨越各种基于Intel和POWER的系统、行业性强的企业级UNIX平台的需求。我们将在AIX/Monterey中构建强大的Linux兼容性,以帮助使Linux应用在AIX/Monterey上得以轻松实现,并帮助推动AIX/Monterey应用运行于未来版本的Linux之中。应用的可移植性有望比Linux的成熟提前实现,这将为客户的顺利过渡提供坚实的基础。另外,我们还将与开放源码团体共同合作,将AIX/Monterey技术应用于Linux之中,以便帮助建立起一种更好的Linux系统。 
IBM完全能够帮助客户适应Linux的发展,其所具备的出众能力是其它任何UNIX厂商都无法企及的。对于运行于AIX/Monterey这一功能强大的全新操作系统之上的应用而言,IBM计划使其在未来能够轻松地移植到Linux中,并帮助客户保护其在硬件、应用、数据、过程和技术等方面的投资,因此,现今投资AIX/Monterey的客户可以充满自信地应对Linux的不断发展。
 

 
第 17 楼:如何查找系统中的某个文件存在于哪个文件集中?

当操作系统上由于未安装特定的文件集而无法执行某个命令时, 可以参考下面的方法确定所需的文件集.
首先确认系统中已安装了文件集 bos.content_list:
# lslpp -l bos.content_list
然后用下面的命令查找与指定文件相关的文件集:
# /usr/sbin/which_fileset 
如, # /usr/sbin/which_fileset iostat
    /usr/bin/iostat bos.acct
查找指定的文件集中包含哪些文件:
# lslpp -f 
如, # lslpp -f bos.acct
   ....
   /usr/bin/iostat
   ....
 

 
第 18 楼:如何减小 /var/adm/wtmp 文件的大小?

文件 /var/adm/wtmp 的大小会在每次用户登录时增长, 但从不自动减小. wtmp 文件的内容会被命令 last 使用, 用于显示登录系统和重启机器的情况.该文件不能被删除, 但它的内容可用如下命令清除:
      # > /var/adm/wtmp
 

 
第 19 楼:AIX使用异步I/O(aio)提高系统性能

如果是同步I/O,当一个I/O操作执行时,应用程序必须等待,直到此I/O执行完.
相反,异步I/O操作在后台运行,I/O操作和应用程序可以同时运行,提高了系统性能.
使用异步I/O会提高I/O流量,如果应用是对裸设备进行操作,这种优势更加明显.
因此象数据库,文件服务器等应用往往会利用异步I/O,使得多个I/O操作同时执行.
1. 如何知道是否需要异步I/O?
* 执行命令:"vmstat # #" 如果"wa"值超过25%.
* 执行命令:"iostat # #" 如果"%tm_act"值超过35%. 
2. 查询有几个AIO服务器: pstat -a | grep aios | wc -l 
3. 应该设几个AIO服务器?
一般为硬盘数的10倍,但不要超过80. 
4. AIO驱动程序: bos.rte.aio 
5. 配置AIO为可用: # smit chgaio -> 
       STATE to be configured at system restart   [available]
 

 
第 20 楼:AIX如何管理Paging Space

Paging Space 的大小应符合应用的需要.太大会浪费硬盘空间,太小会影响系统的运行.Paging Space的确定原则: 1. 系统实际内存小于64MB, paging space= 2 * RAM 
2. 系统实际内存在 64MB to 256MB 之间, Page Space = RAM size + 16MB 
3. 系统实际内存大于 256MB , Page Space = 512 + ( RAM - 256 ) * 1.25 
4. 对于AIX 4.3.3 当内存达到4GB 到8GB,因为AIX 4.3.3 使用延迟的(deferred )paging space.Paging Space主要根据应用的要求来定.
一般可初始3GB, 然后观察paging space的使用情况,如果使用率超过70%, 则需要增加paging space. 
以上计算方法只是粗略地算法,用户可根据实际情况调整. 
* 如果系统出现以下几种情况,则说明需要扩大paging Space: 1. 下列任意错误信息之一:
INIT: Paging space is low
ksh: cannot fork no swap space
Not enough memory
Fork function failed
fork () system call failed
Unable to fork, too many processes
Fork failure - not enough memory available
Fork function not allowed. Not enough memory available.
Cannot fork: Not enough space 
2. 使用命令" lsps -a" ,其结果%USED 列的平均值大于80%. 
3. 使用命令"lsps -s" 其结果%USED 列大于80%. 

* 使用下列命令也可以检查paging space是否够用:
      iostat
      vmstat
      lsps
 

 
第 21 楼:如何在AIX 4.3中安装联机手册?

使用联机手册之前,需安装相应的软件包。 
解答 AIX 4.3 安装介质包含两张联机文档光盘(Documentation CD): Base Documentation CD 和 Extended Documentation CD。使用命令man查看系统命令之前
需要按照下列步骤安装相应的软件包: 1. 正确设置环境变量LANG的值,如“en_US”为英文环境,“zh_CN”为简体中文环境。可以用命令
    export LANG=en_US
设置。 
2. 使用man查看系统命令之前必须安装下列软件包:
bos.html.en_US.topnav.navigate - Top Level Navigation 
bos.html.en_US.nav - Online Navigation 
bos.html.en_US.cmds.cmds1 - AIX Commands Reference 1 
bos.html.en_US.cmds.cmds2 - AIX Commands Reference 2 
bos.html.en_US.cmds.cmds3  - AIX Commands Reference 3 
bos.html.en_US.cmds.cmds4  - AIX Commands Reference 4 
bos.html.en_US.cmds.cmds5 - AIX Commands Reference 5 
bos.html.en_US.cmds.cmds6 - AIX Commands Reference 6 
使用命令
lslpp -l 
检查上述软件包是否已经安装。
 
3. 如果需要查询AIX 系统调用及C语言库函数,则要安装软件包 bos.html.en_US.techref.base - AIX Base Tech Ref
bos.html.en_US.techref.commo - AIX Commo Tech Ref 
4. Documentation CD中还包含许多其它的手册,可根据需要安装相应的软件包。
在AIX系统中安装软件包可使用smit管理菜单。在命令行输入
smit install_all
 
 
选择:
1. CD-ROM 设备(通常为/dev/cd0)。 
2. 将光标移至"SOFTWARE to install" 并按下或“+7”。 
3. 将光标移至要安装的软件包并按下 或 “+7”选择要安装的软件包。 
4. 选中所有要安装的软件包后按?lt;Enter> 开始安装,之后需再次按下确认后继续安装,直至成功。 
此时就可以使用man查看系统命令了!
 

 
第 22 楼:如何在AIX中设置中文环境

环境  
平台:RS/6000
软件版本: AIX 4.2 或更新版本 
    在AIX中使用中文有两种途径:第一是在安装AIX时选择中文语言,装好的系统自动显示中文(这种方法不推荐使用,它没有第二种方法使用起来灵活)。第二是安装AIX时选择英文,系统启动后手工设置中文环境,方法如下:
1. 将AIX系统盘的第一张光盘放入光驱;
2. 运行命令:
    smitty
        --> System Environments
            --> Manage Languange Environment
                --> Change/Show Primary Language Environment
                    --> Change/Show Cultural Convention, Language, or Keyboard
在随后显示的菜单中将光标分别移到以下字段:
  Primary CULTURAL Convention
Primary LANGUAGE translation
Primary KEYBOARD 
    按下,从弹出的菜单中选择“IBM-eucCN”将上述字段改为简体中文,按下回车键后系统自动从光盘安装中文环境软件包。此操作完成后重新启动系统,操作界面即为简体中文。
    需要输入中文时使用下列功能键切换输入方法:
        AIX 4.3.3 以前的版本:    + F1 ---  + F4 切换到各种中文输入方法;
右 --- 切换到英文输入; 

        AIX 4.3.3:   CTRL + [F2] : 智能 ABC ; 
CTRL + [F4] : 拼音输入; 
CTRL + [F5] : 五笔输入; 
CTRL + [F6] : 郑码输入 ; 
CTRL + [F7] : 表形码输入; 
CTRL + [F9] : 内码输入; 
CTRL + [F10] :英文半角; 
 
此外,AIX还包含另外两种中文环境,即“UTF8”和“GBK”,它们与“IBM-eucCN”之区别在于包含了繁体汉字的使用。上述三种中文环境的设置方法均相同。
 

 
第 23 楼:AIX 的许可权限---ACL

ACL是对标准权限位的扩展。通过修改分配给个人或组的标准权限,对每个文件或目录进行更精细的控制。对每个组或用户,有3种权限分配情况:
PERMIT : 准许对文件或目录的特定权限。 
DEMY : 限制对文件或目录的特定权限。 
SPECIFY : 明确地定义文件或目录权限。
"acledit "命令用于建立ACL。首先必须设置文本编辑器.如:export EDITOR=/usr/bin/vi。 
然后使用:acledit file_name
屏幕上将会显示: 
attributes:
base permissions
owner (rcunning): rwx
group (staff): r—
others: ---
extended permissions
disabled
要设置扩展的权限,将“disabled ”设置改为“enabled”: 
extend permissions
enabled
使用permit、deny 或specify关键字来定义扩展权限。前面的例子表明只有所有者能对这个文件写操作。组成员能读此文件而其他用户则没有任何许可权限。如果要使用户" joe"能够读写这个文件,用以下命令: 
extended permissions
enabled
permit rw- u: joe.
要允许组用户joegroup读这个文件,用以下命令: 
rermit r-- g: joegroup 
你能够通过在同一行中合并多个条目来对权限进行微调。如果只想为pete提供读写权,而他是系统组的一部分,则用以下命令: 
permit rw- u: pete, g: system
要为几个用户或组增加许可权限,则使用分行命令 : 
permit rw- u: joe
permit rw- u: pete
使用" ls -el"命令,查看ACL是否已在文件中设置。如"ls -el profile"命令显示: 
— rwxw--------+
最后的+表示文件已具 有有效的ACL 。 
注意:使用有数字争议的chmod 命令将使文件或目录的ACL无效。
 

 
第 24 楼:AIX管理经验谈

在AIX中可以通过打开acct功能来查看用户的资源使用情况, 主要包括:
用户连接情况、用户CPU使用情况、磁盘使用情况和打印机使用情况等。
具体的步骤(共7步)有:
1. 在/var/adm/acct目录下创建三个子目录:nite,sum,fiscal 

2. 以root登录,到/var/adm目录下,执行/usr/lib/acct/nulladm wtmp pacct。 

3. 通过在/etc/rc文件中添加两行(最后一行"exit 0"之上): 
echo "Starting Process Accounting" /usr/bin/su - adm -c /usr/lib/acct/startup 
打开记帐功能。

4. 将/etc/filesystems中要加入磁盘记帐的文件系统相关节中的account值改成true
5. 修改/etc/qconfig文件,要加入打印机使用记帐的打印队列的描述节中添加一行,
如: lp0: device=dlp0 acctfile = /var/adm/qacct # 添加行

6. 修改cron,例/var/spool/cron/crontabs/adm文件:
10 23 * * 0-6 /usr/lib/acct/runacct /
2> /usr/adm/acct/nite/accterr > /dev/null 
0 23 * * 0-6 /usr/lib/acct/dodisk > /dev/null 2>&1 
0 * * * * /usr/lib/acct/ckpacct > /dev/null 2>&1 
15 4 1 * * /usr/lib/acct/monacct > /dev/null 2>&1 

7. 如果要使用adm用户进行记帐管理,首先要给它分配密码,
然后在PATH环境变量中包括/usr/lib/acct以方便命令执行。 

完成这些步骤后,系统会在步骤一生成的目录下定期生成报告文件,
记录各用户的资源使用情况。
 

 
第 25 楼:AIX简介

AIX 全名为(Advanced Interactive Executive),它是IBM 公司的UNIX操作系统, 
整个系统的设计从网络、主机硬件系统,到操作系统完全遵守开放系统的原则。 
    下面对AIX 作以介绍。 
    RS/6000 采用IBM 的UNIX操作系统-AIX作为其操作系统。这是一 
个目前操作系统界最成功,应用领域最广,最开放的第二代的UNIX系 
统。它特别适合于做关键数据处理(CRITICAL)。 
    AIX 包含了许多IBM 大型机传统受欢迎的特征,如系统完整性,系统可管理
性和系统可用性。 
    在 AIX  操作系统上,有许多的数据库和开发工具,用户除了选用已有的应用
软件外,还可以根据各自的需要进行开发。 
    此外,在AIX 之上,有一组功能强,使用方便的系统管理工具。对于异种平台
互存,互操作有很成熟的解决方案。 
    由于该 UNIX 的先进的内核技术和最好的开放性,因此,虽然RS/6000 
从宣布到今天只有短短的5 年多的时间,它已在各行各业有了广泛的运用,
并在1993和1994年连续二年在MIDRANGE商用 UNIX 领域处于第一位。 
    RISC SYSTEM/6000的操作系统是AIX ,它是性能卓越的、开放的 
UNIX,汇集了多年来计算机界在UNIX上的研究成果,以IBM 在计算机 
体系结构、操作系统方面40多年极其丰富的经验。最大限度的使用RISC 
技术,安装了象AIX 这样的具备工业界实力的UNIX操作系统。 
    它既可连接SAA 体系结构,又能与非IBM 系统的网络相连,因此,可以
和多数专业银行现有的系统实现互连,这对今后业务系统拓展将带来极大的
灵活性,并降低投资。 
    AIX 遵循一系列的国际标准: 
*   IEEE POSIX1004.1-1990 
*   X/OPEN 移植指南ISSUE3的基本级(XPG3) 
*   AES/OS REVISION A (OSF/1 LEVEL 2 资格) 
*   FIPS 151-1 
*   AIX的编译器: XLC、C++(可选)、FORTRAN(可选)、PASCAL(可选)、COBOL(可选) 
*   ADA 的编译器已达到XPG3“成员”级的认可。 
*   AIX 支持多用户、多任务。 
    AIX有一些其它特性包括: 
    AIX 提供了3 种SHELL :SYSTEM V的KORN、BOURNE SHELL和4.3BSDC 
SHELL作为可选择的UNIX系统界面; 
    安全设施满足TCB (Trusted Computing Base)的C2级; 
    实时处理能力,这对于“面向交易”的应用至关重要(如零售业 
和银行等),它使RS/6000 获得极高的响应和吞吐量; 
    虚拟存储管理,当需要时,可将一些不常用的模块转送至外存, 
提高内存的可利用性。 
    先进的文件系统,使得系统管理更加有效,并提高了数据可靠性 
以及完整性。 
    能兼容DOS 应用程序和数据。 
    InfoExplorer,快速信息超文本索引系统- 不仅包括文字,而且 
对包含声音、图像的索引系统,这是个联机的文件接口。包括全部的 
超文本的索引和查找,以及面向任务和坐标的多重导引和索引系统。 
这个文字及图形索引系统以一个灵活的、基于任务的方式去使用详细 
资料及培训资料。 
    高级系统管理工具(SMIT,System Management Interface Tool)。 
提供一级菜单驱动程序,诸如完成软件的安装与设置、设备的设置及 
管理、问题的测定、存贮管理等。可以自动地进行I/O 设备设置, 
ASCII 终端也可充当系统控制台。在LAN 上可以进行远程系统的安装。
 

 
第 26 楼:AIX网络诊断及解决现场实例

AIX网络诊断及解决现场实例
http://www.chinaunix.net/ 作者:viperonline  发表于:2004-05-12 20:55:52
问题:有两台aix的测试机器,一台做应用,一台做数据库,都在同一个网段下(无双机),其中应用网络没有问题,而数据库这台网络有问题,内网下载只有30几K。
解决方法:对比法
由于这两台机器属于同一网段,机型完全一样,可以将两台机器的网络设置进行细致的对比,看看有何差异,然后改之。
使用netstat -v ent0 | grep -p "Specific Statistics"命令分别查看两台机器
应用:
netstat -v ent0 | grep -p "Specific Statistics"
10/100 Mbps Ethernet PCI Adapter II (1410ff01) Specific Statistics:
--------------------------------------------------------------------
Link Status: Up
Media Speed Selected: Auto negotiation
Media Speed Running: 100 Mbps Full Duplex
Receive Pool Buffer Size: 1024
Free Receive Pool Buffers: 1024
No Receive Pool Buffer Errors: 0
Receive Buffer Too Small Errors: 0
Entries to transmit timeout routine: 0
Transmit IPsec packets: 0
Transmit IPsec packets dropped: 0
Receive IPsec packets: 0
Receive IPsec packets dropped: 0
Inbound IPsec SA offload count: 0
Transmit Large Send packets: 0
Transmit Large Send packets dropped: 0
Packets with Transmit collisions:
1 collisions: 0           6 collisions: 0          11 collisions: 0
2 collisions: 0           7 collisions: 0          12 collisions: 0
3 collisions: 0           8 collisions: 0          13 collisions: 0
4 collisions: 0           9 collisions: 0          14 collisions: 0
5 collisions: 0          10 collisions: 0          15 collisions: 0
数据库:
netstat -v ent0 | grep -p "Specific Statistics"
10/100 Mbps Ethernet PCI Adapter II (1410ff01) Specific Statistics:
--------------------------------------------------------------------
Link Status: Up
Media Speed Selected: 100 Mbps Half Duplex
Media Speed Running: 100 Mbps Half Duplex
Receive Pool Buffer Size: 1024
Free Receive Pool Buffers: 1024
No Receive Pool Buffer Errors: 0
Receive Buffer Too Small Errors: 0
Entries to transmit timeout routine: 0
Transmit IPsec packets: 0
Transmit IPsec packets dropped: 0
Receive IPsec packets: 0
Receive IPsec packets dropped: 0
Inbound IPsec SA offload count: 0
Transmit Large Send packets: 0
Transmit Large Send packets dropped: 0
Packets with Transmit collisions:
1 collisions: 233543413   6 collisions: 0          11 collisions: 0
2 collisions: 0           7 collisions: 0          12 collisions: 0
3 collisions: 0           8 collisions: 0          13 collisions: 0
4 collisions: 0           9 collisions: 0          14 collisions: 0
5 collisions: 0          10 collisions: 0          15 collisions: 0
仔细对比发现数据库这台显然是双工模式与应用这台不同,应用的机器是自适应的,运行时是100M全双工模式,而数据库的机器限制为100M半双工模式,现在就是要将数据库这台改成与应用一样
更改双工模式的命令为smitty chgenet
但是在此之前要将需要更改的网卡down掉,以及所有经过此网卡的服务停止
步骤如下:
ifconfig -a
输出:
en0: flags=5e080863,80<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN>
        inet 10.100.10.6 netmask 0xffffff00 broadcast 10.100.10.255
再输入:
ifconfig en0 down
ifconfig en0 detach
smitty chgennt
输出:
                                                      [Entry Fields]
  Ethernet Adapter                                    ent0
  Description                                         10/100 Mbps Ethernet PCI Adapter II (1410ff01)
  Status                                              Available
  Location                                            1L-08
  Transmit descriptor queue size                     [512]                                                                       +#
  Receive descriptor queue size                      [512]                                                                       +#
  Software transmit queue size                       [8192]                                                                      +#
  Receive buffer pool size                           [1024]                                                                      +#
  Media Speed                                         Auto_Negotiation                                                           +
  IPsec Offload                                       no                                                                         +
  Enable hardware transmit and receive checksum       yes                                                                        +
  Enable TCP Large Send Offload                       no                                                                         +
  Enable Link Polling                                 no                                                                         +
  Time interval for Link Polling                     [500]                                                                       +#
  Enable ALTERNATE ETHERNET address                   no                                                                         +
  ALTERNATE ETHERNET address                         [0x000000000000]                                                            +
  Apply change to DATABASE only                       no                                                                         +
更改之后需要重新设置默认网关(原来的会丢失)
smitty tcpip
Minimum Configuration & Startup
输出:
HOSTNAME                                           [TEST1-CRM-APP-CLS]
* Internet ADDRESS (dotted decimal)                  [10.100.10.6]
  Network MASK (dotted decimal)                      [255.255.255.0]
* Network INTERFACE                                   en0
  NAMESERVER
           Internet ADDRESS (dotted decimal)         []
           DOMAIN Name                               []
  Default Gateway
       Address (dotted decimal or symbolic name)     [10.100.10.1]
       Cost                                          [0]                                                                          #
       Do Active Dead Gateway Detection?              no                                                                         +
  Your CABLE Type                                     N/A                                                                        +
  START TCP/IP daemons Now                            no                                                                         +
最后将网卡启用
ifconfig en0 up
问题得到解决!!!!
 

我的主页:http://tlcshxd.3322.org/index.html
 
第 27 楼:IBM巡检流程

1、检查系统硬件情况:设备故障灯是否有亮
2、系统错误报告(errlog)
3、有否发给root用户的错误报告(mail)
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、检查系统参数是否正确
1)/etc/enviroment中的TZ不能有夏时制
2)如有数据库:Aio:available
3)HACMP中I/O pacing:High Water Mark/Low Water MArk:33/24
4)HACMP中Syncd:10
5)HACMP中Power Monitorff
14、检查rootvg是否有镜象
15、检查errdemon,srcmstr是否正常运行
16、机房环境(电压、湿度)
17、系统性能:有否性能瓶颈(topas,vmstat)
18、补丁程序(PTF)、微码(是否需要升级)
19、HACMP测试:Cluster Verification
20、系统硬件诊断
21、运行#snap -ac,生成文件snap+s/n.pax.Z
22、机器清洁
注:1~15为A类维护(季度维护),16~18为B类维护(半年维护),19~22为C类维护(年度维护)
 

我的主页:http://tlcshxd.3322.org/index.html
 
第 28 楼:AIX Useful Commands

compress -c file.txt > file.Z           Create a compressed file.
uuencode (infile) (extract-file-name) > (output file)
Converts a binary file to an ASCII file for transfer by modem or email
uudecode (encoded file)
Extracts a binary file from encoded file and calls it the extract-file-name 
examples :-
uuencode maymap maymap > maymap.enc
uudecode maymap.enc
od -c /tmp            Displays contents of the /tmp directory file
ls -i                 Lists files with their inode numbers
echo *                Lists files, can be used if ls is corrupt/missing
chtz (timezone eg GMT0BST)        Changes the timezone in /etc/environment file
chlang (language eg En_GB)        Changes the language in /etc/environment file
ar -v -t (archive file)           List contents of an archive
ar -v -x (archive file)           Extracts the archive
ar -v -t /usr/lib/libC-r.a        Lists contents of the libC_r.a library
find /source -print | cpio -pdm /target
Copying directories using cpio, creates /target/source directory.
dump -nTv (binary executable)     Displays the contents of an executable file
dump -c        Displays string information
dump -o        Displays object file headers
dump -l        Displays line numbers
dump -s        Displays the text section
snap -ao /dev/rmt0         Create a snapshot onto tape
snap -ad (directory)       Create a snapshot into a named directory other
                           than the default (/tmp/ibmsupt)
/usr/dt/bin/dtconfig -d    Disables desktop logins
/usr/dt/bin/dtconfig -e    Enables desktop logins
/var/dt/Xpid               PID of the dtlogin process
--------------------------------------------------------------------------------
                        LICENSES / SOFTWARE INSTALLATION
--------------------------------------------------------------------------------

lslicense                    Displays number of current user licenses
chlicense -u (number)        Changes the number of user licenses
( ftp,rexec and rsh (without -i flag) do not need an AIX user license to be
  able to access the system. 

oslevel                       Returns operating system level
     4 . 3 . 3 . 0 <--------- Preventive Maintenance Level
     |   |   |
     |   |   +----------------Modification
     |   +--------------------Release
     +------------------------Version
oslevel -l 4.3.3.0            Displays all filesets that are "downlevel"
whence (program)              Returns full path of program
whereis (program)             Returms full path of program
what (program)                Displays identifying info from the executable
                              like version number, when compiled.
lslpp -L all                  list all installed software
lslpp -L (program set name)   Check if software installed
lslpp -f                      Lists filesets vs packages
lslpp -ha                     Lists installation history of filesets
lslpp -w /usr/bin/swapon      Lists the fileset that the file belongs to
lppchk -c                     Checks file checksums against SWVPD
lppchk -l                     Checks symbolic links against SWVPD
instfix -ik (fix number eg IX66617)     Checks id fix is installed
instfix -ik 4330-02_AIX_ML
instfix -i | grep ML                    Displays all ML's installed
instfix -k IX38794 -d /dev/cd0          Installs a fix from cdrom
/usr/sbin/install_assist                Smitty Installation Assistant
/usr/sys/inst.images/sys.bundles        Software bundle files
alt_disk_install -c hdisk1       Clones a running rootvg onto hdisk1
alt_disk_install -w              Wakes up alt vg
alt_disk_install -s              Sends alt vg to sleep !
alt_disk_install -x              Removes alt vg from disk
/usr/lpp/bosinst/blvset -d /dev/hdisk0 -p 4.2
Resets the pad string in the BLV to the correct AIX version. Needed if the
migration option is missing when installing.
installp -ad (device) (fileset) (level)     Install apply and commit fileset
installp -pad (device) (fileset) (level)    Preview install
installp -u (fileset)                       Remove fileset
installp -ld (device)                       List all software on device
example:-
installp -pad /dev/rmt0 X11.base 4.3.3.0
installp -C      Cleans up after a premature cancel or interrupted installation.
--------------------------------------------------------------------------------
                           TERMINALS / DISPLAYS
--------------------------------------------------------------------------------
/usr/share/lib/terminfo    Directory with all support terminal info files.
tty            Displays what the tty/pty number of the terminal is.
termdef        reports the termtype setup in smit for the tty port
               that termdef is run on.
chdev -l (device eg tty1) -a term=vt100     Sets tty to a vt100 terminal type
penable tty0      adds getty line into /etc/inittab for tty0 and starts getty
pdisable tty0     disables the getty line and disables getty
penable / pdisable -a option is for all
stty erase ^?     Set backspace key for vt100 terminals
stty erase ^H     Set backspace key for wyse50 terminals
lscons                                              Displays the console device
chcons -a login=enable (device eg /dev/tty1)        Changes the console device
lsdisp            Display adapter device information
chdisp            Change default display used by LFT subsystem

Create ttys on ports 0 to 7 on adapter sa2 :-
for i in 0 1 2 3 4 5 6 7
do
  mkdev -c tty1 -t tty -s rs232 -p sa2 -w$i -a login=enable -a term=vt100
done
portmir -t /dev/tty0     Mirror current terminal onto /dev/tty0
portmir -o               Turns off port mirroring

--------------------------------------------------------------------------------
                                NETWORK
--------------------------------------------------------------------------------
host (ip or hostname)      Resolves a hostname / ip address
hostname                   Displays hostname
hostname (hostname)        Sets the hostname until next reboot
lsdev -Cc if               Lists all available/defined network interfaces
chdev -l (device name) -a hostname=(hostname)    Changes hostname permanently
chdev -l inet0 -a hostname=thomas
ifconfig (device name)              Displays network card settings
ifconfig (device name) up           Turns on network card
chdev -l (device name) -a state=up  Turns on network card
ifconfig (device name) down         Turns off network card
ifconfig (device name) detach       Removes the network card from the
                                    network interface list
ifconfig en0 inet 194.35.52.1 netmask 255.255.255.0 up
ifconfig lo0 alias 195.60.60.1      Create alias ip address for loopback
route (add/delete) (-net/-host) (destination) (gateway)
Adds or deletes routes to other networks or hosts, does not update
the ODM database and will be lost at reboot.
route add -net 194.60.89.0 194.60.90.4
chdev -l inet0 -a "net,-hopcount,1,-netmask,255.255.255.0,207.156.168.0,10.0.15.254"
                                                          (destination) ( gateway 
Adds route and adds entry into ODM, route survives a reboot,
route -rn                Display route table
odmget -q "attribute=route" CuAt    Displays routes in the ODM.
lsattr -EHl inet0                  Displays routes set in ODM and hostname
odmget -q "name=inet0" CuAt        Displays routes set in ODM and hostname
refresh -s inetd           Refresh inetd after changes to inetd.conf
kill -1 (inetd PID)        Refresh inetd after changes to inted.conf
netstat -i                             Displays interface statistics
entstat -d (ethernet adapter eg en0)   Displays ethernet statistics
arp -a         Displays ip to mac address table from arp cache
no -a          Displays network options use -o to set individual options or
               -d to set individual options to default.
               no -o option=value (this value is reset at reboot)
               no -o "ipforwarding=1"
traceroute (name or ipaddress)        Displays all the hops from source to
                                      destination supplied.
ping -R (hostname or ipaddress)       Same as traceroute except repeats.
spray (hostname or ipaddress)         Send a stream of packets to a host
stopsrc -g tcpip            Stops all running TCP/IP daemons
/etc/tcp.clean              Stops all running TCP/IP daemons and removes all 
                            lock files
/etc/rc.tcpip               Start all TCP/IP daemons. 
                            Do not use startsrc -g tcpip as this will start all 
                            TCP/IP daemons including routed & gated
--------------------------------------------------------------------------------
                                N.F.S.
--------------------------------------------------------------------------------
exportfs                        Lists all exported filesystems
exportfs -a                     Exports all fs's in /etc/exports file
exportfs -u (filesystem)        Un-exports a filesystem
mknfs                           Configures and starts NFS services
rmnfs                           Stops and un-configures NFS services
mknfsexp -d /directory          Creates an NFS export directory
mknfsmnt                        Creates an NFS mount directory
mount hostname:/filesystem /mount-point    Mount an NFS filesystem
nfso -a                                    Display NFS Options
nfso -o option=value                       Set an NFS Option
nfso -o nfs_use_reserved_port=1
 

我的主页:http://tlcshxd.3322.org/index.html
 
第 29 楼:BACKUPS

MKSYSB
------
mkszfile -f                 Creates /image.data file (4.x onwards)
mkszfile -X                 Creates /fs.size file    (3.x)
mksysb -i (device of file)  Creates a mksysb image
mksysb does not save any raw data and will not backup a filesystem that
is not mounted.
SAVEVG
------
savevg -if (device or file) (vg)   Creates a savevg image
restvg -q -f (device or file)      Restore from a savevg image
                                   Ensure that the restvg command is run from /
mkvgdata (vg)                      Creates new vgname.data file
CPIO ARCHIVE
------------
find (filesystem) -print | cpio -ocv > (filename or device)
eg find ./usr/ -print | cpio -ocv > /dev/rmt0
CPIO RESTORE
------------
cpio -ict < (filename or device) | more        Lists archive
cpio -icdv < (filename or device)
cpio -icdv < (filename or device) ("files or directories to restore")
eg cpio -icdv < /dev/rmt0 "tcpip/*"             Restore directory and contents
   cpio -icdv < /dev/rmt0 "*resolve.conf"       Restore a named file
TAR ARCHIVE
-----------
tar -cvf (filename or device) ("files or directories to archive")
eg tar -cvf /dev/rmt0 "/usr/*"
TAR RESTORE
-----------
tar -tvf (filename or device)                        Lists archive
tar -xvf (filename or device)                        Restore all
tar -xvf (filename or device) ("files or directories to restore")
use -p option for restoring with orginal permissions
eg tar -xvf /dev/rmt0 "tcpip"                   Restore directory and contents
   tar -xvf /dev/rmt0 "tcpip/resolve.conf"      Restore a named file
AIX ARCHIVE
-----------
find (filesystem) -print | backup -iqvf (filename or device)
Backup by filename.
eg find /usr/ -print | backup -iqvf /dev/rmt0
backup -(backup level 0 to 9) -f (filename or device) ("filesystem")
Backup by inode.
eg backup -0 -f /dev/rmt0 "/usr"        -u option updates /etc/dumpdates file
AIX RESTORE
-----------
restore -qTvf (filename or device)                        Lists archive
restore -qvxf (filename or device)                        Restores all
restore -qvxf (filename or device) ("files or directories to restore")
        (use -d for restore directories)
restore -qvxf /dev/rmt0.1 "./etc/passwd"     Restore /etc/passwd file
restore -s4 -qTvf /dev/rmt0.1                Lists contents of a mksysb tape

BACKUPS ACROSS A NETWORK
------------------------
To run the backup on a local machine (cpio) and backup on the remote 
machine's (remhost) tape drive (/dev/rmt0)
find /data -print | cpio -ocv | dd obs=32k | rsh remhost / 
"dd ibs=32k obs=64k of=/dev/rmt0"
To restore/read the backup (cpio) on the remote machine
dd ibs=64k if=/dev/rmt0 | cpio -icvt
To restore/read the backup (cpio) on the local machine from the remote
machine's (remhost) tape drive (/dev/rmt0)
rsh remhost "dd ibs=64k obs=32k if=/dev/rmt0" | dd ibs=32k /
| cpio -icvt
To run the backup (cpio) on a remote machine (remhost) and backup to
the local machines tape drive (/dev/rmt0)
rsh remhost "find /data -print | cpio -ocv | dd ibs=32k" /
| dd ibs=32k obs=64k of=/dev/rmt0
tar cBf - .  | rsh remhost "dd ibs=512 obs=512 of=/dev/rmt0"
Same as above but using tar instead of cpio.
--------------------------------------------------------------------------------
                        Copying diskettes and tape
--------------------------------------------------------------------------------
COPYING DISKETTES
-----------------
dd if=/dev/fd0 of=(filename) bs=36b
dd if=(filename) of=/dev/fd0 bs=36b conv=sync         or flcopy

COPYING TAPES
-------------
dd if=/dev/rmt0 of=(filename)        
dd if=(filename) of=/dev/rmt0        or tcopy
--------------------------------------------------------------------------------
                                VI Commands
--------------------------------------------------------------------------------
:g/xxx/s//yyy/   global change where xxx is to be changed by yyy
sed 's(ctrl v ctrl m)g//g' old.filename > new.filename                
Strips out ^M characters from ascii files that have been transferred as binary.
To enter crontrol characters type ctrl v then ctrl ? where ? is whatever
ctrl character you need.
 

我的主页:http://tlcshxd.3322.org/index.html
 
第 30 楼:DEVICES

lscfg                          lists all installed devices
lscfg -v                       lists all installed devices in detail
lscfg -vl (device name)        lists device details
bootinfo -b                    reports last device the system booted from
bootinfo -k                    reports keyswitch position
                               1=secure, 2=service, 3=normal
bootinfo -r                    reports amount of memory (/ by 1024)
bootinfo -s (disk device)      reports size of disk drive
bootinfo -T                    reports type of machine 
                               ie rspc,rs6ksmp,rspc or chrp
lsattr -El sys0 -a realmem     reports amount of useable memory
mknod (device) c (major no) (minor no)        Creates a /dev/ device file.
mknod /dev/null1 c 2 3
lsdev -C        lists all customised devices ie installed
lsdev -P        lists all pre-defined devices ie supported
lsdev -(C or P) -c (class) -t (type) -s (subtype)
chdev -l (device) -a (attribute)=(new value)         Change a device attribute
chdev -l sys0 -a maxuproc=80
lsattr -EH -l (device) -D         Lists the defaults in the pre-defined db
lsattr -EH -l sys0 -a modelname
rmdev -l (device)           Change device state from available to defined
rmdev -l (device) -d        Delete the device
rmdev -l (device) -SR       S stops device, R unconfigures child devices
lsresource -l (device)  Displays bus resource attributes of a device.
cfgmgr                  Configures devices
cfgmgr -i /dev/cd0      Configure devices and install drivers from /dev/cd0
                        if required
cfgmgr -S               Run in serial, used with a larger number of disks
cfgmgr -l scsi0         Configure devices on adapter scsi0 only
diag                Run hardware diagnostic menu    
smitty diag             Run hardware diagnostic menu
( 7020-40P and 7248-43P machines cannot run diagnostics, use diagnostics
  in the SMS menus instead 
diag -d (device)        Run diagnostics against a device.
lsslot            Displays all hot swap slots
lsslot -c pci           Lists all pci hot swap slots
lsslot -c pci -a        Lists all available pci hot swap slots
drslot                          Reconfgiures PCI hot-plug slots
drslot -i -c pci -s U0.1-P1-I3        Display a slot, flashes the LED next to
                                      the slot so that it can be identified.
Power Management (PCI machines)
-------------------------------
pmctrl -a            Displays the Power Management state
rmdev -l pmc0        Unconfigure Power Management
mkdev -l pmc0        Configure Power Management
--------------------------------------------------------------------------------
                                TAPE DRIVES
--------------------------------------------------------------------------------
rmt0.x where x = A + B + C
A = density        0 = high      4 = low
B = retension      0 = no        2 = yes
C = rewind         0 = yes       1 = no
tctl -f (tape device) fsf (No)        Skips forward (No) tape markers
tctl -f (tape device) bsf (No)        Skips back (No) tape markers
tctl -f (tape device) rewind          Rewind the tape
tctl -f (tape device) offline         Eject the tape
tctl -f (tape device) status          Show status of tape drive
chdev -l rmt0 -a block_size=512        changes block size to 512 bytes
                                       (4mm = 1024, 8mm = variable but 
                                        1024 recommended)
dd if=/dev/rmt0 bs=128k count=1 | wc -c
Displays the block size of an unknow tape. Set block size to 0 first.
bootinfo -e             answer of 1 = machine can boot from a tape drive
                        answer of 0 = machine CANNOT boot from tape drive
diag -c -d (tape device)        Hardware reset a tape drive.
diag -c -d rmt0
tapechk (No of files)           Checks Number of files on tape.
< /dev/rmt0                     Rewinds the tape !!!

--------------------------------------------------------------------------------
                        PRINTERS / PRINT QUEUES
--------------------------------------------------------------------------------
splp (device)                   Displays/changes printer driver settings 
splp /dev/lp0
export $LPDEST="pqname"         Set default printer queue for login session 
lsvirprt                        Lists/changes virtual printer attributes.
lsallq                          Displays all queues
rmvirprt -q queuename -d queuedevice        Removes a virtual printer
qpri -#(job No) -a(new priority)            Change a queue job priority.
qhld -#(job No)                Put a hold on hold
qhld -r #(job No)              Release a held job
qchk -A                        Status of jobs in queues
lpstat                                        
lpstat -p(queue)               Status of jobs in a named queue
qcan -x (job No)               Cancel a job from a queue
cancel (job No)                                
enq -U -P(queue)               Enable a queue
enable (queue)                                
enq -D -P(queue)               Disable a queue
disable (queue)                                
qmov -m(new queue) -#(job No)  Move a job to another queue
startsrc -s qdaemon            Start qdaemon sub-system
lssrc -s qdaemon               List status of qdaemon sub-system
stop -s qdaemon                Stop qdaemon sub-system
 

我的主页:http://tlcshxd.3322.org/index.html
 
第 31 楼:FILE SYSTEMS

Physical Volumes (PV's)
-----------------------
lspv                        Lists all physical volumes (hard disks)
lspv (pv)                   Lists the physical volume details
lspv -l (pv)                Lists the logical volumes on the physical volume
lspv -p (pv)                Lists the physical partition usage for that PV
lspv -M (pv)                Lists the PP allocation table for that PV.
If the PV state is "missing" but the disk is okay, use "varyonvg vg" to change
the state of the PV to "active".
chdev -l (pv) -a pv=yes     Makes a new hdisk a pysical volume.
chpv -v r (pv)              Removes a disk from the system.
chpv -v a (pv)              Adds the removed disk back into the system.
chpv -a y (pv)              Changes pv allocatable state to YES
chpv -a n (pv)              Changes pv allocatable state to NO
migratepv (old pv) (new pv)     Moves all LV's from one PV to another PV, both
                                PV's must be in the same volume group.
Migratepv cannot migrate striped logical volumes, use cplv and rmlv.
replacepv (old pv) (new pv)     (4.3.3 onwards)

Volume Groups (VG's)
--------------------
lsvg              Lists all volume groups
lsvg (vg)         Lists the volume group details
lsvg -l (vg)      Lists all logical volumes in the volume group
lsvg -p (vg)      Lists all physical volumes in the volume group
lsvg -o           Lists all varied on volume groups
varyonvg (vg)           Vary On a volume group
varyonvg -f (vg)        Forces the varyon process
varyonvg -s (vg)        Vary on a VG in maintenance mode. LV commands can be 
                        used on VG, but LV,s cannot be opened for I/O.
varyoffvg (vg)          Vary Off a volume group
synclvodm (vg)          Tries to resync VGDA, LV control blocks and ODM.
synclvodm -v (vg)       Rebuilds the LVCB.
(the vg needs to be varied on before running synclvodm)

mkvg -y(vg) -s(PP size) (pv)    Create a volume group
mkvg -y datavg -s 4 hdisk1
reducevg (vg) (pv)       Removes a volume group
reducevg -d (vg) (pv)    Removes a volume group and delete all LV's on the PV
reducevg (vg) (PVID)     Removes the PVID disk reference from the VGDA when a
                         disk has vanished without the reducevg (vg) (pv)
                         command being run first.
reducevg -df (vg) (pv)   Deletes all LV's from the VG and removes the VG
                         from the disk. If the last disk in the VG then
                         the VG is deleted.
                                
extendvg (vg) (new pv)   Adds another PV into a VG.
exportvg (vg)            Exports the volume group, removes the VG entries and
                         removes all FS entries from /etc/filesystems but
                         leaves the mount points.
Note : Cannot export a VG if it has active paging space, turn off paging,
       reboot before exporting VG. Exporting removes entries from filesystems
       file but does not remove the mount points.
chvg -a y (vg)                  Auto Vary On a volume group at system start.
chvg -u (vg)                    Unlocks a locked volume group.
lqueryvg -Atp (pv)              Details volume group info for the hard disk.
importvg -y (vg name) (pv)      Import a volume group from a disk.
importvg (pv)                   Same as above but VG will be called vg00 etc.
4.3 onwards, importvg will automatically varyon the VG.
chvg -Q (y/n) (vg name)         Turns on/off Quorum checking on a VG.
reorgvg (vg) (lv)        Reorganised a fragmented LV, must state an LV at the 
                         command line else the first LV in the VG is picked.
                         Does not reorg the PP's of striped LV's.
                                

Logical Volumes (LV's)
----------------------
lslv (lv)                   Lists the logical volume details
lslv -l (lv)                Lists the physical volume which the LV is on
lsattr -EHl (lv)            Displays more logical volume details
mklv (vg) (No of PP's) (pv Name optional)       Create a logical volume
mklv -y (lv) (PP's) (pv name optional)          Creates a named logical volume
( use -t jfs2 when creating an LV for a JFS2 filesystem 

chlv -n (new lv) (old lv)                       Rename a logical volume
chlv -x (number) (lv)                           Change max no of PP's
chlv -s n (lv)                                  Turns of strickness on the LV
extendlv (lv) (extra No of PP's)                Increase the size of an LV
rmlv (lv)                                       Remove a logical volume
cplv -v (vg to copy to) -y (new lv) (lv)        Copy an LV to a new LV
If copying a filesystem LV, umount the filesystem before copying, otherwise you
will have to fsck the the new LV before the filesystem can be mounted.
If copying a striped LV to an LV that is already created, and the stripe 
size is different ( or not even striped , then these new parameters are
maintained when the data is copied to the new LV.
cplv -e (new lv) (old lv)            Copy to an existing LV
( new lv must have type as copy use chlv -t copy (new lv) to change 
mklv/extendlv -a = PP alocation policy
-am = middle   -ac = center   -ae = edge
-aie = inner edge    -aim = inner middle
migratepv -l (lv) (old pv) (new pv)
Move a logical volume between physical volumes. Both physical volumes
must be in the same volume group !
mklv -y (lv) -t jfslog (vg) (No of PP's) (pv Name optional)
Creates a JFSlog logical volume.
logform (/dev/lv)       Initialises an LV for use as an JFSlog
getlvcb -AT (lv)        Displays Logical Volume Control Block information
File Systems (FS's)
-------------------
lsfs            Lists all filesystems
lsfs -q (fs)    Lists the file system details
lsjfs           Displays data about all filesystems in CSV style format
mount               Lists all the mounted filesystems
mount (fs or lv)    Mounts a named filesystem
mount -a            Mounts all filesystems
mount all 
mount -r -v cdrfs /dev/cd0 /cdrom        mounts cd0 drive over /cdrom
crfs -v jfs -d(lv) -m(mount point) -A yes
Will create a file system on the whole of the logical volume, adds entry into
/etc/filesystems and will create mount point directory if it does not exist. 
( use -v jfs2 for JFS2 filesystems 
crfs -v jfs -g(vg) -m(mount point) -a size=(size of fs) -A yes
Will create a logical volume on the volume group and create the file system on
the logical volume. All at the size stated. Will add entry into 
/etc/filesystems and will create the mount point directory if it does not exist.
Use attribute "-a log=/dev/log01" to specify a jfslog devices   
Use attrubute "-a bf=true" for a large file enabled filesystem           
chfs -A yes (fs)                 Change file system to Auto mount in 
                                 /etc/filesystems
chfs -a size=(new fs size)(fs)   Change file system size
chfs -m (new-mount-point) (fs)   Change the file system mount point.
rmfs (fs)            Removes the file system and will also remove the
                     LV if there are no onther file systems on it.
defrag -q (fs)       Reports the fragment status of the file system.
defragfs -r (fs)     Runs in report only defrag mode (no action).
defragfs (fs)        Defragments a file system.
fsck (fs)            Verify a file system, the file system must be unmounted!
fsck (-y or -n) (fs) Pre-answer questions either yes or no !
fsck -p (fs)         Will restore primary superblock from backup copy if the
                     superblock is corrupt.
              ( or dd count=1 bs=4k skip=31 seek=1 if=/dev/lv00 of=/dev/lv00 
Mirroring
---------
mklv -y (lv) -c(copies 2 or 3) (vg) (No of PP's) (PV Name optional)
Creates a mirrored named logical volume.
mklvcopy -s n (lv) (copies 2 or 3) (pv)
Creates a copy of a logical volume onto another physical volume. The physical
volume MUST be in the same volume group as the orginal logical volume !
rmlvcopy (lv) (copies 1 or 2)             Removes logical volume copies.
rmlvcopy (lv) (copies 1 or 2) (pv)        From this pv only!
syncvg -p (pv)                            Synchronize logical partion copies
syncvg -l (lv)
syncvg -v (vg)
mirrorvg (vg) (pv)                
Mirrors the all the logical volumes in a volume group onto a new physical
volume. New physical volume must already be part of the volume group.
chfs -a splitcopy=/backup -a copy=2 /data1
Splits off a copy of a 3 way mirror and mount read only for use as an
offline backup.
--------------------------------------------------------------------------------
                   BOOT LOGICAL VOLUME (BLV) / PROCESSORS / KERNEL
--------------------------------------------------------------------------------
Mirroring does not work with the BLV as it is not a true logical volume,
bosboot must be run against the other disk after mirroring the rootvg.
bootlist -m (normal or service) -o                       displays bootlist
bootlist -m (normal or service) (list of devices)        change bootlist
bootinfo -b                  Identifies the bootable disk
bootinfo -t                  Specifies type of boot 
bosboot -a -d (/dev/pv)      Creates a complete boot image on a physical volume.
mkboot -c -d (/dev/pv)       Zero's out the boot records on the physical volume.
savebase -d (/dev/pv)        Saves customised ODM info onto the boot device.
lslv -m hd5                  Find out which disk the BLV is on.
bootinfo -y                  Displays which kernel can be used, 32 or 64 bit
genkex                       Reports all loaded kernel extensions.
lsdev -Cc processor          Lists all processors
lsattr -EHl proc0            Displays attributes of processor 0. AIX 5.1L will
                             display processor clock frequency.
--------------------------------------------------------------------------------
                                SYSTEM DUMP
--------------------------------------------------------------------------------
1, AIX 4.2.1 and greater supports system dump to paging space.
2, AIX 4.3.3 and greater supports system dump to mirrored paging space.
3, Primary dump device must be in the rootvg
4, Secondary dump device can be outside rootvg unless it is a paging device.
sysdumpdev -l        Lists current dump destination.
sysdumpdev -e        Estimates dumpsize of the current system in bytes.
sysdumpdev -L        Displays information about the previous dump.
sysdumpstart -p      Starts a dump and writes to the primary dump device.
sysdumpstart -s      Starts a dump and writes to the secondary dump device.
(MCA machine can also dump if key is in service position and the reset
button is pressed)
sysdumpdev -p (dump device) -P        Sets the default dump device, permanently
Analyse dump file :-
echo "stat/n status/n t -m" | crash /var/adm/ras/vmcore.0
snap -gfkD -o /dev/rmt0     Copy dump to tape to send to IBM support, uses tar.
--------------------------------------------------------------------------------
                                PAGING SPACE (PS's)
--------------------------------------------------------------------------------
lsps -a                        Lists out all paging space
lsps -s                        Displays total paging and total useage
lsps (ps)                
swappon /dev/ps                Activates a paging device eg /dev/paging00
swappoff /dev/ps               Deactivates a paging device ( AIX 5.x only 
mkps -s(No of PP's) -n -a (vg)
mkps -s(No of PP's) -n -a (vg) (pv)
-n = don't activate/swapon now                -a = activate/swapon at reboot
mklv -b n -t paging -y hd6 (vg) (No of PP's) (pv)
Creates paging space using the mklv command.
chps -a n (ps)                  Turns off paging space.
chps -s(No of PP's) (ps)        Increases paging space.
chps -d(No of PP's) (ps)        Decreases paging space ( AIX 5.x only 
chlv -n (new name) (old name)        Change paging space name
rmps (ps)               Remove paging space. PS must have been turned off 
                        and then the system rebooted before it can be removed.
Note : Need to change the swapon entry in /sbin/rc.boot script if you are
       changing the default paging space from /dev/hd6. You also need to
       do a "bosboot -a -d /dev/hdiskx" before the reboot.
/etc/swapspaces               File that lists all paging space devices that are
                              activated/swapon during reboot.
--------------------------------------------------------------------------------
                                SCHEDULING
--------------------------------------------------------------------------------
crontab -l                        List out crontab entrys
crontab -e                        Edit crontab entrys
crontab -l > (filename)           Output crontab entrys to a file
crontab (filename)                Enter a crontab from a file
crontab -r                        Removes all crontab entrys
crontab -v                        Displays crontab submission time.
/var/adm/cron/cron.allow        File containing users allowed crontab use.
/var/adm/cron/cron.deny         File containing users denied crontab use.
/var/adm/cron/crontab           Directory containing users crontab entries.
/var/adm/cron/log               Cron log file.
at (now + 2 minutes, 13:05, etc) {return}        Schedule a job using at
Command or schell script {return}
{CTRL D}
echo "shutdown -Fr" | at now + 1 minute
at -l                                
atq                      Lists out jobs scheduled to run via at command
at -r (at job No)
atrm  (at job No)        Removes an at job scheduled to run.
/var/adm/cron/at.allow   File containing users allowed at use.
/var/adm/cron/at.deny    File containing users denied at use.
/var/adm/cron/atjobs     Directory containing users at entries.
--------------------------------------------------------------------------------
                                SECURITY
--------------------------------------------------------------------------------
nulladm /var/adm/wtmp      To recreate/clear down the wtmp file.
groups           Lists out the groups that the user is a member of
 

我的主页:http://tlcshxd.3322.org/index.html
 
第 32 楼:AIX经验搜集

如何建立第二个root用户
AIX V3, V4
建立第二个root用户
步骤如下:
1. 添加一个用户
2. 手工修改/etc/passwd文件中的 user ID 和 group ID
3. 将user ID改为0.
如下,可对用户russ做改动:
将 russ:!:206:1::/u/russ:/bin/ksh
改为:russ:!:0:0::/u/russ:/bin/ksh
具有root权限的用户可执行一条命令,完成特定的任务。如下你可以建立一个用户(shutdown)负责系统的重启动.
在AIX 3.2.5中:
shutdown:!:0:0::/u/shutdown:/etc/shutdown -Fr
在AIX 4:
shutdown:!:0:0::/u/shutdown:/usr/sbin/shutdown -Fr
这个用户一注册,操作系统就会重起。

AIX 的许可权限
说明
如何查看许可权限
许可权限字母的意义
当产生文件或目录时, 如何决定性权限
如何改变文件或目录的所有者或组
如何改变文件或目录的权限
ACL
文件系统和目录安装点权限
NFS安装文件系统许可
本文介绍了AIX 如何控制文件和目录的权限 。所有文件和目录对以下对象都有权限控制 : 所有者(通常是创造文件的人)
用户组(将该组作为组集之一部分或主组的任何人)
其他人(不是所有者或不属于这个群的用户以外的任何用户)
AIX 4.3版本和RS/6000产品资料可在以下网址获得 :
http://www.rs6000.ibm.com/resource/aix_resource/pubs/index/index html.
1.如何查看许可权限
执行命令" Is -l file_name " 或" Is -ld directory-name" 会显示不同的数据, 左侧的一个 有10个字符的字串:
—rwxrwxrwx
该字符串可分解为3个许可权限集:
—rwx rwx rwx
| | |其他用户许可 。
| |
| |
| 把该组作为主组或作为他们组集之一部分的用户许可。
|
文件或目录所有者许可
这些命令同时也显示文件或目录的所有者和用户组 。
—rwxrwxrwx joe joegroup
许可 所有者 用户组
所显示的所有者名称来自 /etc/passwd。文件的inode 存储用户的Id 。如果你看到的是一个数字而不 是名称,这就是说/etc/passwd文件无法读取,或该文件不存在此用户id 。同样,用户组的名称来自/etc/group 文件.
系统首先检查你是否是所有者;如果是,你会得到所有者的许可权限 ,即使这个许可比 “用户群”或“其他人”许可权限集严格。
然后系统会检查你是否将该组列为主组或组集的一部分。如果是,你会得到组许可,尽管这些 许可限制比“其他人”许可权限集更严格。
如果你既不是所有者也不是组集的一部分,你会得到“其他人”的许可。
2. 许可权限的字母的意义
许可权限字母的意思因文件或目录的不同而有区别。读/写目录的权限与读/写目录所指文件的权限无关。
对于目录,许可权限字母的含义如下:
r --- 指读目录中文件列表的能力,如"ls"命令。
注 :如果只有读目录列表的许可,则不可以在目录内部执行命令。
x ---目录搜索能力。可以在已知文件名时在目录中执行此文件。一般来说,大多数目录操作都要求读&reg;和搜索(x)权限。
w---同搜索(x)权限共同使用时,在目录中产生或删除文件的能力。如果目录具有写的权限,而没有在文件写的权限,你仍可以删除文件,但不可以修改文件.
t ---指链接权限。设置链接权限可防止除文件所有者、根用户和目录所有者之外的所有用户删除文件,虽然目录中的权限可能允许删除这个文件。在这种情况下,可为“其他人”设置搜索(x)位。
T---同t相同,但不为其他用户设置搜索(x)位。
s---不适用于所有者。用于用户组 ,它成为组的继承位(sgid,亦称set groupid) 。这个目录中创建的所有文件都与此目录有同样的组。
S---与s相同,但不为用户组设置搜索(x) 。
对于文件,许可字母有下列含义:
r--- 指阅读文件的能力。
w--- 指修改文件的能力。只有在目录中有写权限时才可以创建或删除文件。
x--- 指执行文件的能力。
3. 当产生文件或目录时,如何决定性权限?
用户id(uid)用来设置文件所有者。主组用来设置用户组(除非创建文件的目录有Sgid位设置)。
"umask "可设置初始权限。在命令行中键入"umask "命令,查看当前设置 ,如要修改" umask"设置,输入umask号码,如:
umask 022。
"umask" 命令不设置文本文件和脚本文件而只在目录中设置执行位。
如果你创建一个目录或文本文件,可按以下例子设置权限 :
以umask 022为例 :
777-022=755
666-022=644
执行"ls -l",会显示以下权限,(r=4, w=2, x=1)
目录:rwxr-xr-x
文本文件:rw-r--r--
4.如何改变文件或目录的所有者或组?
"chown "和 "chgrp" 命令用于改变所有者和组。只有"根 "用户才能改变文件的所有者。" 根"用户或文件的拥有者可以改变这个文件的组。
使用Chgrp命令:chgrp (New_group_name) (file_name)
使用Chown命令: Chown (new_owner) (file_name) 或 chown (new_owner) (file_name)
5.如何改变文件或目录的权限?
使用"chmod "命令来改变文件或目录的权限.权限可以用字母或数字表示。读 &reg; = 4 ,写(w) = 2 ,执行(或搜索)(x) = 1
这些数字加到一起就得到用于chmod命令的数字.(注意:如果您正在文件或目录中使用ACL,使用数字模式chmod命令会使ACL无效) 。
如 :所有者权限:读+写+执行= 4+2+1=7
组 许 可 权 限 : 读 + 写 = 4+2 =6
其他用户许可权限:阅读=4
chmod 764 file_name。
如要设置特殊位如suid(设置用户ID)、sgid和链接数位,chmod命令需要第四个数字。
suid=4
sgid=2
link=1
如要在前面的例子中加入suid许可,它的命令是:
chmod 4764 file_name
如果采用符号模式,首先确定要改变哪个位置所有者 、组[g] ,其他[o] 或所有[a])和要加(+)或减(- )哪些符号。要为所有者增加读和写的权限,可采用以下两种方式:
chmod u+r u+w (file_name) 或 chmod u+rw (file_name)
6. ACL
ACL是对标准权限位的扩展。通过修改分配给个人或组的标准权限,对每个文件或目录进行更精细的控制。对每个组或用户,有3种权限分配情况:
PERMIT : 准许对文件或目录的特定权限。
DEMY : 限制对文件或目录的特定权限。
SPECIFY : 明确地定义文件或目录权限。
"acledit "命令用于建立ACL。首先必须设置文本编辑器.如:export EDITOR=/usr/bin/vi。
然后使用:acledit file_name
屏幕上将会显示:
attributes:
base permissions
owner (rcunning): rwx
group (staff): r—
others: ---
extended permissions
disabled
要设置扩展的权限,将“disabled ”设置改为“enabled”:
extend permissions
enabled
使用permit、deny 或specify关键字来定义扩展权限。前面的例子表明只有所有者能对这个文件写操作。组成员能读此文件而其他用户则没有任何许可权限。如果要使用户" joe"能够读写这个文件,用以下命令:
extended permissions
enabled
permit rw- u: joe.
要允许组用户joegroup读这个文件,用以下命令:
rermit r-- g: joegroup
你能够通过在同一行中合并多个条目来对权限进行微调。如果只想为pete提供读写权,而他是系统组的一部分,则用以下命令:
permit rw- u: pete, g: system
要为几个用户或组增加许可权限,则使用分行命令 :
permit rw- u: joe
permit rw- u: pete
使用" ls -el"命令,查看ACL是否已在文件中设置。如"ls -el profile"命令显示:
— rwxw--------+
最后的+表示文件已具 有有效的ACL 。
注意:使用有数字争议的chmod 命令将使文件或目录的ACL无效。
7.文件系统和目录安装点权限
文件系统安装在目录安装点上。安装点和文件系统都有权限。安装点的权限由文件系统创建时所采用的umask设置来决定。
虽然已安装文件系统的权限优先于安装点的权限,但安装点必须尽可能限制每个人的搜索权限(也就是111)来避免不可预测的结果。记住,安装文件系统后,不能看到安装点上的权限。在检查或改变安装点权限之前,必须卸载(umount )文件系统。
在创建文件系统时,缺省权限来自基本文件,同时sgid (组 继 承)位被设置。用户的umask不用于文件系统中而只用于基础安装点。
8.NFS安装文件系统许可
网络文件系统(NFS)安装在当地目录中。目录安装点在创建网络安装文件系统时建立。安装点在建立时使用当前的umask设置来决定许可权限。
NFS安装文件系统使用一个叫作nobody的特殊用户id。这个uid一般都是很大的数字,以便使它不会和真实用户id发生冲突。除非NFS服务器在/etc/passwd中有您的用户id(不是文本名) ,否则你在远程安装文件系统时所享有的权限只使用该假用户nobody。如果你的用户id碰巧与远程系统的某个有效id相吻合,你就会成为是由那个所有者创建的所有文件的所有者。这有可能导致无法预见的严重后果。如果你希望能够在远程系统中创建和拥有文件,你的本地系统和服务器系统必须具有与/etc/passwd文件中相匹配的用户(用户名称和相同的id号码)。而且文件系统必须以能够读和写的形式输出。
"根"用户是一个特殊情况。由于“根”用户id在所有系统中都是0,如果没有特殊保护,任何安装该文件系统的系统都将成为该服务器系统的根。因此,NFS文件系统的输出必须带有一些主机名称的" 根"接入,以便使您可以从这些主机名称中要求特殊的"根"接入。如果文件系统不以这种方式输出,"根"就成为用户nobody.
如何限制用户改变密码
RS6000,AIX V4
如何限制用户改变密码?
可以用命令pwdadm -f ADMIN username来实现,如果想让用户恢复更改密码的权利,运行pwdadm -f ADMCHG username 来重置.
非root用户的登录问题
本文档描述了非root用户的登录及权限问题, 以及这些问题如何通过检查目录和文件的权限, 属主及属组来解决.
问题的症状
. 用户得到下面的错误信息, 可能指明组文件丢失或被破坏:
3004-010 设置终端属主和模式失败
/etc/passwd 文件中对应该用户的主组不能在/etc/group文件中被找到.
如 tps:!:215:1::/u/tps:/bin/ksh
在上例中, 组号为1. 检查/etc/group文件确认组号1存在.
. 只有root用户可以登录, 一般用户得到下面的错误信息:
3004-009 运行登录初始程序失败

系统不可用
. 执行命令 su - [user_name] 时返回如下错误:
3004-505 不能设置进程环境
. 用户登录后得到如下错误信息:
0653-345 权限被拒绝
(当登录后进行任何操作时)

ksh: pwd: 不能访问父目录
(当登录后执行pwd命令时)
这些现象是由于用户不能执行登录初始程序或由于用户主目录的权限问题造成的.
检查问题文件和目录的步骤
下述步骤说明如何检查有权限问题的文件或目录.
如果任何文件或目录的权限有问题, 使用命令 chmod, chown 或 chgrp 更改相应的权限, 属主或属组.
如果符号链接丢失, 使用ln命令重建它.
例如, 要创建/bin链接到/usr/bin, 执行下面的命令:
ln -s /usr/bin /bin
步骤
1. 以root身份登录
2. 如果非root用户登录时得到的是系统不可用的错误, 则继续本步骤. 否则, 跳到下一步.
用命令 ls -l /etc/nologin 命令检查文件/etc/nologin.
如果文件/etc/nologin存在, 用命令 rm /etc/nologin 删除它.
对于AIX 4.x, 执行:
cd /
ls -al
输出举例:
drwxr-xr-x 19 bin bin 1024 Dec 12 21:14 .
drwxr-xr-x 19 bin bin 1024 Dec 12 21:14 ..
lrwxrwxrwx 1 bin bin 8 Nov 22 09:37 bin -> /usr/bin
drwxrwxr-x 4 root system 2048 Dec 12 21:12 dev
drwxr-xr-x 12 root system 2048 Dec 12 21:11 etc
drwxr-xr-x 5 bin bin 512 Nov 22 14:51 home
lrwxrwxrwx 1 bin bin 8 Nov 22 09:37 lib -> /usr/lib
drwxr-xr-x 20 bin bin 512 Nov 22 13:33 lpp
drwxr-xr-x 3 bin bin 512 Nov 22 09:37 sbin
lrwxrwxrwx 1 bin bin 5 Nov 22 09:37 u -> /home
drwxr-xr-x 20 bin bin 512 Nov 22 14:24 usr
drwxr-xr-x 12 bin bin 512 Nov 22 12:59 var
3. 执行:
ls -ld /usr/bin /usr/lib /tmp
输出举例:
drwxr-xr-x 3 bin bin 10752 Nov 22 12:53 /usr/bin
drwxr-xr-x 28 bin bin 4096 Dec 15 17:08 /usr/lib/
drwxrwxrwt 8 bin bin 2560 Jan 22 14:46 /tmp/
4. 执行:
ls -l /usr/bin/csh /usr/bin/ksh /usr/bin/bsh
输出举例:
-r-xr-xr-x 2 bin bin 341020 Nov 22 09:37 /usr/bin/bsh
-r-xr-xr-x 1 bin bin 154412 Nov 22 09:37 /usr/bin/csh
-r-xr-xr-x 4 bin bin 230148 Nov 22 09:37 /usr/bin/ksh
确定用户的主目录. 在这些步骤中, 假定用户的ID和目录为"user_one".
5. 执行:
ls -ld u/user_one (use path of user's directory)
输出举例:
-drwxr-xr-x 9 user_one system 7680 Dec 24 15:00 /u/user_one
该目录应被此用户所有, 并且此用户应对它有rwx权限.
6. 执行:
cd /u/user_one
ls -al | pg
输出举例:
drwxr-xr-x 9 user_one system 7680 Dec 24 15:00 .
drwxr-xr-x 71 bin bin 1536 Dec 14 09:37 ..
"."目录的所有者应为该用户. ".."目录的权限对于组和其它用户至少应为r-x.
7. 如果用户仍然有权限被拒绝的问题, 但没有登录的问题, 则可能是由于文件系统mount点的权限造成的.
为了检查mount点的权限, 文件系统必须首先被unmount. 一些文件系统的mount点则只能在进入系统维护模式的情况下进行检查.
如何屏蔽某一用户的ftp访问?
产品: AIX
平台: RS
机型: RS6000
如何屏蔽某一用户的ftp访问?
将被拒绝的用户名加入到/etc/ftpusersw文件中
var/adm/wtmp档案太大怎么办
产品:RS/6000
软件:AIX
/var/adm/wtmp文件保存所有用户登录的讯息,随著时间会增长到很大,/var/adm/wtmp档案太大时怎么办?
/var/adm/wtmp档案太大时,有时需要清理或编辑整理。
要清理它,执行cp /dev/null /var/adm/wtmp.
要编辑整理部分清理,用fwtmp命令先将文件wtmp变成ASCII格式的档案dummy.file:
/usr/sbin/acct/fwtmp < /var/adm/wtmp > dummy.file,
编辑之後用
/usr/sbin/acct/fwtmp -ic < dummy.file > /var/adm/wtmp
再将ASCII文件转变成二进位文件.
JESMSG显示屏幕,进行类似于上述2中的操作即可.
AIX 用户的系统资源使用限制
说明
适用操作系统
网络配置步骤
本文介绍的是AIX用户的系统资源使用限制,以及修改方法。
适用操作系统
AIX V4
网络配置步骤
AIX 用户使用的系统资源限制包括两个概念 --- 硬限制(hard limits) 和软限制(soft limits)。
hard limits自AIX 4.1版本开始引入。hard limits 应由AIX系统管理员设置,只有security组的成员可以将此值增大,
用户本身可以减小此限定值,但是其更改将随着该用户从系统退出而失效。使用下列命令可以查看hard limits的限定值:
ulimit -Ha
soft limits 是AIX核心使用的限制进程对系统资源的使用的上限值。此值可由任何人更改,但不能超出
hard limits值。这里要注意的是只有security组的成员可使更改永久生效,普通用户的更改在其退出系统
后将失效。使用以下命令可以查看soft limits的设置:
ulimit -a
下面为系统的soft limits的默认值:
3.2
4.1-4.3
===============
=================
fsize = 2097151
fsize = 2097151
core = 2048
core = 2048
cpu = 3600
cpu = -1
data = 131072
data = 262144
rss = 65536
rss = 65536
stack = 8192
stack = 65536
nofiles = 2000*
nofiles=2000 *
* 该值(nofiles)只能在AIX 4.3.1 或以后的版本中更改。
上述定义作为默认值存放在文件 /etc/security/limits 中,在新用户被加进系统后生效。直接更改此文件中的定义值
需要将系统重新启动以便使更改生效。将相应值该为"-1" 表示不受 soft limits的限制(unlimited)。
下面我们将就各字段逐一进行介绍:
fsize 用户创建的文件大小限制。此定义值(512字节为单位)为该用户可以生成的最大文件的大小。
core 生成的core文件大小的限制(512字节为单位)。
cpu 用户进程可用cpu的限定值(以秒为单位)。普通用户只能将此值减小,root可以将此值增大。这里要注意的
是进程使用CPU的时间取决于AIX Kernel(核心程序)进程调度算法,该值在此仅做参考。
data 进程数据段大小的限定值(以字节为单位)。
stack 进程堆栈段大小的限定值(以字节为单位)。
rss 进程常驻内存段的限定值(以字节为单位)。AIX核心并不参考此限定。
nofiles 进程中打开文件的最大数量。此限定在AIX 4.3.1之前的版本中固定为2000。在AIX 4.3.1及其之后的版本中
可将此值增大至32767。
下面介绍三种修改上述限定值的方法:
1. 编辑文件/etc/security/limits,直接修改各定义值。此更改在系统重新启动后生效。
2. 使用命令ulimit修改默认值。例如:
ulimit -f value
ulimit -c <value>
ulimit -t <value>
ulimit -d <value>
ulimit -s <value>
ulimit -m <value>
ulimit -n <value>
将修改fsize, core, cpu,data, stack, rss和nofiles的soft limit值。
3. 使用命令chuser修改某用户的限定值。例如:
chuser fsize=<value> <username>
chuser core=<value> <username
chuser cpu=<value> <username>
chuser data=<value> <username>
chuser limit=<value> <username>
chuser rss=<value> <username>
chuser nofiles=<value> <username>
将用户“username”的soft limits改为值“value”。
chuser hard_fsize=<value> <username>
chuser hard_core=<value> <username>
chuser hard_cpu=<value> <username>
chuser hard_data=<value> <username>
chuser hard_limit=<value> <username>
chuser hard_rss=<value> <username>
chuser hard_nofiles=<value> <username>
将用户“username”的hard limits改为值“value”。
[技术文档]目录:
[技术文档]说明/内容摘要:
[技术文档]详述:
更改HACMP环境里网卡的ip地址
AIX,HACMP
如何更改HACMP环境里网卡的ip地址?
更改HACMP环境里网卡的ip地址的步骤如下:
1.运行命令:
/usr/sbin/cluster/utilities/cllsif > /tmp/cllsif.orig ,
/tmp/cllsif.orig文件里就包含您的HACMP网卡当前的ip地址;
2.停止您系统上正在运行的与当前ip地址有关所有应用;
3. 停止所有有关节点系统的HACMP服务:
smitty hacmp
Cluster Services
Stop Cluster Services
4.停止所有有关节点系统的TCPIP服务 :
stopsrc -g tcpip
5.更改各个节点的HACMP网卡的boot和standby地址:
smitty tcpip
Minimum Configuration and Startup
6.在各个节点上编辑/etc/hosts文件,更改成要求的ip地址:
boot,service和standy的ip地址;
7. 在各个节点上启动TCPIP服务:
startsrc -g tcpip
8. 用ping或者telnet命令来测试并确保各个节点在网络中是可访问的;
9.在HACMP的配置里更改ip地址:
smitty hacmp
Cluster Configuration
Cluster Topology
Configure Adapters
Change/Show and Adapter
10. 同步cluster的拓扑结构:
smitty hacmp
Cluster Configuration
Cluster Topology
Synchronize Cluster Topology
11.检验环境:
smitty hacmp
Cluster Configuration
Cluster Verification
12. 运行命令:
/usr/sbin/cluster/utilities/cllsif > /tmp/cllsif.new ,
比较/tmp/cllsif.new文件和先前的/tmp/cllsif.orig文件,所有ip地址的改变都将反映出来;
13.把各个节点上除了rootvg外的所有卷组都置为不可用状态:
varyoffvg vgname ;
14.启动 HACMP服务:
smitty hacmp
Cluster Services
Start Cluster Services
15. 如果用了DNS服务,对DNS服务器做必要的更改;
16. 用新的ip地址进行HACMP的资源接管测试。
如何搜集TCP/IP问题的相关资料
在TCP/IP发生问题时,可搜集相关信息,寄给IBM来诊断
这篇文章主要描述了如何搜集TCP/IP问题的相关资料,然后可以把这些资料传给IBM做技术分析,通过本方法搜集的信息资料比较完全,以避免来回搜集资料的烦琐。这些搜集的资料既可以用来诊断比较简单明显的问题,也可以用来诊断比较复杂的问题甚至是系统bug。
步骤如下:
一、
df命令检查/tmp空间,因为snap将在/tmp下产生ibmsupt目录,并将搜集的所有资料放到该目录下,所以该目录必须有较大空间存放资料,如果/tmp不够,请扩充之,如果不愿在该目录下存放资料,可在snap命令后用 -d 参数指定新的目录。
二、
运行snap -r删除上次所做的snap资料,将出现
The following directories and files will be deleted:
----------------------------------------------------
/tmp/ibmsupt/filesys (directory)
/tmp/ibmsupt/general (directory)
/tmp/ibmsupt/kernel (directory)
/tmp/ibmsupt/nfs (directory)
/tmp/ibmsupt/other (directory)
/tmp/ibmsupt/tcpip (directory)
/tmp/ibmsupt/testcase (directory)
Do you want me to remove these directories (y/n)?
选择y,删除上次所做的snap资料
运行snap -gGtkfn 命令搜集资料,将出现
Checking space requirement for general information..............................
........................................ done.
..Checking space requirement for tcpip information..................... done.
Checking space requirement for nfs information.............. done.
Checking space requirement for kernel information............. done.
Checking space requirement for filesys information..................... done.
Checking for enough free space in filesystem... done.
********Checking and initializing directory structure
Creating /tmp/ibmsupt/filesys directory tree... done.
Creating /tmp/ibmsupt/kernel directory tree... done.
Creating /tmp/ibmsupt/nfs directory tree... done.
Creating /tmp/ibmsupt/tcpip directory tree... done.
Creating /tmp/ibmsupt/general directory tree... done.
Creating /tmp/ibmsupt/general/diagnostics directory tree... done.
Creating /tmp/ibmsupt/testcase directory tree... done.
Creating /tmp/ibmsupt/other directory tree... done.
********Finished setting up directory /tmp/ibmsupt
Gathering general system information......... done.
Including Pd* ODM files in general information.......... done.
Gathering scanout information..done.
Gathering tcpip system information...................... done.
Gathering nfs system information............... done.
Gathering kernel system information.............. done.
Gathering filesys system information.................................. done.
该命令将搜集文件系统、内核、NFS、TCPIP等等方面的信息。
三、
用vi编辑器,生成readme文件如下
/tmp/ibmsupt/testcase/readme
在该文件中回答下列问题:
1、发生问题的程序名或设备名
2、如果发生问题的是一个网络设备,请描述网络适配器的种类
3、尽可能地描述问题,包括:
a、如果问题是关于网络性能,请说明目前的网络吞吐量和期望值,避免用“慢”这种词来描述,请指名速度比如20Kbytes/sec。
b、如果该问题是关于某程序的,请说明仅针对于该程序还是多个程序,如果多个程序,请指明之。
c、如果问题比较易于重现,请说明重现方法以及错误输出。
d、如果问题是关于一个non-AIX程序,请说明其和AIX的关联关系,以及AIX所产生的错误
e、这么问题是否是第一次产生,如果是,请说明其发生前系统或网络所发生的变动
4、填入任何其它你以为相关的信息
四、
以下步骤仅用于问题比较易于重现的情况
1、在有问题的机器上运行iptrace
startsrc -s iptrace -a "-b -d <IP address of remote client> /tmp/ibmsupt/testcase/iptrace.bin"
2、重现问题
3、运行命令
stopsrc -s iptrace
4、运行netstat命令
netstat -v > /tmp/ibmsupt/testcase/netstat-v.out
netstat -in > /tmp/ibmsupt/testcase/netstat-in.out
netstat -rn > /tmp/ibmsupt/testcase/netstat-rn.out
netstat -D > /tmp/ibmsupt/testcase/netsat-D.out
netstat -s > /tmp/ibmsupt/testcase/netsat-s.out
netstat -an > /tmp/ibmsupt/testcase/netsat-an.out
netstat -m > /tmp/ibmsupt/testcase/netsat-m.out
5、运行命令
arp -an > /tmp/ibmsupt/testcase/arp-an.out
no -a > /tmp/ibmsupt/testcase/no-a.out
五、
遵循以下步骤将文档发给IBM
1、snap -c 将所搜集的文件归档,该命令将产生
/tmp/ibmsupt/snap.pax.Z或/tmp/ibmsupt/snap.tar.Z,如例:
#snap -c
Creating compressed pax file...
Starting pax/compress process... Please wait... done.
-rw------- ----1 0 ----0 ------717829 Sep 17 11:34 snap.pax.Z
2、将该文件发送给IBM
在AIX中如何对用户卷组进行卷组备份
在AIX中可以使用mksysb对系统rootvg进行备份,对于其他用户卷组该如何备份?在本文将着重介绍在AIX中如何创建、验证和恢复用户卷组的备份。
由于在AIX中 mksysb命令只能备份rootvg中文件系统的内容,所以还需要有其他途径来备份用户卷组上的内容。使用系统中的savevg 命令就可为用户卷组 创建一卷组备份,使用restvg 命令恢复savevg 所做的备份映像 ,包括重新创建用户卷组、逻辑卷和文件系统等操作。
需要注意的是,所有用户卷组上的逻辑卷的定义会写到备份设备上并在重建卷组时创建,但只有已mount的文件系统中的内容才会在执行savevg命令 时备份到备份介质上。Savevg命令不能备份裸设备上的内容。
附加下载文件:savevg.doc
AIX中如何解决不能释放光驱的问题
产品: RS6000
平台: AIX
在AIX上由于异常终止或其它原因经常会遇到不能正常释放光驱的问题
#fuser -kxuc /dev/cd#
或#fuser /dev/cd# 列出当前访问此设备的进程,然后使用kill -9 pid终止所有进程。
"Volume Group Locked" 恢复步骤
产品:AIX
平台:RS/6000
遇到错误消息 “ 0516-366 putlvodm: volume group rootvg is locked, try again”,可按下列步骤进行恢复。
本文所述方法针对AIX V4.2 或更新的版本。
逻辑卷操作的异常终止有时会造成卷组(VG)被锁定,这时需用命令
chvg -u [vgname]
将被锁定的卷组解锁。“vgname”为被锁定的卷组 。
查看SSA磁盘中pdisk与hdisk的对应关系
AIX V4
怎样查看SSA磁盘中pdisk与hdisk的对应关系?
ssaxlate命令显示pdisk与hdisk的对应关系.
#ssaxlate -l LogicalDiskName
#ssaxlate -l PhysicalDiskName
无法删除文件系统
产品:RS6000
平台:RS
软件版本:AIX 4.3
可以mount或unmount一个文件系统,但却无法删除该文件系统,在删除时,系统报错:0516-306:get lvodm: unable to find <lvname> in the device confgiguration data.
发生此错误的原因可能是ODM数据库中的定义与实际不一致。可以用命令 lsvg -l rootvg 检查该文件系统的类型,若类型显示为???,则用命令 synclvodm -P rootvg 和 syncvg -v rootvg 进行同步,之后再用命令 lsvg -l rootvg 显示出正确的文件类型。此时可以成功删除该文件系统。
AIX 5.1文件系统类型简介
本文简单介绍AIX 5.1支持的文件系统类型。包括:
JFS(Journaled File System)
JFS2(Enhanced Journal File System)
GPFS(General Parallel File System)
RAM File System
Journaled File System
JFS 是AIX 4.3.3及其以前版本以及AIX 5.1 32位核心环境中的默认文件系统类型。JFS可以根据所记录的文件系统中的文件元数据(metadata)修复被损坏的文件系统。通过文件系统日志,系统可以将文件元数据的更改信息记录到文件系统的预留区域中,而对文件的写操作则在此日志更新完成之后进行。这样的文件系统结构有利于最大限度地对文件系统进行修复。
Enhanced Journal File System
Enhanced JFS (也称为 JFS2) 提供了比JFS 更优的扩展性能(如文件系统的大小等)。另外,在64位AIX核心中JFS2是系统默认的文件系统类型。当然,用户无论在32位还是在64位环境中都可以选择是使用JFS2还是JFS。在这里我们建议在32位核心中使用JFS文件系统,在64位核心中使用JFS2。
JFS2的创建和使用方法与JFS相同,即通过smit完成。
General Parallel File System (GPFS)
GPFS 是高性能,共享磁盘式文件系统,可以快速访问共存于一个群集(Cluster)中所有节点的数据。 GPFS通过多个磁盘条带化IO可以提供高性能IO服务,同时通过提供日志管理,文件复制以及服务器和磁盘的相互接管功能,提供了高可用性。
有关GPFS的使用,请参见IBM Redbook: GPFS on AIX Cluster: High Performance File System Administration Simplified。IBM Redbook站点为:
http://www.redbooks.ibm.com/
Network File System
NFS 属于分布式文件系统,允许用户从远程访问文件及目录,并且视这些文件及目录为本地资源一样。例如,用户可以使用操作系统提供的命令创建,删除或修改远程文件及目录。
RAM File System
RAM 盘是将内存中的一块空间仿真为磁盘。相对于物理磁盘,使用RAM盘可以极大地提高IO性能,但是建议在针对不需要永久保存的文件IO操作环境中使用 RAM盘,因为在系统宕机或重启后RAM盘中的所有数据会丢失。
使用系统命令 mkramdisk可以创建RAM盘。下面的例子说明如何创建一个20MB的RAM盘,并在其上创建文件系统:
mkramdisk 40000
ls -l /dev | grep ram
mkfs -V jfs /dev/ramdiskx
mkdir /ramdisk0
mount -V jfs -o nointegrity /dev/ramdiskx /ramdiskx
其中x 是RAM盘的逻辑设备号。删除RAM盘时,使用命令rmramdisk。此外,RAM 盘在系统重启后被自动删除。
如何替换镜像的卷组中故障的物理卷
rs6000,pSeries
如何替换镜像的卷组中故障的物理卷
以下情形替换镜像卷组中与物理卷相关的故障或正在发生故障的磁盘。
在指示信息中,使用配置管理器配置新的磁盘(名为 hdisk10),然后使用replacepv命令替换镜像卷组中的物理卷而不丢失物理卷的内容,
该镜像卷组至少部分地驻留在故障的磁盘驱动器(名为 hdisk02)上。完成以下过程无需重新引导或调度停机时间。
1. 选择一个至少与故障的磁盘一样大容量的新磁盘驱动器。
2. 利用超级权限,运行配置管理器配置新的磁盘。在命令行输入以下命令:
cfgmgr -l hdisk10
-l 标志允许仅配置指定的设备以及任何“子”设备。如果没有该标志,则 cfgmgr 命令对整个系统运行配置管理器。
3. 使用以下命令替换物理卷,使它可以开始使用新磁盘。
注:如果逻辑卷的镜像是旧的,则 replacepv 命令无法正确工作。
replacepv hdisk02 hdisk10
4. 如果相关的镜像卷组为 rootvg,必须再运行以下命令将故障磁盘从引导映象清除并向引导映象添加新的磁盘。
5. chpv -c hdisk02
6. bootlist hdisk10
bosboot -a
chpv -c 命令将 hdisk02 从引导映象清除。
bootlist 命令将 hdisk10 添加到系统可能从其引导的引导设备列表。
bosboot -a 命令在缺省的引导逻辑卷上创建完整的引导映象。
此时,物理卷 hdisk02 现在映射到新配置的 hdisk10。
pSeries
重新设置未知的 root 用户密码
以下步骤描述了当系统的 root 用户密码不可用或未知时如何恢复对 root 用户特权的访问。
以下步骤需要一些系统停机时间。可能的话,请调度好停机时间,使其尽可能少地影响作业量,从而防止可能的数据或功能的丢失。
1. 请将与当前安装程序同样的版本和级别的产品介质插入相应驱动器。
2. 打开机器电源。
3. 当图标屏幕出现或听到蜂鸣声的时候,重复按下 F1 键直到出现系统管理服务菜单。
4. 选择多引导。
5. 选择从何处安装。
6. 选择放有产品介质的设备,然后选择安装。
7. 选择 AIX 版本图标。
8. 通过按 F1 键然后按 Enter 键将您的当前系统定义为系统控制台。
9. 选择首选语言的号码,然后按 Enter 键。
10. 通过输入 3 并按 Enter 键选择启动维护方式以进行系统恢复。
11. 选择访问根卷组。系统会显示一条消息,说明如果在此处更改了根卷组,则不重新启动将无法返回“安装”菜单。
12. 输入 0 并按 Enter 键。
13. 从列表中输入相应的卷组号码并按 Enter 键。
14. 通过输入 1 并按 Enter 键选择访问该卷组并启动 shell。
15. 在 #(数字符号)提示状态下,在命令行提示符后输入 passwd 命令以重新设置 root 用户密码。例如:
16. # passwd
17. 更改 root 用户密码
18. root 用户新密码:
请再次输入新的密码:
19. 要将缓冲区中的任何东西写入硬盘并重新引导系统,请输入以下命令:
sync;sync;sync;reboot
当登录屏幕出现的时候,在步骤15中设置的密码现在允许访问 root 用户特权。
AIX系统级命令简介
在AIX操作系统上有很多的命令。这里介绍一些系统级的命令,它将有助于回答一些常见问题。大家以此做参考,并补充修改。
以下命令在AIX 5.1上测试通过。
以下命令在AIX 5.1上测试通过。
· 关于内核
显示AIX系统内核是32位还是64位:
bootinfo -K
如何改变内核模式(32位或64位)
/unix文件连接到一个可引导的映像。通过命令ls -l /unix查看:
/unix -> /usr/lib/boot/unix_up # 32 bit uniprocessor kernel
/unix -> /usr/lib/boot/unix_mp # 32 bit multiprocessor kernel
/unix -> /usr/lib/boot/unix_64 # 64 bit multiprocessor kernel
在AIX系统安装时,缺省安装的内核是32位。可以用如下命令更改内核模式:
ln -sf /usr/lib/boot/unix_64 /unixln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unixbosboot -ad /dev/hdiskxxshutdown -r
注意:/dev/hdiskxx是指引导逻辑卷/dev/hd5所在的硬盘。可通过下面命令来查看xx是几:
lslv -m hd5
· 关于硬件
显示机器硬件是32位还是64位:
bootinfo -y
查看机器的物理内存是多少:
bootinfo -r

lsattr -El sys0 -a realmem
查看机器是否支持64位内核(是否64位硬件)
/usr/sbin/bootinfo -p
如果返回32,则表示硬件是32位的;如果返回的是chrp,则表示硬件是64位的机器。
显示当前磁带设备rmt0的属性:
lsattr -l rmt0 -E
显示缺省的磁带设备rmt0的属性:
lsattr -l rmt0 -D
显示终端设备tty0的登录属性:
lsattr -l tty0 -a login -R
显示系统级属性:
lsattr -E -l sys0
查看当前系统有多少CPU:
lscfg | grep proc
查看当前系统有多少硬盘而且是否被使用:
Lspv
查看当前系统的详细配置:
lscfg -pv
也可以显示某一设备的配置:
lscfg -vl rmt0
查看当前系统的芯片名称、系统名、节点名、型号等:
uname -p # 显示芯片名称,例如:powerpc
uname -r # 显示操作系统的发行号
uname -s # 显示系统名,例如:AIX
uname -n # 显示节点名
uname -a # 显示系统名、节点名、版本、机器ID
uname -M # 显示型号,例如:IBM,7046-B50
uname -v # 显示操作系统版本
uname -m # 显示机器ID
· 关于AIX
查看AIX的版本、发行号、ML(Maintenance Level)级别:
oslevel -r

lslpp -h bos.rte
如何改变文件系统大小,例如:将/usr文件系统增加1000000字节:
chfs -a size=+1000000 /usr
如何使用CD:
mount -V cdrfs -o ro /dev/cd0 /cdrom
查看本机的IP地址:
Ifconfig -a

host Fully_Qualified_Host_Name
例如:host cyclop.austin.ibm.com
查找哪一个文件集(fileset)包含特定的文件,例如:查找/usr/bin/vmstat属于哪一个文件集。
lslpp -w /usr/bin/vmstat
显示哪一个文件集包含/usr/bin/svmon:
Which_fileset svmon
查看某一级别的ML中所有文件是否都已经安装:
instfix -i | grep ML
如何确定某一补丁(fix)是否安装,例如:查看IY24043是否安装
instfix -ik IY24043
显示哪些文件集需要安装或修改:
lppchk -v
查看交换区(paging space)的分配和使用:
lsps -a
· 关于卷组和逻辑卷
创建卷组:
mkvg -y name_of_volume_group -s partition_size list_of_hard_disks
partition_size单位是MB,它是1到1024之间的一个数。(2的次幂,例如:1, 2, 4, 8, 16, 32等,缺省是4MB。)
创建逻辑卷:
mklv -y name_of_logical_volume name_of_volume_group number_of_partition
显示当前系统的所有卷组:
Lsvg
显示卷组rootvg的详细信息:
lsvg rootvg
显示属于rootvg的所有硬盘:
lsvg -p rootvg
如何添加一个硬盘到卷组中:
extendvg Volume_Group_Name hdisk0 hdisk1 ... hdiskn
如何替换一个硬盘:
1. extendvg Volume_Group_Name hdisk_new
2. migratepv hdisk_bad hdisk_new
3. reducevg -d Volume_Group_Name hdisk_bad
如何做一个逻辑卷镜像:
1. mklvcopy Logical_Volume_Name Number_of_copies
2. Syncvg Volume_Group_Name
在AIX上,有一个很方便的系统管理命令smit。上面提到的命令中,如逻辑卷操作部分就可以smit轻松的完成。
这里介绍的命令只是AIX中的一小部分。更多更详细的内容请参考AIX系统手册和技术红皮书。
数据急救(1): 如何恢复误删除的文件
当我们在目录中为了方便使用#rm -rf * 删除文件时,有时会发现自己今天真是倒霉,在执行后发现#pwd竟然不是自己想要删除文件的目录,这时才发现备份是多么重要啊。(可惜呀,没做,:-(), (这就是系统超级管理员常犯的错误,手太快),没办法,以头戕地吧。但你在遭遇了巨痛后,如果还没有完全丧失斗志,那么下面这篇文章也许能帮你找会你的文件和自信。希望和成功往往也只是一念之间*_*/和DOS,winX,以及众多unix系统一样,当文件被删除时,其所占据的物理空间并没有真正从系统中移除,但他们的状态确是未分配空间,所以这时只要没有新的文件产生或者文件变化发生在同一个文件系统中,那么我们完全有可能用系统提供的fsdb(filesystem debugger)来恢复我们的数据特别感谢此文的英文原文作者,他们还有收费的恢复工具,需要时请访问
<http://www.compunix.com/>
备注: 其中包含图片和网页链接,如果看不到,请下载附件中的word文档。
(1) 如何恢复误删除的文件?
(2) 举例说明(红色为我们应输入的)
(3) 相关知识介绍
MAKE A BACKUP OF THE ENTIRE FILESYSTEM BEFORE PERFORMING THESE STEPS!!!
ELSE ( BANG !!!!! ).
Steps to recover a deleted file
-------------------------------
1) "ls -id {dir}"
(where dir is directory where file resided)
Record INODE number for next step.
36872
2) Unmount the filesystem.
3) "fsdb /{Mountpoint}" or "fsdb /dev/{LVname}"
(where Mountpoint is the filesystem mount point, and LVname is
the logical volume name of the filesystem)
4) "{INODE}i"
(where INODE is the inode number recorded in step 1)
This will display the inode information for the directory. The
field a0 contains the block number of the directory.
The following steps assume only field a0 is used. If a value
appears in a1, etc, it may be necessary to repeat steps #5 and
#6 for each block until the file to be recovered is found.
5) "a0b"
(moves to block pointed to by field "a0" of this inode)
6) "p128c"
(prints 128 bytes of directory in character format)
Look for missing filename. If not seen, repeat this step until
filename is found. Record address where filename begins. Also
record address where PRIOR filename begins. If filename does
not appear, return to step #5, and selecting a1b, a2b, etc.
Note that the address of the first field is shown to the far left.
Increment the address by one for each position to the right,
counting in octal.
7) "a0b"
(moves to block pointed to by field "a0" of this inode)
If the filename was found in block 1, use a1b instead, etc.
8) "p128e"
(prints first 128 bytes in decimal word format)
Find the address of the file to recover (as recorded in step 6)
in the far left column. If address is not shown, repeat until found.
9) Record the address of the file which appeared immediately PRIOR to
the file you want to recover.
10) Find the ADDRESS of the record LENGTH field for the file in step
#9 assuming the following format:
{ADDRESS}: x x x x x x x x x x ...
| | | | |-------- filename ------|
inode # --+----+ | |
| +-- filename length
record LENGTH --+
Note that the inode number may begin at any position on the line.
Note also that each number represents two bytes, so the address
of the LENGTH field will be `{ADDRESS} + (#hops * 2) + 1'
11) Starting with the first word of the inode number, count in OCTAL
until you reach the inode number of the file to be restored,
assuming each word is 2 bytes.
12) "0{ADDRESS}B={BYTES}"
(where ADDRESS is the address of the record LENGTH field found
in step #10, and BYTES is the number of bytes [octal] counted
in step #11)
13) If the value found in the LENGTH field in step #10 is greater than
255, also type the following:
"0{ADDRESS-1}B=0"
(where ADDRESS-1 is one less than the ADDRESS recorded in step #10)
This is necessary to clear out the first byte of the word.
14) "q"
(quit fsdb)
15) "fsck {Mountpoint}" or "fsck /dev/{LVname}"
This command will return errors for each recovered file asking if
you wish to REMOVE the file. Answer "n" to all questions.
For each file that is listed, record the associated INODE number.
16) "fsdb /{Mountpoint}" or "fsdb /dev/{LVname}"
17) {BLOCK}i.ln=1
(where BLOCK is the block number recoded in step #15)
This will change the link count for the inode associated with
the recovered file. Repeat this step for each file listed in
step #15.
18) "q"
(quit fsdb)
19) "fsck {Mountpoint}" or "fsck /dev/{LVname}"
The REMOVE prompts should no longer appear. Answer "y" to
all questions pertaining to fixing the block map, inode map,
and/or superblock.
20) If the desired directory or file returns, send money to the author
of this document.
数据急救(2): 举例说明(红色为我们应输入的)
首先建立一个临时文件系统/test,然后拷贝/smit.log到/test下做测试。
  #ls -al
drwxr-sr-x 3 sys sys 512 Feb 26 15:08 .
drwxr-xr-x 37 bin bin 1536 Feb 26 15:03 ..
drwxrwx--- 2 root system 512 Feb 26 15:03 lost+found
----r--r-x 1 root sys 865429 Feb 26 15:05 smit.log
 #rm -rf smit.log
 #ls -al
drwxr-sr-x 3 sys sys 512 Feb 26 16:00 .
drwxr-xr-x 37 bin bin 1536 Feb 26 15:03 ..
drwxrwx--- 2 root system 512 Feb 26 15:59 lost+found
 #ls -id
2 .
 #umount /test
 #fsdb /test
File System: /test
File System Size: 16384 (512 byte blocks)
Disk Map Size: 2 (4K blocks)
Inode Map Size: 2 (4K blocks)
Fragment Size: 4096 (bytes)
Allocation Group Size: 2048 (fragments)
Inodes per Allocation Group: 2048
Total Inodes: 2048
Total Fragments: 2048
2i
i#: 2 md: d-g-rwxr-xr-x ln: 3 uid: 3 gid: 3
szh: 0 szl: 512 (actual size: 512)
a0: 0x09 a1: 0x00 a2: 0x00 a3: 0x00
a4: 0x00 a5: 0x00 a6: 0x00 a7: 0x00
at: Tue Feb 26 15:13:43 2002
mt: Tue Feb 26 15:13:11 2002
ct: Tue Feb 26 15:13:11 2002
a0b
0x0000009000 : 0x00000000 (0)
p128c
a0b
0x0000009000 : 0x00000000 (0)
p128e
最重要的一步,计算偏移量,从lost+found的"inode" 16到smit.log的"inode" 17中间共有10个间隔,每个间隔代表2个, 那么其值应为20,即16后的值应该改为20,这样才能恢复被删除文件smit.log的inode.如果要更改16后面的值,要对地址 0x000000901c 赋值,由于是双字节操作,其值应为 20*65536+10,这样就能实现(488,10-》20,10)。
0x901c=1310730 (1310730=20*65535+10)
0x000000901c.D: 0x0014000a (1310730)
查看更改效果
a0b
0x0000009000 : 0x00000000 (0)
p128e
q
#fsck /test
** Checking /dev/rlv04 (/test)
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
Unallocated I=17 owner=root mode=100045
size=868373 mtime=Feb 26 15:23 2002
file=/smit.log; REMOVE? n
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Inode Map
** Phase 6 - Check Block Map
Filesystem integrity is not guaranteed
8 files 600 blocks 15784 free
#fsdb /test
File System: /test
File System Size: 16384 (512 byte blocks)
Disk Map Size: 2 (4K blocks)
Inode Map Size: 2 (4K blocks)
Fragment Size: 4096 (bytes)
Allocation Group Size: 2048 (fragments)
Inodes per Allocation Group: 2048
Total Inodes: 2048
Total Fragments:
17i.ln=1
0x0000020888 : 0x00000001 (1)
q
#fsck /test
** Checking /dev/rlv04 (/test)
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Inode Map
Bad Inode Map; SALVAGE? y
** Phase 5b - Salvage Inode Map
** Phase 6 - Check Block Map
Bad Block Map; SALVAGE? y
** Phase 6b - Salvage Block Map
9 files 600 blocks 15784 free
***** Filesystem was modified *****
 #mount /test
 #ls -al
drwxr-sr-x 3 sys sys 512 Feb 26 16:00 .
drwxr-xr-x 37 bin bin 1536 Feb 26 15:03 ..
drwxrwx--- 2 root system 512 Feb 26 15:59 lost+found
----r--r-x 1 root sys 865429 Feb 26 15:59 smit.log
以上例子只是最简单情况,至于实际应用中的各种复杂环境问题,就需要各位朋友们多思考,多实践,勇于创新。
其实在给地址赋值时还有两种方法,大家可以考虑一下其他方式来实现 (488,10-》20,10)
祝朋友们恢复数据成功,一身轻松。
数据急救(3): 相关知识介绍
我们进行数据恢复,就要熟悉我们操作系统的文件系统存储原理和结构。
JFS 布局 日志文件系统如何处理磁盘布局
JFS 概述 日志文件系统如何缩短系统重启时间
附加下载文件: 数据急救(1): 如何恢复误删除的文件
如何在AIX 5L中配置和使用VLAN
什么是VLAN
Trunk
在AIX 5L中配置VLAN
VLAN常见问题
什么是VLAN
VLAN(Virtual LAN,虚拟局域网)是由交换机提供的一个重要功能。处于不同VLAN的计算机不在同一个广播域中,即使是连接在同一台交换机上,也不能直接互相通信。VLAN的用处主要有三个:
1、端口的分隔。即便在同一个交换机上,处于不同VLAN的端口也是不能通信的。这样一个物理的交换机可以当作多个逻辑的交换机使用。
2、网络的安全。不同VLAN不能直接通信,杜绝了广播信息的不安全性。
3、灵活的管理。更改用户所属的网络不必换端口和联线,只该软件配置就可以了。
对不同的交换机,VLAN可以按端口或MAC地址来划分。 Trunk
从VLAN的概念可以看出,处于不同VLAN的计算机要互相通信,必须要通过另外的计算机或路由器进行路由。如果没有额外的措施,您就需要在计算机或路由器上安装两块网卡,每块网卡连接一个VLAN。
另外,如果要将两台或两台以上的交换机连接起来使用,那么如果没有额外的措施,每个VLAN都需要独立的端口进行互联,如下图所示。
为了能更灵活和更有效率地应对上述问题,trunk被引入到VLAN方案中来。所谓trunk,就是指传递交换机上所有VLAN信息的链路。这样,支持同样trunk协议的交换机、计算机和路由器就可以用一条物理链路来交换所有VLAN上的数据。对于路由器和计算机来说,可以通过创建对应不同VLAN的逻辑接口来分别在不同的VLAN上进行通信。交换机之间的trunk如下图所示。
在AIX 5L中配置VLAN
AIX 5L支持通过以太网卡连接交换机的trunk端口(运行IEEE 802.1Q协议)并创建对应各个VLAN的逻辑接口。每个逻辑接口在AIX操作系统上表示为一个新的以太网卡(ent)。
您可以在系统中创建多个逻辑接口,但您有可能需要调整no命令的ifsize参数。这个参数决定了您在系统中所能使用的所有网络接口的个数,默认是8。
要配置VLAN逻辑接口,请在命令行中输入smit vlan,然后完成以下工作:
1、选择Add A VLAN,然后选择连接在交换机trunk端口上的以太网卡。
2、填写VLAN Tag ID。VLAN Tag ID 是交换机上定义的VLAN号。这个逻辑接口创建后将只能用来和这个VLAN号所对应的VLAN上的计算机直接通信。
3、在新的逻辑以太网接口上配置TCP/IP。
逻辑网卡与物理网卡在使用上稍有差别。下面是使用lsattr的结果:
# lsattr -EHl ent2
attribute ---value description ------user_settable
base_adapter ent0 -VLAN Base Adapter True
vlan_tag_id -1 ----VLAN Tag ID ------True
对逻辑网卡使用entstat时,返回的是其对应的物理网卡的相关数据:
# entstat -d ent2
-------------------------------------------------------------
ETHERNET STATISTICS (ent2) :
Device Type:
Hardware Address: 00:04:ac:e4:ba:d8
Elapsed Time: 16 days 22 hours 15 minutes 38 seconds
Transmit Statistics: Receive Statistics:
-------------------- -------------------
Packets: 0 ----------Packets: 194
Bytes: 0 ------------Bytes: 17813
Interrupts: 0 -------Interrupts: 194
Transmit Errors: 97 -Receive Errors: 0
Packets Dropped: 1 --Packets Dropped: 0
---------------------Bad Packets: 0
Max Packets on S/W Transmit Queue: 2
S/W Transmit Queue Overflow: 0
Current S/W+H/W Transmit Queue Length: 0
Broadcast Packets: 0 -----Broadcast Packets: 194
Multicast Packets: 0 -----Multicast Packets: 0
No Carrier Sense: 97 -----CRC Errors: 0
DMA Underrun: 0 ----------DMA Overrun: 0
Lost CTS Errors: 0 -------Alignment Errors: 0
Max Collision Errors: 0 --No Resource Errors: 0
Late Collision Errors: 0 -Receive Collision Errors: 0
Deferred: 0 --------------Packet Too Short Errors: 0
SQE Test: 1 --------------Packet Too Long Errors: 0
Timeout Errors: 0 --------Packets Discarded by Adapter: 0
Single Collision Count: 0 Receiver Start Count: 0
Multiple Collision Count: 0
Current HW Transmit Queue Length: 0
General Statistics:
-------------------
No mbuf Errors: 0
Adapter Reset Count: 0
Adapter Data Rate: 200
Driver Flags: Up Broadcast Running
-------Simplex AlternateAddress 64BitSupport
-------PrivateSegment DataRateSet
另外,逻辑网卡不能用来配置EtherChannel。
VLAN常见问题
1、创建VLAN接口时出现:
Method error (/usr/lib/methods/chgvlan):
0514-018 The values specified for the following attributes
are not valid:
vlan_tag_id --VLAN Tag ID
引起这种问题的原因是在这块物理网卡上已经创建了对应于指定VLAN编号的逻辑接口。请用lsattr -El命令检查已经配置的VLAN接口。
2、删除或修改VLAN接口时出现:
Method error (/usr/lib/methods/ucfgcommo):
-------0514-062 Cannot perform the requested function because the
----------------specified device is busy.
引起这种问题的原因是有用户程序或IP接口在使用这个逻辑接口。一般来说,您可以先运行:
ifconfig enX detach
来卸载IP接口然后再重新运行命令。其中enX是VLAN接口对应的IP接口号。
为什么使用“kill -9”不能将进程杀掉
平台: pSeries
软件版本: AIX 所有版本
有时会遇到这样的问题:使用 "kill -9" 不能将进程杀掉。为什么?
"kill -9"命令向进程发送“SIGKILL”信号来将其终止。但是在下面两种情况下不起作用:
a. 该进程处于“Zombie”状态(使用“ps”命令返回“defunct”的进程)。此时进程已将所有资源释放,但未得到其父进程的确认。“Zombie”进程要等到下次系统启动时才能消失,但它的存在不会影响系统性能。
b. 该进程处于"kernel mode"(核心态)且在等待不可获得的资源。处于核心态的进程忽略所有信号处理,因此对于这些一直处于核心态的进程只能通过重启系统实现。进程在AIX中会处于两种状态,即用户态和核心态。只有处于用户态的进程才可以用“kill”命令将其终止。
如何对CDE进行抓屏
AIX, CDE
如何对CDE进行抓屏
AIX提供了对X Windows系统进行抓屏/显示的工具xwd和xwud。
xwd 命令是增强 X-Windows 的窗口转储实用程序。xwd 命令允许将视窗映像存储为特殊的已格式化的转储文件。然后,该文件可以被其它各种可执行重显、打印、编辑、格式化、归档和图像处理等功能的 X 实用程序读取。通过在期望的窗口中单击鼠标来选择目标窗口。键盘铃会在转储开始时响一次,转储结束后响二次。
常用参数:
-frame 该选项表明在手工选择窗口时,视窗管理器框架也应该包含在内。
-display Display 指定服务器连接。
-help 打印使用命令的语法摘要。
-nobdrs 指定窗口转储不包含构成 X-Windows 边框的像素。如果想将视窗内容包含在文档中作为说明时,这十分有用。-nobdrs 标志的结果取决于那个视窗管理器在运行。很多视窗管理器都从客户机中除去所有边框。例如,XGetWindowAttributes 函数在客户机启动时返回一个值为 0 的 border_width 字段而不管真正的边框宽度为多少。因此,任何在屏幕上可见的边沿都属于视窗管理器;客户机对其则一无所知。在这种情况下,-nobdrs 标志没有作用。
-out File 在命令行上指定输出文件。缺省值是输出到标准输出。
-xy 选择 xy 格式转储而不是使用缺省的 z 格式。该选项只适用彩色显示器。
xwd可以用来捕获X Windows系统上的当前显示。如果您在CDE环境中,只需要运行:
#xwd -out FILENAME
其中FILENAME是用来存放图形信息的文件名。
如果是在字符界面或需要捕获其它计算机上的图形,您需要首先在其它计算机的控制台上运行xhost +以允许远程访问,然后运行:
#xwd -display HOSTNAME:DPY -out FILENAME
其中HOSTNAME是要捕获的计算机的主机名,DPY通常为0.0。
xwud可以用来将捕获的文件显示到X Windows系统上,用法是在CDE环境中执行:
#xwud -in FILENAME
其中FILENAME是用来存放图形信息的文件名。
如何重建设备配制数据库?
注意:当你重建ODM客户化设备数据库时,你将丢失你现有的客户化设备的任何特殊的配制,例如:
(1)X.25,ttys,printers等设备的客户化配置将丢失,你需要在重建设备数据库之前保存这些信息;
(2)任何用户建立的卷组必须用命令重新加进系统:importvg -y [vgname] [hdisk#], vgname是卷组名,#”是被加的卷组里包含的任一硬盘号;
(3) 你的系统名和TCP/IP配置参数可能将丢失,在重建设备数据库之前你应该首先保存TCP/IP配置。
执行下面的步骤用默认的最小配置数据库来替换当前的设备数据库,新的数据库将在下次系统重启时生效。
1.启动系统进入维护模式,在不mounting文件系统的情况下访问rootvg,如下所示:
对于 AIX Version 4, 选择 Start Maintenance Mode for System Recovery (option 3). 下一屏幕选择 option 1 (Access a Root Volume Group).再下一屏键入 0 继续,接着通过输入数字号码来选择卷组,屏幕将如下显示:
Access a Root Volume Group
Type the number for a volume group to display the logical volume information and press Enter.
1) Volume Group 0073656f2608e46a contains these disks:
hdisk0 --2063 04-C0-00-4,0
一旦一个卷组被选择,将显示那个卷组的信息:
例如:
----------------Volume Group Information
------------------------------------------------------------------------
Volume Group ID 0073656f2608e46a includes the following logical volumes:
-----hd6 --------hd5 --------hd8 --------hd4 --------hd2 -----hd9var
---- hd3 --------hd1
-----------------------------------------------------------------------
Type the number of your choice and press Enter.
1) Access this Volume Group and start a shell
2) Access this Volume Group and start a shell before mounting filesystems
99) Previous Menu
现在你选择
Access this volume group and start a shell before mounting file systems (Option 2).
2.运行下面的命令来mount文件系统/dev/hd2(/usr):
mount /dev/hd2 /usr ;
3.拷贝当前的系统配制到一个备份目录,这一步是可选的:
mount /dev/hd4 /mnt
mkdir /mnt/etc/objrepos/backup
cp /mnt/etc/objrepos/Cu* /mnt/etc/objrepos/backup
cp /etc/objrepos/Cu* /mnt/etc/objrepos/ <--- additional line
umount /mnt
4.决定启动影像(boot image)位于哪个磁盘上:
lslv -l hd5
5.保存基于文件系统的RAM设备配制数据库到启动磁盘上,例如:
savebase -d /dev/hdisk0
6.重新启动机器进入正常启动模式,任何客户化的设备将需要重新定义并且任何非rootvg卷组需要重新加入。
如何使.profile文件在CDE中生效?
产品:AIX
平台:RS/6000
版本:AIX 4.3
在用户的.profile文件中设置的环境变量通过CDE界面注册后并未生效。如何使之生效?
打开文件.dtprofile,将注释行“# DTSOURCEPROFILE=true”还原,即将此行前面的“#”删除即可。
在AIX中设置中文环境
平台:RS/6000
软件版本: AIX 4.2 或更新版本
在RS/6000机器上安装了AIX操作系统,但不能显示中文。这是因为AIX中文环境需要单独设置。
在AIX中使用中文有两种途径:第一是在安装AIX时选择中文语言,装好的系统自动显示中文(这种方法不推荐使用,它没有第二种方法使用起来灵活)。第二是安装AIX时选择英文,系统启动后手工设置中文环境,方法如下:
1. 将AIX系统盘的第一张光盘放入光驱;
2. 运行命令:
smitty
--> System Environments
--> Manage Languange Environment
--> Change/Show Primary Language Environment
--> Change/Show Cultural Convention, Language, or Keyboard
在随后显示的菜单中将光标分别移到以下字段:
Primary CULTURAL Convention
Primary LANGUAGE translation
Primary KEYBOARD
按下<F4>,从弹出的菜单中选择“IBM-eucCN”将上述字段改为简体中文,按下回车键后系统自动从光盘安装中文环境软件包。此操作完成后重新启动系统,操作界面即为简体中文。
需要输入中文时使用下列功能键切换输入方法:
AIX 4.3.3 以前的版本:
<Shift> + F1 --- <Shift> + F4 切换到各种中文输入方法;
右<Alt> --- 切换到英文输入;
AIX 4.3.3:
CTRL + [F2] : 智能 ABC ;
CTRL + [F4] : 拼音输入;
CTRL + [F5] : 五笔输入;
CTRL + [F6] : 郑码输入 ;
CTRL + [F7] : 表形码输入;
CTRL + [F9] : 内码输入;
CTRL + [F10] :英文半角;
此外,AIX还包含另外两种中文环境,即“UTF8”和“GBK”,它们与“IBM-eucCN”之区别在于包含了繁体汉字的使用。上述三种中文环境的设置方法均相同。
如何在AIX的CDE上抓屏幕
产品: RS/6000
平台: RS
软件版本: AIX V4.3.3 & V5.*
客户需要在CDE抓屏来进行系统数据保存备份或留做分析。
首先我们执行命令 # xwd -out filename,然后点击我们想保存的窗口,这时命令退出回到提示符。
要显示我们所抓下的窗口屏幕,只需执行 # xwud -in filename,举例如下:
#xwd -out barcode (click the window of barcode)
#xwud -in barcode

HACMP工作原理
HACMP的工作原理是利用LAN来监控主机及网络、网卡的状态。在一个HACMP环境中有TCP/IP网络和非TCP/IP网络。TCP/IP网络即应用客户端访问的公共网,该网可以是大多数AIX所支持的网络,如Ethernet,T.R.,FDDI,ATM,SOCC,SLIP,等等。 非TCP/IP网络用来为HACMP对HA环境(Cluster)中的各节点进行监控而提供的一个替代TCP/IP的通讯路径,它可以是用RS232串口线将各节点连接起来,也可以是将各节点的SCSI卡或SSA卡设置成Target Mode方式。
HACMP将诊测并响应于三种类型的故障:1网卡故障,2网络工作,3节点故障。下面就这三种故障分别进行介绍。
1、网卡故障
前面讲到,HACMP的群集结构中,除了TCP/IP网络以外,还有一个非TCP/IP网络,它实际上是一根“心跳”线,专门用来诊测是节点死机还是仅仅网络发生故障。如下图所示,一旦节点加入了 Cluster(即该节点上的HACMP已正常启动),该节点的各个网卡、非TCP/IP网络就会不断地接收并送Keep-Alive信号,K-A的参数是可调 的,HA在连续发送一定数量个包都丢失后就可确认对方网卡,或网络,或节点发生故障。因此,有了K-A后,HACMP可以很轻易地发现网卡故障,因为一旦某块网卡发生故障发往该块网卡的K-A就会丢失。此时node 1上的cluster manager( HACMP的“大脑”)会产生一个swap-adapter的事件,并执行该事件的script(HACMP中提供了大部分通用环境下的事件scripts,它们是用标准AIX命令和HACMP工具来写的)。每个节点上都有至少两块网卡,一块是service adapter,提供对外服务,另一块是standby adapter,它的存在只有cluster manager知道,应用和client并不知道。一旦发生swap-adapter事件后,cluster manager将原来service adapter的 IP地址转移到standby adapter上,而standby地址转移到故障网卡上,同时网络上其他节点进行ARP的刷新。网卡互换(swap-adapter)在几秒内就可完成,以太网为3秒,并且这种转换对应用和client来说是透明的,只发生延迟但连接并不中断。
2、网络故障
如果发往node1上的service和standby网卡上的K-A包全都丢失,而非TCP/IP网络上的K-A仍然存在,那么HACMP判断node1仍然正常而网络发生故障。此时HACMP执行一个
3 、节点故障
如果不仅TCP/IP网络上的K-A全部丢失,而且非TCP/IP网络上的K-A也丢失,那么HACMP断定该节点发生故障,并产生node-down事件。此时将有资源接管,即放在共享磁盘陈列上的资源将由备份节点接管,接管包括一系列操作:Acquire disks,Varyon VG, Mount file systems,Export NFS file systems, Assume IP network Address, Restart highly available applications,其中IP地址接管和重新启动应用由HACMP来实现,而其他是由AIX来完成。
当整个节点发生故障时,HACMP将故障节点的service IP address转移到备份节点上,使网络上的client仍然使用这个IP地址,这个过程称为IP地址接管(IPAT),如图所示。
当一个节点down掉后,如果设置了IP地址接管,网络上的clients会自动连接到接管节点上;同样,如果设置了应用接管,该应用会在接管节点上自动重启,从而使系统能继续对外服务。对于要实现接管的应用,只需在HACMP中把它们设置成application server,并告诉HACMP启动这个应用的start script的全路径名和停止该应用的stop script的全路径名。由此可见,应用接管的配置在HACMP中十分简单,重要的是start script和stop script的写作,这需要用户对自己应用的了解。
4、其他故障
HACMP只去检测网卡、网络和节点是否发生故障,并作出相应的转移、接管行为。对于其他故障,那么HACMP缺省不作任何动作。
a.硬盘故障
一般我们都将硬盘设置成RAID-5方式或mirror方式,从而提供硬盘的高可用性。RAID-5将奇偶较验位分散在硬盘组中,因此当一组内的一个硬盘坏掉,组内的其他硬盘可以通过奇偶较验位将该硬盘上的数据恢复出来。RAID-5方式一般是由硬件实现的,如下7133的SSA适配器,而且如果同一组内的两个硬盘坏掉,该组硬盘的数据很可能就会全部丢失。mirror方式是将同一个数据写到至少两个物理外置上,因此它的效率没有RAID-5好,而且用盘量大,但安全性比RAID-5高,而且它易于实现,通过AIX中的(Logic Volume Management)可以很方便地设置。
b.硬盘控制卡
存储设备连接到主机上都必须通过一块控制卡,SCSI设备是SCSI Adapter, SSA设备是SSA Adapter,如果这块卡坏掉,与之连接的外设就无法利用。有几种办法可以解决这个问题。
一种办法是用多个adapter。每个主机上都有两块或两块以上adapter,分别连接mirror的数据,因此无论是硬盘坏掉,还是Adapter坏掉,所有好数据还是可以被主机利用,不会出现单点故障。这种方法实现起来并不难,但必须配置多块adapter,而且必须采用数据mirror方式。这种方法也不用通过HACMP来实现。
另一种方法仍只用一块adapter,利用HACMP中的Error Notification Facility( 错误通告机制)来解决。
Error Notification Facility是HACMP提供的对其他设备的监控工具,任何报告给AIX的错误(error)都能被捕获被采取相应措施。HACMP提供了smit界面,使配置简单化。
我们已知道,用LVM可实现硬盘镜像,当一个盘坏掉,仍有一份数据在镜像盘里,数据仍可进行读写,但此时数据不再有可用性,若镜像盘也坏掉则数据全部丢失。所以在此例中,PV丢失(LVM_PVMISS)的信息会大幅显示在控制台面上,从而提醒用户去仔细查看error log找出故障并修复它。同样,此例中HACMP提供了界面,结合AIX的功能,从而监控故障的发生。
c.应用故障
如果用户的应用有kernel call调用,或以root身份来启动等,一旦应用发生故障,很容易导致操作系统down掉,发生死机,这时实际上等于节点故障,HACMP会采取相应接管措施。如果只是应用自身死掉,AIX仍正常运行,HACMP最多利用Error Notification Facility来提供监控功能,对应用本身不采取任何动作。但如果应用中调用了AIX的SRC (System Resource Controller)机制所提供的API接口,就可以使应用在down掉后自动重新启动。除了SRC提供API接口外,HACMP中的clinfo也提供这样的API。
clinfo是cluster Information daemon,它负责维护整个cluster的状态的信息,clinfo API允许应用程序利用这些状态信息来采取相应行动。
d. HACMP故障
如果cluster中节点的HACMP进程down掉,HACMP将其升级为节点故障,从而发生资源接管。
如上所述,HACMP只全权负责诊断网卡故障、网络故障和节点故障这三类故障,并负责实现IP地址转换或接管,以及整个系统资源( 硬件、文件、系统、应用程序,等等)的接管。对于这三类故障外的其他故障,可以结合AIX基本功能和HACMP提供的一些机制,如Error Notification Facility, clinfo API 等,同样可以实现对故障的监控并采取相应措施。

Oracle 9i 数据库移动过程 在AIX平台上
Oracle 9i 数据库移动过程
数据库移动,在项目实施过程中,经常会发生,对于有经验的DBA来说,数据库移动是十分容易。但对于一些只了解系统,对数据库不是十分懂的人员来说,oracle的移动就不是那么容量了。
例如当系统安装完成以后,存储空间扩容了,需要对原对ORACLE进行移动,需要进行数据移动。以前在ORACLE8I FOR WINDOWS 2000中是可以进行移动的。现在ORACLE9I FOR AIX 5L 的移动如何做呢???其实经对各种不同的平台,操作过程完全一样。
一、复制移动数据文件
1)、获取数据库相关信息
首先要查看一下数据库的文件内容:
sqlplus “ / as sysdba”
&Oslash; select * from v$datafile;
&Oslash; select * from v$controlfile
&Oslash; select * from v$logfile;
2)、移动应用数据文件
shutdown immediate关闭数据库,拷贝数据文件到另外一个目录下。需要copy 的文件有:
system01.dbf
indx01.dbf
temp01.dbf
users01.dbf
应用数据文件
3)、 修改数据库文件的位置
启动MOUNT模式
&Oslash; startup mount;
&Oslash; alter database rename file ‘/oracle/oradata/ocp/system01.dbf’ to ‘/oradata/ocp/system01.dbf”
&Oslash; alter database rename file ‘/oracle/oradata/ocp/indx01.dbf’ to ‘/oradata/ocp/indx01.dbf’;
注意只能进行更改移动的数据库文件,不包括控制文件与日志文件,TEMP文件。
二. 移动控制文件
(1)备份SPFILE中的内容:
再重新启动数据库:
&Oslash; startup;
&Oslash; create pfile=’c:/init.ora’ from spfile;
(2)修改init.ora文件中的内容:
*.control_files='/oradata/ocp/control01.ctl','/oradata/ocp/control02.ctl','/oradata/ocp/control03.ctl'
进行更改已经复制的目录位置。
Shutdown 数据库
(3)将控制文件复制过去,
将三个控制文件移动到上面所修改的的目录下。
(4) 倒入参数文件
以init.ora参数方式启动:
&Oslash; startup pfile=’/oracle/init.ora’;
&Oslash; create spfile from pfile=’/oracle/init.ora’;
&Oslash; shutdown immediate;
&Oslash; startup; 从spfile中进行启动。
这样控制文件移动工作就结束了。
三、 重建或重定位LOG文件
解决日志文件的移动方式有两种,一种是移动(RENAME方式)另一种是重新创建。
(1)移动LOG文件
重新移动数据库文件与移动系统数据库文件是一样的方法,只是要求数据库必须是“startup mount”方式进行。
&Oslash; startup mount
&Oslash; alter database rename file ‘/oracle/oradata/oralog1.ora’ to ‘/oradata/ocp/oralog1.dbf’

(2)重建LOG文件
先重建一个组GROUP ,并添加一个LOG文件作为交换文件。
ALTER DATABASE ADD LOGFILE GROUP 4 ('$HOME/ORADATA/u01/log4.rdo','$HOME/ORADATA/u02/log4.rdo') SIZE 1M;
然后再删除其它的LOG组,要求必须保持有两个LOG文件组在系统中。
Alter database drop logfile member ‘/oracle/oradata/ocp/oralog01.ora’
四、重建系统监时(temp)文件系统
在移动数据表空间时,TEMP文件是不能被移动的,这里要求可以进行重建一个TEMP表空间,并设置为系统默认的TEMP文件系统。然后再册除原来的TEMP表空间,达到移动表空间的过程。
> create temporary tablespace “temp02” tempfile ‘/oradata/ocp/temp02.dbf’ size 500m extent management local uniform size 10m;
然后再删除原来的TEMP文件就可以了。
五、测试数据库
进行重启动ORACLE数据
$ sqlplus “/as sysdba”
&Oslash; startup;
&Oslash; show sga;
&Oslash;
 
AIX操作系统使用心得
AIX 是IBM 公司开发的业界领先的优秀商务Unix操作系统,在可靠性、可用性、开放性、扩展性、高性能、安全性等方面都非常突出,尤其是在Internet的关键应用领域以及系统和硬件管理能力方面,其性能表现更为出色,受到了业界的普遍认可和广泛使用。以下是笔者几年来使用AIX系统的一点心得,兹供使用该系统的其他读者参考。
1.如何禁止终端上的中断键(CTRL+C)?
在很多应用系统中,系统管理员希望普通用户只运行自己的应用程序,不能进入系统的shell提示符下,但缺省情况下当用户在终端上按CTRL+C键时就会退到系统提示符下。由于用户终端一般没有固定的端口号,为了禁止使用中断键,可采取下面办法:
(1)如果使用ksh, 可在$HOME/.profile中第一行加入如下内容:
trap "echo 'Abnormal operation'; exit" 123915
(2)如果使用csh(ksh亦可),可用如下命令:
%stty intr ^!
如果恢复正常情况,键入下列命令:
% stty intr ^c
2.如何在shell中不回显(echo)字符?
在实际应用中,一般当我们在键盘上键入口令时不希望将其显示在屏幕上,为此可采用下面的两种办法:
·使用stty 命令
stty -echo # do not display password
echo "Enter password: /c"
read PASSWD #get the password
stty echo # restore standard configuration
·使用echo命令
设置保密属性:echo "/033[8m"
取消保密属性:echo "/033[m"
3.如何在某个目录及其所属子目录的所有文件中查找字符串?
在程序维护过程中,有时需要在某个目录及其所属子目录的所有文件中查找某一个字符串,为此可用下面两种方法(假设在*.cp文件中查找字符串"abc",结果放在文件out中):
(1)cat /dev/null > out
find ./ -name "*.cp" -exec grep "abc"{} >> out
(2)find ./ -name "*.cp" | xargs grep "abc" > out
推荐使用第二种方法,因其系统开销小、速度快。
4.如何对/etc/inittab文件中的一行进行注释?
我们都知道在shell中使用"#"作为注释符号,但在/etc/inittab中注释一行的方法是在第一个字符前插入字符":"。
5.如何转换DOS和AIX两种格式的文本文件?
如欲转换DOS和AIX两种格式的文本文件,有两种方法:
(1)用ftp命令:设置ASCII传输类型,在一台运行AIX的机器和另外一台运行Windows的机器之间互相传送,这里不再赘述。
(2)使用aix2dos或dos2aix命令
如将DOS格式的文本文件转换为AIX格式,可用命令A:dos2aix inputfile outfile,反之可用命令:aix2dos inputfile outfile,关于dos2aix和aix2dos命令的详细用法可参阅"dos2aix -h "和"aix2dos -h "。注意要使用这两个命令,必须首先安装文件集bos.pci。
6.如何解决某一PV上的VGDA与ODM库不一致的问题?
在系统维护过程中,因为操作错误或其他特殊原因,有可能使某一PV上的LVCB和VGDA与其对应的ODM库不一致,导致ODM库紊乱,对PV的有关操作无法进行,这时可采用如下两个AIX命令加以解决:
redefinevg -d hdisk_name vg_name
该命令以指定PV上的LVM信息重新定义给定VG的ODM库。
或:synclvodm -P -v vgname
该命令同步或重建给定VG的ODM库和LVM信息。
7.如何设置用户的文件大小限制?
在AIX系统中,用户使用系统资源是有一定限制的。如用户缺省可创建或扩展的最大文件为1G(参见/etc/security/limits: fsize = 2097151, fsize_hard=fsize 512-bytes blocks)。
如欲修改,可使用smit:
# smit chuser 选择用户,修改下面两项:
Soft FILE size [4194302]
# (2G,可根据需要设定)
Hard FILE size [4194302]
# (2G, 可根据需要设定)
用该用户身份登录,使用"ulimit -f "和"ulimit -Hf"可分别显示其fsize、fsize_hard的大小。
8、如何按文件大小排序列出一个文件系统下的文件?
当监控某一文件系统的空间使用情况时,如果该文件系统剩余空间较少或已使用空间增长较快,则有必要排序列出该文件系统中所有大于某一给定字节数的文件,以便进一步维护管理。为此,可用如下命令:
# find [filesystem_name] -xdev -size +[512-bytes bloks] -ls | sort -r -n -k7
ORACLE 9I FOR AIX 5L 的安装文档
(参照: http://www.ncn.cn/)
第一节:安装
注意:因为ORACLE 9I为64位,所以安装的AIX平台也必须是64位。如果不是必须要重新安装或使用连接库函数将其改为64位
To change to 64 bit multi-processor mode:
# ln -sf /usr/lib/boot/unix_64 /unix
# ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix
# bosboot -ad /dev/ipldevice
# shutdown -r
一、确认系统环境
1、主机环境
??机型:IBM P630
??CPU :1000MHz
??MEM :1G (MIN 512M)
$ /usr/sbin/lsattr -E -l sys0 -a realmem
realmem 12582912 Amount of usable physical memory in Kbytes False
??/tmp:1000M (MIN 500M)
$df -k /tmp
Filesys
 

 
第 33 楼:find的用法

find命令是功能最强的命令之一,但同时也是命令行结构最难以掌握的命令之一。
# find / -print | wc -l 显示系统中所有文件和目录的数目。
# find / -user $LOGNAME -print 显示系统中该用户所有文件和目录。
# find / -size 100 -print 显示文件大小为100 blocks。
# find / -size -100 -print 显示文件大小小于100 blocks 。
# find / -size +100 -print 显示文件大小大于100 blocks 。
# find / -name core -exec rm {} /;查找并删除core文件。
# find . -exec chown $LOGNAME {} /; 修改一个目录下的所有文件的用户所属。
# find .-type d -exec chmod 770 {} /;修改一个目录下的所有目录的权限。
 

 
第 34 楼:RS/6000小型机故障的基本定位方法

一 故障的定义
.弄清楚系统发生了什么问题
.系统现在能做什么?不能做什么?
.故障什么时候发生的?
.有没有做平时不同的*作?
.故障有没有规律?定时还是不定时?发生的频率有多高?
.是一台机器出现故障还是多台机器故障?故障现象是否相同?
.最近有没有做改动?如安装了新的硬件、软件,改变了系统的一些设置。
二 故障信息的收集
1)收集故障信息对于判断、诊断故障原因,修复系统非常重要。
2)系统故障记录(errorlog)
errdemon 进程在系统启动时自动运行
记录包括硬件、软件及其他*作信息
故障记录文件为/var/adm/ras/errlog,可备份下来或拷贝到别的机器上分析
errpt 命令的使用(普通用户权限也可使用)
#errpt |more 列出简短出错信息
ERROR_ID TIMESTAMP T C RESOURCE_NAME ERROR_DEs criptION
192AC071 0723100300 T 0 errdemon Error logging turned off
0E017ED1 0720131000 P H mem2 Memory failure
9DBCFDEE 0701000000 T 0 errdemon Error logging turned on
038F2580 0624131000 U H scdisk0 UNDETERMINED ERROR
AA8AB241 0405130900 T O OPERATOR OPERATOR NOTIFICATION
TIMESTAMP: MMDDHHMMYY (月日时分年)
T(类型): P 永久; T 临时; U 未知 (永久性的错误应引起重视)
C(分类): H 硬件; S 软件; O 用户; U未知
#errpt -d H 列出所有硬件出错信息
#errpt -d S 列出所有软件出错信息
#errpt -aj ERROR_ID 列出详细出错信息
# errpt -aj 0502f666 <--- ERROR_ID用大小写均可
例:
LABEL: SCSI_ERR1
ID: 0502F666
Date/Time: Jun 19 22:29:51
Sequence Number: 95
Machine ID: 123456789012
Node ID: host1
Class: H
Type: PERM
Resource Name: scsi0
Resource Class: adapter
Resource Type: hscsi
Location: 00-08
VPD: <--- Virtal Product Data
Device Driver Level.........00
Diagnostic Level............00
Displayable Message.........SCSI
EC Level....................C25928
FRU Number..................30F8834
Manufacturer................IBM97F
Part Number.................59F4566
Serial Number...............00002849
ROS Level and ID............24
Read/Write Register Ptr.....0120
Des cription
ADAPTER ERROR
Probable Causes
ADAPTER HARDWARE CABLE
CABLE TERMINATOR DEVICE
Failure Causes
ADAPTER
CABLE LOOSE OR DEFECTIVE
Recommended Actions
PERFORM PROBLEM DETERMINATION PROCEDURES
CHECK CABLE AND ITS CONNECTIONS
Detail Data
SENSE DATA
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
3)控制面板上的LED 代码
.8 位代码,通常系统故障灯会同时亮起。某些机型还会同时显示故障设备位置代码。
.4 位代码,通常是Exxx。
.3 位代码,通常为0yyy,只看后3位。
.8 位和4位代码可查看系统服务手册 (Service Guide)。
3 位代码可查看系统诊断手册(Diagnostic Information for Multiple Bus System)。
.闪动的 888, 系统崩溃,硬件或软件原因造成。按reset 键会显示更多内容。
888-102 一般为软件故障(888-102-207 例外)
系统会产生一个dump。
888-102-xxx-0C9 系统正在做dump, 请等待。
888-102-xxx-0C0 系统dump完成,可关电重启。
888-103 或 105
硬件故障,一般有 SRN 代码及位置代码。
4)SMS (System Management Service) 故障记录
如何进入SMS 菜单
当主控台出现键盘图标后(LED 显示E1F1时)按1键。
选择"Utilities"
选择"Error Log", 抄下8位故障代码
(在SMS 中还可以更改系统启动顺序表)
5) MAIL
#mail
系统会向root用户发mail报告出错信息。通常系统出现故障后没有进行检查修复,系统会定时提醒root。
6)运行故障诊断程序(Diagnostic),对系统硬件进行检查和诊断。
当发现有硬件故障时应立即使用diag
#diag
> 选高级诊断(Advance Diagnostic)
> 选问题诊断(Problem Determination) 或
选系统检查(System Verification)
(选PD 会对系统错误记录进行分析)
diag运行后会给出SRN 代码,故障设备名称及百分比,地址代码等。
对于PCI机型应在系统报错7天之内运行diag程序对出错记录里的sense数据进行分析。
7)其他用于收集系统信息的命令
lsdev -C 系统设备信息
#lsdev -Cc disk
hdisk0 Available 00-06-00-2,0 4.5 GB 16 Bit SCSI Disk Drive
hdisk1 Available 00-06-00-1,0 4.5 GB 16 Bit SCSI Disk Drive
hdisk2 Defined 00-06-00-4,0 16 Bit SCSI Disk Drive
lspv 查看物理卷信息
#lspv
hdisk0 0007821160af3d76 rootvg
hdisk1 000782117f571294 rootvg
hdisk2 0000000045c45bde datavg
lsvg 查看卷组信息
#lsvg datavg
VOLUME GROUP: datavg VG IDENTIFIER: 0000000055e2458b
VG STATE: active PP SIZE: 4 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 2169 (8676 megabyt
MAX LVs: 256 FREE PPs: 1 (4 megabytes)
LVs: 3 USED PPs: 2168 (8672 megabyt
OPEN LVs: 2 QUORUM: 2
TOTAL PVs: 1 VG DEs criptORS: 2
STALE PVs: 0 STALE PPs: 0
ACTIVE PVs: 1 AUTO ON: yes
MAX PPs per PV: 2032 MAX PVs: 16
#lsvg -l rootvg
rootvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 1 1 closed/syncd N/A
...
lv00 jfs 51 102 1 closed/stale /ibmcxx
lv01 jfs 1 1 1 open/syncd /cics_regions
lv02 jfs 4 4 1 open/syncd /var/mqm
lslpp 查看文件组信息
# lslpp -L |grep 23100020
....
devices.pci.23100020.rte 4.3.2.7 C IBM PCI 10/100 Ethernet Adapt
看某个文件组是否已安装,如以太网卡驱动。也用于查询补丁程序的版本。
lsattr 查看设备参数设置
# lsattr -El ent2
busio 0x7fffc00 Bus I/O address False
busintr 9 Bus interrupt level False
intr_priority 3 Interrupt priority False
tx_que_size 512 TRANSMIT queue size True
rx_que_size 256 RECEIVE queue size True
rxbuf_pool_size 384 RECEIVE buffer pool size True
media_speed 10_Half_Duplex Media Speed True
use_alt_addr no Enable ALTERNATE ETHERNET address True
alt_addr 0x000000000000 ALTERNATE ETHERNET address True
ip_gap 96 Inter-Packet Gap True
lscfg 查看VPD信息(Virtual Product Data)
# lscfg -vl ssa1
DEVICE LOCATION DEs criptION
ssa1 30-68 IBM SSA Enhanced RAID Adapter
(14104500)
Part Number.................097H0645
FRU Number..................097H0645 <-- 备件号
Serial Number...............C8217227
EC Level....................0000F20825
Manufacturer................IBM053
ROS Level and ID............7201 <-- 微码版本
Loadable Microcode Level....04
Device Driver Level.........00
Displayable Message.........SSA-ADAPTER
Device Specific.(Z0)........DRAM=032
Device Specific.(Z1)........CACHE=0
Device Specific.(Z2)........000000062955dab2
Device Specific.(YL)........P2-I7 <-- 槽号
不同的硬件设备有不同的VPD,所含的格式和信息都不一样。通常备件号和微码
版本最有参考价值。注:FRU(Field Replace Unit)才是真正的备件号。
三 硬件故障定位方法
IBM 小型机故障定位方法包括小型机I/O柜上的显示面板上的Checkpoints信息,Error Code 和SRNs。
Checkpoints 检查点是系统加电CMOS初始化程序(initial program load (IPL))运行后显示在 I/O柜的显示面板上一系列信息。
IPL 流程
当交流电源接到系统后,IPL流程就开始了,IPL流程包括四个步骤:
. Phase 1: Service Processor 的初始化
Phase 1 开始于交流电源接到系统后,直到OK显示在I/O柜上的显示面板上为止。在这个步骤会显示 8xxx 或9xxx checkpoints代码 。
. Phase 2: 由 Service Processor 引导的硬件初始化
Phase 2 开始于按下I/O柜上的白色电源开关。在这个步骤会显示 9xxx checkpoints 。91FF 是最后的代码标志着第三步骤的开始
. Phase 3: 系统固件的初始化
在 Phase 3, 一个系统处理器接管控制并继续初始化系统资源, 在这个步骤会显示 Exxx。E105是最后的代码标志着第四步骤AIX启动的开始。在这个过程中还会显示各种位置码( 位置码代表着系统的每一个部分)
. Phase 4: AIX 启动
当AIX开始启动时,显示面板上的代码为 0xxx ,同时位置码会出现在第二行。当AIX的登录窗口出现在控制台上时第四步骤结束同时显示面板上再无任何信息出现。
Error Code 当系统运行有错误发现时,一个8位码会显示在显示面板上,同时在第二行显示相对应问题硬件的位置码。
SRNs (Service request numbers,服务请求码 )当系统运行有错误发现时,SRNs码会以 xxx-xxx的形式显示在显示面板上,同时在AIX的error log中也会有记载。
以上所有代码都会有相应的步骤解决。由于代码繁多,请在出现问题后记录下代码,并致电IBM服务热线。
系统的启动顺序:
.系统不能启动
系统停在Stage 1,可能为电源、系统板、CPU、内存等硬件故障。记录故障代码通知IBM工程师。
系统停在Stage 2,可能是启动顺序表(bootlist)损坏或I/O子系统故障。可尝试进入SMS 菜单检查启动顺序表,并修改。若在选择bootlist时没有硬盘设备可选或显示的硬盘信息不正确则可能是硬盘故障。若根本没有SCSI设备可选则链路有问题。
系统停在Stage3,可能是硬盘数据损坏,系统设置文件出错,或I/O子系统故障。
.系统停在551,555或557
发生在系统启动的第三阶段 (Stage 3),可能是:
文件系统损坏
文件系统日志(jfslog)损坏
rootvg中有坏硬盘
修复方法
用系统光盘或系统备份带启动(必须与硬盘中的*作系统版本一致)
启动后选择选项3
"Start Maintenance Mode for System Recovery"
> "Access a Root Volume Group"
> "Access this volume group and start a shell
before mounting the file systems"
格式化文件系统日志(jfslog)
# /usr/sbin/logform /dev/hd8
检查修复文件系统
# fsck -y /dev/hd1 (/home 文件系统)
# fsck -y /dev/hd2 (/usr 文件系统)
# fsck -y /dev/hd3 (/tmp 文件系统)
# fsck -y /dev/hd4 (/ 文件系统)
# fsck -y /dev/hd9var (/var 文件系统)
... ...
用 exit 命令退出,文件系统会自动 mount 起来。
重建bootimage
# lslv -m hd5 找出bootimage所在的硬盘,如hdisk0
# bosboot -ad /dev/hdisk0
# bootlist -m normal /dev/hdisk0 重建启动顺序表。
重启动系统
# shutdown -Fr
如上述步骤不奏效
用系统备份带恢复系统。
如备份带不能恢复,用诊断光盘(Diagnostic CDROM)检查是否坏硬盘。
.CDE图形界面挂死
CDE 运行时不要更改网络参数(如:主机名和IP 地址)
更改网卡设置,请先退出CDE图形环境,选择命令行方式登录,在字符界面下更改。
如CDE 已经挂死
远程 telnet 登录
找出所有dt有关的进程用kill命令杀掉
# ps -ef |grep dt
... ...
# kill PID
检查当前主机名
# hostname
tscf50
查看主机名是否对应有效的IP地址
# netstat -i |grep tscf50
tr0* 1500 9.185.40 tscf50 506049 0 28247 0 0
更改主机名或IP地址,使主机名与当前有效的IP地址存在对应关系。
# smitty tcpip
重新启动CDE界面
# /etc/rc.dt
HACMP环境下可把主机名alias到127.0.0.1上
# cat /etc/hosts
127.0.0.1 loopback localhost tscf50 # loopback (lo0) name/addressbvg
.系统dump
发生在系统崩溃时,AIX会做dump(系统内存的快照)。
此时机器会显示闪动的888 102 xxx 0cx 代码:
0c9 系统dump 进行中。0c9状态可能会维持超过2分钟,
不要关电和按reset, 等待dump做完。
0c0 dump 成功完成,这时可以断电重起。
0c2 手动启动dump 功能
0c4 dump 设备空间不足,只有部分信息保存下来
0c5 不明原因导致dump 失败
一般dump是由于软件出错引起(888-102-207 除外),机器通常可以重启。重启时可能提示用户插入磁带拷贝dump文件,不要选择退出,这样会丢失重要的故障信息。
dump的有关设置
估算系统dump的大小,在系统最繁忙时(内存使用最多)
# sysdumpdev -e
0453-041 Estimated dump size in bytes: 53477376
# lsps -a
Page Space Physical Volume Volume Group Size %Used Active
paging00 hdisk0 rootvg 480MB 1 yes
hd6 hdisk1 rootvg 544MB 1 yes
当前的设置
#sysdumpdev -l
primary /dev/hd6 <-- dump的主设备
secondary /dev/sysdumpnull
copy directory /var/adm/ras <-- dump拷贝的目录
forced copy flag TRUE
always allow dump TRUE
hd6应比估算值稍大。
/var/adm/ras 是默认的dump拷贝目录,比较估算值,保证/var文件系统有足够的剩余空间拷贝dump文件。否则机器重起时会提示用户插入磁带。
dump文件名为vmcore.#
对PCI机型如要手动做dump,须把" always allow dump" 先设成true。
# sysdumpdev -K
dump打包
# snap -a -o /dev/rmt# 或
# snap -a -c 把/tmp/ibmsupt目录做成一个压缩文件
snap.tar.Z如果/tmp文件系统空间不够,
可用-d directory 参数指定别的目录代
替/tmp/ibmsupt
 

 
第 35 楼:使用lastcomm命令查看用户命令历史

使用lastcomm需要启用记账(Accounting)功能。
需要安装bos.acct文件集
执行如下命令为文件和目录设置所需的权限:
●cd /var/adm
●/usr/sbin/acct/nulladm wtmp pacct
启停记账功能:
●启动记账功能:执行/usr/bin/su - adm -c /usr/sbin/acct/startup
●停止记账功能:执行/usr/bin/su - adm -c /usr/sbin/acct/shutacct
如果要在系统启动时自动启动记账功能:
●修改/etc/rc文件,加入:/usr/bin/su - adm -c /usr/sbin/acct/startup
●使用lastcomm命令,其用法为:lastcomm [ Command ] [ Name ] [ Terminal ],Command为要过滤出来的执行命令,Name为发起命令的用户名,Terminal为用户执行命令时使用的终端设备名
执行样例:

  代码: [复制到剪贴板]  
[H50:root:/var/adm] lastcomm pts/2
sh       S     nobody   pts/2          0.20 secs Wed Mar 10 11:50
lastcomm       nobody   pts/2          0.05 secs Wed Mar 10 12:00
who            nobody   pts/2          0.01 secs Wed Mar 10 12:00
lastcomm       nobody   pts/2          0.11 secs Wed Mar 10 12:00
netstat        nobody   pts/2          0.02 secs Wed Mar 10 12:00
clear          nobody   pts/2          0.01 secs Wed Mar 10 11:59
more           nobody   pts/2          0.02 secs Wed Mar 10 11:59
vi             nobody   pts/2          0.02 secs Wed Mar 10 11:59
sh        F    nobody   pts/2          0.02 secs Wed Mar 10 11:59
more           nobody   pts/2          0.01 secs Wed Mar 10 11:59
ls             nobody   pts/2          0.01 secs Wed Mar 10 11:59
vi             nobody   pts/2          0.02 secs Wed Mar 10 11:59
sh        F    nobody   pts/2          0.01 secs Wed Mar 10 11:59
more           nobody   pts/2          0.01 secs Wed Mar 10 11:59
ls             nobody   pts/2          0.02 secs Wed Mar 10 11:59
sh        F    nobody   pts/2          0.02 secs Wed Mar 10 11:59
more           nobody   pts/2          0.01 secs Wed Mar 10 11:59
ls             nobody   pts/2          0.01 secs Wed Mar 10 11:59
man            nobody   pts/2          0.02 secs Wed Mar 10 11:58
sh             nobody   pts/2          0.01 secs Wed Mar 10 11:58
more           nobody   pts/2          0.02 secs Wed Mar 10 11:58
sh        F    nobody   pts/2          0.02 secs Wed Mar 10 11:57
more           nobody   pts/2          0.01 secs Wed Mar 10 11:57
 

注意:使用此功能后,对于命令操作频繁的系统,应定期观察/var文件系统的空间使用情况,必要时用> /var/adm/pacct清空命令历史记录
 

 
第 36 楼:关于OS定期检查及维护

1、检查系统硬件情况:设备故障灯是否有亮
2、系统错误报告(errlog)
errpt -d H -T PERM
对有怀疑的进一步:errpt -aj 错误代码|more
3、有否发给root用户的错误报告(mail)
mail
4、检查hacmp.out,smit.log,boot.log
cd /tmp
ls hacmp.out*
找到时间最近的字节不为零的文件,vi查看
如果怀疑系统曾经有调整操作,检查/smit.log
alog -ot boot
5、关键系统的文件使用率不大于80%
df -k查看%Used
6、逻辑卷有否stale
lsvg -l 卷组名称
查看状态是否有stale的逻辑卷
7、内存交换区使用率是否超过70%
lsps -a
查看占用率是否超过70%
8、内存交换区的大小是否为物理内存的1.5倍
命令同上
现在原则有所改变,2G内存以下可按照1.5倍的标准,2G内存以上如果交换区占用率不高,可用2GB标准
9、检查备份情况(有否系统备份、用户数据备份、磁带机是否需要清洗)
口头询问:系统备份、数据备份
检查磁带机面板,提醒用户清洗
10、通信(网卡、IP、路由表、ping、/etc/hosts、DNS设置等)
netstat -in
netstat -rn
netstat -i
vi /etc/hosts
检查DNS相关文件内容
11、是否有数据保护方式如RAID10/RAID5,是否有Hot spare
如果是7133,diag→Task Selection→SSA Service Aids→Link Verification,smitty ssaraid
FAStT产品使用其管理软件Storage Manager查看
ESS使用ESS控制台查看
12、系统DUMP设置是否正确
sysdumpdev -l
13、检查系统参数是否正确
1)/etc/environment中的TZ不能有夏时制
vi /etc/environment
检查环境变量TZ,其格式应该是这样:TAIST-8,而不能是TAIST-8TAIDT-7这样的格式
2)如有数据库:Aio:available
lsdev -C|grep aio
查看其状态是否available
如不是:smitty chgaio,将状态修改为available,重启系统
3)HACMP中I/O pacing:High Water Mark/Low Water MArk:33/24
如果系统中运行了HACMP
smitty chgsysy,将High/Low water mark从0/0修改为33/24
4)HACMP中Syncd:10
如果系统运行了HACMP
查看/etc/inittab,将syncd后次参数修改为10,然后telinit q,kill -9 "syncd's PID"
5)HACMP中Power Monitor off
14、检查rootvg是否有镜象
lsvg -l rootvg查看镜像
15、检查errdaemon,srcmstr是否正常运行
ps -ef|grep err
ps -ef|grep src
16、机房环境(电压、湿度)
基本要求:零地电位差不得大于1V;严格要求:零地电阻<=1Ω(国内没几个能做到,〈=3Ω就差不多了)
湿度:45%—70%
17、系统性能:有否性能瓶颈(topas,vmstat)
18、补丁程序(PTF)、微码(是否需要升级)
instfix -i|grep ML查看补丁级别及是否完整;
lscfg -vp检查所有硬件设备微码
19、HACMP测试:Cluster Verification
smitty hacmp→Cluster Configuration→Cluster Verification
20、系统硬件诊断
diag→Advanced Diagnos...→Problem Determination
21、运行#snap -ac,生成文件snap+s/n.pax.Z
22、机器清洁
 

 
第 37 楼:关于AIX系统文件安全性方面的几点考虑

这篇文章主要讨论在AIX系统上如何检查文件、目录和可执行程序的安全性,以防止可能的安全方面的隐患。
1. 删除垃圾文件
很多程序运行完毕后,会在/tmp目录下留下很多的垃圾文件。AIX系统提供一个命令skulker,它可以删除/tmp目录下的a.out文件、core文件和ed.hup文件。具体的命令执行方式为:
      # skulker -p
2. 删除无所有者的文件
在AIX系统上如果一个用户被删掉后,原来属于这个用户的文件将变成无所有者的文件。可以用下面命令来找出这些文件:
      # find / -nouser -ls
如果找出得文件还有用,可将它们指定到已存在的某些用户下。否则就删除这些文件。
3. 管理未授权的远程访问
某些程序使用.rhosts文件访问远程系统。但有时这种做法会被未授权的用户使用。为避免这种情况,可删除.rhosts文件。
在HACMP环境下,.rhosts文件是需要的。这时需要将.rhosts文件的访问权限设为600,并且是所有者是root.system。
可用下面命令查找.rhosts文件:
      # find / -name .rhosts -ls
4. 监视可执行文件的属性
在监视某些可执行文件之前,需要了解这些文件是如何被使用的。尤其是要监视那些所有者是root,文件方式字中有SUID和SGID设置的文件。
通过以下命令可以找出满足上面条件的所有文件:
      # find / -perm -4000 -user 0 -ls
      # find / -perm -2000 -user 0 -ls
保存上面命令的输出结果。定时运行这两条命令,并与保存的结果相比较,看是否有未知的文件出现,以杜绝可能的安全隐患。
5. 管理cron和at运行的后台作业
必须做如下内容:
- 确认只有root用户在cron.allow和at.allow文件里。
- 从目录var/adm/cron中删除cron.deny和at.deny文件。
- 确保cron和at作业的所有者是root并且只能由root可写。
上面所谈的内容对AIX系统在文件方面的安全性有指导意义。在具体考虑使用AIX系统的安全性时,还应该考虑更多方面的内容。

关于AIX系统文件安全性方面的几点考虑(续)
IBM互联网服务器部 李一峰
这篇文章主要讨论关于X11和CDE(Common Desktop Environment)方面的安全问题。
1. 删除/etc/rc.dt文件
虽然运行CDE图形环境方便了用户使用AIX,但同时也带来了安全隐患。所以,对于那些要求较高安全性的系统来讲,就不应该运行CDE。
最好的方法是不安装CDE(dt)软件包。如果已经安装了这些软件包,应考虑删除它们,尤其是启动CDE的脚本文件/etc/rd.dt。
2. 屏蔽X服务器的远程监视功能
一个很重要的安全问题是X11服务器的远程监视机制。xwd和xwud常被用于监视X服务器的活动状况,它能够捕捉到键盘的敲击结果,因此可能泄露密码或其它敏感信息。
为防止这种情况的出现,可以删除这些可执行程序或者将其执行权限定为root可以执行。
xwd和xwud可以在文件包X11.apps.clients中找到。
如果需要使用xwd和xwud命令,可以考虑使用OpenSSH或MIT Magic Cookies。这些第三方厂家的软件可以有效的防止使用xwd和xwud命令时带来的风险。
3. 禁止用户使用xhost命令
确保只有指定的用户可以使用xhost命令,或指定只能超级用户才能使用,方法是运行chmod命令修改/usr/bin/X11/xhost的属性:
# chmod 744 /usr/bin/X11/xhost
确认在运行xhost命令时,指定hostname,否则将允许所有的远程主机访问本机,这将带来潜在的危险性。
 

 
第 38 楼:AIX资源监控与调制工具

本文出自:http://www.ccw.com.cn/ 作者: 陆成新 (2002-04-15 06:02:01)
性能优化以及确定系统中的性能瓶颈是系统管理员的主要任务之一。在一个计算机系统中,CPU、内存、硬盘和网络是影响系统性能的主要因素,因此系统性能调整也主要在于如何在这些资源中获得某种平衡,以满足人们对系统性能的期望。性能调制需要很多技巧,知识以及经验,不能仅靠分析统计数字,图表就可取得,性能调制有时是一件复杂甚至是非常困难的任务。
如同其它UNIX系统一样,AIX也给系统管理员剪裁系统提供了非常丰富的手段。这里我们简单介绍RS/6000 AIX系统中几个用于监控和调制多项系统资源的工具,每个工具的功能都很强,如想更透彻地了解这些命令的用法,请参考有关技术资料或手册。这里讲述的命令将不仅仅局限于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信息:
· CPU use:netpmon命令报告线程和中断处理器对CPU的使用情况。该命令将网络相关行为的CPU使用情况与其它行为的CPU使用情况区分开。
· Network Device Driver I/O:netpmon命令监控网络适配器上所通过的I/O统计。
· Internet Socket Calls:netpmon命令在互联网络套接字上监控read,recv,recvfrom,write,send以及sendto子程序。ICMP,TCP,UDP这几个协议的每个进程都会予以报告。
· NFS I/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/6000 AIX系统有帮助:
(1)显示10个消耗CPU最多的进程:
# ps aux |head -1 ;ps aux |sort -rn +2 |head –10
(2)显示10个消耗存储空间最多的进程:
# ps aux |head -1 ;ps aux |sort -rn +3 |head -10
(3)按顺序显示系统中受罚的进程:
#ps -eakl |head -1 ;ps -eakl |sort -rn +5
(4)按优先级顺序显示系统中的进程:
#ps -eakl |sort -n +6 |head
(5)按处理时间为顺序显示系统中的前十个进程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +3 |head –10
(6)按实际内存使用的多少顺序显示系统中的前十个进程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head –10
(7)按换入页面的多少顺序显示系统中的前10个进程:
#ps vx |head -1 ;ps vx |grep -v PID |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命令利用System Performance Measurement Interface(SPMI)API获得有关信息。正是因为通过SPMI API,使系统开销保持在最小程度。topas命令使用perfstat库调用访问perfstat内核扩展。
8、truss
truss命令跟踪一个进程的系统调用、所接收的信号以及招致的机器错。要检查的应用程序可在truss命令的命令行中指定,也可将truss命令挂在一个或多个已经在运行的进程上。
AIX调制工具
1、fdpr
fdpr命令改进用户级程序和库的执行时间和对实际内存的使用。fdr命令可以通过不同的操作,如删除不必要的指令和重组代码和数据,而实现这样的目标。fdr命令安装在目录/usr/bin下。
fdpr命令在三个不同阶段上,对原有的执行代码应用先进的优化技术从而为其构筑一个优化的可执行代码。这三个阶段分别是:
· 在阶段1,fdpr创建一个增加了某些装置(instrumented)的可执行程序。原有的可执行程序被保存为__ProgramFile.save,而新版本被命名为__ProgramFile.instr。
· 在阶段2,fdpr运行该增加了某些装置的可执行程序,并收集摘要(profiling)数据。该摘要数据被保存在一个叫__ProgramFile.prof的文件中。运行执行程序时需要为它提供典型的输入数据,以使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 -s 65536
3、vmtune
vmtune命令负责显示和调整虚存管理器(VMM)和其它AIX部件使用的参数。系统中的根用户可动态修改包括下面这些参数:
· VMM页替换
· 永久文件读写
· 文件系统缓冲区结构(bufstructs)
· LVM缓冲区
· 裸输入/输出
· 换页空间参数
· 页删除
· 内存固定参数
 

 
第 39 楼:fastt动态扩展容量

在fastt中,用SM可以动态扩展容量
如果是aix4.3.3 或 AIX 5.1,仍然不可以在线升级。
1. umount 文件系统
2. varyoffvg datavg
3. rmdev -1 hdisk1
4. cfgmgr –v
5. lsattrr -El hdisk1
6. varyonvg datavg
7. chvg -g datavg
8. mount 文件系统
如果是aix5.2,支持直接chvg -g datavg
注意在用chvg -g时,会有一个报警,选择yes.
 

 
第 40 楼:aix操作系统的备份和恢复

备份和恢复是系统管理员经常要做的事情, 主要包括rootvg备份和用户数据备份.
  1. 操作系统和系统程序的备份:
  将一盘新磁带或无用磁带插入磁带机
  #tctl -f /dev/rmt0 rewind
  #smit mksysb
  
  在"备份设备或文件"中添入"/dev/rmt0"后回车.
  系统会运行很长时间, 等到屏幕显示OK后拿出磁带. 这时候, 系统备份完成. 注意:
mksysb仅备份rootvg中已安装的文件系统.
  2. 用户数据备份
  · 常用磁带机选项
  /dev/rmt0: 若选择/dev/rmt0, 在插入磁带和写完一次磁带时, 磁带机都将磁带反绕到头.
因此, 下一次备份文件将覆盖本次备份.
  /dev/rmt0.1: 若选择/dev/rmt0.1, 则插入磁带和写完一次磁带时, 磁带机均不反绕磁带.
因此, 一盘磁带可以连续备份几个文件或文件系统.
  · #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
  选择"恢复文件系统"
  添入"设备名称"和"目标目录"
  
  系统会自动找到相应目录恢复.
 

 
第 41 楼:使用recreatevg来修复卷组

由于操作失误(chdev -l hdiskx -a pv=yes) 使得 hdiskx 的PVID发生改变, 硬盘上的内容尽管没被破坏,但由于与VGDA区的描述不一致,造成卷组无法访问, 该怎么办?

可用recreatevg命令来重新创建一内容相同的卷组, 以达到修复的目的。
1.首先将原卷组的定义从系统的ODM库中删除:
# exportvg vgname
2. 检查硬盘上VGDA 区的信息,从中得到有关逻辑卷的名称及定义:
如:
#lqueryvg -Atp hdisk2
Max LVs: ------256
PP Size: ------26
Free PPs: -----538
LV count: -----2
PV count: -----1
Total VGDAs: --2
Conc Allowed --0
MAX PPs per ---1016
MAX PVs: ------32
Conc Autovar --0
Varied on Co --0
Logical: ------0003f62a00004c00000000f52f1737c5.1 --datalv1 1
---------------0003f62a00004c00000000f52f1737c5.2 --datalv2 1
Physical: -----0003f62a2f135f0e --------------2 ----0
Total PPs: ----542
LTG size: -----128
HOT SPARE: ----0
AUTO SYNC: ----0
VG PERMISSIO --0
3. 创建逻辑卷名对应表文件。 第一字段为VGDA区中的逻辑卷的名,第二字段为在新卷组中新的逻辑卷名,可相同也可不同;为了修复原有卷组的内容,通常逻辑卷名保持不变。
如:
#vi -/tmp/lvname
-----datalv1:datalv1
-----datalv2:datalv2
4. 在硬盘上重新创建卷组,保留原有卷组的数据结构。
#recreatevg -y vgname ---l lv_file hdisk_name...
如:
#recreatevg -y forrecr2 ---l /tmp/lvname hdisk2
经过上述步骤, 在hdisk2 上创建了一个卷组 forrecr2, 原有的 datalv1, datalv2 逻辑卷的内容也保留了下来。 此时硬盘的PVID与新卷组VGDA的一致。
5. 如果卷组上有文件系统,还需修改 /etc/filesystems ,使对应的文件系统的加载点与原来的一致。
 

 
第 42 楼:组织规划逻辑卷以增加系统的I/O性能及可靠性

内容
提要 本文描述了基于物理卷内部及物理卷之间分配策略的系统设置,以更好地组织逻辑卷,增加系统的I/O性能。同时,本文也介绍了一些有关创建逻辑卷时应考虑的因素,以使系统获得最好的性能和可靠性。
正文 1. 物理卷内及物理卷间的分配策略
(1)物理卷内部
物理卷内部的分配策略描述了逻辑卷在磁盘上的位置。该位置可以在使用mklv命令创建逻辑卷时设置或通过chlv命令更改。位置值可以是CENTER,MIDDLE 或 EDGE。
要更改内部策略,使用chlv命令如下:
# chlv -a {m c e ie im} LVname
I/O操作最频繁的逻辑卷应该被放置在中央(CENTER),而最不频繁的逻辑卷应该被放置在边缘(EDGE)。
(2)物理卷间
在磁盘上创建逻辑卷时也需要考虑物理卷间的分配策略。该策略将确定一个逻辑卷是否可以跨多个物理卷。为了增加性能,该策略的值应该为MAXIMUM,说明逻辑卷应该跨最多的物理卷数分配。但是该策略将在任一个物理卷不可用时影响逻辑卷的可靠性。为了增加逻辑卷的可靠性,要限制将一个逻辑卷分配在一个物理卷上,即使用MINIMUM分配策略。
要更改物理卷间的策略,使用chlv命令如下:
# chlv -e {x m} LVname
(其中,x=MAXIMUM,m=MINIMUM分配策略。)
当对所有的逻辑卷设置了分配策略后,可能需要使用reorgvg命令重新组织逻辑卷。该命令将重新组织所有的物理分区以匹配为每个逻辑卷设置的分配策略。命令如下:
# reorgvg VGname LVname1 LVname2 ...
(其中,VGname是包含指定逻辑卷的卷组的名称,LVname1,LVname2等等是要被重新组织的逻辑卷的名称。如果不指定逻辑卷的名称,那么,卷组中的所有逻辑卷都将被重新组织。)
2. 决定LVM配置 -- 性能及可靠性
通常情况下,如果逻辑卷被配置为提供较好的性能,那么它的可靠性就会受到影响。
(1)性能
要配置系统提供最好的性能,在创建逻辑卷时遵循下述步骤中的设置:
a. 创建逻辑卷只有一份拷贝(不镜像分区)。如果选择镜像分区,那么设置下面的内容:
Scheduling Policy PARALLEL
Allocate each logical partition copy on a separate disk? YES
“PARALLEL”机制对一个逻辑分区对应的所有物理分区同时开始写操作;“YES”策略确保在可能的情况下,没有一个逻辑分区的任两份拷贝在同一个物理卷上。
b. 设置写校验(Write-verify)为NO
这样,在写操作后不再做读操作进行校验。
c. 内部策略应该被设置为下列之一:
* 如果对逻辑卷的I/O操作很频繁,设置为CENTER
* 对中等程度的I/O操作,设置为MIDDLE 或 INNER MIDDLE
* 如果对逻辑卷的I/O操作很少,则设置为EDGE 或 INNER EDGE
d. 设置物理卷间的策略为MAXIMUM
该策略会将逻辑卷跨尽可能多的物理卷分配,这样,对一个逻辑卷的读写操作将可以在多个物理卷间同时进行。
(2)可靠性
要配置系统提供最高的可靠性,在创建逻辑卷时遵循下述步骤中的设置:
a. 创建三份拷贝(镜像分区两次)
b. 设置写校验(Write-verify)为YES
这样,在每次写操作后进行读操作来校验。
c. 设置物理卷间的策略为MINIMUM
d. 设置Scheduling Policy为SEQUENTIAL。这样使对每份拷贝的写操作顺序进行。
e. 设置Allocate each logical partition copy on a separate disk为YES,确保在可能的情况下,没有一个逻辑分区的任两份拷贝在同一个物理卷上。
 

 
第 43 楼:深入讨论lvm,你该如何换硬盘?

关于lvm是aix中与odm一样最难的部分,但是确实非常的实用。因为这一部分涉及到的
命令关系到你对整个AIX的物理存储和逻辑存储的理解,尤其是在换硬盘的时候,有时候还要涉及到上层的fs或裸设备。因为有时侯由于你不太了解每个命令使用的后果,可能会畏惧为客户的生产系统做相应的操作。所以我想跟大家探讨一下,就举一个实例来做个深入的讨论吧。具体情况是这样的,某个客户可能由于历史原因,有四块7133-D40上的18.2GB的SSA硬盘(hdisk0~hdisk3)在一个uservg上。被做了基于lv的mirror,有就是说相关的LP对应2个PP.但是分布却是相互交错的,不象两块硬盘做的lv copies那样容易判断lv的分布。
假设这时候突然出现hdisk2的P H磁盘操作错误。我们需要更换一块硬盘代替hdisk2,这时候我们该考虑一下如何做是安全性最高和最有效率的方法呢,并且也要考虑每种方法的局限性,我把我的考虑按照优先选择的顺序列出,请大家斧正。
一、 优先选择migratepv.具体做法如下:
1、 加一块新盘到阵列上成为hdisk4.
2、 extendvg uservg hdisk4
3、 migratepv hdisk2 hdisk4迁移hdisk2上所有的lv到hdisk4
(你也可以用migratepv –l lvname hdisk2 hdisk4 逐一地将hdisk2上的lv迁移到hdisk4)
4、syncvg -fv uservg
使用migratepv的优点是思路清晰,简单,可以包括裸设备。将整个pv上的lvs全部迁移到新加的硬盘上,而且不用考虑lv上层的fs级别的情况,并且在执行命令的时候不需要umount 相关的fs.而且也不会改变迁移的lv上层fs中目录和文件的owner和执行权限。因此成为首选。缺点是有可能hdisk2上某lv所在的pp严重损坏,可能迁移后无法使用。或导致migratepv失败。
二、 使用cplv.具体做法如下:
1、加两块新盘到阵列上分别成为hdisk4,hdisk5.
2、extendvg uservg hdisk4
3、smit vg建立一个临时vg为tempvg,只包含hdisk5一个pv.
4、 用lspv –l hdisk2 看hdisk2中lv的名称和数量,作好记录。
可结合命令lslv –m lvname 进一步对lv copies的分布的情况做到心中有数。
5、 做cplv的时候要umount 相关的fs,否则无法执行命令。
cplv –v tempvg –y lv00_copy lv00 把uservg中涉及到hdisk2上的所有lvs(如:lv00)都逐一拷贝到hdisk5上,用名字来明确对应关系
6、 rmlv –p hdisk2 lv00 把hdisk2上面的lvs都删除。
7、 reducevg uservg hdisk2 从uservg中删除hdisk2
8、 cplv –e lv00 lv00_copy 逐一把hdisk5上的lv copys都用拷贝回原来的lv,系
统自动会发现hdisk4的空盘并均衡的分布在hdisk4上。
这种方法能保证hdisk5中得到的是完好的lv.避免第一种方法的问题,但我没做过测试,请老农等诸位大哥帮我看看,问题是如果hdisk2中有loglv我就不知道怎么办了。因为
loglv是open的,不是fs,我不知道怎么使它off掉,如果一直open是没办法cplv的。
裸设备也是这样吧。
三、不过请大家在做只前一定要为自己留一张牌出,首先类似cp –R 拷贝目录,tar, mksysb,savgvg等备份文件系统,就算出现不可期望的错误也能全身而退,挥一挥手,不带走一丝云彩。
增加一点复杂度哈,如果hdisk2上有两个loglv(loglv1和loglv2)没有和其他盘做成1LP对应2PP的lv copies.
我们怎么做呢?我的方法如下(经过实践考验):
1、extendvg uservg hdisk4
2、migratepv -l loglv1 hdisk2 hdisk4
migratepv -l loglv2 hdisk2 hdisk4
3、.rmlvcopy lv00 1 hdisk2
这样逐一删除原来hdisk2的lv mirror,实际上也取消掉了整个uservg的mirror,恢复到1LP对应1PP状态。
4、reducevg uservg hdisk2
5、mklvcopy lv00 2
这样逐一在整个uservg上重新建立lv copies,系统会严格遵守Mirror的策略在hdisk4上分配相应的lv copies.
6、syncvg -l lv00
逐一同步hdisk4上的lv copies,实际上就是lsvg -l uservg中显示stale状态的刚重新建立的lv.
(注意步骤6不能使用redbook书上写的syncvg -p hdisk4,仔细想想为什么?卖个关子
 

 
第 44 楼:模拟硬盘更换

630机器,内置4个18G硬盘,2个做RAID,存储数据,一块做系统,另一块做热备。因数据量增大,要扩充硬盘容量,将18G数据存储盘换成36G。
1. 查看硬盘信息
# lspv
hdisk0 000cd60d520a23a9 rootvg
hdisk1 000cd60d8a7b8d98 orclvg
#
注:此为另一机器,举例。
记下要更换硬盘的SERIAL
2. 把要更换硬盘从VG中拿掉
unmirrorvg datavg hdiskX去掉镜像
reducevg hdiskX datavg把要更换的硬盘从VG中拿掉
rmdev -l hdiskX –d在系统中把硬盘删掉
3. 关机
shutdown –F
若有服务,如ORACLE,SYBAE等,先停服务。
4. 准备工作
将防静电手链带上,另一端连金属物
5. 拆机箱
把机器的外壳挡板拆下
6. 更换硬盘
找到相应SERIAL的硬盘,在硬盘架上能看到,拨下。
将新硬盘换上
7. 开机
8. 查看硬盘
lspv
这时能看到新硬盘的SERIAL,hdiskX, 此处X可能为其它数字,因为系统可能将新硬盘认做其它PV,也可能是以前的PV
9. 改PV
将hdiskX 改为以前ID,此处不会!也可能不用改。
10. 做镜像
extendvg datavg hdiskX把diskX添加到datavg中, 大约需要10多秒
mirrorvg datavg 做镜像,可能会比较长的时间
11. 把另一块盘18G拿掉
unmirrorvg hdiskX datavg
reducevg hdiskX datavg
rmdev –dl hdiskX
12. 关机
13. 更换硬盘
14. 开机
15. 查看硬盘信息
# lspv
hdisk0 000cd60d520a23a9 rootvg
hdisk1 000cd60d8a7b8d98 orclvg
#
注:此为另一机器,举例。
记下要更换硬盘的SERIAL
16. 改PV
将hdiskX 改为以前ID,此处不会!也可能不用改
17. 做镜像
extendvg datavg hdiskX把diskX添加到datavg中, 大约需要10多秒
mirrorvg datavg 做镜像,可能会比较长的时间
18. 起服务
oracle或SYBASE
 

 
第 45 楼:AIX资源监控与调制工具

性能优化以及确定系统中的性能瓶颈是系统管理员的主要任务之一。在一个计算机系统中,CPU、内存、硬盘和网络是影响系统性能的主要因素,因此系统性能调整也主要在于如何在这些资源中获得某种平衡,以满足人们对系统性能的期望。性能调制需要很多技巧,知识以及经验,不能仅靠分析统计数字,图表就可取得,性能调制有时是一件复杂甚至是非常困难的任务。
如同其它UNIX系统一样,AIX也给系统管理员剪裁系统提供了非常丰富的手段。这里我们简单介绍RS/6000 AIX系统中几个用于监控和调制多项系统资源的工具,每个工具的功能都很强,如想更透彻地了解这些命令的用法,请参考有关技术资料或手册。这里讲述的命令将不仅仅局限于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信息:
· CPU use:netpmon命令报告线程和中断处理器对CPU的使用情况。该命令将网络相关行为的CPU使用情况与其它行为的CPU使用情况区分开。
· Network Device Driver I/O:netpmon命令监控网络适配器上所通过的I/O统计。
· Internet Socket Calls:netpmon命令在互联网络套接字上监控read,recv,recvfrom,write,send以及sendto子程序。ICMP,TCP,UDP这几个协议的每个进程都会予以报告。
· NFS I/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/6000 AIX系统有帮助:
(1)显示10个消耗CPU最多的进程:
# ps aux |head -1 ;ps aux |sort -rn +2 |head –10
(2)显示10个消耗存储空间最多的进程:
# ps aux |head -1 ;ps aux |sort -rn +3 |head -10
(3)按顺序显示系统中受罚的进程:
#ps -eakl |head -1 ;ps -eakl |sort -rn +5
(4)按优先级顺序显示系统中的进程:
#ps -eakl |sort -n +6 |head
(5)按处理时间为顺序显示系统中的前十个进程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +3 |head –10
(6)按实际内存使用的多少顺序显示系统中的前十个进程:
#ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head –10
(7)按换入页面的多少顺序显示系统中的前10个进程:
#ps vx |head -1 ;ps vx |grep -v PID |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命令利用System Performance Measurement Interface(SPMI)API获得有关信息。正是因为通过SPMI API,使系统开销保持在最小程度。topas命令使用perfstat库调用访问perfstat内核扩展。
8、truss
truss命令跟踪一个进程的系统调用、所接收的信号以及招致的机器错。要检查的应用程序可在truss命令的命令行中指定,也可将truss命令挂在一个或多个已经在运行的进程上。
AIX调制工具
1、fdpr
fdpr命令改进用户级程序和库的执行时间和对实际内存的使用。fdr命令可以通过不同的操作,如删除不必要的指令和重组代码和数据,而实现这样的目标。fdr命令安装在目录/usr/bin下。
fdpr命令在三个不同阶段上,对原有的执行代码应用先进的优化技术从而为其构筑一个优化的可执行代码。这三个阶段分别是:
· 在阶段1,fdpr创建一个增加了某些装置(instrumented)的可执行程序。原有的可执行程序被保存为__ProgramFile.save,而新版本被命名为__ProgramFile.instr。
· 在阶段2,fdpr运行该增加了某些装置的可执行程序,并收集摘要(profiling)数据。该摘要数据被保存在一个叫__ProgramFile.prof的文件中。运行执行程序时需要为它提供典型的输入数据,以使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 -s 65536
3、vmtune
vmtune命令负责显示和调整虚存管理器(VMM)和其它AIX部件使用的参数。系统中的根用户可动态修改包括下面这些参数:
· VMM页替换
· 永久文件读写
· 文件系统缓冲区结构(bufstructs)
· LVM缓冲区
· 裸输入/输出
· 换页空间参数
· 页删除
· 内存固定参数
 

 
第 46 楼:关于AIX系统文件安全性方面的几点考虑

这篇文章主要讨论在AIX系统上如何检查文件、目录和可执行程序的安全性,以防止可能的安全方面的隐患。
1. 删除垃圾文件
很多程序运行完毕后,会在/tmp目录下留下很多的垃圾文件。AIX系统提供一个命令skulker,它可以删除/tmp目录下的a.out文件、core文件和ed.hup文件。具体的命令执行方式为:
      # skulker -p
2. 删除无所有者的文件
在AIX系统上如果一个用户被删掉后,原来属于这个用户的文件将变成无所有者的文件。可以用下面命令来找出这些文件:
      # find / -nouser -ls
如果找出得文件还有用,可将它们指定到已存在的某些用户下。否则就删除这些文件。
3. 管理未授权的远程访问
某些程序使用.rhosts文件访问远程系统。但有时这种做法会被未授权的用户使用。为避免这种情况,可删除.rhosts文件。
在HACMP环境下,.rhosts文件是需要的。这时需要将.rhosts文件的访问权限设为600,并且是所有者是root.system。
可用下面命令查找.rhosts文件:
      # find / -name .rhosts -ls
4. 监视可执行文件的属性
在监视某些可执行文件之前,需要了解这些文件是如何被使用的。尤其是要监视那些所有者是root,文件方式字中有SUID和SGID设置的文件。
通过以下命令可以找出满足上面条件的所有文件:
      # find / -perm -4000 -user 0 -ls
      # find / -perm -2000 -user 0 -ls
保存上面命令的输出结果。定时运行这两条命令,并与保存的结果相比较,看是否有未知的文件出现,以杜绝可能的安全隐患。
5. 管理cron和at运行的后台作业
必须做如下内容:
- 确认只有root用户在cron.allow和at.allow文件里。
- 从目录var/adm/cron中删除cron.deny和at.deny文件。
- 确保cron和at作业的所有者是root并且只能由root可写。
上面所谈的内容对AIX系统在文件方面的安全性有指导意义。在具体考虑使用AIX系统的安全性时,还应该考虑更多方面的内容。
这篇文章主要讨论关于X11和CDE(Common Desktop Environment)方面的安全问题。
1. 删除/etc/rc.dt文件
虽然运行CDE图形环境方便了用户使用AIX,但同时也带来了安全隐患。所以,对于那些要求较高安全性的系统来讲,就不应该运行CDE。
最好的方法是不安装CDE(dt)软件包。如果已经安装了这些软件包,应考虑删除它们,尤其是启动CDE的脚本文件/etc/rd.dt。
2. 屏蔽X服务器的远程监视功能
一个很重要的安全问题是X11服务器的远程监视机制。xwd和xwud常被用于监视X服务器的活动状况,它能够捕捉到键盘的敲击结果,因此可能泄露密码或其它敏感信息。
为防止这种情况的出现,可以删除这些可执行程序或者将其执行权限定为root可以执行。
xwd和xwud可以在文件包X11.apps.clients中找到。
如果需要使用xwd和xwud命令,可以考虑使用OpenSSH或MIT Magic Cookies。这些第三方厂家的软件可以有效的防止使用xwd和xwud命令时带来的风险。
3. 禁止用户使用xhost命令
确保只有指定的用户可以使用xhost命令,或指定只能超级用户才能使用,方法是运行chmod命令修改/usr/bin/X11/xhost的属性:
# chmod 744 /usr/bin/X11/xhost
确认在运行xhost命令时,指定hostname,否则将允许所有的远程主机访问本机,这将带来潜在的危险性。
 

 
第 47 楼:使用lastcomm命令查看用户命令历史

使用lastcomm需要启用记账(Accounting)功能。
需要安装bos.acct文件集
执行如下命令为文件和目录设置所需的权限:
●cd /var/adm
●/usr/sbin/acct/nulladm wtmp pacct
启停记账功能:
●启动记账功能:执行/usr/bin/su - adm -c /usr/sbin/acct/startup
●停止记账功能:执行/usr/bin/su - adm -c /usr/sbin/acct/shutacct
如果要在系统启动时自动启动记账功能:
●修改/etc/rc文件,加入:/usr/bin/su - adm -c /usr/sbin/acct/startup
●使用lastcomm命令,其用法为:lastcomm [ Command ] [ Name ] [ Terminal ],Command为要过滤出来的执行命令,Name为发起命令的用户名,Terminal为用户执行命令时使用的终端设备名
 

 
第 48 楼:RS/6000小型机故障的基本定位方法

一 故障的定义
.弄清楚系统发生了什么问题
.系统现在能做什么?不能做什么?
.故障什么时候发生的?
.有没有做平时不同的*作?
.故障有没有规律?定时还是不定时?发生的频率有多高?
.是一台机器出现故障还是多台机器故障?故障现象是否相同?
.最近有没有做改动?如安装了新的硬件、软件,改变了系统的一些设置。
二 故障信息的收集
1)收集故障信息对于判断、诊断故障原因,修复系统非常重要。
2)系统故障记录(errorlog)
errdemon 进程在系统启动时自动运行
记录包括硬件、软件及其他*作信息
故障记录文件为/var/adm/ras/errlog,可备份下来或拷贝到别的机器上分析
errpt 命令的使用(普通用户权限也可使用)
#errpt |more 列出简短出错信息
ERROR_ID TIMESTAMP T C RESOURCE_NAME ERROR_DEs criptION
192AC071 0723100300 T 0 errdemon Error logging turned off
0E017ED1 0720131000 P H mem2 Memory failure
9DBCFDEE 0701000000 T 0 errdemon Error logging turned on
038F2580 0624131000 U H scdisk0 UNDETERMINED ERROR
AA8AB241 0405130900 T O OPERATOR OPERATOR NOTIFICATION
TIMESTAMP: MMDDHHMMYY (月日时分年)
T(类型): P 永久; T 临时; U 未知 (永久性的错误应引起重视)
C(分类): H 硬件; S 软件; O 用户; U未知
#errpt -d H 列出所有硬件出错信息
#errpt -d S 列出所有软件出错信息
#errpt -aj ERROR_ID 列出详细出错信息
# errpt -aj 0502f666 <--- ERROR_ID用大小写均可
例:
LABEL: SCSI_ERR1
ID: 0502F666
Date/Time: Jun 19 22:29:51
Sequence Number: 95
Machine ID: 123456789012
Node ID: host1
Class: H
Type: PERM
Resource Name: scsi0
Resource Class: adapter
Resource Type: hscsi
Location: 00-08
VPD: <--- Virtal Product Data
Device Driver Level.........00
Diagnostic Level............00
Displayable Message.........SCSI
EC Level....................C25928
FRU Number..................30F8834
Manufacturer................IBM97F
Part Number.................59F4566
Serial Number...............00002849
ROS Level and ID............24
Read/Write Register Ptr.....0120
Des cription
ADAPTER ERROR
Probable Causes
ADAPTER HARDWARE CABLE
CABLE TERMINATOR DEVICE
Failure Causes
ADAPTER
CABLE LOOSE OR DEFECTIVE
Recommended Actions
PERFORM PROBLEM DETERMINATION PROCEDURES
CHECK CABLE AND ITS CONNECTIONS
Detail Data
SENSE DATA
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
3)控制面板上的LED 代码
.8 位代码,通常系统故障灯会同时亮起。某些机型还会同时显示故障设备位置代码。
.4 位代码,通常是Exxx。
.3 位代码,通常为0yyy,只看后3位。
.8 位和4位代码可查看系统服务手册 (Service Guide)。
3 位代码可查看系统诊断手册(Diagnostic Information for Multiple Bus System)。
.闪动的 888, 系统崩溃,硬件或软件原因造成。按reset 键会显示更多内容。
888-102 一般为软件故障(888-102-207 例外)
系统会产生一个dump。
888-102-xxx-0C9 系统正在做dump, 请等待。
888-102-xxx-0C0 系统dump完成,可关电重启。
888-103 或 105
硬件故障,一般有 SRN 代码及位置代码。
4)SMS (System Management Service) 故障记录
如何进入SMS 菜单
当主控台出现键盘图标后(LED 显示E1F1时)按1键。
选择"Utilities"
选择"Error Log", 抄下8位故障代码
(在SMS 中还可以更改系统启动顺序表)
5) MAIL
#mail
系统会向root用户发mail报告出错信息。通常系统出现故障后没有进行检查修复,系统会定时提醒root。
6)运行故障诊断程序(Diagnostic),对系统硬件进行检查和诊断。
当发现有硬件故障时应立即使用diag
#diag
> 选高级诊断(Advance Diagnostic)
> 选问题诊断(Problem Determination) 或
选系统检查(System Verification)
(选PD 会对系统错误记录进行分析)
diag运行后会给出SRN 代码,故障设备名称及百分比,地址代码等。
对于PCI机型应在系统报错7天之内运行diag程序对出错记录里的sense数据进行分析。
7)其他用于收集系统信息的命令
lsdev -C 系统设备信息
#lsdev -Cc disk
hdisk0 Available 00-06-00-2,0 4.5 GB 16 Bit SCSI Disk Drive
hdisk1 Available 00-06-00-1,0 4.5 GB 16 Bit SCSI Disk Drive
hdisk2 Defined 00-06-00-4,0 16 Bit SCSI Disk Drive
lspv 查看物理卷信息
#lspv
hdisk0 0007821160af3d76 rootvg
hdisk1 000782117f571294 rootvg
hdisk2 0000000045c45bde datavg
lsvg 查看卷组信息
#lsvg datavg
VOLUME GROUP: datavg VG IDENTIFIER: 0000000055e2458b
VG STATE: active PP SIZE: 4 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 2169 (8676 megabyt
MAX LVs: 256 FREE PPs: 1 (4 megabytes)
LVs: 3 USED PPs: 2168 (8672 megabyt
OPEN LVs: 2 QUORUM: 2
TOTAL PVs: 1 VG DEs criptORS: 2
STALE PVs: 0 STALE PPs: 0
ACTIVE PVs: 1 AUTO ON: yes
MAX PPs per PV: 2032 MAX PVs: 16
#lsvg -l rootvg
rootvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 1 1 closed/syncd N/A
...
lv00 jfs 51 102 1 closed/stale /ibmcxx
lv01 jfs 1 1 1 open/syncd /cics_regions
lv02 jfs 4 4 1 open/syncd /var/mqm
lslpp 查看文件组信息
# lslpp -L |grep 23100020
....
devices.pci.23100020.rte 4.3.2.7 C IBM PCI 10/100 Ethernet Adapt
看某个文件组是否已安装,如以太网卡驱动。也用于查询补丁程序的版本。
lsattr 查看设备参数设置
# lsattr -El ent2
busio 0x7fffc00 Bus I/O address False
busintr 9 Bus interrupt level False
intr_priority 3 Interrupt priority False
tx_que_size 512 TRANSMIT queue size True
rx_que_size 256 RECEIVE queue size True
rxbuf_pool_size 384 RECEIVE buffer pool size True
media_speed 10_Half_Duplex Media Speed True
use_alt_addr no Enable ALTERNATE ETHERNET address True
alt_addr 0x000000000000 ALTERNATE ETHERNET address True
ip_gap 96 Inter-Packet Gap True
lscfg 查看VPD信息(Virtual Product Data)
# lscfg -vl ssa1
DEVICE LOCATION DEs criptION
ssa1 30-68 IBM SSA Enhanced RAID Adapter
(14104500)
Part Number.................097H0645
FRU Number..................097H0645 <-- 备件号
Serial Number...............C8217227
EC Level....................0000F20825
Manufacturer................IBM053
ROS Level and ID............7201 <-- 微码版本
Loadable Microcode Level....04
Device Driver Level.........00
Displayable Message.........SSA-ADAPTER
Device Specific.(Z0)........DRAM=032
Device Specific.(Z1)........CACHE=0
Device Specific.(Z2)........000000062955dab2
Device Specific.(YL)........P2-I7 <-- 槽号
不同的硬件设备有不同的VPD,所含的格式和信息都不一样。通常备件号和微码
版本最有参考价值。注:FRU(Field Replace Unit)才是真正的备件号。
三 硬件故障定位方法
IBM 小型机故障定位方法包括小型机I/O柜上的显示面板上的Checkpoints信息,Error Code 和SRNs。
Checkpoints 检查点是系统加电CMOS初始化程序(initial program load (IPL))运行后显示在 I/O柜的显示面板上一系列信息。
IPL 流程
当交流电源接到系统后,IPL流程就开始了,IPL流程包括四个步骤:
. Phase 1: Service Processor 的初始化
Phase 1 开始于交流电源接到系统后,直到OK显示在I/O柜上的显示面板上为止。在这个步骤会显示 8xxx 或9xxx checkpoints代码 。
. Phase 2: 由 Service Processor 引导的硬件初始化
Phase 2 开始于按下I/O柜上的白色电源开关。在这个步骤会显示 9xxx checkpoints 。91FF 是最后的代码标志着第三步骤的开始
. Phase 3: 系统固件的初始化
在 Phase 3, 一个系统处理器接管控制并继续初始化系统资源, 在这个步骤会显示 Exxx。E105是最后的代码标志着第四步骤AIX启动的开始。在这个过程中还会显示各种位置码( 位置码代表着系统的每一个部分)
. Phase 4: AIX 启动
当AIX开始启动时,显示面板上的代码为 0xxx ,同时位置码会出现在第二行。当AIX的登录窗口出现在控制台上时第四步骤结束同时显示面板上再无任何信息出现。
Error Code 当系统运行有错误发现时,一个8位码会显示在显示面板上,同时在第二行显示相对应问题硬件的位置码。
SRNs (Service request numbers,服务请求码 )当系统运行有错误发现时,SRNs码会以 xxx-xxx的形式显示在显示面板上,同时在AIX的error log中也会有记载。
以上所有代码都会有相应的步骤解决。由于代码繁多,请在出现问题后记录下代码,并致电IBM服务热线。
系统的启动顺序:
.系统不能启动
系统停在Stage 1,可能为电源、系统板、CPU、内存等硬件故障。记录故障代码通知IBM工程师。
系统停在Stage 2,可能是启动顺序表(bootlist)损坏或I/O子系统故障。可尝试进入SMS 菜单检查启动顺序表,并修改。若在选择bootlist时没有硬盘设备可选或显示的硬盘信息不正确则可能是硬盘故障。若根本没有SCSI设备可选则链路有问题。
系统停在Stage3,可能是硬盘数据损坏,系统设置文件出错,或I/O子系统故障。
.系统停在551,555或557
发生在系统启动的第三阶段 (Stage 3),可能是:
文件系统损坏
文件系统日志(jfslog)损坏
rootvg中有坏硬盘
修复方法
用系统光盘或系统备份带启动(必须与硬盘中的*作系统版本一致)
启动后选择选项3
"Start Maintenance Mode for System Recovery"
> "Access a Root Volume Group"
> "Access this volume group and start a shell
before mounting the file systems"
格式化文件系统日志(jfslog)
# /usr/sbin/logform /dev/hd8
检查修复文件系统
# fsck -y /dev/hd1 (/home 文件系统)
# fsck -y /dev/hd2 (/usr 文件系统)
# fsck -y /dev/hd3 (/tmp 文件系统)
# fsck -y /dev/hd4 (/ 文件系统)
# fsck -y /dev/hd9var (/var 文件系统)
... ...
用 exit 命令退出,文件系统会自动 mount 起来。
重建bootimage
# lslv -m hd5 找出bootimage所在的硬盘,如hdisk0
# bosboot -ad /dev/hdisk0
# bootlist -m normal /dev/hdisk0 重建启动顺序表。
重启动系统
# shutdown -Fr
如上述步骤不奏效
用系统备份带恢复系统。
如备份带不能恢复,用诊断光盘(Diagnostic CDROM)检查是否坏硬盘。
.CDE图形界面挂死
CDE 运行时不要更改网络参数(如:主机名和IP 地址)
更改网卡设置,请先退出CDE图形环境,选择命令行方式登录,在字符界面下更改。
如CDE 已经挂死
远程 telnet 登录
找出所有dt有关的进程用kill命令杀掉
# ps -ef |grep dt
... ...
# kill PID
检查当前主机名
# hostname
tscf50
查看主机名是否对应有效的IP地址
# netstat -i |grep tscf50
tr0* 1500 9.185.40 tscf50 506049 0 28247 0 0
更改主机名或IP地址,使主机名与当前有效的IP地址存在对应关系。
# smitty tcpip
重新启动CDE界面
# /etc/rc.dt
HACMP环境下可把主机名alias到127.0.0.1上
# cat /etc/hosts
127.0.0.1 loopback localhost tscf50 # loopback (lo0) name/addressbvg
.系统dump
发生在系统崩溃时,AIX会做dump(系统内存的快照)。
此时机器会显示闪动的888 102 xxx 0cx 代码:
0c9 系统dump 进行中。0c9状态可能会维持超过2分钟,
不要关电和按reset, 等待dump做完。
0c0 dump 成功完成,这时可以断电重起。
0c2 手动启动dump 功能
0c4 dump 设备空间不足,只有部分信息保存下来
0c5 不明原因导致dump 失败
一般dump是由于软件出错引起(888-102-207 除外),机器通常可以重启。重启时可能提示用户插入磁带拷贝dump文件,不要选择退出,这样会丢失重要的故障信息。
dump的有关设置
估算系统dump的大小,在系统最繁忙时(内存使用最多)
# sysdumpdev -e
0453-041 Estimated dump size in bytes: 53477376
# lsps -a
Page Space Physical Volume Volume Group Size %Used Active
paging00 hdisk0 rootvg 480MB 1 yes
hd6 hdisk1 rootvg 544MB 1 yes
当前的设置
#sysdumpdev -l
primary /dev/hd6 <-- dump的主设备
secondary /dev/sysdumpnull
copy directory /var/adm/ras <-- dump拷贝的目录
forced copy flag TRUE
always allow dump TRUE
hd6应比估算值稍大。
/var/adm/ras 是默认的dump拷贝目录,比较估算值,保证/var文件系统有足够的剩余空间拷贝dump文件。否则机器重起时会提示用户插入磁带。
dump文件名为vmcore.#
对PCI机型如要手动做dump,须把" always allow dump" 先设成true。
# sysdumpdev -K
dump打包
# snap -a -o /dev/rmt# 或
# snap -a -c 把/tmp/ibmsupt目录做成一个压缩文件
snap.tar.Z如果/tmp文件系统空间不够,
可用-d directory 参数指定别的目录代
替/tmp/ibmsupt
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值