在使用 AIX® 和 System p™ 服务器遇到问题时,您是否希望能够自己找到答案呢?您是否希望不必总是求助于专业支持人员,从而节省一些时间呢?好,本文的作者将讨论一些能够回答这些问题的 AIX 命令,并告诉您如何进一步寻找其他问题的答案。

Shiv Dutta, 技术顾问, IBM

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



2006 年 12 月 07 日 (最初于 2003 年 5 月 06 日)

引言

正如您所知道的,AIX® 具有无数的命令,使您能够执行大量的任务。取决于您需要完成的任务,您可能会仅仅使用到这些命令的某个子集。这些子集随不同的用户和不同的需要而异。然而,有一些您通常要使用的核心命令。您需要这些命令来回答您自己的问题,或者为支持人员的询问提供答案。

在本文中,我将讨论这其中的一些核心命令。其目的旨在为您提供一个可用作便捷参考的列表。虽然这些命令的行为在所有 AIX 版本中都应该相同,但是仅在 AIX 5.3 下对它们进行了测试。

注意:
以下段落中讨论的 bootinfo 不是用户级别的命令,并且在 AIX 4.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 5.2 中,缺省安装的是 32 位内核。在 AIX 5.3 中,缺省情况下会在 64 位硬件上安装 64 位内核,在 32 位硬件上安装 32 位内核。

硬件

如何知道我的计算机是否能够运行 AIX 5L Version 5.3?

AIX 5L Version 5.3 可在当前受支持的所有基于共用硬件参考平台(Common Hardware Reference Platform,CHRP)的 POWER 硬件上运行。

如何知道我的计算机是否基于 CHRP?

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

如何知道我的 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 的可能登录属性值,可输入以下命令:

lsattr -l tty0 -a login -R

要显示系统级别的属性,可输入以下命令:

lsattr -E -l sys0

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

要显示您系统上的处理器数量,可输入以下命令:

lscfg | grep proc

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

要显示系统上的硬盘数量,可输入以下命令:

lspv

如何列出有关特定物理卷的信息?

举例来说,若要了解有关 hdisk1 的详细信息,可运行如下命令:

lspv hdisk1

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

输入以下命令:

lscfg

下列选项可以提供特定的信息:

-p 显示特定于平台的设备信息。该标志适用于 AIX 4.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 中创建一个大小为 10MB、安装点为 /fs1 的 jfs 文件系统:

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

以下命令将在卷组 testvg 中创建一个大小为 10MB、安装点为 /fs2 并具有只读权限的 jfs2 文件系统:

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

如何更改文件系统的大小?

若要将 /usr 文件系统的大小增加 1000000 个 512 字节的块,可输入以下命令:

chfs -a size=+1000000 /usr

注意:
在 AIX 5.3 中,JFS2 文件系统的大小还可以收缩。

如何安装 CD?

输入以下命令:

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

如何安装文件系统?

以下命令将在 /test 目录中安装文件系统 /dev/fslv02:

mount /dev/fslv02 /test

如何安装所有缺省文件系统(/etc/filesystems 文件中标记有 mount=true 属性的所有标准文件系统)?

以下命令将安装所有此类文件系统:

mount {-a|all}

如何卸载文件系统?

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

umount /test

如何显示已安装的文件系统?

输入以下命令可以显示有关所有当前已安装的文件系统的信息:

mount

如何删除文件系统?

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

rmfs /test

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

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

defragfs /home

哪个文件集包含某个特定的二进制文件?

若要显示 /usr/bin/vmstat 包含 bos.acct,可输入以下命令:

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

如何获得符号表示中的 loader 节头和符号条目的转储?

输入以下命令:

dump -Htv

如何确定已分配和使用的分页空间量?

输入以下命令:

lsps -a

如何增加分页空间?

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

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 表示可扩展的卷组。

如何创建卷组?

可以使用以下命令,其中 spartition_size 设置每个物理分区中的兆字节 (MB) 数,并且 partition_size 是以 MB 为单位、从 1 到 1024 的值(对于 AIX 5.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 hdisk4 hdisk5

若要同步卷组 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

例如,输入主机 cyclop.austin.ibm.com。

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

以下两个命令中的任何一个都将显示网络接口:

lsdev -Cc if
ifconfig -a

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

ifconfig tr0

如何激活网络接口?

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

ifconfig tr0 up

如何禁用网络接口?

举例来说,若要禁用网络接口 tr0,可以运行以下命令:

ifconfig tr0 down

结束语

不可否认,像这样的列表对于快速回答您自己的某些问题是非常有帮助的。然而,它并没有涵盖您可能需要的一切。您可以添加一些回答这里未讨论的其他问题的命令,从而使得此类列表更加有用。

参考资料

学习

获得产品和技术

  • 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=182651
ArticleTitle=AIX 常用命令汇总
publish-date=12072006