-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
http://www.aixchina.net/
AIX 5L 学习大纲/简易教程(1)
http://blog.csdn.net/johnsuna/archive/2006/02/13/597709.aspx
(一)AIX概述
AIX(Advanced Interactive eXecutive),是UNIX的一种,是IBM eServer pServies, RS/6000的OS。
IBM eServer服务器P系统比较出名的是“深蓝”,是RS/6000(SP机型)。
Unix诞生于1969年,由Bell实验室的Thompson, Ritchie于1971年写成第一版本。1973年UNIX3加入C编译器,Ritchie用C重写了UNIX,发布了UNIX4版本。1978年UNIX Ver7是现代UNIX OS的蓝本。
X/Open:UNIX标准化的国际组织,也是UNIX商标的所有者。
AIX Ver1.0于1986年推出。AIX是第一个通过UNIX98标准的UNIX OS。
RS/6000于1990年发布,使用AIX Ver3。目前,市面装机量最大的AIX版本是AIX Ver4.3。
2000年——AIX 5.0,支持IBM POWER,Intel 64位平台,支持64位内核。
2001年——AIX 5.1L,“L”表示Linux affinity,也是第一个兼容Linux的UNIX。AIX 5.1L是第一个支持POWER4处理器的AIX OS。
2002年——AIX 5.2L;
目前最新版本是AIX Ver5.3L.
RS/6000: RISC System/6000
RISC:Reduced Instruction Set Cycles(精简指令集),RISC通过硬件执行更多的指令,在同一时间周期内能执行多条指令。
RS/6000分为:
(1)经典的RS/6000:MCA(微通道结构)总线、SCSI接口,市面上较少。
(2)基于PCI的RS/6000(PCI和ISA总线结构),型号有:43P、F50、H50、S70、S80、p690、p670、p650等。
目前最新Power 5处理器支持多线程、多内核。
三种线程模型:(1)M:1 (2)1:1 (3)M:N(最有效、也是最复杂的模型)
AIX OS有两种基本运行模式(1)Kernel Mode内核(2)User Mode用户
AIX中root用户是系统的主要管理员,可执行系统范围内的任何操作。
第一个装配Power4处理器的IBM服务器是pSeries 690。
(二)安装AIX OS
AIX 5L支持IBM POWERPC处理器和Intel Itanium(安腾)处理器。
需要查看操作系统的版本号?使用:
oslevel -l Level 列出更早版本
-g 列出更新,即更晚版本
-q 列出已知
AIX版本格式:vv.rr.mmmm.ffff
-- -- ---- ----
| | | |+----修订(Fix)版本号
OS Version---+ | |
(版本号) | +--修正(Modification)版本号
+
发行(Release)版本号
补丁包PTF(Program Temporary Fix)
(1)维护包ML:命名规则4位的VRMF
eg. 4.3.1.0 升级到 4.3.3.0
(4310) (4330)
(2)推荐维护包RM: VRMF-RM
eg.4330-08(其中08代表第8个推荐包)
安装AIX 5L比AIX 4.3多一个是否启用64位内核和JFS2支持的选项。
确定能否从PowerPC上的CD-ROM上引导AIX 5L安装,使用如下命令:
lscfg -vl cd*
安装方法:
(1)全新覆盖(New and Complete Overrite)
(2)保留安装(Preservation Install)
(3)迁移安装 (Migration Install)
VG卷组(Volumn Group)
rootvg包含基本的OS(BOS),机器从rootvg启动并将BOS加载到内存。
重新分配rootvg的空间时,必须重装BOS。
如有双硬盘,建议一个硬盘安装BOS,使之成为rootvg,另一硬盘则用于存放用户数据。
保留安装是AIX 3.1或AIX 4.1的默认安装方法,也是安全升级BOS的安装方法。
将/etc/preserve.list复制到软盘上:
cd /etc
ls ./preserve.list | backup -iqv
迁移安装除不保留/tmp文件系统外,将保留其他所有的文件系统。
切换32位或64位内核(在POWER平台上)
(1)root用户进入系统
(2)ln -fs /usr/lib/boot/unix_?? /unix
(3)ln -sf /usr/lib/boot/unix_?? /usr/lib/boot/unix
(4)bosboot -ad /dev/ipldevice
(5)shutdown -r
检查AIX的系统状态的常用命令:
文件系统: df -k
设 备: lsdev -C
磁盘(物理卷): lspv
Paging space: lsps -a
配 置: lscfg -vp
软 件: lslpp -l
用 户: who
处理器个数: lsdev -C | grep proc
内存大小: lsattr -El mem0
(三)启动和关闭AIX系统
系统引导:
(1)Normal(正常)模式:多用户模式
(2)Service(维护)模式:单用户模式
磁带或CDROM引导系统 ---进入--》 Service模式(单用户模式)
从硬盘引导系统 ---进入--》 Normal/Service模式
进入SMS(System Management Service系统管理维护)中可修改系统引导设备列表。
系统的启动:
(1)硬件初始化阶段(ROS IPL)[Read Only Storage Inital Program Load]
+-----------------------------+ +--------------------+
| a.内置设备自检 BIST | ————>> | b.加电自检POST |
| Built-In Self Test | | Power-On self Test |
+-----------------------------+ +--------------------+
(仅经典RS/6000有此过程a)
(2)AIX核心初始化阶段
从硬盘引导BOS ————>> AIX核心初始化————>> 启动系统的初始进程/etc/init ————>> init依据文件/etc/inittab的内容启动其他系统进程。
关闭AIX:
+---------------------------+
| 执行关机命令 |
| ------------------------ |
| shutdown, halt, reboot等。| ———>> 终止系统中正在运行的进程 ————>> 甚至使机器自动断电
| (安全) |
+---------------------------+
rc.boot:一个Shell命令文件,是配置系统的脚本。系统引导期间,init进程执行它三次。
显示系统启动到现在的时间:uptime(也可用w命令,且它的输出比uptime更详细)
RAM文件系统是引导镜像(Boot Image)的一部分,完全常驻内存,包含了许多能让引导继续的程序。
系统的运行级别:11个(编码为0~9,s,S,m,M)
其中(1)0,1被保留,2是系统的多用户模式,3~9是自定义运行级别。
(2)s, S, m, M为系统维护模式。
最有用的两个运行级别是单用户模式(维护模式s,S,m,M)和多用户模式(2)。
改变系统的运行级别:
init 或 telinit(Tell init:通知init进程,被链接到init上)
用法:init 0~9, a,b,c, Q, q, s, S, m, M, N
--- ----- ---- ---------- -
(同前) | | (同前) |
| | +--发送停止带有respawn进程的信号
| |
| +---让init进程重新检查/etc/inittab文件
|
+----------------------------------------------------+
| 伪级别,仅处理/etc/inittab文件中RunLevel字段中 |
| 包含a, b, c运行级别的那些程序,不中断处于当前系统 |
| 运行级别中正在运行的进程,运行级别改变也不会关闭因 |
| 带a,b,c而启动的进程。 |
+----------------------------------------------------+
如:
init 2 多用户模式
init s 单用户模式
/etcomottab中Action字段:创建子进程和对它采取的行动。
(1)respawn:如未运行,则启动之;否则,不做任何处理,继续/etc/inittab中的其他记录;
(2)wait (3)once (4)boot (5)bootwait (6)powerfail
(7)powerwait (8)off (9)ondemand
(10)initdefault(如有,必须置于第一个非注释行)
(11)sysinit(如有,必须置于第二个非注释行)
编辑/etc/inittab文件的命令:
(1)chitab 修改记录
(2)lsitab 显示记录
(3)mkitab 添加记录
(4)rmitab 删除记录
bootlist命令:显示和修改引导系统的设备列表,也可显示修改系统引导设备的顺序。
bosboot -ad /dev/hdisk0 [在hdisk0上创建引导逻辑卷(BLV)]
alog命令:维护和管理系统日志(see P102)
odmadd:向alog配置数据库中添加新的日志类型,默认日志类型有:boot, bosinst, nim, dumpsymp。
alog -f Logfile [-o] 显示日志文件Logfile的内容
alog -f Logfile | [[-q][-s Size]] 把日志记录到Logfile中
alog -t LogType -V 显示指定日志类型LogType参数的详细信息
alog -L 显示在alog配置数据库中的已定义好的日志类型
alog -o -t boot 查看引导信息
也可以使用:smitty alog_show 查看boot log
安全关闭系统:shutdown(最安全、最彻底)
(1)如/etc/rc.shutdown文件没有可执行权限,则用:
chmod +x /etc/rc.shutdown 增加可执行权限。
(2)然后,可编辑/etc/rc.shutdown文件,把批处理命令写入。
当执行shutdown时,如此文件存在,就执行它,如返回非零的错误代码,shutdown就停止执行,关闭系统的工作也被终止。
shutdown -i 可交互模式,提示用户一步步地关闭系统。
AIX 4.2以上,/usr/sbin/shutdown命令文件中增加了:
sh /etc/rc.shutdown 执行此文件中的脚本
也可使用SMIT工具关闭系统:smit shutdown
紧急情况下停止系统: shutdown -F(最快速度地比较安全的方式)
单用户模式用halt关闭系统。
多用户模式,只有当除root的所有其他用户退出时,halt才可执行。
halt -l 不记录中断系统运行日志
-q 快速终止系统运行
(注意:最好不要使用halt,以免数据丢失)。
shutdown +2 两分钟后关机
shutdown -r 重新启动操作系统
reboot命令一般在单用户下重启系统(它会做数据同步工作)。
获得系统参数autorestart的默认值: lsattr -D -l sys0
修改系统参数autorestart的值为true: chdev -l sys0 -a autorestart=true
查看更改后的结果: lsattr -E -l sys0
(建议:reboot命令也很危险,少用为妙。)
关闭系统到单用户模式:
shutdown -m (实际上,它调用了: init -s命令)
注意:必须保证当前工作目录为根目录,所以常常先cd /后再调用此句。
关闭系统时记录日志
cat /etc/shutdown.log
问题:可以在关闭系统时自动执行某个批处理吗?
启动多用户模式三阶段:
(1)ROS内核初始化阶段(Read Only Storage Kernel Init Phase)
(2)基本设备配置阶段(Base Device Configuration Phase)
(3)系统引导阶段(System Boot Phase)
init进程重读/etc/inittab文件的条件(之一):
(1)init进程的子孙进程中有一个进程结束。
(2)出现电源失败信号SIGPWR。
(3)用户用init命令发出改变系统运行级别和重新检查/etc/inittab文件的信号(用telinit q或init Q)。
rootvg刚做过镜像mirror,为使hdisk1可引导系统,需要运行bosboot,然后更新bootlist。
关机的情况:(大多数P系统服务器很少关机!)
(1)添加新硬件
(2)硬件维护
(3)当出现严重问题时
关机的顺序与启动顺序相反:
(1)运行关机脚本 /etc/rc.shutdown
(2)提醒用户
(3)关闭用户进程
(4)停止系统服务进程
(5)卸载文件系统
(6)停止服务器
(7)如果有用-r参数,则重启系统。
ibm aix 小型机巡检流程
AIX 启停顺序
IBM小型机服务器环境启动关闭顺序:
http://blog.sina.com.cn/s/blog_5a2405d10100eijb.html###
硬件启动顺序:
开机顺序 开存储 开光纤交换机 开小机 关机顺序相反
AIX应用软件及服务的启动顺序:
DB2——〉MQ——〉WAS——〉Socket
启动Db2: 使用db2用户登陆后输入Db2start
启动MQ: 输入./startMQ.bat启动MQ服务。
启动WAS: 用root用户登录系统
cd /"安装路径"/WebSphere/AppServer/bin
输入./startServer.sh server1
启动socket服务: 用root用户登录系统。
AIX应用软件及服务的停止顺序:
Socket——〉WAS——〉oracle ——〉MQ
停止socket服务:
用root用户登录
输入ps –ef|grep socket查看socket进程
输入kill 进程号 杀掉socket进程
停止WAS服务: 使用root用户登录
输入cd /"安装路径"/WebSphere/AppServer/bin(回车)
输入./stopServer.sh server1(回车)
停止DB2: 使用db2 admin用户登录 输入db2stop(回车)
停止MQ: 使用root用户登录, 输入./stopMQ.bat(回车)
aix resource
http://ftp.software.ibm.com/aix/fixes/52/ml/
http://www.unix-center.net
#redhat ssh远程连接ibm aix 机器
[root@localhost ~]# ssh -l siemens800 aix.unix-center.net
# 查看AIX hosts文件
[root@localhost ~]# cat /etc/hosts
192.168.1.18 aix aix.unix-center.net
192.168.2.3 mysql mysql.unix-center.net
#ssh 帮助文档
[avatar@localhost ~]$ ssh
usage: ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-i identity_file] [-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-w tunnel:tunnel] [user@]hostname [command]
AIX 专家俱乐部
power是risc精简指令集架构,intel是cisc复杂指令集架构。
unix resources
Power 在线学堂培训视频
http://www.aixchina.net/?action-topic-id-4-p-scvideo-section-1.html.html
常用AIX论坛地址、资料下载地址、FTP地址
http://aix.chinaunix.net/doc/2007/02/26/1107441.shtml
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/
# 测试aix pre(web+db2)端口是否开通
p6550b2/home/wcsuser$telnet 192.168.130.125 80
正在尝试...
连接到 192.168.130.125。
换码字符为 '^]'。
p6550b2/home/wcsuser$telnet 192.168.121.113 9060
正在尝试...
telnet:连接: 远程主机拒绝 connect 操作尝试。
exit
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>501 Method Not Implemented</title>
</head><body>
<h1>Method Not Implemented</h1>
<p>exit to /index.html not supported.<br />
</p>
<hr />
<address>IBM_HTTP_Server/6.0.2.29 Apache/2.0.47 (Unix) Server at emall.suningsho
p.com Port 80</address>
</body></html>
关闭连接。
p6550b2/home/wcsuser$telnet 192.168.121.113 80
正在尝试...
连接到 192.168.121.113。
换码字符为 '^]'。
exit
HTTP/1.1 400 Bad Request
Content-Type: text/html
Date: Fri, 29 Jan 2010 06:29:21 GMT
Connection: close
Content-Length: 35
<h1>Bad Request (Invalid Verb)</h1>关闭连接。
AIX下怎样根据端口号查找对应的进程
http://dch1287.iteye.com/blog/799021
http://jackhe.iteye.com/blog/727998
AIX下查看那个进程占用80端口的方法(其他端口与此类同 )
http://snow8261.iteye.com/blog/952300
http://luzl.iteye.com/blog/771232
http://bbs.chinaunix.net/thread-552976-1-1.html
识别占用端口的程序
http://eliotlb.iteye.com/blog/1106219
aix下查看端口被哪个进程占用
http://jackhe.iteye.com/blog/727998
近日诊断AIX系统,发现一无名端口,然后跟踪端口查找到了非法的进程,基本操作如下,记录一下,以备查用!
1:首先根据端口号
netstat -Aan | grep 389
返回
f1000089c27a2358 tcp4 0 0 *.389 *.* LIST EN
2:rmsock f100089c27a2358 tcpcb
The socket 0x702f6800 is being held by proccess 4986 (inetd).
from: http://www.ixdba.net/article/c3/250.html
得到id为4986
3:ps -ef |grep 4986
即可看到是什么进程。
两外可以找个软件:lsof,可以在http://aixpdslib.seas.ucla.edu/packages/lsof.html下载。
然后lsof -i:8001即可查看此端口的进程。
使用 lsof 查找打开的文件
http://www.ibm.com/developerworks/cn/aix/library/au-lsof.html
在 UNIX® 环境中,文件无处不在,这便产生了一句格言:“任何事物都是文件”。通过文件不仅仅可以访问常规数据,通常还可以访问网络连接和硬件。在有些情况下,当您使用 ls
请求目录清单时,将出现相应的条目。在其他情况下,如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字,不存在相应的目录清单。但是在后台为该应用程序分配了一个文件描述符 ,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。
因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,所以能够查看这个列表将是很有帮助的。完成这项任务的实用程序称为 lsof
,它对应于“list open files”(列出打开的文件)。几乎在每个 UNIX 版本中都有这个实用程序,但奇怪的是,大多数供应商并没有将其包含在操作系统的初始安装中。要获取更多关于 lsof
的信息,请参见参考资料 部分。
只需输入 lsof
就可以生成大量的信息,如清单 1 所示。因为 lsof
需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。
bash-3.00# lsof COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sched 0 root cwd VDIR 136,8 1024 2 / init 1 root cwd VDIR 136,8 1024 2 / init 1 root txt VREG 136,8 49016 1655 /sbin/init init 1 root txt VREG 136,8 51084 3185 /lib/libuutil.so.1 vi 2013 root 3u VREG 136,8 0 8501 /var/tmp/ExXDaO7d ... |
每行显示一个打开的文件,除非另外指定,否则将显示所有进程打开的所有文件。Command
、PID
和 User
列分别表示进程的名称、进程标识符 (PID) 和所有者名称。Device
、SIZE/OFF
、Node
和 Name
列涉及到文件本身的信息,分别表示指定磁盘的名称、文件的大小、索引节点(文件在磁盘上的标识)和该文件的确切名称。根据 UNIX 版本的不同,可能将文件的大小报告为应用程序在文件中进行读取的当前位置(偏移量)。清单 1 来自一台可以报告该信息的 Sun Solaris 10 计算机,而 Linux® 没有这个功能。
FD
和 Type
列的含义最为模糊,它们提供了关于文件如何使用的更多信息。FD
列表示文件描述符,应用程序通过文件描述符识别该文件。Type
列提供了关于文件格式的更多描述。我们来具体研究一下文件描述符列,清单 1 中出现了三种不同的值。cwd
值表示应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改。txt
类型的文件是程序代码,如应用程序二进制文件本身或共享库,再比如本示例的列表中显示的 init
程序。最后,数值表示应用程序的文件描述符,这是打开该文件时返回的一个整数。在清单 1 输出的最后一行中,您可以看到用户正在使用 vi
编辑 /var/tmp/ExXDaO7d,其文件描述符为 3。u
表示该文件被打开并处于读取/写入模式,而不是只读 (r
) 或只写 (w
) 模式。有一点不是很重要但却很有帮助,初始打开每个应用程序时,都具有三个文件描述符,从 0 到 2,分别表示标准输入、输出和错误流。正因为如此,大多数应用程序所打开的文件的 FD 都是从 3 开始。
与 FD
列相比,Type
列则比较直观。根据具体操作系统的不同,您会发现将文件和目录称为 REG
和 DIR
(在 Solaris 中,称为 VREG
和 VDIR
)。其他可能的取值为 CHR
和 BLK
,分别表示字符和块设备;或者 UNIX
、FIFO
和 IPv4
,分别表示 UNIX 域套接字、先进先出 (FIFO) 队列和网际协议 (IP) 套接字。
尽管与使用 lsof
没有什么直接的关系,但对 /proc 目录进行简要的介绍是有必要的。/proc 是一个目录,其中包含了反映内核和进程树的各种文件。这些文件和目录并不存在于磁盘中,因此当您对这些文件进行读取和写入时,实际上是在从操作系统本身获取相关信息。大多数与 lsof
相关的信息都存储于以进程的 PID 命名的目录中,所以 /proc/1234 中包含的是 PID 为 1234 的进程的信息。
在 /proc 目录的每个进程目录中存在着各种文件,它们可以使得应用程序简单地了解进程的内存空间、文件描述符列表、指向磁盘上的文件的符号链接和其他系统信息。lsof
实用程序使用该信息和其他关于内核内部状态的信息来产生其输出。稍后我将把 lsof
的输出与 /proc 目录中的信息联系起来。
前面,我向您介绍了如何简单地运行不带任何参数的 lsof
,以便显示关于每个进程所打开的文件的信息。本文余下的部分将重点关注如何使用 lsof
来显示所需的信息以及如何正确地对其进行解释。
lsof
常见的用法是查找应用程序打开的文件的名称和数目。您可能想尝试找出某个特定应用程序将日志数据记录到何处,或者正在跟踪某个问题。例如,UNIX 限制了进程能够打开文件的数目。通常这个数值很大,所以不会产生问题,并且在需要时,应用程序可以请求更大的值(直到某个上限)。如果您怀疑应用程序耗尽 了文件描述符,那么可以使用 lsof
统计打开的文件数目,以进行验证。
要指定单个进程,可以使用 -p
参数,后面加上该进程的 PID。因为这样做不仅会返回该应用程序所打开的文件,还会返回共享库和代码,所以通常需要对输出进行筛选。要完成此任务,可以使用 -d
标志根据 FD
列进行筛选,使用 -a
标志表示两个参数都必须满足 (AND)。如果没有 -a
标志,缺省的情况是显示匹配任何一个参数 (OR) 的文件。清单 2 显示了 sendmail
进程打开的文件,并使用 txt 对这些文件进行筛选。
清单 2. 带有 PID 筛选器并进行 txt 文件描述符筛选的 lsof 输出
sh-3.00# lsof -a -p 605 -d ^txt COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sendmail 605 root cwd VDIR 136,8 1024 23554 /var/spool/mqueue sendmail 605 root 0r VCHR 13,2 6815752 /devices/pseudo/mm@0:null sendmail 605 root 1w VCHR 13,2 6815752 /devices/pseudo/mm@0:null sendmail 605 root 2w VCHR 13,2 6815752 /devices/pseudo/mm@0:null sendmail 605 root 3r DOOR 0t0 58 /var/run/name_service_door(door to nscd[81]) (FA:->0x30002b156c0) sendmail 605 root 4w VCHR 21,0 11010052 /devices/pseudo/log@0:conslog->LOG sendmail 605 root 5u IPv4 0x300010ea640 0t0 TCP *:smtp (LISTEN) sendmail 605 root 6u IPv6 0x3000431c180 0t0 TCP *:smtp (LISTEN) sendmail 605 root 7u IPv4 0x300046d39c0 0t0 TCP *:submission (LISTEN) sendmail 605 root 8wW VREG 281,3 32 8778600 /var/run/sendmail.pid |
清单 2 为 lsof
指定了三个参数。第一个是 -a
,它表示当所有的参数都为真时,才显示这个文件。第二个参数是 -p 605
,它限制仅输出 PID 为 605 的进程,可以通过 ps
命令获取这个信息。最后一个参数 -d ^txt
,它表示筛选出其中 txt 类型的记录(脱字符号 [^] 表示排除)。
清单 2 的输出提供了关于进程行为的信息。如 cwd
行所示,该应用程序的工作目录为 /var/spool/mqueue。文件描述符 0、1 和 2 分配给了 /dev/null(Solaris 大量使用符号链接,所以这里显示了相应的伪设备)。FD 3 是一个 Solaris 门(高速远程过程调用 (RPC) 接口),以只读模式打开。FD 4 中的内容比较有趣,因为它是一个字符设备的只读句柄,实质上是 /dev/log。从这个文件中,您可以收集该应用程序向 UNIX syslog 守护进程进行的记录,所以 /etc/syslog.conf 规定了日志文件的位置。
作为一个网络应用程序,sendmail
对网络端口进行监听。文件描述符 5、6 和 7 可以告诉您,该应用程序正以 IPv4 和 IPv6 模式监听简单邮件传输协议 (SMTP) 端口,并以 IPv4 模式监听提交端口。最后一个文件描述符是只写的,并且指向 /var/run/sendmail.pid。FD
列中的大写 W
表示该应用程序具有对整个文件的写锁。该文件用于确保每次只能打开一个应用程序实例。
在其他情况下,您有一个文件或目录,并且需要知道哪个应用程序控制了该文件(打开了该文件)。清单 2 显示了由 sendmail
进程打开了 /var/run/sendmail.pid。如果您不知道这个信息,那么在给定文件名的情况下,lsof
可以提供该信息。清单 3 显示了相应的输出。
bash-3.00# lsof /var/run/sendmail.pid COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sendmail 605 root 8wW VREG 281,3 32 8778600 /var/run/sendmail.pid |
正如输出所示,进程 sendmail
(PID 为 605)控制了文件 /var/run/sendmail.pid,并且通过排它锁打开该文件以便进行写入。如果出于某种原因,您需要删除这个文件,那么正确的做法是中止该进 程,而不是直接删除这个文件。否则,这个守护进程下次可能无法正常启动,或者可能稍后会启动另一个实例,从而导致争用。
有时您只知道在文件系统的某处打开了文件。在卸载文件系统时,如果该文件系统中有任何打开的文件,那么操作将会失败。通过指定装入点的名称,您可以使用 lsof
显示一个文件系统中所有打开的文件。清单 4 显示了如何尝试卸载 /export/home,然后使用 lsof
找出谁在使用该文件系统。
bash-3.00# umount /export/home umount: /export/home busy bash-3.00# lsof /export/home COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 1943 root cwd VDIR 136,7 1024 4 /export/home/sean bash 2970 sean cwd VDIR 136,7 1024 4 /export/home/sean ct 3030 sean cwd VDIR 136,7 1024 4 /export/home/sean ct 3030 sean 1w VREG 136,7 0 25 /export/home/sean/output |
在这个示例中,用户 sean 正在其 home 目录中进行一些操作。有两个 bash
(一种 Shell)实例正在运行,并且当前目录设置为 sean 的 home 目录。还有一个名为 ct
的应用程序正运行于相同的目录,并且其标准输出(文件描述符 1)重定向到一个名为 output 的文件。要成功地卸载 /export/home,应该在通知用户以确保情况正常之后,中止这些进程。
这个示例说明了应用程序的当前工作目录非常重要,因为它仍保持着文件资源,并且可以防止文件系统被卸载。这就是为什么大部分守护进程(后台进程)将它们的目录更改为根目录、或服务特定的目录(如 sendmail
示例中的 /var/spool/mqueue)的原因,以避免该守护进程阻止卸载不相关的文件系统。如果 sendmail
从 /export/home/sean 目录启动,并且没有将其目录更改为 /var/spool/mqueue,那么在卸载 /export/home 前必须中止它。
如果您对非装入点目录中打开的文件感兴趣,那么必须通过 +d
或 +D
指定该目录的名称,具体使用其中的哪一个标志取决于您需要递归到子目录(+D
)或者不需要递归到子目录(+d
)。例如,要查看 /export/home/sean 中所有打开的文件,可以使用 lsof +D /export/home/sean
。在前面的示例中,相关的目录是一个装入点,而这里与前面的示例存在细微的差别,并且限制了 lsof
和内核之间的交互。这还会引起潜在的问题,即 lsof /export/home
与 lsof /export/home/
(请 注意尾部的斜杠)有所区别。第一种方式可以正常工作,因为它指向了装入点。第二种方式不会生成任何输出,因为它指向了目录。如果您在 Shell 中使用 Tab 键自动完成命令,那么可能碰到这个问题,其中会帮助您添加结尾的斜杠。在这种情况下,您可以删除这个斜杠或者使用 +D
指定目录。前者是首选的方法,因为与指定任意的目录相比,其执行速度更快。
在前面的部分中,我们研究了 lsof
的基本用法,即显示打开的文件和控制它们的进程之间的关系。当您想对系统进行一些烦琐的操作,而又不希望破坏别人重要的文档时,这种方法很有帮助。您还可以使用相同的方法执行一些高难度的 UNIX 操作。
当 UNIX 计算机受到入侵时,常见的情况是日志文件被删除,以掩盖攻击者的踪迹。管理错误也可能导致意外删除重要的文件,比如在清理旧日志时,意外地删除了数据库的活动事务日志。有时可以恢复这些文件,并且 lsof
可以为您提供帮助。
当进程打开了某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。除了该进程之外,这个文件是不可见的,因为已经删除了其相应的目录条目。
前面曾在转到 /proc 目录 部分中说过,通过在适当的目录中进行查找,您可以访问进程的文件描述符。在随后的内容中,您看到了 lsof
可以显示进程的文件描述符和相关的文件名。您能明白我的意思吗?
但愿它真的这么简单!当您向 lsof
传递文件名时,比如在 lsof /file/I/deleted
中,它首先使用 stat()
系统调用获得有关该文件的信息,不幸的是,这个文件已经被删除。在不同的操作系统中,lsof
可能可以从核心内存中捕获该文件的名称。清单 5 显示了一个 Linux 系统,其中意外地删除了 Apache 日志,我正使用 grep
工具查找是否有人打开了该文件。
清单 5. 在 Linux 中使用 lsof 查找删除的文件
# lsof | grep error_log httpd 2452 root 2w REG 33,2 499 3090660 /var/log/httpd/error_log (deleted) httpd 2452 root 7w REG 33,2 499 3090660 /var/log/httpd/error_log (deleted) ... more httpd processes ... |
在这个示例中,您可以看到 PID 2452 打开文件的文件描述符为 2(标准错误)和 7。因此,可以在 /proc/2452/fd/7 中查看相应的信息,如清单 6 所示。
# cat /proc/2452/fd/7 [Sun Apr 30 04:02:48 2006] [notice] Digest: generating secret for digest authentication [Sun Apr 30 04:02:48 2006] [notice] Digest: done [Sun Apr 30 04:02:48 2006] [notice] LDAP: Built with OpenLDAP LDAP SDK |
Linux 的优点在于,它保存了文件的名称,甚至可以告诉我们它已经被删除。在遭到破坏的系统中查找相关内容时,这是非常有用的内容,因为攻击者通常会删除日志以隐藏他们的踪迹。Solaris 并不提供这些信息。然而,我们知道 httpd
守护进程使用了 error_log 文件,所以可以使用 ps
命令找到这个 PID,然后可以查看这个守护进程打开的所有文件。
# lsof -a -p 8663 -d ^txt COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME httpd 8663 nobody cwd VDIR 136,8 1024 2 / httpd 8663 nobody 0r VCHR 13,2 6815752 /devices/pseudo/mm@0:null httpd 8663 nobody 1w VCHR 13,2 6815752 /devices/pseudo/mm@0:null httpd 8663 nobody 2w VREG 136,8 185 145465 / (/dev/dsk/c0t0d0s0) httpd 8663 nobody 4r DOOR 0t0 58 /var/run/name_service_door (door to nscd[81]) (FA:->0x30002b156c0) httpd 8663 nobody 15w VREG 136,8 185 145465 / (/dev/dsk/c0t0d0s0) httpd 8663 nobody 16u IPv4 0x300046d27c0 0t0 TCP *:80 (LISTEN) httpd 8663 nobody 17w VREG 136,8 0 145466 /var/apache/logs/access_log httpd 8663 nobody 18w VREG 281,3 0 9518013 /var/run (swap) |
我使用 -a
和 -d
参数对输出进行筛选,以排除代码程序段,因为我知道需要查找的是哪些文件。Name
列显示出,其中的两个文件(FD 2 和 15)使用磁盘名代替了文件名,并且它们的类型为 VREG
(常规文件)。在 Solaris 中,删除的文件将显示文件所在的磁盘的名称。通过这个线索,就可以知道该 FD 指向一个删除的文件。实际上,查看 /proc/8663/fd/15
就可以得到所要查找的数据。
如果可以通过文件描述符查看相应的数据,那么您就可以使用 I/O 重定向将其复制到文件中,如 cat /proc/8663/fd/15 > /tmp/error_log
。此时,您可以中止该守护进程(这将删除 FD,从而删除相应的文件),将这个临时文件复制到所需的位置,然后重新启动该守护进程。
对于许多应用程序,尤其是日志文件和数据库,这种恢复删除文件的方法非常有用。正如您所看到的,有些操作系统(以及不同版本的 lsof
)比其他的系统更容易查找相应的数据。
网络连接也是文件,这意味着可以使用 lsof
获得关于它们的信息。您曾在清单 2 中看到过这样的示例。该示例假设您已经知道 PID,但是有时候并非如此。如果您只知道相应的端口,那么可以使用 -i
参数利用套接字信息进行搜索。清单 8 显示了对 TCP 端口 25 的搜索。
# lsof -i :25 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sendmail 605 root 5u IPv4 0x300010ea640 0t0 TCP *:smtp (LISTEN) sendmail 605 root 6u IPv6 0x3000431c180 0t0 TCP *:smtp (LISTEN) |
需要以 protocol:@ip:port
的形式向 lsof
实用程序传递相关信息,其中的 protocol 为 TCP 或 UDP(可以使用 4 或 6 作为前缀,表示 IP 的版本),IP 为可解析的名称或 IP 地址,而 port 为数字或表示该服务的名称(来自 /etc/services)。需要一个或多个元素(端口、IP、协议)。在清单 8 中,:25
表示端口 25。输出显示,进程 605 正在使用 IPv6 和 IPv4 监听端口 25。如果您对 IPv4 不感兴趣,那么可以将筛选器改为 6:25
,以表示监听端口 25 的 IPv6 套接字,或者直接使用 6
表示所有的 IPv6 连接。
除了显示出这些守护进程正在监听的对象,lsof
还可以发现发生的连接,同样是使用 -i
参数。清单 9 显示了搜索与 192.168.1.10 之间的所有连接。
# lsof -i @192.168.1.10 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1934 root 6u IPv6 0x300046d21c0 0t1303608 TCP sun:ssh->linux:40379 (ESTABLISHED) sshd 1937 root 4u IPv6 0x300046d21c0 0t1303608 TCP sun:ssh->linux:40379 (ESTABLISHED) |
在这个示例中,sun
和 linux
之间有两个 IPv6 连接。对其进行更仔细的研究可以看出,这些连接来自于两个不同的进程,但它们却是相同的,这是因为两台主机是相同的,并且端口也是相同的(ssh 和 40379)。这是由于进入主进程的连接分叉出一个处理程序,并将该套接字传递给它。您还可以看到,名为 sun
的计算机正在使用端口 22 (ssh),而 linux
具有端口 40379。这表示,sun
是该连接的接收者,因为它关联于该服务的已知端口。40379 是源或临时端口,并且仅对这个连接有意义。
因为,至少在 UNIX 中,套接字是另一类文件,所以 lsof
可以获得关于这些连接的详细信息,并找出谁对它们负责。
UNIX 大量使用了文件。作为系统管理员,lsof
允许您对核心内存进行查看,以找出系统当前如何使用这些文件。lsof
最简单的用法可以告诉您哪些进程打开了哪些文件,以及哪些文件由哪些进程打开。在收集关于应用程序工作情况的信息时,或在进行某些可能损坏数据的操作前确保文件未被使用时,这一点特别重要lsof
更高级的用法可以帮助您查找删除的文件,并获得关于网络连接的信息。这是一个功能强大的工具,它几乎可以用于任何地方。
aix系统用rmsock查询端口对应的进程
http://space.itpub.net/3326/viewspace-605868
在做一些故障分析的时候,经常需要通过一些网络端口信息提取相关进程信息,方法就是
netstat -Aan |grep 1521
rmsock f1000d0005b4b390 tcpcb
注:
rmsock 命令
用途
除去不包含文件描述符的套接字。
语法
rmsock Address TypeofAddress
描述
rmsock 命令除去不包含文件描述符的套接字。 它接受 socket、tcpcb、inpcb、ripcb 或 rawcb 地址并将其转换成套接字地址。 然后检查每个进程所有打开的文件以查找套接字的匹配。 如果没找到匹配,对该套接字执行异常终止操作,而不考虑套接字 linger 选项的存在。套接字保留的端口号释放。如果发现匹配,文件描述符和主进程状态显示给用户。结果发送到 syslogd 并在 /var/adm/rmsock .log 文件中记录。
<netstat命令查看端口被谁占用>
http://william750214.iteye.com/blog/504931
Windows:
C:> netstat -ano
可以查出pid
AIX:
#netstat –Aan | grep 8083
# rmsock f100060000484b98 tcpcb
Linux:
#netstat -anp | grep 8083
# ps -ef | grep pid
IBM AIX系统检查
C:\Documents and Settings\Lindows>telnet 192.168.130.115
AIX Version 5
Copyright IBM Corporation, 1982, 2008.
login: root
root's Password:
*******************************************************************************
* *
* *
* Welcome to AIX Version 5.3! *
* *
* *
* Please see the README file in /usr/lpp/bos for information pertinent to *
* this release of the AIX Operating System. *
* *
* *
*******************************************************************************
Last unsuccessful login: 公元2009年09月28日 星期一 10时25分37秒 on /dev/vty0
Last login: 公元2009年09月28日 星期一 16时15分46秒 on ftp from ::ffff:172.17.25.108
Ecsvr3/#ls
.TTauthority .wmrc home sbin unix
.Xauthority TT_DB lib smit.log usr
.dt audit lost+found smit.script var
.dtprofile bin lpp smit.transaction
.profile dev mnt tftpboot
.sh_history esa opt tmp
.vi_history etc proc u
shell:
http://bbs.chinaunix.net/viewthread.php?tid=768546
①输入一个系统不认识的命令(如#ig)获得系统提示
②#echo $0 (适用:sh/ksh)
③#ps |grep $$|awk ‘{print $4}’
④#echo $SHELL(用户默认的Shell,但不实时反映当前shell)
sell版本
http://wenda.tianya.cn/wenda/thread?tid=13720a3cec4a589a&clk=wttpcts
sh -version
如果用户登录之后 UNIX显示提示 符为$,那么所使用的是B Shell。若显示为%提示符,则为 C Shell
AIX设置
语言包相关命令http://hi.baidu.com/wa0362/blog/item/d57e17d6f6ffd52706088b1b.html
已经安装的AIX语言 包:
# locale -a
C
POSIX
ZH_CN
ZH_CN.UTF-8
en_US
en_US.8859-15
en_US.ISO8859-1
zh_CN
zh_CN.IBM-eucCN
当前AIX语言 设置:
# locale
LANG=zh_CN
LC_COLLATE= "zh_CN "
LC_CTYPE= "zh_CN "
LC_MONETARY= "zh_CN "
LC_NUMERIC= "zh_CN "
LC_TIME= "zh_CN "
LC_MESSAGES=zh_CN
LC_ALL=zh_CN
修改AIX语言设置:
# export LC_ALL=ZH_CN.UTF-8
修改后的AIX语言设置:
# locale
LANG=zh_CN
LC_COLLATE= "ZH_CN.UTF-8 "
LC_CTYPE= "ZH_CN.UTF-8 "
LC_MONETARY= "ZH_CN.UTF-8 "
LC_NUMERIC= "ZH_CN.UTF-8 "
LC_TIME= "ZH_CN.UTF-8 "
LC_MESSAGES= "ZH_CN.UTF-8 "
LC_ALL=ZH_CN.UTF-8
AIX 上安装语言包
1. 将 AIX 系统盘的第一张光盘放入光驱;
2. 运行命令:
smitty
--> System Environments
--> Manage Languange Environment
--> Add Addinational Languange Environments
在随后显示的菜单中将光标分别移到以下字段,按 F4 进行选择(选择 .... (zh_CN) 相应语言 ) :
CULTURAL Convention to Install
LANGUAGE translation to install
在光驱中放入介质,回车就可以了。
AIX系统CPU个数
Ecsvr3[/]#prtconf|grep "Number Of Processors"
Number Of Processors: 16
AIX系统的物理机CPU个数和 CPU频率
Ecsvr3[/]#pmcycles -m
CPU 0 runs at 1656 MHz
CPU 1 runs at 1656 MHz
CPU 2 runs at 1656 MHz
、、、
CPU 31 runs at 1656 MHz
AIX系统CPU 内核总数
Ecsvr3[/]#bindprocessor -q
The available processors are: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
或
AIX系统CPU内核总数Ecsvr3[/]#lsdev -C|grep proc
proc0 Available 00-00 Processor
proc2 Available 00-02 Processor
proc4 Available 00-04 Processor
、、、
proc30 Available 00-30 Processor
或
AIX系统CPU 内核总数Ecsvr3[/]#vmstat
System Configuration: lcpu=32 mem=37888MB
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
1 1 940803 7788445 0 0 0 0 0 0 127 4936 695 1 0 99 0
或 PowerPC_POWER5 小型机
语法:Ecsvr3[/]#lsattr -El proc0|1|2|....
Ecsvr3[/]#lsattr -El proc0
frequency 1656400000 Processor Speed False
smt_enabled true Processor SMT enabled False
smt_threads 2 Processor SMT threads False
state enable Processor state False
type PowerPC_POWER5 Processor type False
AIX系统CPU位数
Ecsvr3/#bootinfo -K
64
系统硬件检查
#磁盘空间检查
Ecsvr3/#df -g
#显示CPU数量
[root@localhost /]# lsdev -C | grep -i processor|wc -l
#显示内存数量
[root@localhost /]# root>lsdev -C |grep mem
有关AIX版本4及版本5上的内存泄漏问题
http://www.aixchina.net/club/viewthread.php?tid=8463
# 路由表
[root@localhost /]# netstat -rn
Ecsvr3/#netstat -rn
路由表
Destination Gateway Flags Refs Use If Exp Groups
协议系列 2 的路由树 (Internet):
default 192.168.130.254 UGS 3 8297 en0 - -
127/8 127.0.0.1 U 11 295 lo0 - -
192.168.130.0 192.168.130.115 UHSb 0 0 en0 - - =>
192.168.130/24 192.168.130.115 U 1 1 en0 - -
192.168.130.115 127.0.0.1 UGHS 0 2564 lo0 - -
192.168.130.255 192.168.130.115 UHSb 0 4 en0 - -
协议系列 24 的路由树 (Internet v6):
::1 ::1 UH 0 0 lo0 - -
# 启动顺序
Ecsvr3/#bootlist -m normal -o
hdisk0 blv=hd5
hdisk1 blv=hd5
#开启异步I/O
smit devices ---- Asycchronus I/O ---avaiable
# 系统文件类型
smit fs
#查看AIX文件或文件夹大小
《AIX 5L V5.2 命令参考大全》 (共 6 卷)的第 2 卷 ,du 命令
http://www.kuqin.com/aixcmds/aixcmds2/du.htm
http://linux.chinaunix.net/bbs/viewthread.php?tid=313251
--查看当前文件夹所有文件大小 --KB显示
p6550b2/usr/IBMIHS/WCSIHS/httplogs# du -sk
或
p6550b2/usr/IBMIHS/WCSIHS/httplogs# du -sk .
--查看当前文件夹所有文件大小 --MB显示
p6550b2/usr/IBMIHS/WCSIHS/httplogs# du -sm .
--查看当前文件夹所有文件大小 --GB显示
p6550b2/usr/IBMIHS/WCSIHS/httplogs# du -sg .
--查看httpdlogs文件夹大小 --GB显示
p6550b2/usr/IBMIHS/WCSIHS/# du -sg httplogs
--查看usr文件夹大小(需要root帐户 )
p6550b2[/usr]#du -sg /usr
37.53 /usr
#db2 path check
insfix -v -i -k IY67744
insfix -v -i -k IY58143
insfix -v -i -k IY68998 ?
#mount
1先在主机源上指定
mknfsexp -d /p55_g -c Ecsver3 -t -rw
mknfsexp -d /源主机 -c 目标主机 -t -rw
2在目标主机指向
mount p55_g:/install /install
mount /源主机目录 /目标主机目录
#准备安装db2
./db2setup id:wcsdbins
#删除文件
rm -ef
Ecsvr3/#uname -Mu
IBM,9133-55A IBM,0306A652H
#显示每一个CPU的频率
#pmcycles -m
# 物理内存
#bootinfo -r
# 内存
Ecsvr3/#lsdev -Cc memory
L2cache0 可用 二级高速缓存
mem0 可用 内存
1.35
创建组wcs
smit group
创建用户wcsuser
smit user
mount(挂载)命令详解
http://code.iteye.com/blog/416922
AIX 和 Linux 基于 NFS 实现共享
http://www.blogjava.net/flyingis/archive/2007/09/12/144492.html
IBM-AIX 系统常用命令
http://darkmasky.iteye.com/blog/224936
http://www.blogjava.net/luckyrobbie/archive/2006/03/27/37543.html
aix的系统备份命令是mksysb, make system backup ,有点类似 ghost.
aix5.3 支持微分区技术,所谓微分区就是1台机器上装多个OS(操作系统),把这台机器上的cpu资源进行划分,然后分配给每一个os使用,最小粒度是0.1个 cpu.有点类似vmware软件.让一个机器跑多个操作系统.这项技术早在ibm的大机上就已经实现了.只不过最近才在小机和pc机器上发布.
TIVOLI是系统管理软件.
关闭aix的命令:shutdown ->正常关机,关闭所有服务. halt -> 相当于直接关闭电源.
重启aix:shutdown -Fr
清除错误信息:errclear 0 出错信息:errpt errpt -a | more -> 分页显示 errpt -a > /tmp/err01 输出到文件.
smit 用鼠标操作 smitty 用键盘来操作,一般用smitty为好.
ping -f 全速ping ,利用所有的服务器资源来ping,如果是多个服务器ping一个ip,可以把机器ping死.
几个关于磁盘的名词:
lv: logical volume 逻辑卷
pv: physical volume 物理卷
vg: volume group 卷组
pp: physical partition 物理分区
lp: logical partition 逻辑分区
pv对应的是物理硬盘或者是磁盘阵列上划分的lun,一个vg最多可以有1016个pp.
pv的上面是vg,一个vg可以包含多个pv.
vg的上面是lv,lv如果不作任何处理就是裸设备,也可以作成文件系统.
lv被分为多个lp,默认情况下,lp与pp是一一对应的,也可以做成一对多的.这样就相当于用多个pp来作raid0备份.
lsdev -C | grep disk 可以
lspv pv的信息 -p hdisk0 具体数据存放的位置:例如,数据在第m到n个pp上面.
lsvg vg的信息 -l vg的列表 -c 被使用的vg -l rootvg rootvg的详情.
lslv -m lv1 lv1 的lp与pp的映射.
getlvcv -AT lv1 看到lv1的控制信息.
fsck -y /dev/newlv 检查lv.
smit vg 可以管理vg
smit lv 管理lv 物理磁盘的硬件信息
varryonvg rootvg 激活rootvg卷组,varryoffvg newvg 使newvg卷组脱机.
nbpi:number of bytes per inode 每个i节点拥有的字节数,这个参数越小,文件系统的可用的inode越多.如果inode用完,即使有剩余空间,系统也会报空间不够.此时要调小nbpi的值.一般是4k
df -k 中iused 指的是i节点的使用情况.
设置从cd启动,bootlist -m normal cd0
启动时按ESC+1或者F1,可以进入启动菜单.选择启动方式.
用smitty crfs 创建完文件系统以后还要mount.
/etc/filesystems 文件记录文件系统的信息.如想把某个lv映射到不同的文件系统路径上面,可以直接修改这个文件.
用logform /dev/testloglv 将lv格式化成jfs的log的格式.
file 文件名 可以看某个文件的信息,包括文件类型,可执行文件,文本文件,等等.
uname -a 可以看到os的信息.
fsck 检查文件系统的信息,在umount的时候是准确的, 相当于windows的磁盘扫描.
碎片整理 smitty jfs
lsfs /root 显示文件系统的属性
各个组件的关系:
lsps -a page space的使用情况
vgda:vg description area 每个vg的头部存放vg的描述信息,
如果包含2个pv,那么第一个pv会在头部和另一个位置存放2个vgda,第2个pv也会存放一个.
如果包含3个pv,那么每个pv上都有1个vgda.
vg的信息在odm中也会存储,但必须和vgda中的信息一致,否则无法varryonvg,有下面4个命令来管理odm中的vg信息.
importvg:从vgda中读取信息到odm中
exportvg:从odm中删除vg信息
varryonvg:激活(online)vg
varryoffvg:卸载(offline)vg
修 改vg的factor,这样可以将vg的max pp 从默认的1016 增大1倍,到2032,但由于vgda的总大小不变,这些信息都是记录到里面的.所以vg的最大文件数要减小1倍,实际上是个等式:max pp * max file = 固定的一个值,factor增大,实际上是max pp * factor,max file / factor.具体做法:chvg -t 2 rootvg 修改factor为2.vgda
用cfgmgr,来刷新,来认出新assign的hdisk.
cfgmgr -v 检查新设备,新硬件.
-i /dev/cd0 从光盘自动安装新硬件驱动.
当作双机时,2个服务器server1 和 server2 来连接同一个盘阵,server1对磁盘分配一个pvid,当第一次切换到server2时,要用ckdev命令来读出server1配置的pvid.系统是通过pvid来识别pv的.
ckdev -l hdisk1 -a pv = clear 清除pvid
ckdev -l hdisk1 -a pv = yes 新置pvid
lsdev
lsdev -C 显示所有设备状态
rmdev -l cd0 逻辑删除 cd0
mkdev -l cd0 安装cd0
rmdev -d -l cd0 删除cd0设备驱动 物理设备
lscfg -vp | more 分页看全部硬件信息
prtconf | more 列出硬件信息
telnet的登陆信息存放在/etc/motd文件中.
想 最近有谁登陆,用last命令.
登录失败的信息: /etc/security/failedlogin
存放用户密码的文件:/etc/security/passwd
用户登录需要运行的脚本:
1 /etc/profile
2 /etc/environment 在这个文件中设置中文环境,LANG=zh_CN
3 用户profile ,分2种情况:
如果是命令行登录,则运行/home/user/.profile
如果是图形登录,则运行 /home/user/.dtprofile 需要将次文件中,#DTSOURCEPROFILE=TRUE 的# 去掉,否则还是使用.profile.
在/dev下面有2种设备,一种是block设备,一种是char(字符)设备.这取决于不同的应用.
vmstat的某些行的解释:
vmstat->faults->cs: user calls 用户调用的次数
cpu->wa: >40 说明io繁忙
kthr: kernel thread
kthr->r 在运行队列中等待执行的进程
b 正在等待io的进程
memory->avm:active vitual memory 物理内存+使用的虚拟内存,以4k为单位.
page->re:是pin 和 pout 的总和.
sr:search的内存块数.
fr:释放的内存块数.
每次作page out时,系统要搜索物理内存以找到可以释放的块,sr和fr分别代表搜索的和通过搜索找到的可以释放的块 数.如果2者很接近,说明内存中有很多用于file cache,内存的数量是够用的.如果fr/sr的值很小,说明内存不够.
tty:代表终端
iostat:
%tm_act 实际transaction的百分比
tps 每秒发生的次数
kbps 每秒的速率
名词:thrasing: 应用程序频繁交换,导致paging过多.
/usr/samples/kernel/vmtune -f 120 -F 128
-f 120 代表minfree mem < 120 时要进行page out
-F 128 代表maxfree mem > 128 时要进行page in
-p -P 也跟page out 有关,具体不清楚,还需明确.
sar->avque:平均的请求数
对文件系统作监视:filemon
filemon -o /tmp/a.txt -O all -v
运行之后系统会一直监视文件系统的使用情况并记录日志,-T 64000 是使用的buffer cache,在大型系统上,这个值可以调大.
运行一段时间后,要停掉filemon,使用trcstop 或者 kill -9 进程.
从a.txt中可以看到使用最频繁的文件等信息,有些类似statspack的报告.
对于后缀是Z的文件用uncompress来解压缩. uncompress a.tar.Z
用strings 命令来看2进制文件
如何调大page space,直接设置对应lv的大小.如果对应lv的vg空间不够的话,可以向vg中加硬盘.
dd的用法:dd if=/dev/rnewfs of=/dev/rcopyfs bs=1024 count=10240
bs: block size 块大小,1024字节
count: block count 块的数量
if是input file ,of 是output file
将任务切换到后台执行: ctrl+z ,然后 bg+回车
后台执行的程序:jobs
把后台执行的程序切换到前台执行:fg %n n是后台的job 编号
ip抓包工具:iptrace 和 tcpdump
iptrace -a a.out
停止iptrace:kill -9
tcpdump -i en1 -w a.out a.out 是输出文件
把进程与cpu绑定:bindprocessor -U 进程号 cpuid
bindprocessor -U 12345 0
odm库:
env | grep obj
ODMDIR=/etc/objrepos 这是odm库的存储路径
在disk0上生成引导区
bosboot -a -d /dev/hdisk0
用kdb os 的 dump
ethernet channel 把2个网卡绑定到1个ip,可以作网络负载均衡.
crontab 设置定时任务
crontab -l list the crontab
crontab -e edit the crontab
crontab的格式:分钟 小时 月中的天数 月份 星期 命令
minute:
0 到 59
hour:
0 到 23
day_of_month:
1 到 31
month:
1 到 12
weekday:
星期日到星期六的 0 到 6 时
要在每星期日上午 2 时运行 fwlogmgmt 命令,请将下列各行添加至 crontab 文件底部:
0 2 * * 0 /usr/bin/fwlogmgmt -1
发送邮件,aix和redhad linux 都默认安装了smtp邮件服务,可以直接给internet发邮件.
mail -s "test mail" haochunpeng@ninetowns.com < $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert$ORACLE_SID.log
mail -s "test mail" haochunpeng@ninetowns.com <<EOF
******** MAIL CONTENT *******
FJLADSFJLAKHFGAL
FJALDSKFJA
FASLJFLASF
*****************************
EOF
有了crontab和mail,就可以定时监控数据库,然后把报告发送邮件到管理员的信箱.
kill -9 9 是kill命令传送的一个信号,一共15个信号可以发送.
/etc/ftpusers 限制登录ftp的用户,谁在这个文件里面,谁就登不进去.
网络服务 /etc/inetd.conf 刷新 refresh src -d
lslpp -l | grep http 安装的软件
检查瓶颈:
利用vmstat iostat 总体情况,ps aux 可以看到具体进程占用资源的情况.
如果是io瓶颈,可以利用filemon -o /tmp/a.txt -O all; sleep 10;trcstop 来 io资源的使用情况.
辨别僵尸进程:ps -ef pid 那列是 defunc的为僵尸进程.
几个不错的aix网站:
http://www.douzhe.com
http://www.xfocus.net/articles/200208/433.html
http://coldmail.blog.51cto.com/37442/125932
申请个AS400账户用于学习!
http://coldmail.blog.51cto.com/37442/125930
本文出自 “点滴成就非凡 ” 博客,请务必保留此出处http://coldmail.blog.51cto.com/37442/125930
AS/400 技 术 手 册
http://man.chinaunix.net/unix/IBM/as400/index.htm
Some Useful AS/400 Integration Utilities
http://www.datamission.co.uk/AS400_Utilities1.html
IBM的AS/400服务器
http://feigme.iteye.com/blog/97188
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
http://www.aixchina.net/
Unix Aix Command
http://dl.iteye.com/topics/download/7dcc5a9c-8bb6-3662-baf0-386e6dda2801
https://docs.google.com/fileview?id=0B648RQNFLDr8NDVlYTkwMGMtZmEzNS00Zjk0LTlhZjQtNzdhY2RjZjg1N2E3&hl=zh_CN
end
相关推荐
标题 "sudo for AIX5.3 在AIX6.1安装测试通过" 暗示了这个压缩包文件是 `sudo` 命令的一个版本,适用于AIX 5.3操作系统,并且已经在AIX 6.1系统上进行了安装和测试。`sudo` 是一个在Unix和Linux系统中广泛使用的命令...
根据提供的信息,《AIX5.3安装指南与参考大全》主要涵盖了IBM AIX 5.3操作系统的安装、配置及管理等内容。以下是基于标题、描述、标签以及部分内容中提到的关键知识点进行的详细解读: ### 一、AIX 5.3 概述 AIX ...
在本主题中,我们将深入探讨如何从AIX 5.3系统升级至AIX 6.1的过程,这是IBM PowerPC上运行的UNIX操作系统。 AIX(Advanced Interactive eXecutive)是IBM为PowerPC平台开发的一种强大的操作系统,提供了高度稳定性...
- **AIX5.3、AIX6.1、AIX6.1EE**:目前Power6服务器支持订购三个版本的AIX操作系统,其中AIX6.1EE是专为企业级应用设计的增强版,包含了更多的高级特性和服务。 - **AIX6.1EE包含的组件**: - AIX V6.1操作系统核心...
`nginx-1.12.2-1.aix5.3.ppc.rpm`是Nginx服务器的核心组件,版本1.12.2是Nginx的一个稳定版本,它包含了许多改进和新功能,如HTTP/2支持、TLS SNI支持、更好的负载均衡策略等。这个包将安装Nginx服务器,使其可以在...
- Power 710/720/730/740:支持AIX V7.1及以上,AIX V6.1 TL06及以上,AIX V5.3 TL12 SP1及以上,以及相应的IBM i和Linux版本。 - Power 750:支持AIX V6.1 TL04 SP2及以上,AIX V5.3 TL11 SP2及以上,以及相应的...
- **AIX®V6.1**:指代的是IBM的AIX操作系统第6.1版。 - **|nN<s+,m6,v-z**:这部分可能是文档内部的索引标记或章节编号,用于指示文档内容范围,即从“v”字母开头的命令至“z”字母开头的命令。 - **S151-0794-04*...
在使用IBM的AIX操作系统时,了解常用命令是至关重要的,因为它们可以帮助你有效地管理和诊断系统。本文将探讨一些在AIX中常见的、用于检查系统配置和状态的命令。 首先,要确定AIX系统运行的是32位还是64位内核,...
2. AIX 5.3:带有5300-11技术级别的AIX 5.3及更高版本,AIX是IBM的高级UNIX操作系统,广泛用于企业级服务器。 3. AIX 6.1:带有6100-04技术级别及更高版本的AIX 6.1,提供了更现代的功能和安全性。 4. SUSE Linux ...
到了2007年的AIX V6.1,IBM进一步增强了虚拟化能力,继续保持对AIX、i5/OS、Linux等操作系统的支持。 ### Power Systems虚拟化概览 IBM Power Systems虚拟化平台集成了IBM ion、AIX、Linux等关键组件,提供了全面...
AIX是IBM开发的一款基于UNIX的商业操作系统,广泛应用于服务器环境中。性能管理在AIX系统中扮演着至关重要的角色,它不仅涉及资源监控和优化,还包括问题诊断和预防策略,确保系统的高效运行。AIX5LV5.3版本作为特定...
1. 从IBM官网下载适用于AIX系统的OpenSSL和OpenSSH软件包,例如openssl-0.9.7l-2.aix5.1.ppc.rpm和openssh-4.3p2-r2.tar.Z。 2. 使用FTP工具将软件包上传至指定目录,如/tmp/ssh。 3. 先使用smitty installp命令安装...
IBM Power6 550作为一款中端UNIX服务器,采用了先进的IBM Power6处理器技术,具备卓越的可靠性和可用性特点。该服务器适用于随需应变的环境,并通过其强大的虚拟化技术来支持多变的业务需求,实现高效、快速地响应。...
AIX 5L 作为 IBM 的一种高性能 UNIX 操作系统,在企业级应用中非常常见,尤其适用于需要高稳定性和可靠性的场景。Oracle 10g R2 是 Oracle 公司推出的一款关系型数据库管理系统,它在性能、安全性等方面有着显著的...
本文将详细解析IBM AIX操作系统从5.3版本升级到6.1版本的过程,这对于维护系统的稳定性和安全性至关重要。AIX,全称Advanced Interactive eXecutive,是由IBM开发的一种强大的UNIX操作系统,广泛应用于IBM的Power ...
- **目标系统**: IBM AIX 5.3 - **主要内容**: 包括AIX系统日常维护与HACMP(High Availability Cluster MultiProcessing)日常维护操作。 #### 二、AIX操作系统基本命令 ##### 2.1、系统的进入和退出 - **登录方式*...
4. **开源实现——OpenSSH**:OpenSSH是一种免费的SSH协议实现方案,适用于多种操作系统,如UNIX、Linux、AIX等。 #### 三、OpenSSH在AIX上的安装与配置 ##### 3.1 安装前准备 - **C编译器**:如GNU C Compiler ...
**AIX**(Advanced Interactive Executive)是由IBM公司开发的一款类Unix操作系统,主要用于IBM Power Systems服务器。本教材旨在为学习者提供全面深入的AIX系统知识,覆盖了从基础知识到高级系统管理的各个方面。 ...