Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91981
  • 博文数量: 21
  • 博客积分: 1010
  • 博客等级:
  • 技术积分: 370
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-14 09:50
文章分类

全部博文(21)

文章存档

2012年(5)

2011年(5)

2010年(4)

2009年(7)

我的朋友

分类: 系统运维

2011-12-27 09:31:57

本文档用于帮助分析确定硬盘启动时系统挂起的原因。适用于AIX 4.3 以及AIX5L。主要内容包括:

 

1.设置软件

 

启动到维护模式

 

确定启动磁盘

 

启用调试引导映像(debug boot image

 

准备关机

 

2.设置硬件

 

硬件需求

 

3.设置接口系统

 

4.捕获调试信息

 

5.停止KBD

 

说明:

 

1.设置软件

 

1)启动到维护模式

 

A. 使用AIX系统光盘启动到维护模式

 

B. 在安装屏幕选择3Maintenance mode for system recovery.

 

C. 选择 1Access a root volume group.

 

D. 选择 0继续下一步

 

E. 选择rootvg对应的驱动器

 

F. 选择访问rootvg卷组并打开一个shell

 

2)确定启动磁盘

 

使用lslv 命令确定哪个盘用来启动系统

 

# Lslv -m hd5

 

注意:PV1 为启动硬盘。

 

3)启用调试引导映像(Enable debug boot image

 

对于AIX 4.3

 

a. 确定你的机器是单处理器还是多处理器系统,键入: # bootinfo -z

 

返回结果 0 表示单处理器,1 为多处理器

 

B. 启用调试引导映像 如果是单处理器系统,键入:

 

# Bosboot -I -ad /dev/hdisk#-k /usr/lib/boot/unix_kdb

 

如果是多处理器系统,键入:

 

# Bosboot -I -ad /dev/hdisk#-k /usr/lib/boot/unix_mp_kdb

 

对于 AIX 5.x 使用 bosboot 命令:

 

# Bosboot -I -ad /dev/hdisk#

 

4)准备关机重启

 

使用bootlist 命令启动到hdisk# ,键入:

 

#Bootlist -m normal hdisk#

 

2.设置硬件

 

1)硬件需求

 

在启用调试模式启动期间,调试的输出被发送到机器的S1串口。这个输出然后能被捕获到tty 或者其他的串行连接终端。比较好的方法是准备另一个系统,就像一个客户机经由rs232连接作为它的接口。

 

硬件需求

 

两根RS232串口线

 

一个对接转换器(Gender changer

 

一个转接板(interposer —— null modem

 

按如下方式进行连接:

 

S1--X--R--I][G--R--X--Sx

 

其中:

 

S1——为正被安装的客户机的第一个串口

 

Sx——为正在连接的AIX 机器的任一个串口

 

X ——为用于连接 DB25-RS232 到串口需要的电缆线

 

R ——为 DB25-RS232 线

 

I ——为转接板(interposer

 

G——gender changerfemaleto get the right connection to Sx

 

3.设置接口系统

 

1)使用lslpp命令决定是否bos.net.uucp 已经被安装,如果没有安装,你必须先从AIX安装介质安装它。

 

#Lslpp -l bos.net.uucp

 

2)设置Sx 口,并且在那个端口创建一个tty。过程如下:

 

A. smitty TTY

 

b. 选则 Add a TTY

 

c. 选择 tty rs232 Asynchronous Terminal

 

d. 选择 Sx serial port

 

e. 选择端口编号(port number

 

3)用你惯用的文本编辑器编辑文件/etc/uucp/Devices 创建一个uucp 项。加入以下行:

 

Direct tty0 - 9600 direct

 

4)用cu命令和tee命令捕获调试输出

 

# Cu -ml tty0 | tee /tmp/debug1.log

 

5)用下列命令断开和客户机的连接

 

a. ~

 

b. exit

 

4.捕获调试信息

 

1)重启AIX系统开始数据捕获

 

# Sync

 

# Sync

 

# Reboot

 

2)应该有输出被显示在你的数据捕获系统

 

3)当调试器提示符(kbd>)被显示的时候,键入以下命令:

 

Kdb> mw enter_dbg

 

Kdb> 42

 

Kdb>

 

Kdb> g

 

然后调试信息被捕获在AIX系统中文件/tmp/boot.debuglog 以及在终端系统中你指定的文件中。

 

