在使用 AIX® 和 System p® 服务器时,您希望能够自己回答一些问题吗?如果不必总是求助于支持人员,您会觉得比较省事儿吗?这不再是一种奢望了。Shiv Dutta 在本文中介绍一些 AIX 命令,可以帮助您回答日常问题。

Shiv Dutta, 技术顾问, IBM

Shiv Dutta 是 IBM Systems and Technology Group 的一名技术顾问,他帮助独立软件供应商在 IBM System p 服务器上启用他们的应用程序。Shiv 有作为软件开发人员、系统管理员和讲师的丰富经验。他在 AIX 的系统管理、问题确定、性能调优和规模指导方面提供支持。Shiv 在 AIX 诞生之时就从事这方面的工作。



2008 年 12 月 24 日

简介

如您所知,AIX 提供了大量命令,让您能够执行各种各样的任务。根据需要完成的不同任务,只需要使用这些命令中的一部分。不同的用户有不同的需求,所以使用的命令子集也不一样。但是,有一些核心命令是所有人都要使用的。您需要用这些命令回答自己的问题,或者回答支持人员的询问。

在本文中,我将讨论一些核心命令。本文的意图是提供一个可以作为参考资料的命令列表。尽管这些命令的表现在所有 AIX 版本上都应该是相同的,但是只在 AIX V5.3 上测试过。

注意:
下面讨论的 bootinfo 命令不是用户级命令,在 AIX V4.2 或更高版本中不支持它。


命令

内核

如何查明正在运行的是 32 位内核还是 64 位内核?

要想显示内核是 32 位还是 64 位的,输入:

bootinfo -K

如何查明正在运行的是单处理器内核还是多处理器内核?

/unix 是被引导的内核的符号链接。要想查明正在运行的内核模式,输入 ls -l /unix 并查看 /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 5L Version 5.3 不支持单处理器内核。

如何从一种内核模式切换到另一种模式?

在安装过程中,会根据使用的 AIX 版本和硬件,默认启用一种内核。使用回答前一个问题的方法并假设启用了 32 位内核。再假设您希望改为以 64 位内核模式引导系统。可以通过执行以下命令来完成这个任务:

ln -sf /usr/lib/boot/unix_64    /unix
ln -sf /usr/lib/boot/unix_64    /usr/lib/boot/unix

bosboot -ad  /dev/hdiskxx
shutdown -r

/dev/hdiskxx 目录是引导逻辑卷 /dev/hd5 的位置。要想查明 hdiskxx 中的 xx 是什么,运行以下命令:

 lslv -m hd5

注意:
在 AIX V5.2 中,默认安装 32 位内核。在 AIX V5.3 中,在 64 位硬件上默认安装 64 位内核,在 32 位硬件上默认安装 32 位内核。

硬件

如何查明自己的机器是否能够运行 AIX 5L Version 5.3?

AIX 5L Version 5.3 可以在支持的所有基于 CHRP (Common Hardware Reference Platform) 的 POWER™ 硬件上运行。

如何查明自己的机器是否是基于 CHRP 的?

运行 prtconf 命令。如果是 CHRP 机器,在 Model Architecture 行上就会出现字符串 chrp

如何查明自己的 System p(硬件)是 32 位还是 64 位的?

要想显示硬件是 32 位还是 64 位的,输入:

bootinfo -y

机器上的真实内存有多少?

要想以 KB 为单位显示真实内存,输入以下命令之一:

bootinfo -r
lsattr -El sys0 -a realmem

我的机器可以运行 64 位内核吗?

运行 64 位内核需要 64 位硬件。

系统中设备的属性值是多少?

要想列出磁带设备 rmt0 的属性的当前值,输入:

lsattr -l rmt0 -E

要想列出磁带设备 rmt0 的属性的默认值,输入:

lsattr -l rmt0 -D

要想列出 TTY 设备 tty0 的 login 属性的可能值,输入:

lsattr -l tty0 -a login -R

要想显示系统级属性,输入:

lsattr -E -l sys0

我的系统有多少个处理器?

要想显示系统上的处理器数量,输入:

lscfg | grep proc

我的系统有多少个硬盘?哪些硬盘正在使用?

要想显示系统上的硬盘数量,输入:

lspv

