- 论坛徽章:
- 0
|
1.NFS 版本3中, 读写包的大小是可以调整的。缺省读写包的大小是32KB,目前AIX支持的最大值是60K。
当NFS的服务器和客户端都是AIX的操作系统时, 读写尺寸需要在两端进行调整。
客户端通过在mount 命令中 加 -o 选项来设置读写包大小。如将服务器server1上的/usr2 文件系统加载到本地的/xyz目录,其读写包大小为60KB:
#mount -v nfs -o rsize=61440,wsize=61440 server1:/user2 /xyz
服务器端是通过使用nfso命令,设置nfs_max_write_size 和 nfs_max_read_size 参数来实现的
# nfso -o nfs_max_write_size=61440
# nfso -o nfs_max_read_size=61440
2.如果在安装AIX的时候没有选择安装帮助,那么在系统安装好之后可以手工进行系统帮助的安装。
系统基础命令帮助需要安装以下文件包:
bos.html.en_US.topnav.navigate - Top Level Navigation
bos.html.en_US.nav - Online Navigation
bos.html.en_US.cmds.cmds1 - AIX Commands Reference 1
bos.html.en_US.cmds.cmds2 - AIX Commands Reference 2
bos.html.en_US.cmds.cmds3 - AIX Commands Reference 3
bos.html.en_US.cmds.cmds4 - AIX Commands Reference 4
bos.html.en_US.cmds.cmds5 - AIX Commands Reference 5
bos.html.en_US.cmds.cmds6 - AIX Commands Reference 6
如果用户需要进行程序开发,在帮助中需要了解到一些系统内核的变量及接口定义,那么还需要安装额外的文件包:
bos.html.en_US.techref.base - AIX Base Tech Ref
bos.html.en_US.techref.commo - AIX Commo Tech Ref
3. 关于硬件
显示机器硬件是32位还是64位:
bootinfo -y
查看机器的物理内存是多少:
bootinfo -r
或
lsattr -El sys0 -a realmem
查看机器是否支持64位内核(是否64位硬件)
/usr/sbin/bootinfo -p
如果返回32,则表示硬件是32位的;如果返回的是chrp,则表示硬件是64位的机器。
显示当前磁带设备rmt0的属性:
lsattr -l rmt0 -E
显示缺省的磁带设备rmt0的属性:
lsattr -l rmt0 -D
显示终端设备tty0的登录属性:
lsattr -l tty0 -a login -R
显示系统级属性:
lsattr -E -l sys0
查看当前系统有多少CPU:
lscfg | grep proc
查看当前系统有多少硬盘而且是否被使用:
Lspv
查看当前系统的详细配置:
lscfg -pv
也可以显示某一设备的配置:
lscfg -vl rmt0
查看当前系统的芯片名称、系统名、节点名、型号等:
uname -p # 显示芯片名称,例如:powerpc
uname -r # 显示操作系统的发行号
uname -s # 显示系统名,例如:AIX
uname -n # 显示节点名
uname -a # 显示系统名、节点名、版本、机器ID
uname -M # 显示型号,例如:IBM,7046-B50
uname -v # 显示操作系统版本
uname -m # 显示机器ID
4.关于AIX
查看AIX的版本、发行号、ML(Maintenance Level)级别:
oslevel -r
或
lslpp -h bos.rte
如何改变文件系统大小,例如:将/usr文件系统增加1000000字节:
chfs -a size=+1000000 /usr
如何使用CD:
mount -V cdrfs -o ro /dev/cd0 /cdrom
查看本机的IP地址:
Ifconfig -a
或
host Fully_Qualified_Host_Name
例如:host
cyclop.austin.ibm.com
查找哪一个文件集(fileset)包含特定的文件,例如:查找/usr/bin/vmstat属于哪一个文件集。
lslpp -w /usr/bin/vmstat
显示哪一个文件集包含/usr/bin/svmon:
which_fileset svmon
查看某一级别的ML中所有文件是否都已经安装:
instfix -i | grep ML
如何确定某一补丁(fix)是否安装,例如:查看IY24043是否安装
instfix -ik IY24043
显示哪些文件集需要安装或修改:
lppchk -v
查看交换区(paging space)的分配和使用:
lsps -a
5. 关于卷组和逻辑卷
创建卷组:
mkvg -y name_of_volume_group -s partition_size list_of_hard_disks
partition_size单位是MB,它是1到1024之间的一个数。(2的次幂,例如:1, 2, 4, 8, 16, 32等,缺省是4MB。)
创建逻辑卷:
mklv -y name_of_logical_volume name_of_volume_group number_of_partition
显示当前系统的所有卷组:
lsvg
显示卷组rootvg的详细信息:
lsvg rootvg
显示属于rootvg的所有硬盘:
lsvg -p rootvg
如何添加一个硬盘到卷组中:
extendvg Volume_Group_Name hdisk0 hdisk1 ... hdiskn
如何替换一个硬盘:
1.
extendvg Volume_Group_Name hdisk_new
2.
migratepv hdisk_bad hdisk_new
3.
reducevg -d Volume_Group_Name hdisk_bad
如何做一个逻辑卷镜像:
1.
mklvcopy Logical_Volume_Name Number_of_copies
2.
Syncvg Volume_Group_Name
可以mount或unmount一个文件系统,但却无法删除该文件系统,在删除时,系统报错:0516-306:get lvodm: unable to find in
the device confgiguration data. 发生此错误的原因可能是ODM数据库中的定义与实际不一致。可以用命令 lsvg -l rootvg 检查该文件系统的类型,若类型显示为???,则用命令
synclvodm -P rootvg 和 syncvg -v rootvg 进行同步,之后再用命令 lsvg
-l rootvg 显示出正确的文件类型。此时可以成功删除该文件系统
我们通常使用sar命令查看系统处理器的使用状况,例如:
#sar 1 10
%usr为用户应用使用CPU的时间的比率
%sys为系统调用(例如:Kernel)使用CPU的时间的比率
%wio为CPU等待I/O完成的时间的比率
%idle为CPU空闲的时间的比率
如果系统有多个处理器时,上面的值是所有处理器使用状况的平均值。
如果希望查看每个处理器的使用状况,可以用下面的命令:
#sar -P ALL 1 3
在进行系统性能优化的时候,如果我们发现有可能是CPU的瓶颈,就需要找出占用CPU较多的程序。 可以使用下面的命令:
#tprof -x sleep 30
该命令会在当前目录生成一些以.all为尾名的文件。例如: __prof.all,该文件将记录CPU占用的详细信息。注意;此命令需要perfagent.tools安装。
AIX 5.1有了一个新命令lvmstat,可以方便的查看每个vg及lv上的I/O。
使用lvmstat命令前需要用-e选项激活该命令:
#lvmstat
-v rootvg -e
2.查看lv上每个LP的I/O:
# lvmstat -l hd4
6.AIX内核参数调整
vmtune -f -F
f minfree
指出内存在free list中内存页的最低值,此值的范围从8到204800。
-F maxfree当系统中的空闲内存小于minfree时,系统进行换页操作增加空闲内存页,当空闲内存页的数量大于等于maxfree时,系统换页操作停止。
maxfree的缺省值为minfree+8。maxfree-minfree的差值应大于等于maxpgahead。
注:一个页面的大小为4K。
-r minpgahead
指出何时启动提前读的功能,此值应为2的倍数,缺省值为2。
-R maxpgahead
指出最大的提前读的页数,此值应为2的倍数,缺省值为8,此值应大于minpgabead,最大值为512。maxfree-minfree的差值应大于等于maxpgahead。
-M maxpin
此值指出系统中能够常驻(pin)在内存中的最大的内存页的数量缺生值为80%的物理内存,应保证至少有4M的内存不被常驻,以供内核使用。
当我们使用命令: " ps aux" 或"ps ug" 检查各进程对于CPU和内存的使用情况时,经常会看到 "kproc"(PID
516)进程占有很高的CPU使用率. 这种情况是正常的,此进程代表系统的空闲时间.一般情况,在系统负载不是很高的时候,此进程占CPU达到50% 或更高.
rmss 是在现有物理内存大小的基础上模拟服务器的物理内存大小的命令, 而无需拔出或替换内存芯片. 通过在不同的内存下运行同一应用,可以确定应用在正常运行时所需内存的尺寸.
例如:
#rmss
-c 2048
:模拟2GB的内存
#rmss
-p
:显示当前模拟内存的大小
#rmss
-r
:重置内存,使之恢复到实际内存尺寸
############################################################################
查看磁带机属性:lsattr –El
rmt0
修改磁带机属性:chdev –l
rmt0 –a block_size = 0
显示磁带机属性范围:lsattr -Rl rmt0 -a 属性
更改磁带机名:1.rmdev -dl rmt0
2.mkdev -c tape -t 3590 -s scsi
-p scsi0 -w 5,0(5,0 来自lscfg)
############################################################################
在解答用户的问题时, 经常会遇到系统无法启动,报错:can't find file or damaged
file libc.a.当遇到这种情况时, 我们可以按以下步骤恢复:
1. 从CDROM 启动系统, 进入维护模式, 然后执行下列命令:
# mount /dev/hd4 /mnt
# mount /dev/hd2 /mnt/usr
# export PATH=/mnt/usr/sbin:/mnt/usr/bin
# cd /mnt
# restore -xvqf
/../SPOT/usr/sys/inst.images/bos
./usr/ccs/lib/libc.a
LIBPATH=/usr/ccs/lib:/usr/lib
export LIBPATH
ln -s /usr/ccs/lib/libc.a
/mnt/usr/lib/libc.a
2. 检查文件系统:
fsck /dev/hd1
fsck /dev/hd2
fsck /dev/hd3
fsck /dev/hd4
fsck /dev/hd9var
3.重新启动系统:
reboot
############################################################################
由于操作失误(chdev -l hdiskx -a pv=yes) 使得 hdiskx 的PVID发生改变,
硬盘上的内容尽管没被破坏,但由于与VGDA区的描述不一致,造成卷组无法访问, 该怎么办?
解答 可用recreatevg命令来重新创建一内容相同的卷组, 以达到修复的目的。
1.首先将原卷组的定义从系统的ODM库中删除:
# exportvg vgname
2. 检查硬盘上VGDA 区的信息,从中得到有关逻辑卷的名称及定义:
如:
#lqueryvg -Atp
hdisk2
Max LVs: ------256
PP Size: ------26
Free PPs: -----538
LV count: -----2
PV count: -----1
Total VGDAs: --2
Conc Allowed --0
MAX PPs per ---1016
MAX PVs: ------32
Conc Autovar --0
Varied on Co --0
Logical:
------0003f62a00004c00000000f52f1737c5.1 --datalv1 1
---------------0003f62a00004c00000000f52f1737c5.2
--datalv2 1
Physical:
-----0003f62a2f135f0e --------------2 ----0
Total PPs: ----542
LTG size: -----128
HOT SPARE: ----0
AUTO SYNC: ----0
VG PERMISSIO --0
3. 创建逻辑卷名对应表文件。 第一字段为VGDA区中的逻辑卷的名,第二字段为在新卷组中新的逻辑卷名,可相同也可不同;为了修复原有卷组的内容,通常逻辑卷名保持不变。
如:
#vi -/tmp/lvname
-----datalv1:datalv1
-----datalv2:datalv2
4. 在硬盘上重新创建卷组,保留原有卷组的数据结构。
#recreatevg -y
vgname ---l lv_file hdisk_name...
如:
#recreatevg -y
forrecr2 ---l /tmp/lvname hdisk2
经过上述步骤, 在hdisk2
上创建了一个卷组 forrecr2, 原有的 datalv1, datalv2 逻辑卷的内容也保留了下来。
此时硬盘的PVID与新卷组VGDA的一致。
5. 如果卷组上有文件系统,还需修改 /etc/filesystems ,使对应的文件系统的加载点与原来的一致。
############################################################################
1. root 用户可以使用命令 bootinfo 来检查。如果返回的结果是32,则当前的系统核心是32位的;如果是64,则当前的系统核心是64位的。
如:
# bootinfo -K
32
2. 普通用户可通过查看 /unix 文件的连接来确认系统的核心。
$ ls -l /unix
lrwxrwxrwx 1 root
system 21 Feb 14 2002 /unix -> /usr/lib/boot/unix_mp 此系统核心是32位的
若
$ ls -l /unix
lrwxrwxrwx 1 root
system 21 Feb 14 2002 /unix -> /usr/lib/boot/unix_64 此系统核心是64位的
另,只有64位体系结构的服务器才安装了64位的系统核心 请根据应用的需要来调整核心。
如先确认硬件体系结构是多少位的:
#bootinfo -y
64
下面给出从32位核心转到64位核心的具体步骤:
# ln -sf
/usr/lib/boot/unix_64 /unix
# ln -sf
/usr/lib/boot/unix_64 /usr/lib/boot/unix
# bosboot -ad
/dev/ipldevice
# shutdown -r
服务器重新启动后,系统核心就是64位的。
############################################################################
如果是同步I/O,当一个I/O操作执行时,应用程序必须等待,直到此I/O执行完.
相反,异步I/O操作在后台运行,I/O操作和应用程序可以同时运行,提高了系统性能.
使用异步I/O会提高I/O流量,如果应用是对裸设备进行操作,这种优势更加明显.
因此象数据库,文件服务器等应用往往会利用异步I/O,使得多个I/O操作同时执行.
1. 如何知道是否需要异步I/O?
* 执行命令:"vmstat # #" 如果"wa"值超过25%.
* 执行命令:"iostat # #" 如果"%tm_act"值超过35%.
2. 查询有几个AIO服务器: pstat -a | grep aios | wc
-l
3. 应该设几个AIO服务器?
一般为硬盘数的10倍,但不要超过80.
4. AIO驱动程序: bos.rte.aio
5. 配置AIO为可用: # smit chgaio ->
STATE to be configured at system
restart [available]
############################################################################
tar命令在备份的时候如果采用的是绝对路径,那么在恢复的时候会恢复回原路径,不能改变路径。如果在用tar备份的时候使用相对路径,那么在恢复的时候,是使用相对路径,这样您就可以换一个目录进行恢复。如果生成了绝对路径的tar备份,又必须恢复到其他目录中,那么请使用pax命令做恢复。示意如下:
1、用tar做绝对路径的备份,备份了/var下所有的文件。
# tar -cvf
/dev/rmt0 /var
2、切换到/tmp目录。
# cd /tmp
3、把磁带上用tar和绝对路径备份的内容恢复到当前路径:
# pax -s!\/!.\/!
-rvf /dev/rmt0
此时,用ls可以看到在/tmp目录下有一个/var目录,其中包含着所有的原/var目录下的所有文件和子目录。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/6901/showart_102353.html |
|