5.停止KBD

 

当调试信息被捕获后,如果机器可以正常启动,应该键入一些命令停止kbd 调试器:

 

1)按 CTRL \

 

2)输入下面内容:

 

a. mw enter_dbg

 

b.0

 

.运行kbd将导致系统性能下降,建议重建启动映像并且重启系统。为了组织kbd在下一次启动时运行,使用下列命令:

 

# Bosboot -ad /dev/hdisk#

 

1.         格式化硬盘且换盘的步骤

AIX SA的流水-格式化硬盘且换盘的步骤

 

 

如果一个用过的硬盘报错怎么办?

   一个P650,客户很省钱,非要拿别的机器空闲的硬盘来用。于是开工,上盘,经过一番熬夜拆件,开机,OK,加上,lsdev可以看到了。

  但是没有PVID。好说,咱都aix 5.2了,小case,直接extendvg!但是不行。系统报错。force加入vg的也不行:

   0516-1184 extendvg: IO failure on hdisk4.

   0516-792 extendvg: Unable to extend volume group

  采用加pvid的方式也不行。

  最后:格式化之:

  diag ->Task Selection-> Format Media->hdisk4

  formatverify。再扩入,OK。搞定。

 

  tips

  1、不要轻易做problem  测试,可能激活系统黄灯再次报警。

  2、黄灯亮是过于敏感了;如果不重启,系统还无法自动消去的。用diagindentify to normal或者log repair即可。

  3、如果format不行,只好换盘了:

  diag ->Task Selection-> Hot Plug Task -> SCSI and SCSI RAID Hot Plug Manager

> Replace/Remove a Device Attached to an SCSI Hot Swap Enclosure Device,拆除I/O面板拔出坏的硬盘,取一块新硬盘换上。

  运行cfgmgr v重新认新硬盘。

 

2.         记录ftp log

缺省情况下, 系统不会记录使用FTP连接和传输文件的日志(log). 这会对系统造成安全隐患,尤其在用户使用匿名ftp方式时。为了避免这种情况发生, 可用如下的步骤使系统记录FTP的日志:

1.修改/etc/syslog.conf文件,并加入一行:

daemon.info FileName

其中FileName是日志文件的名字, 它会跟踪FTP的活动,包括匿名和其他用户ID. FileName文件必须在做下一步骤前创建。

 

2.运行"refresh -s syslogd"命令刷新syslogd 后台程序。

 

3.修改/etc/inetd.conf文件,修改下面的数据行:

ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd -l

 

运行“refresh -s inetd”命令刷新inetd后台程序。

3.         怎样查找某个目录下内容含有某个字符串的文件

find /ptc -name "*.jsp" -print -exec grep "version" {} \;

这个命令显示在/ptc目录下扩展名为.jsp且内容包含version字符串的文件,显示文件目录和包含这个字符串的行。

find /ptc -exec grep -l "sjh" {} \;

/ptc下查找内容包含“sjh"字符串的文件。显示文件目录。

find /tmpftp |xargs egrep version

find 里面的-exec效率没 xargs 逐条递送处理的效果好

grep 查找也没 egrep 效率快。 不过只能对非特殊字符。

4.         卷组、逻辑卷、物理卷的操作命令

卷组:

   列出卷组细节: lsvg vg_name

   列出卷组中的逻辑卷: lsvg -l vg_name

   列出卷组中的物理卷: lsvg -p vg_name

   按卷组列出所有的逻辑卷: lsvg -o|lsvg -i -l

   增加卷组: smitty mkvg

   卷组扩容/缩小 smitty vgsc

   激活卷组(使其可用): varyonvg vg_name

   解除卷组: varyoffvg vg_name

   修改卷组属性: smitty chvg

   向卷组中增加一个物理卷: extendvg vg_name hdiskN 这个硬盘的状态必须是可用的。

   从卷组中删除一个物理卷: reducevg [-d] vg_name hdiskN 删除物理卷时其所在的卷组必须处于非   活动状态

物理卷:

   列出物理卷名称: lspv

   列出物理卷细节: lspv hdiskN

   列出物理卷中的逻辑卷: lspv -l hdiskN

   列出物理卷中的物理分区分布: lspv -p hdiskN

   显示物理分区与逻辑分区的对应情况:lspv -M hdiskN

   增加物理卷: cfgmgr /mkdev

   删除物理卷: rmdev

