1.确定现有设备
要确定系统一个特定子集的配置,可使用以下命令:
lscfg 显示系统的配置,诊断,和关键产品数据(VPD)信息。
lsdev 显示系统上的设备及其特性
lsattr 显示系统设备的属性特性和可能的属性值
也可使用特定设备和特定类[class-specific]命令,来获取系统的详细信息。如,bindprocessor,ifconfig,lspv,lslpp
1.1 lscfg
可使用 lscfg 命令查看设备的概要或详细数据。如不带任何标记运行 lscfg 命令,显示当前自定义 VPD目标类中各设备的名称、位置、以及描述,该类为 sys0 目标的一个子设备。附带 -l 标记可查看某个特定设备的信息。
Flag Description
-l Name 显示指定设备的设备信息
-p 显示 特定平台[platform-specific]的设备信息,该标记只可用于 AIX V4.2.1 之后版本
-v 显示 自定义 VPD 目标类 中包含的 VPD。也只用于 AIX V4.2.1 之后的版本,与 -p 标记一起使用显示特定平台的 VPD
# lscfg -vpl ent2
ent2 U787B.001.DNWFMTB-P1-T9 2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)
2-Port 10/100/1000 Base-TX PCI-X Adapter:
Network Address.............00145ED1E81E
ROM Level.(alterable).......DV0210
Device Specific.(YL)........U787B.001.DNWFMTB-P1-T9
PLATFORM SPECIFIC
Name: ethernet
Node:
Device Type: network
Physical Location: U787B.001.DNWFMTB-P1-T9
#
1.2 lsdev
使用 lsdev 命令查看设备配置数据库中的设备信息。可使用该命令 附带 -C 标记查看 ODM 中自定义设备目标类的信息、或附带 -P 标记查看 ODM 中预定义设备目标类的信息。
-C 列出自定义设备目标类中某设备的信息。默认显示名称、状态、位置、和描述。该标记不可与 -P 标记一起使用
-c Class 指定一个设备类别名称。该标记用来限定输出为所指定类别设备
-H 在输出列之上显示标题
-h 查看命令使用方法信息
-P 列出预定义设备目标类中某设备的信息。默认显示类别、类型、子类别、和描述。该标记不可与 -C, -l, -S 标记一起使用
-S State 列出处于 state 参数指定状态的所有设备
# lsdev -Cc disk
hdisk0 Available 03-08-00-3,0 16 Bit LVD SCSI Disk Drive
hdisk1 Available 03-08-00-4,0 16 Bit LVD SCSI Disk Drive
hdisk2 Available 03-08-00-5,0 16 Bit LVD SCSI Disk Drive
hdisk3 Available 03-08-00-8,0 16 Bit LVD SCSI Disk Drive
hdisk4 Available 01-08-01 Hitachi Disk Array (Fibre)
# lsdev -Cc tape
rmt0 Available 03-08-00-0,0 LVD SCSI 4mm Tape Drive
#
1.3 lsattr
-D 不与 -O 标记一起使用时,显示特定设备的属性名称、默认值、描述、用户设定(user-set)标记值。
与 -O 标记一起使用时,只显示属性名称和默认值,以冒号隔开。
-E 不与 -O 标记一起使用时,显示特定设备的属性名称、当前值、描述、和用户可设定(user-settable)标记值。
与 -O 标记一起使用时,只显示属性名称和当前值,以冒号隔开。该标记不可与 -c, -D, -F, -R, -s, 或 -t 等标记同用。
-F Format 以用户指定的格式显示输出信息
-a Attribute 显示特定设备或设备类指定的属性信息
-c Class 指定一个设备类别名称。该标记不可与 -E 或 -l 标记一起使用
-f File 从 File 参数读取所需的标记
-H 在输出的列上显示标题。-H 标记与 -O 或 -R 标记一起使用则毫无意义,-O 或 -R 标记占上风。
-l Name 指定自定义设备目标类中的设备逻辑名称,显示其属性名称或属性值
-O 显示所有属性名称,以冒号分开;并在第二行显示所有对应的属性值,以冒号分开
-R 显示一个属性名称的法定值。-R 标记不可与 -D, -E, -F, -O 标记一起使用,但可与 -c, -s, -t 标记以任意组合一起使用,
或与 -l 标记一起使用,从预定义设备目标类识别唯一一个设备。-R 标记以垂直列显示一列属性值,如下所示:
Value1
Value2
.
.
ValueN
-R 标记以 x...n(+i) 格式显示属性值取值范围,x 代表起点值、n 代表结束值、i 代表递增量
-s Subclass 指定一个设备子类别名称。该标记可用于限定某指定子类别的设备输出。该标记不可与 -E 或 -l 标记一起使用
-t Type 指定一个设备的类型名称。该标记可用于限定某指定类别设备的输出。该标记不可与 -E 或 -l 标记一起使用
显示自定义设备属性有效值时,信息是从配置数据库中获取,而非设备。通常,数据库的值反映了设备是如何配置的,除非设备使用 chdev 命令带 -P 或 -T 标记重新被配置。如果是这种情况,使用 lsattr 命令显示的信息可能不能正确反映当前设备的配置,直到下一次系统引导之后。
# lsattr -El proc0
frequency 2096901000 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
# lsattr -Dl proc0
frequency Processor Speed False
smt_enabled false Processor SMT enabled False
smt_threads 0 Processor SMT threads False
state enable Processor state False
type POWER Processor type False
# lsattr -EHl proc0
attribute value description user_settable
frequency 2096901000 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
# lsattr -El sys0|grep realmem
realmem 32768000 Amount of usable physical memory in Kbytes False
#
2.删除一个设备 rmdev
-d 从自定义设备目标类中删除设备定义。该标记不可与 -S 标记一起使用
-q 禁止命令输出标准输出和标准错误信息
-f File 从 File 参数读取所需的标记
-l Name 通过 Name 参数指定自定义设备目标类中的逻辑设备。该标记不可与 -p 标记一起使用
-p Name 通过 Name 参数指定自定义设备目标类中的父逻辑设备,其下子类须已删除。该标记不可与 -l 标记一起使用
-R 取消设备和其子类的配置。分别与 -d 或 -S 标记一起使用时,子类被未定义或停用
-S 若设备有 Stop 方法,只调用 Stop 方法使设备不可用。该标记不可与 -d 标记一起使用
-t Type 指定一个设备类型名称。该标记用于限定某指定类别设备的输出。该标记不可与 -E 或 -l 标记一起使用
ibmdb2@root#lsdev -Cc tape
rmt0 Available 0D-08-01 IBM 3580 Ultrium Tape Drive (FCP)
rmt1 Available 0D-08-01 IBM 3580 Ultrium Tape Drive (FCP)
rmt2 Available 09-08-01-3,0 LVD SCSI 4mm Tape Drive
smc0 Available 0D-08-01 IBM 3582 Library Medium Changer (FCP)
ibmdb2@root#rmdev -dl rmt0
rmt0 deleted
ibmdb2@root#lsdev -Cc tape
rmt1 Available 0D-08-01 IBM 3580 Ultrium Tape Drive (FCP)
rmt2 Available 09-08-01-3,0 LVD SCSI 4mm Tape Drive
smc0 Available 0D-08-01 IBM 3582 Library Medium Changer (FCP)
ibmdb2@root#lsdev -Cc tape
rmt0 Available 0D-08-01 IBM 3580 Ultrium Tape Drive (FCP)
rmt1 Available 0D-08-01 IBM 3580 Ultrium Tape Drive (FCP)
rmt2 Available 09-08-01-3,0 LVD SCSI 4mm Tape Drive
smc0 Available 0D-08-01 IBM 3582 Library Medium Changer (FCP)
ibmdb2@root#rmdev -Sl rmt0
rmt0 Available
ibmdb2@root#lsdev -Cc tape
rmt0 Available 0D-08-01 IBM 3580 Ultrium Tape Drive (FCP)
rmt1 Available 0D-08-01 IBM 3580 Ultrium Tape Drive (FCP)
rmt2 Available 09-08-01-3,0 LVD SCSI 4mm Tape Drive
smc0 Available 0D-08-01 IBM 3582 Library Medium Changer (FCP)
ibmdb2@root#rmdev -l rmt0
rmt0 Defined
ibmdb2@root#lsdev -Cc tape
rmt0 Defined 0D-08-01 IBM 3580 Ultrium Tape Drive (FCP)
rmt1 Available 0D-08-01 IBM 3580 Ultrium Tape Drive (FCP)
rmt2 Available 09-08-01-3,0 LVD SCSI 4mm Tape Drive
smc0 Available 0D-08-01 IBM 3582 Library Medium Changer (FCP)
ibmdb2@root#lsdev -Cc tape
rmt0 Available 0D-08-01 IBM 3580 Ultrium Tape Drive (FCP)
rmt1 Available 0D-08-01 IBM 3580 Ultrium Tape Drive (FCP)
rmt2 Available 09-08-01-3,0 LVD SCSI 4mm Tape Drive
smc0 Available 0D-08-01 IBM 3582 Library Medium Changer (FCP)
#
3.修改现有设备 chdev
-a Attribute=Value
指定设备属性-值对,用以修改特定的属性值。一个 -a 标记的 Attribute=Value 参数可使用一个或多个属性-值对。
若使用一个 -a 标记,多个属性- 值对,参数对列表须附上引号,各参数对间以空格分开。
如,每个 -a 标记一个属性值对,输入 -a Attribute=Value;每个 -a 标记多个属性值对,输入 -a 'Attribute1=Value1 Attribute2=Value2'
-f File 从 File 参数读取所需的标记
-l Name 指定自定义设备目标类中,欲修改其属性的设备逻辑名称
-p ParentName 指定自定义设备目标类中父设备的新设备逻辑名。只在修改父设备时使用该标记。并不是所有的设备都支持 -p 标记
-P 不替换实际设备,而永久修改自定义设备目标类中的设备特性。
这对于不可使之不可用的、和处于可用状态时不能修改的设备是非常有用的。修改作用于数据库,并在系统重新引导时生效。 该标记不可与 -T 标记一起使用。不是所有的设备都支持 -P 标记
-T 临时修改设备的特性,而不修改当前系统启动的自定义设备目标类。
该标记不可与 -P 标记一起使用。不是所有的设备都支持 -T 标记
-w ConnectionLocation
指定设备在父类新的连接位置。只在修改设备连接位置时使用此标记。不是所有设备都支持 -w 标记
注意:为了保护配置数据库,chdev 命令是不可中断的。在完成前停止该命令可能导致数据库毁坏。
-EHl rmt0 -a block_size
attribute value description user_settable
block_size 0 Block Size (0=Variable Length) True
ibmdb2@root#chdev -l rmt0 -a block_size=1024
rmt0 changed
-EHl rmt0 -a block_size
attribute value description user_settable
block_size 1024 Block Size (0=Variable Length) True
#
4.smitty
smitty device ,smitty chdev ,smitty rmdev
三个都一样,都可以出现管理设备的菜单
5.特殊设备配置
对于某些特殊的设备,需要用特殊的命令,下面是个例子,我做过试验:
5.1查询当前的处理器情况,显示有8个处理器
ibmdb2@root#lsdev -Cc processor
proc0 Available 00-00 Processor
proc2 Available 00-02 Processor
proc4 Available 00-04 Processor
proc6 Available 00-06 Processor
proc8 Available 00-08 Processor
proc10 Available 00-10 Processor
proc12 Available 00-12 Processor
proc14 Available 00-14 Processor
5.2用bindprocessor查询可用的处理器,发现有16个
-q
The available processors are: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
5.3用topas,vmstat命令的输出,都发现有个16个
2 1
System configuration: lcpu=16 mem=31744MB
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 742613 7305130 0 0 0 0 0 0 27 74 173 0 0 99 0
5.4查询proc0的属性,原来是因为smt_threads=2,即双核
-El proc0
frequency 1498500000 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
#
5.5用smtctl来测试启停双核功能前后的系统情况
-m off -w now
smtctl: SMT is now disabled.
-q
The available processors are: 0 1 2 3 4 5 6 7
-m on -w now
ksh: smtclt: not found.
-m on -w now
ksh: cmtctl: not found.
-m on -w now
smtctl: SMT is now enabled.
-q
The available processors are: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
6.重新配置系统32位为64位内核
AIX 5L V5.3 安装 64 位内核以及保留 32 位内核可用。若系统为 64 位处理器,64 位内核随 BOS 自动安装。但并非强制在 64 位处理器上运行 64 位内核,系统上随 64 位处理器使用的某些产品和设备仍不支持 64 位内核。如果系统环境不需要 64 位内核,则不需要在安装过程中启用之。
要识别系统硬件的类型是 32 位还是 64 位,执行 bootinfo -y 命令。若命令返回 32,则不能使用 64 位内核。
-y
64
若想在系统安装后启用 64 位内核,需指示系统使用储存在 /usr/lib/boot 目录下的 64 位内核信息。/usr/lib/boot 目录下有两个可用的内核:
unix_mp 多处理器系统的 32 位内核 [32-bit kernel for multiprocessor systems]
unix_64 64 位处理器系统的 64 位内核 [64-bit kernel for 64-bit processor systems]
下例提供了系统安装后启用 64 位内核使用的命令:
ln -sf /usr/lib/boot/unix_64 /unix
ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix
系统重启后,即运行于 64 位内核。若要重新激活 32 位内核,依同样程序,用 unix_mp 取代 /unix_64。
检验设备,执行如下命令:
-al /unix
lrwxrwxrwx 1 root system 21 Sep 28 2006 /unix -> /usr/lib/boot/unix_64