AIX 5L 教程.docx
《AIX 5L 教程.docx》由会员分享,可在线阅读,更多相关《AIX 5L 教程.docx(13页珍藏版)》请在冰豆网上搜索。
AIX5L教程
AIX5L学习大纲/简易教程
(一)
2008-06-0408:
49
1.AIX概述
AIX(AdvancedInteractiveeXecutive),是UNIX的一种,是IBMeServerpServies,RS/6000的OS。
IBMeServer服务器P系统比较出名的是“深蓝”,是RS/6000(SP机型)。
Unix诞生于1969年,由Bell实验室的Thompson,Ritchie于1971年写成第一版本。
1973年UNIX3加入C编译器,Ritchie用C重写了UNIX,发布了UNIX4版本。
1978年UNIXVer7是现代UNIXOS的蓝本。
X/Open:
UNIX标准化的国际组织,也是UNIX商标的所有者。
AIXVer1.0于1986年推出。
AIX是第一个通过UNIX98标准的UNIXOS。
RS/6000于1990年发布,使用AIXVer3。
目前,市面装机量最大的AIX版本是AIXVer4.3。
2000年——AIX5.0,支持IBMPOWER,Intel64位平台,支持64位内核。
2001年——AIX5.1L,“L”表示Linuxaffinity,也是第一个兼容Linux的UNIX。
AIX5.1L是第一个支持POWER4处理器的AIXOS。
2002年——AIX5.2L;
目前最新版本是AIXVer5.3L.
RS/6000:
RISCSystem/6000
RISC:
ReducedInstructionSetCycles(精简指令集),RISC通过硬件执行更多的指令,在同一时间周期内能执行多条指令。
RS/6000分为:
(1)经典的RS/6000:
MCA(微通道结构)总线、SCSI接口,市面上较少。
(2)基于PCI的RS/6000(PCI和ISA总线结构),型号有:
43P、F50、H50、S70、S80、p690、p670、p650等。
目前最新Power5处理器支持多线程、多内核。
三种线程模型:
(1)M:
1
(2)1:
1(3)M:
N(最有效、也是最复杂的模型)
AIXOS有两种基本运行模式
(1)KernelMode内核
(2)UserMode用户
AIX中root用户是系统的主要管理员,可执行系统范围内的任何操作。
第一个装配Power4处理器的IBM服务器是pSeries690。
(二)安装AIXOS
AIX5L支持IBMPOWERPC处理器和IntelItanium(安腾)处理器。
需要查看操作系统的版本号?
使用:
oslevel-lLevel 列出更早版本
-g 列出更新,即更晚版本
-q 列出已知
AIX版本格式:
vv.rr.mmmm.ffff
------------
|| | |+----修订(Fix)版本号OSVersion---+| |
(版本号) | +--修正(Modification)版本号
+ 发行(Release)版本号
补丁包PTF(ProgramTemporaryFix)
(1)维护包ML:
命名规则4位的VRMF
eg.4.3.1.0升级到4.3.3.0
(4310) (4330)
(2)推荐维护包RM:
VRMF-RM
eg.4330-08(其中08代表第8个推荐包)
安装AIX5L比AIX4.3多一个是否启用64位内核和JFS2支持的选项。
确定能否从PowerPC上的CD-ROM上引导AIX5L安装,使用如下命令:
lscfg-vlcd*
安装方法:
(1)全新覆盖(NewandCompleteOverrite)
(2)保留安装(PreservationInstall)
(3)迁移安装(MigrationInstall)
VG卷组(VolumnGroup)
rootvg包含基本的OS(BOS),机器从rootvg启动并将BOS加载到内存。
重新分配rootvg的空间时,必须重装BOS。
如有双硬盘,建议一个硬盘安装BOS,使之成为rootvg,另一硬盘则用于存放用户数据。
保留安装是AIX3.1或AIX4.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
Pagingspace:
lsps-a
配 置:
lscfg-vp
软 件:
lslpp-l
用 户:
who
处理器个数:
lsdev-C|grepproc
内存大小:
lsattr-Elmem0
(三)启动和关闭AIX系统
系统引导:
(1)Normal(正常)模式:
多用户模式
(2)Service(维护)模式:
单用户模式
磁带或CDROM引导系统 ---进入--》Service模式(单用户模式)
从硬盘引导系统 ---进入--》Normal/Service模式
进入SMS(SystemManagementService系统管理维护)中可修改系统引导设备列表。
系统的启动:
(1)硬件初始化阶段(ROSIPL)[ReadOnlyStorageInitalProgramLoad]
+-----------------------------+ +--------------------+
|a.内置设备自检BIST |————>> | b.加电自检POST|
| Built-InSelfTest | |Power-OnselfTest|
+-----------------------------+ +--------------------+
(仅经典RS/6000有此过程a)
(2)AIX核心初始化阶段
从硬盘引导BOS————>>AIX核心初始化————>>启动系统的初始进程/etc/init————>>init依据文件/etc/inittab的内容启动其他系统进程。
关闭AIX:
+---------------------------+
| 执行关机命令 |
|------------------------|
|shutdown,halt,reboot等。
|———>>终止系统中正在运行的进程————>>甚至使机器自动断电
|(安全) |
+---------------------------+
rc.boot:
一个Shell命令文件,是配置系统的脚本。
系统引导期间,init进程
执行它三次。
显示系统启动到现在的时间:
uptime(也可用w命令,且它的输出比uptime更详细)
RAM文件系统是引导镜像(BootImage)的一部分,完全常驻内存,包含了许多能让引导继续的程序。
系统的运行级别:
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(Tellinit:
通知init进程,被链接到init上)
用法:
init0~9,a,b,c,Q,q,s,S,m,M,N
-----------------------
(同前)| | (同前) |
| | +--发送停止带有respawn进程的信号
| |
| +---让init进程重新检查/etc/inittab文件
|
+----------------------------------------------------+
| 伪级别,仅处理/etc/inittab文件中RunLevel字段中|
|包含a,b,c运行级别的那些程序,不中断处于当前系统|
|运行级别中正在运行的进程,运行级别改变也不会关闭因|
|带a,b,c而启动的进程。
|
+----------------------------------------------------+
如:
init2多用户模式
inits单用户模式
/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命令:
维护和管理系统日志(seeP102)
odmadd:
向alog配置数据库中添加新的日志类型,默认日志类型有:
boot,bosinst,nim,dumpsymp。
alog-fLogfile[-o] 显示日志文件Logfile的内容
alog-fLogfile|[[-q][-sSize]]把日志记录到Logfile中
alog-tLogType-V 显示指定日志类型LogType参数的详细信息
alog-L 显示在alog配置数据库中的已定义好的日志类型
alog-o-tboot 查看引导信息
也可以使用:
smittyalog_show查看bootlog
安全关闭系统:
shutdown(最安全、最彻底)
(1)如/etc/rc.shutdown文件没有可执行权限,则用:
chmod+x/etc/rc.shutdown增加可执行权限。
(2)然后,可编辑/etc/rc.shutdown文件,把批处理命令写入。
当执行shutdown时,如此文件存在,就执行它,如返回非零的错误代码,shutdown就停止执行,关闭系统的工作也被终止。
shutdown-i可交互模式,提示用户一步步地关闭系统。
AIX4.2以上,/usr/sbin/shutdown命令文件中增加了:
sh/etc/rc.shutdown执行此文件中的脚本
也可使用SMIT工具关闭系统:
smitshutdown
紧急情况下停止系统:
shutdown-F(最快速度地比较安全的方式)
单用户模式用halt关闭系统。
多用户模式,只有当除root的所有其他用户退出时,halt才可执行。
halt-l 不记录中断系统运行日志
-q 快速终止系统运行
(注意:
最好不要使用halt,以免数据丢失)。
shutdown+2两分钟后关机
shutdown-r重新启动操作系统
reboot命令一般在单用户下重启系统(它会做数据同步工作)。
获得系统参数autorestart的默认值:
lsattr-D-lsys0
修改系统参数autorestart的值为true:
chdev-lsys0-aautorestart=true
查看更改后的结果:
lsattr-E-lsys0
(建议:
reboot命令也很危险,少用为妙。
)
关闭系统到单用户模式:
shutdown-m (实际上,它调用了:
init-s命令)
注意:
必须保证当前工作目录为根目录,所以常常先cd/后再调用此句。
关闭系统时记录日志
cat/etc/shutdown.log
问题:
可以在关闭系统时自动执行某个批处理吗?
启动多用户模式三阶段:
(1)ROS内核初始化阶段(ReadOnlyStorageKernelInitPhase)
(2)基本设备配置阶段(BaseDeviceConfigurationPhase)
(3)系统引导阶段(SystemBootPhase)
init进程重读/etc/inittab文件的条件(之一):
(1)init进程的子孙进程中有一个进程结束。
(2)出现电源失败信号SIGPWR。
(3)用户用init命令发出改变系统运行级别和重新检查/etc/inittab文件的信号(用telinitq或initQ)。
rootvg刚做过镜像mirror,为使hdisk1可引导系统,需要运行bosboot,然后更新bootlist。
关机的情况:
(大多数P系统服务器很少关机!
)
(1)添加新硬件
(2)硬件维护
(3)当出现严重问题时
关机的顺序与启动顺序相反:
(1)运行关机脚本/etc/rc.shutdown
(2)提醒用户
(3)关闭用户进程
(4)停止系统服务进程
(5)卸载文件系统
(6)停止服务器
(7)如果有用-r参数,则重启系统。
(四)系统管理工具SMIT
SMIT:
SystemManagementInterfaceTool
Smit两种界面
(1)字符方式
(2)图形方式(必须系统运行在图形方式下,需要使用鼠标)
切换方式:
在图形方式下,打开一个dtterm终端窗口,以命令行提示符方式输入smitty,进入文字方式
在图形方式下<如从CDE登录,或由xinit进入>,在dtterm或xterm,aixterm图形终端窗口的命令行下,输入smit,就进入smit的图形界面。
SMIT运行时生成两个文件:
smit.script和smit.log。
smit.script是一个可执行的shell程序文件,它自动记录SMIT生成带有参数的命令。
对初学者来说,要安全使用SMIT,防止误操作而对系统造成破坏,可使用-x或-X参数,但只能对SMIT菜单和其他界面进行浏览,不能执行命令。
SMIT的日志文件:
smit.log 记录所访问的所有菜单、对话内容、所执行的命令及输出结果,如smit会话中出现错误,则错误也会记录。
smit.script记录所有通过SMIT菜单执行的AIX命令。
smit.transaction记录所有通过SMIT菜单执行的AIX命令及其命令的说明。
(五)对象数据库管理器(ODM)
ODM:
ObjectDatabaseManager
ODM是一组用于管理面向对象数据库的程序和命令。
ODM提供一些类似SQL语法的命令,来存取系统对象类数据库。
ODM数据库信息存放于以下三个目录中:
(1)/etc/objrepos 不能网络共享:
用户设备定义类和用于SWVPDroot部分的四个对象类
(2)/usr/lib/objrepos可共享,但只能被AIX系统共享,并且是只读的
(3)/usr/share/lib/objrepos可共享,不依赖于AIX。
保存着用于SWVPD可安装产品的usr/share部分的四个对象类。
最基本的组件是对象类(ObjectClasses)和对象(Object)。
VGDA:
在ODM上的设备配置信息,也称VGDA数据,包含了所有的物理卷(PV)、卷组(VG)和逻辑卷(LV)的配置信息。
ODM主要管理和维护的系统数据有:
(1)设备配置信息
(2)SMIT工具相关信息
(3)软件安装更新信息
(4)网络通信配置
(5)系统资源
但不负责:
(由传统UNIX的文本方式保存)
(1)文件系统信息
(2)安全信息、用户信息
(3)打印假脱机信息
ODM数据库的对象类(六种)
(1)预定义设备信息:
PdDV,PdAt,PdCn
(2)用户定义设备信息
(3)软件信息:
history,inventory,lpp,product
(4)SMIT菜单
(5)日志信息
(6)网络安装管理器
ODM命令
(1)设定$ODMDIR环境变量:
exportODMDIR=/etc/objrepos
(2)从ODM数据库中检索符合条件的对象:
odmget[-q"条件"]对象名称
条件语句(记住用双引号括起):
Namelike'?
B?
' ?
表示一个字符
Namelike'*ot*' *表示0到多个字符
Namelike'[ST]*' [ST]*表示以“S”或“T”开头的任意多个字符串
Namelike'[AD-GST]*'D-G表示范围,可以是D、E、F、G(从D到G)中任一字符。
Namelike'[!
ST]*' [!
ST]*表示不以“S”或“T”打头的任意字符串
与SQL语句类似,查询条件中还可以使用=,!
=,>,>=,<,<=,like,and。
eg.odmget[-q"uniquetype=tape/scsi/8mmandattribute=block_size"]PdAt
如省略关键字-q及条件(引号内的部分),则显示指定对象类(PdAt)中的所有对象(这是不指定条件的情形)
(3)从指定对象类中删除符合指定条件的对象:
odmdelete-oObjectClass[-qCriteria]
(4)添加对象:
odmadd[InputFile...]
输入文件名(可以是多个)
当只使用odmadd时,则从标准输入(stdin)读取数据。
(5)修改指定对象类中某个符合条件对象的内容:
odmchange-oObjectClass[-qCriteria][InputFile]
(6)显示指定对象类的定义结构:
odmshowObjectClass
eg.odmshowCuDv
(7)删除一个对象类:
odmdrop-oObjectClass
注意:
如其他对象类连接到这个对象类上,亦不做检查而直接删除;删除此对象类时,同时也删除其中的所有对象。
(8)创建一个新的对象类:
odmcreate[-p][-c|-h]ClassDescriptionFile(如:
a)
| || |
| || | +----------------------------------------+
| || +---------| ASCII文件名(描述新对象类的结构),根|
| || |据它的结构:
|
+----------------+ |+------------------+ |(a)产生如a.cre(人工加,否则自动加)的文|
| 对a文件运行c| ||只产生.c和.h文件,| |件名; |
|语言预处理程序| ||不产生空对象类。
| |(b)执行结束后产生一个a.h(c语言定义)和|
+----------------+ |+------------------+ |一个包含新对象类结构和定义的a.c文件。
|
+ |(c)a.c经过编译,可连接到应用程序。
应用|
+-------------------------------------+ | 程序运行时,在ODM内部使用这些结构及|
| 只产生空对象,不产生.c和.h文件 | | 定义。
|
+-------------------------------------+ +----------------------------------------+
举例:
把磁带机上的block_size属性值从1024改为512。
(a)odmget-q"name=rmt0andattribute=block_size"CuAt>tapeattr(存入tapeattr文件中)
(b)vitapeattr (用vi修改tapeattr文件并保存修改结果并退出vi)
(c)odmchange-oCuAt-q"name=rmt0andattribute=block_size"tapeattr(