逻辑卷:

   列出逻辑卷名称: lsvg -l vg_name

   列出逻辑卷细节: lslv lv_name

   列出逻辑卷相关的物理卷: lslv -l lv_name

   列出物理卷中物理分区的分配: lslv -p pv_name

   显示逻辑卷中LPPP的对应: lslv -m lv_name

   增加逻辑卷: smitty mklv mklv

   删除逻辑卷:  smitty rmlv rmlv

   设置逻辑卷属性: smitty lvsc chlv

   增加逻辑卷拷贝: smitty mklvcopy

   删除逻辑卷拷贝:  smitty rmlvcopy

5.         升级磁盘阵列卡(ssa

扩容时升级ssa卡的微码,因为磁盘非常新,阵列卡却很老,怕认不出来。但cfgmgr后认出来了,本想不升级(因为要重起机器),但后来咨询资深的工程师说一定要升级,以前发生过丢失数据的情况,也就是说建冬冬的时候没有问题,应用的时候会莫名的丢数据,比较可怕!

 

1、上传ssa卡的微码

2、检查现在的微码,一般有两块卡,也有一块的,都要看看

[qth85_2][/]#lscfg -vl ssa0

DEVICE LOCATION DESCRIPTION

 

ssa0 27-08 IBM SSA 160 SerialRAID Adapter

(14109100)

 

Part Number................. 27H1204

FRU Number.................. 34L5388

Serial Number...............S1145311

EC Level.................... E28793

Manufacturer................IBM053

ROS Level and ID............B300 0000

Loadable Microcode Level....05

Device Driver Level.........00

Displayable Message.........SSA-ADAPTER

Device Specific.(Z0)........SDRAM=128

Device Specific.(Z1)........CACHE=32

Device Specific.(Z2)........UID=0000006094BE1546

Device Specific.(YL)........P1-I8/Q1

B300

 

ros level and id 那一行就是了

3、做好系统备份mksysb

4、升级时有可能出现问题,先把系统里的所有已经安装的软件的状态设置为 commit ,以便我们不成功的时候恢复到当前的时间点,安装的时候我们把软件的安装状态设置为 apply ,并且

SAVE replaced files?一定要选择 yes ,否则无法恢复。

安装之前PREVIEW only yes ,试着装一便,成功再装!

5、成功后,重新启动机器!(必须)

6、检测微码升级是否成功 lscfg -vl ssa0 B300BD00

 

附:

1、查看已安装软件的状态

smitty install ---> List Software and Related Information---->

List Software and Related Information---> List Software and Related Information

2、将已安装的软件状态都变成commit

smitty install ---> Software Maintenance and Utilities-->

Commit Applied Software Updates (Remove Saved Files)--->

SOFTWARE name [all]

PREVIEW only? (commit operation will NOT occur) yes COMMIT requisites? no

EXTEND file systems if space needed? yes

DETAILED output? no

6.         系统背板问题

406x 0002是有FC卡时出现的提示,4B2x 26F4是在拨出FC卡出现的提示

406x 0002 CEC backplane fault CEC backplane Location: U0.1-P1

4B2x 26F4 Description: System backplane with 1 processor Action: Replace the system backplane, Location: U0.1-P1

 

系统硬件情况:

 sysplanar0         System Planar

 

 

      1 WAY BACKPLANE :

        Serial Number...............YL102407968F

        Part Number.................80P2749

        Customer Card ID Number.....26F4

        CCIN Extender...............1

        FRU Number.................. 80P2749

        Version.....................RS6K

        System Info Specific.(YL)...U0.1-P1

      Physical Location: U0.1-P1

7.         与光纤通道设备相关的文件集介绍

与光纤通道设备相关的文件集介绍

Document #: 1811124B18001

 

Body:

与光纤通道设备相关的文件集介绍

 

环境:(产品,平台,机型,软件版本,)

产品:AIX

机型:p-series

版本:AIX 5L

 

问题描述:

 

AIX操作系统中有很多与光纤通道设备相关的文件集(fileset),用户有时候会感到很迷惑,不知道该安装哪些文件集,不该安装哪些文件集。这里,做一简单介绍:

 

解答:

 

AIX操作系统中的这些文件集有一些是专用的,有一些是通用的,具体如下:

 

devices.fcp.disk.rte -> 任何通过光纤通道连接到AIX的光纤存储设备都需要

devices.common.IBM.fc.rte -> 任何通过光纤通道连接到AIX的光纤存储设备都需要

devices.pci.df1000f7.com -> 任何通过光纤通道连接到AIX的光纤存储设备都需要

devices.pci.df1000f7.rte -> 6227 光纤卡的驱动程序

devices.pci.df1000f7.diag -> 6227 光纤卡的 诊断程序

devices.pci.df1000f9.rte -> 6228 光纤卡的驱动程序

devices.pci.df1000f9.diag -> 6228 光纤卡的诊断程序

devices.pci.df1080f9.rte -> 6239 光纤卡的驱动程序

devices.pci.df1080f9.diag -> 6239 光纤卡的诊断程序

 

devices.fcp.disk.array.rte -> 连接IBM FAStT存储设备所需要

devices.fcp.disk.array.diag -> 连接IBM FAStT存储设备所需要

 

ibm2105.rte -> 连接IBM 2105 ESS存储设备所需要

devices.sdd.xx.rte -> 连接IBM 2105 ESS存储设备,提供多通路支持(vpath)

 

8.         找出硬盘写操作最频繁的进程

1. 使用iostat命令找出最繁忙的硬盘.

#iostat 1 10

iostat命令输出:

tty:  ---tin  ---tout  avg-cpu: % user % sys % idle % iowait

---------0.1 ---4.6------------0.1 ---0.3 ---99.6---0.1

Disks:---% tm_act ------------Kbps ---tps ---Kb_read Kb_wrtn

hdisk0---89.0 --623.2 ---------0.0 ---125827 12264

hdisk1---0.1 ---0.8 -----------0.1---1443 ---323

cd0 -----0.0 ---0.0 -----------0.0 ---18 ---0

 

2. 找出硬盘对应的文件系统:

#lspv -l hdisk#

hdisk0:

LV NAME ------LPs ---PPs DISTRIBUTIONMOUNT POINT

hd2 ----------303 ---303 51..38..107..107..00 /usr

paging00 -----1 ------1 01..00..00..00..00 N/A

lv00----------69 -----69 00..69..00..00..00 /stash

 

3. 找出运行在文件系统或逻辑卷上的进程:

fuser -cux followed by or

例如:

#fuser -cux /dev/hd6 or fuser -cux /var

 

/dev/hd2:1e(root) 1928e(root) 2626e(root) 3132e(root)3628eroot)

