AIX - 3

来源:互联网 发布:java struct2 编辑:程序博客网 时间:2024/05/05 06:23

五、测试数据库

进行重启动ORACLE数据

$ sqlplus “/as sysdba”

Ø startup;

Ø show sga;

Ø

 

 

 

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/20.20 secs Wed Mar 10 11:50

lastcomm nobody pts/20.05 secs Wed Mar 10 12:00

whonobody pts/20.01 secs Wed Mar 10 12:00

lastcomm nobody pts/20.11 secs Wed Mar 10 12:00

netstatnobody pts/20.02 secs Wed Mar 10 12:00

clearnobody pts/20.01 secs Wed Mar 10 11:59

more nobody pts/20.02 secs Wed Mar 10 11:59

vi nobody pts/20.02 secs Wed Mar 10 11:59

shFnobody pts/20.02 secs Wed Mar 10 11:59

more nobody pts/20.01 secs Wed Mar 10 11:59

ls nobody pts/20.01 secs Wed Mar 10 11:59

vi nobody pts/20.02 secs Wed Mar 10 11:59

shFnobody pts/20.01 secs Wed Mar 10 11:59

more nobody pts/20.01 secs Wed Mar 10 11:59

ls nobody pts/20.02 secs Wed Mar 10 11:59

shFnobody pts/20.02 secs Wed Mar 10 11:59

more nobody pts/20.01 secs Wed Mar 10 11:59

ls nobody pts/20.01 secs Wed Mar 10 11:59

mannobody pts/20.02 secs Wed Mar 10 11:58

sh nobody pts/20.01 secs Wed Mar 10 11:58

more nobody pts/20.02 secs Wed Mar 10 11:58

shFnobody pts/20.02 secs Wed Mar 10 11:57

more nobody pts/20.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

原创粉丝点击