如何获得关于某一物理卷的信息?

要想找到关于 hdisk1 的详细信息,输入:

lspv hdisk1

如何获得系统的详细配置?

输入以下命令:

lscfg

以下选项提供特定信息:

-p显示与平台相关的设备信息。在 AIX V4.2.1 或更高版本上可以使用这个选项。
-v显示在定制的 VPD (Vital Product Database) 对象类中找到的 VPD。

例如,要想显示关于磁带设备 rmt0 的详细信息,输入:

lscfg -vl rmt0

可以通过运行 prtconf 命令获得相似的信息。

如何查明芯片类型、系统名、节点名、型号等信息?

uname 命令提供关于系统的详细信息。

uname -p显示系统的芯片类型。例如,PowerPC®。
uname -r显示操作系统的发布版本号。
uname -s显示系统名。例如,AIX。
uname -n显示节点名。
uname -a显示系统名、节点名、版本和机器 ID。
uname -M显示系统型号名。例如,IBM, 9114-275。
uname -v显示操作系统版本。
uname -m显示运行系统的硬件的机器 ID 号。
uname -u显示系统 ID 号。

AIX

系统上运行的 AIX 的版本、发布版本和维护级别是什么?

输入以下命令之一:

oslevel -r
lslpp -h bos.rte

如何判断某个 AIX 级别缺少哪些文件集更新?

例如,要想判断 5300-04 缺少哪些文件集更新,运行以下命令:

oslevel -rl 5300-04

系统上安装了哪个 SP (Service Pack)?

要想查明系统上当前安装的是哪个 SP,运行 oslevel -s 命令。对于带 TL4 并安装了 SP2 的 AIX 5L Version 5.3 系统,输出如下:

oslevel –s
5300-04-02

系统上是否安装了 CSP (Concluding Service Pack)?

要想查明系统上当前是否安装了 CSP,运行 oslevel -s 命令。对于带 TL3 并安装了 CSP 的 AIX 5L Version 5.3 系统,输出如下:

oslevel –s
5300-03-CSP

如何创建文件系统?

以下命令将在卷组 testvg 中创建一个 jfs 文件系统,大小为 10MB,挂载点是 /fs1:

crfs -v jfs -g testvg -a size=10M -m /fs1

以下命令将在卷组 testvg 中创建一个 jfs2 文件系统,大小为 10MB,挂载点是 /fs2,具有只读权限:

crfs -v jfs2 -g testvg -a size=10M -p ro -m /fs2

如何改变文件的大小?

要想把 /usr 文件系统增大 1000000 个 512 字节的块,输入:

chfs -a size=+1000000 /usr

注意:
在 AIX V5.3 中,还可以缩小 JFS2 文件系统。

如何挂载 CD?

输入以下命令:

mount -V cdrfs -o ro /dev/cd0  /cdrom

如何挂载文件系统?

以下命令把文件系统 /dev/fslv02 挂载在 /test 目录上:

mount /dev/fslv02 /test

如何挂载所有默认文件系统(/etc/filesystems 文件中标有 mount=true 属性的所有标准文件系统)?

以下命令将挂载所有这些文件系统:

mount {-a|all}

如何卸载文件系统?

输入以下命令卸载 /test 文件系统:

umount /test

如何显示已经挂载的文件系统?

输入以下命令显示当前挂载的所有文件系统的相关信息:

mount

如何删除文件系统?

输入以下命令删除 /test 文件系统:

rmfs /test

如何对文件系统进行碎片整理?

可以使用 defragfs 命令改进或报告文件系统中连续空间的状态。例如,使用以下命令对 /home 文件系统进行碎片整理:

defragfs /home

哪个文件集包含某个二进制程序?

要想显示 bos.acct 包含 /usr/bin/vmstat,输入:

lslpp -w /usr/bin/vmstat

要想显示 bos.perf.tools 包含 /usr/bin/svmon,输入:

which_fileset svmon

如何显示关于系统上安装的文件集的信息?

输入以下命令:

lslpp -l

如何判断系统上是否安装了维护级别的所有文件集?

输入以下命令:

instfix -i | grep ML

如何判断系统上是否安装了一个修补程序?

要想判断是否安装了 IY24043,输入:

instfix -ik IY24043