进程ID后的字符表示进程访问该文件的方式:

c - Uses the file as the current directory(当前目录).

e - Uses the file as a program's executable object(可执行程序).

r - Uses the file as the root directory(作为根目录).

s - Uses the file as a shared library (共享库).

9.         找出当前目录占用空间最大的目录

# du -sk * |sort -rn |head

 

查找出当前目录下占空间最大的子目录,逐层往下直到找出占空间最大的文件。(要区分哪些目录是文件系统的 mount point,哪些是文件系统的子目录)删除文件,释放空间。有时删除文件后空间并不马上释放,这是由于你删除的文件正被某个程序打开。只有当这个程序停止后空间才释放,有时甚至需要重起系统。

10.     /var文件系统减肥

ROOTVG空间有限,且/var文件系统的空间已经足够大的情况下,/var文件系统空间快满了,这种情况怎么处理?IBM给了一个很好的处理流程:

 

使用find 命令检查在/var目录中所有大于1MB的文件,看是否可将其删除. :

#find /var -xdev -size +2048 -ls| sort -r +6

 

检查/var/tmp 中是否有可以删除的文件

 

检查/var/adm/wtmp文件的尺寸, 在此文件中记录了所有 login, rlogin telnet 的会话调用. 文件尺寸会随着系统的持续运行的而逐渐增大. /var/adm/wtmp文件可以直接清空; 或编辑它,将旧的不再需要的记录给删掉. 使用下面的命令将 /var/adm/wtmp清空.

#cp /dev/null /var/adm/wtmp

若要编辑的话, 先拷贝/var/adm/wtmp文件到一临时文件中#/usr/sbin/acct/fwtmp < /var/adm/wtmp >/tmp/out