如何通过 APAR 安装修补程序?

例如,要想从 /dev/cd0 安装 APAR IY73748,输入以下命令:

instfix -k IY73748 -d /dev/cd0

如何检查所需的文件集是否完全安装好了?

要想显示需要安装或纠正哪些文件集,输入:

lppchk -v

如何对装载器部分的头信息和采用符号表示法的符号项进行转储?

输入以下命令:

dump -Htv

如何判断已经分配和正在使用的分页空间数量?

输入以下命令:

lsps -a

如何加大分页空间?

可以使用 chps -s 命令动态地增加分页空间的大小。例如,如果希望把 hd6 加大三个逻辑分区,那么执行以下命令:

chps -s 3 hd6

如何减小分页空间?

可以使用 chps -d 命令动态地减小分页空间。例如,如果希望把 hd6 减小四个逻辑分区,那么执行以下命令:

chps -d 4 hd6

如何查明系统是否能够使用 Simultaneous Multi-threading (SMT)?

如果系统是运行 AIX 5L Version 5.3 的基于 POWER5® 的系统,就能够使用 SMT。

如何查明系统是否启用了 SMT?

如果不带任何选项运行 smtctl 命令,它就会指出是否启用了 SMT?

32 位内核是否支持 SMT?

是的,32 位和 64 位内核都支持 SMT。

如何启用或禁用 SMT?

可以通过运行 smtctl 命令启用或禁用 SMT。语法如下:

smtctl [ -m off | on [ -w boot | now]]

可以使用以下选项:

-m off把 SMT 模式设置为禁用。
-m on把 SMT 模式设置为启用。
-w boot 如果在下一次系统重新引导之前运行 bosboot 命令,这个选项使 SMT 模式修改在以后的重新引导时仍然有效。
-w now使 SMT 模式修改立即生效,但是在重新引导之后失效。

如果既没有指定 -w boot 选项,也没有指定 -w now 选项,那么模式修改立即生效。如果在下一次系统重新引导之前运行 bosboot 命令,那么修改在以后的重新引导时仍然有效。

如何获得与分区相关的信息和统计数据?

lparstat 命令提供分区信息和利用率统计数据报告。这个命令还显示 Hypervisor 信息。

卷组和逻辑卷

如何查明卷组是一般卷组、大卷组还是可伸缩卷组?

在卷组上运行 lsvg 命令并查看 MAX PVs 的值。值为 32 代表一般卷组,128 代表大卷组,1024 代表可伸缩卷组。

如何创建卷组?

使用以下命令,其中的 s partition_size 设置每个物理分区的大小(以 MB 为单位),partition_size 的范围是从 1 到 1024。(在 AIX V5.3 上是从 1 到 131072).partition_size 变量必须是 2 的幂(例如,1、2、4、8)。对于标准卷组和大卷组,默认值是满足 “每个物理卷最多 1016 个物理分区” 限制的最低值。可伸缩卷组的默认值为满足 “每个物理卷最多容纳 2040 个物理分区” 限制的最低值。

mkvg -y name_of_volume_group -s partition_size list_of_hard_disks

如何修改卷组的特征?

可以使用以下命令修改卷组的特征:

chvg

如何创建逻辑卷?

输入以下命令:

mklv -y name_of_logical_volume name_of_volume_group number_of_partition

如何增加逻辑卷的大小?

例如,要想将 lv05 目录所表示的逻辑卷增加三个逻辑分区,输入:

extendlv lv05 3

如何显示属于某个卷组(例如,rootvg)的所有逻辑卷?

可以通过输入以下命令来显示属于 rootvg 的所有逻辑卷:

lsvg -l rootvg

如何列出有关逻辑卷的信息?

运行以下命令显示有关逻辑卷 lv1 的信息:

lslv lv1

如何删除逻辑卷?

可以运行以下命令删除逻辑卷 lv7:

rmlv lv7

rmlv 命令仅删除逻辑卷,但不删除其他实体,例如使用该逻辑卷的文件系统或分页空间。

如何镜像逻辑卷?

  1. mklvcopy LogicalVolumeName Numberofcopies
  2. syncvg VolumeGroupName

如何删除逻辑卷的拷贝?