接着,编辑临时文件,将不需要的内容删去,

#vi /tmp/out

然后使用下列命令来替换/var/adm/wtmp中的内容,

#/usr/sbin/acct/fwtmp -ic < /tmp/out > /var/adm/wtmp

 

使用下述方法清空/var/adm/ras目录中的错误日志 errlog. 只有执行了errclear 命令,错误日志才会被清掉.

 

4.1 使用命令停止错误日志的后台程序 /usr/lib/errdemon

#/usr/lib/errstop

4.2 errlog文件删除 或移到其他文件系统上.

#rm /var/adm/ras/errlog

# mv /var/adm/ras/errlog /otherfilesystem/filename

若删除errlog文件, 前面记录的错误日志也将从系统删除.

4.3 使用下面的命令重启 错误日志程序/usr/lib/errdemon #/usr/lib/errdemon

: 不要使用cp /dev/null 命令来清空错误日志. 系统一旦发现零字节长度的 errlog 文件, 将关闭操作系统中记录错误日志的功能. 若出现此种情况,只有将原来的errlog备份恢复回来才能解决.

由于errlog的记录空间是有限的,可以考虑在cron 文件中加入如下行,使系统定期将一些错误日志给删掉.

0 11 * * * /usr/bin/errclear -d S,O 30

0 12 * * * /usr/bin/errclear -d H 90

 

检查在 /var 中的跟踪文件trcfile是否比较大, 如果是,并且系统中没有正在运行的trace程序, 可以将 trcfile删除

#rm /var/adm/ras/trcfile

 

如果dump 设备设定的是 hd6(系统缺省值) , 可能在/var/adm/ras目录中会有许多以 vmcore为前缀的文件, 如果不想保留它们,可以使用rm 命令将其删除.

#rm /var/adm/ras/vmcore*

 

检查/var/spool 目录, 在此包含了所有在队列子系统排队的文件, 使用下述命令清空队列子系统.

# stopsrc -s qdaemon

# rm /var/spool/lpd/qdir/*

# rm /var/spool/lpd/stat/*

# rm /var/spool/qdaemon/*

# startsrc -s qdaemon

 

检查 /var/adm/acct 目录, 它包含了系统的审计记录 accounting. 如果启用了审计功能,此目录会包含许多大文件, 请参照系统审计来整理这些文件.

 

检查/var/preserve 目录, 它记录了所有被中断的vi会话调用. 通常,可以将这些文件删掉. 如果用户希望使用这些文件恢复以前的会话, 可以用 vi - r 命令列出所有可恢复的会话, 为了恢复某一会话调用,使用

# vi - r filename

 

修改/var/adm/sulog文件, 它记录了su命令的使用, 以及是否执行成功. 这个文件是普通的文本文件, 可以使用编辑器来浏览和修改, 如果将其删去, 系统会在下一次使用su 命令时,重新创建它.

 

修改/var/tmp/snmpd.log文件, 它记录了与snmpd后台程序相关的事件. 如果将其删去, snmpd 程序会重新创建它.

 

另外, /var/tmp/snmpd.log文件尺寸可在/etc/snmpd.conf 文件设定,使之不会无限的增长 -- 编辑/etc/snmpd.conf 文件,为其中的size 域设置合适的值即可.

11.     找出当前目录占用空间最大的目录

# du -sk * |sort -rn |head

 

查找出当前目录下占空间最大的子目录,逐层往下直到找出占空间最大的文件。(要区分哪些目录是文件系统的 mount point,哪些是文件系统的子目录)删除文件,释放空间。有时删除文件后空间并不马上释放,这是由于你删除的文件正被某个程序打开。只有当这个程序停止后空间才释放,有时甚至需要重起系统。
 

广州泰谷 中高端服务器,存储,网络和数据库的保障和技术支持服务,小型机领域, UNIX 平台工作,实际经验丰富,IBM SUN HP等小型机及存储设备的安装、维护保养、技术支持、培训与咨询等服务。

联系人:林***

电话:020-38289297-813

QQ:1937802523

Email:

 
阅读(2506) | 评论(6) | 转发(2) |
给主人留下些什么吧!~~

我是一粒糖2011-12-30 22:17:51

直接从内存里捕获呀?

新手来鸟2011-12-29 09:03:36

开机时间就是这样捕获的么?