可以使用 rmlvcopy 命令删除逻辑卷的逻辑分区拷贝。要想减少属于逻辑卷 testlv 的每个逻辑分区的拷贝数量,输入:

rmlvcopy testlv 2

现在此逻辑卷中每个逻辑分区最多只有两个物理分区。

查询有关卷组的信息

要想显示系统中的卷组,输入:

lsvg

要想显示 rootvg 的所有特征,输入:

lsvg rootvg

要想显示 rootvg 所使用的磁盘,输入:

lsvg -p rootvg

如何将磁盘添加到卷组中?

输入以下命令:

extendvg   VolumeGroupName   hdisk0 hdisk1 ... hdiskn

如何查明硬盘所支持的最大逻辑磁道组 (LTG) 大小?

可以使用带 -M 标志的 lquerypv 命令。此命令的输出给出以 KB 为单位的 LTG 大小。例如,在下面的示例中,hdisk0 的 LTG 大小为 256 KB。

/usr/sbin/lquerypv -M hdisk0
256

还可以在硬盘上运行 lspv 并查看 MAX REQUEST 的值。

syncvg 命令的作用是什么?

syncvg 命令用于同步过时的物理分区。它接受逻辑卷、物理卷或卷组名称作为参数。

例如,要想同步位于物理卷 hdisk6 和 hdisk7 上的物理分区,使用以下命令:

syncvg -p hdisk6 hdisk7

要想同步卷组 testvg 中的所有物理分区,使用以下命令:

syncvg -v testvg

如何替换某个磁盘?

  1. extendvg VolumeGroupName hdisk_new
  2. migratepv hdisk_bad hdisk_new
  3. reducevg -d VolumeGroupName hdisk_bad

如何克隆 rootvg(创建拷贝)?

可以运行 alt_disk_copy 命令将当前的 rootvg 复制到某个替代磁盘。下面的示例演示如何将 rootvg 克隆到 hdisk1。

alt_disk_copy -d  hdisk1

网络

如何显示或设置网络参数的值?

no 命令设置或显示网络调优参数的当前值或下一次启动时的值。

如何获得计算机的 IP 地址?

输入以下命令之一:

ifconfig -a

host Fully_Qualified_Host_Name

例如,输入 host cyclop.austin.ibm.com。

如何确定服务器上的网络接口?

以下两个命令都显示网络接口:

lsdev -Cc if
ifconfig -a

要想获得有关某个特定网络接口(例如,tr0)的信息,运行以下命令:

ifconfig tr0

如何激活网络接口?

要想激活网络接口 tr0,运行以下命令:

ifconfig tr0 up

如何禁用网络接口?

要想禁用网络接口 tr0,运行以下命令:

ifconfig tr0 down

如何显示路由表、接口和协议信息?

要想显示因特网接口的路由表信息,输入:

netstat -r -f inet

要想显示因特网接口的接口信息,输入:

netstat -i -f inet

要想显示每个协议的统计数据,输入:

netstat -s -f inet

如何记录接收或发送的数据包?

要想记录每个接口上接收或发送的数据包,输入:

iptrace /tmp/nettrace

跟踪信息放在 /tmp/nettrace 文件中。

要想记录 en0 接口上通过 telnet 端口从远程主机 airmail 接收的数据包,输入:

iptrace -i en0 -p telnet -s airmail /tmp/telnet.trace

跟踪信息放在 /tmp/telnet.trace 文件中。

工作负载分区

如何创建工作负载分区?

要想用 IP 地址 xxx.yyy.zzz.nnn 创建工作负载分区 temp,输入:

mkwpar -n temp -N address= xxx.yyy.zzz.nnn

要想用规格说明文件 wpar1.spec 创建工作负载分区,输入:

mkwpar -f /tmp/wpar1.spec

如何为现有的工作负载分区 wpar1 创建新的规格说明文件?

要想为现有的工作负载分区 wpar1 创建新的规格说明文件 wpar2.spec,输入:

mkwpar -e wpar1 -o /tmp/wpar2.spec -w

如何启动工作负载分区?

要想启动工作负载分区 temp,输入:

startwpar temp

如何停止工作负载分区?

要想停止工作负载分区 temp,输入:

stopwpar temp

如何查看工作负载分区的特征?

要想查看所有工作负载分区的特征,输入:

lswpar

Name	State	Type	Hostname		Directory     
---------------------------------------------------------------------------------
bar	A	S	bar.austin.ibm.com	/wpars/bar 
foo	D	S	foo.austin.ibm.com	/wpars/foo
trigger	A	A	trigger			/

如何登录工作负载分区?

要想作为用户 foo 登录工作负载分区 wpar1,输入:

clogin wpar1 -l foo

如何在工作负载分区中运行命令?

要想作为用户 root 在工作负载分区 howdy 中运行 /usr/bin/ps 命令,输入:

clogin howdy -l root /usr/bin/ps

如何删除工作负载分区?

要想删除工作负载分区 temp,输入:

rmwpar temp

要想停止工作负载分区 temp 并删除在它的文件系统中保留的数据,输入:

rmwpar -p -s temp

注意:工作负载分区 (WPAR) 是 IBM AIX Version 6.1 中引入的一组全新的基于软件的系统虚拟化特性。

性能监视工具

如何显示虚拟内存统计数据?

要想显示自引导以来的虚拟内存统计数据汇总,输入:

vmstat

要想以 2 秒的时间间隔显示 5 个汇总报告,输入:

vmstat 2 5

要想显示所有工作负载分区自引导以来的统计数据汇总,输入:

vmstat -@ ALL

要想显示所有工作负载分区可用的所有虚拟内存统计数据,输入:

vmstat -vs -@ ALL

如何显示所有 TTY、CPU 和磁盘的统计数据?

要想显示所有 TTY、CPU 和磁盘自引导以来的一组统计数据,输入:

iostat

要想以 2 秒的时间间隔连续显示逻辑名为 disk1 的磁盘的磁盘报告,输入:

iostat -d disk1 2

要想以 2 秒的时间间隔显示逻辑名为 disk1 的磁盘的 6 个报告,输入:

iostat disk1 2 6

要想以 2 秒的时间间隔显示所有磁盘的 6 个报告,输入:

iostat -d 2 6

要想只显示所有工作负载分区的文件系统统计数据,输入:

iostat -F -@ ALL

要想显示系统上所有工作负载分区的系统吞吐量,输入:

iostat -s -@ ALL

如何显示本地和远程系统的详细统计数据?

输入以下命令:

topas

要想直接显示进程信息,输入:

topas -P

要想直接显示逻辑分区信息,输入:

topas -L

要想直接显示磁盘指标,输入:

topas -D

要想直接显示文件系统信息,输入:

topas -F

如何报告系统单元活动?

输入以下命令:

sar

要想报告前两个处理器的处理器活动,输入:

sar  -u  -P 0,1

这会产生下面这样的输出:

cpu  %usr  %sys  %wio  %idle
0      45    45     5      5
1      27    65     3      5

结束语

这样的列表有助于快速回答一些问题。但是它并没有涵盖您需要的所有命令。可以添加其他命令,回答这里没有涉及的问题,从而扩展此列表。

参考资料

学习

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文
  • AIX Information Center:这个站点提供最新的 AIX 文档。
  • Introduction to Workload Partition Management in IBM AIX Version 6.1:这份 Redbook 介绍工作负载分区 (WPAR),这是 IBM AIX Version 6.1 中引入的一组全新的基于软件的虚拟化特性。
  • AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。
  • AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。
  • AIX and UNIX 专题汇总:AIX and UNIX 专区已经为您推出了很多的技术专题,为您总结了很多热门的知识点。我们在后面还会继续推出很多相关的热门专题给您,为了方便您的访问,我们在这里为您把本专区的所有专题进行汇总,让您更方便的找到您需要的内容。
  • developerWorks 技术活动和网络广播:随时关注新的 developerWorks 技术活动和网络广播。
  • AIX Wiki:访问这个协作环境获得关于 AIX 的技术信息。
  • Podcasts:收听 Podcast 并了解 IBM 技术专家的最新想法。
  • 浏览 技术书店,获得关于这些主题和其他技术主题的图书。

获得产品和技术

  • IBM 试用软件:使用这些可以直接从 developerWorks 下载的软件构建您的下一个开发项目。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=361024
ArticleTitle=不应该忽视的 AIX 命令
publish-date=12242008