购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 AIX:一种成熟的UNIX

AIX 全名为Advanced Interactive Executive,它是IBM公司主要用在RS/6000 系列服务器上的UNIX操作系统。AIX系统的设计,从主机硬件、网络、存储到虚拟性设置,整个操作系统完全遵守开放的原则。

IBM 的AIX UNIX是目前操作系统中应用最为广泛的一种,主要用于应用系统中关键数据计算和处理部分,如运行大型数据库Oracle、Sybase、DB2、UDB等,以及类似于Oracle iAS、WebLogic等中间件应用。其包含的诸多大型机特征,如系统完整性、可管理性、可用性、组件化等特征,更为关键业务用户所津津乐道——国内大量的银行体系应用系统、电信系统等高IT水平应用都采用这类系统就已经用事实说明了一切!

AIX UNIX是一种运行在RISC技术下的拥有先进内核技术和最好开放性的系统。从RS/6000 服务器商业化开始到今天的短短十几年时间内,AIX在IBM p系列服务器上已经拥有了广泛的运用。依托IBM 在计算机体系结构和操作系统技术上数十年的丰富经验,AIX最大限度地使用了RISC技术并成为顶尖的UNIX操作系统之一。

AIX在遵循了主流UNIX标准的同时,还开发了极具个性的独特技术分支——可以随时动态扩充和链接的内核(Kernel)、使用了功能强大的逻辑卷存储管理(LVM)、一种集成数据库日志技术的可靠日志文件系统(JFS/JFS2)和面向对象的对象管理数据库(ODM)。不仅如此,让AIX久负盛名的系统管理工具SMIT(System Management Interface Tools)可以完成几乎所有的管理工作,避免了复杂的UNIX指令。不仅如此。AIX的HACMP(High Availability Cluster Multi-Processing)也使系统具备了绝佳的可靠性,支持高可用应用系统的热备集群结构PowerHA和并行集群结构(Oracle RAC)。

AIX于 1986 年 1 月推出,到本书截稿为止的最新版本是AIX 7.1。目前,生产系统中大部分运行的是AIX 5 L 与AIX6.1 版本,当然还会有小部分的AIX 4.3 版本。AIX 是基于标准的开放操作系统,AIX 5 L 中的 L 表示扩展Linux支持,主要版本支持 32 位和64 位。AIX(5L、6.1、7.1)主要运行在IBM eServer 等RS/6000 系列服务器产品上。

AIX可以拆分成如下几部分:

■ AIX存储组织结构;

■ AIX虚拟内存管理;

■ AIX文件系统结构;

■ AIX用户访问机制;

■ AIX设备管理方法;

■ AIX网络通信管理;

■ AIX各种服务提供;

■ AIX系统管理接口。

下面,我们分为若干节来描述上述的内容,进一步了解AIX系统。

1.1.1 AIX系统构成要素

在AIX中,模块化是其构架基础。通过把各功能及组件结构分离,AIX具有了很高的灵活性。用户可以动态地添加额外功能、替换模块、删减无用构件,而无须对整个系统进行改造。

作为一种商业化UNIX应用平台,AIX结合了System V和BSD的诸多精髓,成为目前服务器平台极具竞争力的主流UNIX。其主要模块符合UNIX的层次结构,具有如图1-1 所示的属性。

图1-1 AIX层次结构

在如图1-1 所示的结构中,Shell用于为内核解释用户发出的命令(应用系统所发出的命令),而内核(Kernel)则是一组函数库,包含了一系列低级指令,用来控制计算机系统的运行。例如,数据在系统中的移动操作、调度CPU(处理器)中的任务、进程运行管理和虚拟内存资源管理等。

提示: 事实上,目前业界中所有主流的UNIX,包括HP公司的HP-UX、Sun微系统的Solaris、开源的Linux 2.4/2.6,都有类似的Shell结构,不仅AIX如此。

1.内核、Shell与文件系统

由于内核的复杂度和专业性,AIX用户直接进行内核操作基本没有可能,都是通过使用Shell的交互或者CDE桌面环境,再通过内核把这些操作翻译成硬件能够理解和执行的指令,最后交由硬件执行。

内核的运行完全在幕后进行,内核(AIX Kernel)本身就是一套程序,只是不属于用户运行的程序,且不会在任何进程列表中显示——它是支持其他程序执行的程序。

那么,内核是如何知道该为哪些用户执行哪些工作呢?这就需要Shell了。当用户登录AIX时,AIX就已经启动了一个服务于这个用户的Shell。该Shell会把用户执行的命令解释成一组系统调用,或者说内核可以理解和执行的命令。所有的这些系统调用,是众多函数的集合,不能由用户直接使用,更不能用于交互式运行。

通过系统调用这个抽象层的封装,AIX系统不但实现了模块化的结构,也防止了用户直接访问内核,从而对系统造成破坏。

因此我们可以这样总结:Shell就是命令解释器。当我们发出AIX命令时,Shell会解释为某种系统动作。例如,如果用户要启动运行Oracle数据库,Shell会告诉内核,通过I/O子系统从硬盘中找到Oracle二进制文件,读取这些Oracle二进制文件后将之装入内存。同时在物理内存中申请共享缓存区域(内存结构),调度CPU时间片段派生出Oracle后台进程。然后,Oracle数据库系统开始运行,并接管用户的数据库请求。

不能将Shell仅仅看成一个命令解释器。Shell本身由一种完整的编程语言构成。我们可以使用这个编程环境编写程序。通常我们称这些程序为命令脚本,它由多条Shell命令和程序控制结构组成,在Shell下作为一个程序单元运行。

事实上,Shell脚本用于控制系统中的大多数处理,从系统的启动到关闭。Oracle数据库中就有一段非常著名的传统脚本“dbstart”和“dbshut”。这两个脚本分别用于Oracle数据库的启动和关闭。另外,在RAC集群中,Oracle也提供了一段新脚本“crs_stat”,可用于集群数据库系统的状态查看和状态管理。

例如下面的dbstart脚本片段:

脚本化操作往往是我们对系统管理员的要求——把常用操作变成脚本,实现脚本化运行,一则保证正确性,二则提高工作效率。

随着UNIX产品和技术的不断成熟,目前常用在工程环境下有若干种各具特色的Shell系统,并彼此有一定程度的区别。最普通的Shell也许就是Bourne Shell。Bourne Shell在系统中称为bsh,具有相当大的灵活性和强大的功能。另外两种流行的Shell分别是Korn Shell(ksh)和zShell(zsh)。这些Shell在语法上非常相似,但ksh和zsh都对Bourne Shell进行了改进,AIX中默认的Shell为ksh。

在AIX(或者说UNIX)中,文件是操作系统中极为重要的部分。站在Shell的角度,计算机系统中的任何一部分都是文件——程序是文件,目录是文件,硬件也是文件!由于Shell把所有内容都看作为文件,因此一个有效管理的文件系统也就成了AIX中不可缺少的组成部分。

内核、Shell、文件系统构成了AIX系统的主体。但仅有这些还是不够的,必须还要有能提供业务服务的应用系统才行——否则要操作系统做什么!AIX作为一种良好的服务器平台,可以运行数据库应用——如Oracle、DB2 UDB等数据库系统、SAP等ERP系统、Kinde金蝶财务等应用系统。本书将讨论的就是如何在AIX系统上运行Oracle这个“应用系统”。

提示: 在这一点上,各主流版本的UNIX稍有不同,如Linux 2.4/2.6 就采用了bsh作为默认的Shell,而且众多的AIX用户也喜欢使用Linux的bsh,即便是在AIX环境下。

2.AIX逻辑卷管理器(LVM)

在传统的UNIX系统中,使用磁盘前,首先要根据预期的文件系统大小在磁盘上创建对应大小的磁盘分区,然后将文件系统建立在该分区上。

由于分区创建时,一个分区必须占用磁盘内的连续空间,即从一个柱面到另外一个柱面,因此文件系统最大也不能超过其物理磁盘容量。再后来出现了磁盘链接技术,将不同的物理磁盘链接在一起,成为逻辑磁盘。在创建分区时,分区可以跨越多个磁盘。这种方法提高了磁盘的容量,不仅如此,系统I/O性能也因此获益,因为多磁头同时进行硬盘访问可以提高随机存取的速度。这在产品环节中通常称为RAID存储方式。

在目前稍具规模、略有高可用需求的数据库系统中,RAID磁盘存储设备都是不可缺少的一分子!

然而还存在其他问题——生产系统中如果存储容量上还需要扩展(如扩大文件系统),则系统必须停止运行,通过重构分区的手段来进行分区扩容和文件系统扩容。一般采用的方法是备份该文件系统后删除分区,然后重构更大的分区,再重构文件系统,最后将数据装载回来。在此期间,所有应用系统的服务必须停止,这会给支撑关键业务的数据库系统造成很大的维护困难。

AIX系统完美地解决了这个问题。通过LVM(Logical Volume Manager,逻辑卷管理器)——一个介于应用与硬件之间进行存储管理软件层,文件系统不再需要直接建立在磁盘分区上,而是可以建立在逻辑卷(Logical Volume)上。由于逻辑卷是一个指向若干物理分区(Physical Partition)的集合,因此,它可以跨越多个物理磁盘。

站在逻辑卷的角度上看,其数据块是连续的。但站在物理磁盘角度,一个逻辑卷所包含的物理分区却是离散的。只要有空余的物理分区并将之添加到逻辑卷这个“集合”中,逻辑卷就得到了空间的扩充,如图1-2 所示。

图1-2 物理磁盘到逻辑分区的映射关系

另外,应用程序对逻辑卷不进行直接的物理存储操作,只进行独立于物理设备的逻辑分区存储操作。这些逻辑分区存储操作将由逻辑卷管理器(LVM)完成,LVM将逻辑上的存取操作提交给内核进行物理磁盘操作。当然,至于其内部如何操作,这是LVM的事情,或者说属于AIX的知识版权,我们不必管它。

因此,通过AIX逻辑卷管理器的存储管理,诸多传统UNIX存储方面的问题得以解决:

■ 逻辑卷可以使用不连续的物理空间,并且可以动态调整其容量。

■ 通过镜像技术,逻辑卷提供了数据访问的性能改善和关键数据的高可靠性。

■ 通过损坏数据块的映像重构,逻辑卷具有了自发检测和修复能力。

■ 通过支持SMIT工作环境,LVM磁盘管理简单而快捷。

提示:在这一点上,UNIX的另外一个强有力版本HP-UX采用的逻辑卷管理方式和AIX相同,也是遵循磁盘→卷组→逻辑卷→文件系统的模式。在Linux 2.6内核环境以后,逻辑卷管理方式开始大面积推广使用。这就有力证明了逻辑卷管理器在工程中的可实施能力和作用。

3.日志文件系统(JFS/JFS2)

作为一种主流UNIX,AIX同样提供了文件系统的功能。在AIX中,创建在逻辑卷上的文件系统挂载在目录树上,用户可以通过这个目录树方便、快捷地管理文件并使用磁盘空间。这个目录树按照分层结构组织,形成一棵倒置的树。各种不同的程序模块在该文件树中按目录分组,形成AIX与其他UNIX类似的文件系统结构,如图1-3所示。

图1-3 AIX文件系统结构

如图1-3 所示,AIX文件系统的最高层称为根目录,以“/”表示。其下的所有目录都被看成“/”下的子目录。子目录中既可以放置文件,也可以创建下一级的目录结构。系统启动后,文件系统的挂载情况如下。

注意其文件系统(vfs列)类型。在AIX中,AIX一般支持五种类型的文件系统:

■ 扩展日志文件系统(Enhanced Journaled File System,JFS2),一种AIX本机支持的文件系统,例如上面的/home文件系统。

■ 日志文件系统(Journaled File System,JFS),一种AIX本机支持的文件系统。

■ 网络文件系统(Network File System,NFS),指通过RPC(远程过程调用)允许文件保存在远程NFS服务器上。详细内容参见本书第12章中Oracle使用NFS安装RAC的相关描述。

■ CD-ROM文件系统(CDRFS),允许CD-ROM的内容通过通用文件系统界面进行访问。

■ GPFS文件系统(CFS),允许AIX集群运行环境中并发访问的集群文件系统(需要单独安装GPFS Bundle),例如上面的/flash文件系统。详细内容参见本书第 12章中Oracle使用GPFS安装RAC的相关描述。

传统的UNIX系统并不能保证在系统故障后不损失文件,尤其在文件处于“动态”的变化中。AIX集成了数据库日志技术,当文件发生更改后,首先在一个日志中记载文件结构信息的变化,然后再进行文件内容的变化。

这个日志就是JFS log,用于记录文件系统的结构信息(元数据)变化的日志。文件系统发生崩溃事故后(如数据不一致等错误),AIX将使用这个日志来恢复文件系统。AIX安装之初系统默认创建的文件系统日志设备(JFS Log)是逻辑卷 /dev/hd8。当管理员后期创建新文件系统时,还可以创建其他的日志设备。

这样,日志化的文件系统由于借鉴了数据库保护数据的技术,以日志形式记录了文件的变化,确保了系统在任何时候都能够维护数据的可恢复性。这就是AIX的JFS。JFS2是JFS的增强版,JFS2 使AIX中的文件系统可以具有更大的容量和动态可管理性。

提示: HP-UX采用的也是类似的JFS,称为Veritas文件系统(VxFS)。VxFS是一种扩展的日志文件系统,同样提供了快速的文件系统恢复能力、联机备份能力、联机重组能力等。其日志结构中包含了最近对文件系统数据结构的修改日志,用于执行文件系统恢复中的回滚和前滚。

但是,HP-UX中自带的是基本的JFS,联机JFS需要单独的软件安装和授权。

其他的文件系统类型(如NFS、CDFS)在HP-UX中同样支持。

HP-UX中还有一种文件系统称为HFS,但目前较新的HP-UX(Oracle 11i以后),HFS已基本不再使用,在默认情况下仅/stand文件系统采用了HFS。

Linux(Red Hat)的主要文件系统是同样采用日志技术的ext3、ext4 文件系统。

4.系统管理界面工具(SMIT)

对于熟悉AIX的用户来说,也许AIX能让人过目不忘的,就是SMITTY这个简单的工具!

SMIT/SMITTY,全称为System Management Interface Tool,是AIX系统用于系统管理的工具环境。它以功能菜单的方式提供给AIX用户一个管理接口,以完成相应的系统管理功能。

SMIT工具有两种工作环境:ASCII字符终端界面环境和AIX图形终端界面。使用ASCII字符终端时,在 # 命令行环境下执行smit命令或smitty命令都可以进入到SMITTY工具的主菜单。如果是图形终端,则调用smit命令进入图形界面的SMITTY主菜单项,这里支持鼠标下的操作。

SMIT工具简单易用,且菜单覆盖系统管理的绝大多数功能。如图1-4 所示的SMITTY备份功能菜单项,它涉及了AIX几乎所有的备份功能。

图1-4 AIX中SMITTY菜单工具示例

SMITTY不仅提供了直截了当的、简化的系统管理环境,还通过两个日志文件(smit.log和 smit.script)记载了用户所做的所有smit操作。

这就给了我们一条命令和脚本的生成捷径——利用SMITTY脚本文件生成我们自己的脚本文件——这何其方便!

提示: 其他UNIX平台在管理工具上也各具特色。HP-UX采用了SAM工具,Linux则有一个很不错的管理环境YAST(需要单独下载和安装)。如图1-5 所示的是SAM在CDE环境中的管理界面。

图1-5 SAM在CDE环境中的管理界面

从下一节开始,我们将逐项浏览AIX的构成,进一步了解AIX系统。

1.1.2 登录AIX系统

一般我们可以使用AIX系统两种类型的用户界面:AIX通用桌面环境(CommonDesktop Environment,CDE)图形用户界面和基于终端的命令行界面。AIX CDE 以X窗口系统为基础(UNIX中的X窗口系统,简称X,是一种网络窗口系统),允许用户通过图形方式来存取网络设备和工具,用户只要简单地通过鼠标拖放和单击对象即可,无须知道它们的具体位置。AIX CDE的功能类似于Windows系统的桌面。

但是显然地,此桌面非彼桌面。和Microsoft Windows相比,AIX CDE则显得初级且简单。但是作为一个服务器平台,漂亮的桌面有什么用呢?计算能力才是真正的能力!很多AIX用户甚至屏蔽了桌面的使用,腾出系统用于运行桌面(CDE Desktop)的资源,用于关键业务的使用。

CDE通过下面的界面登录系统。输入用户名和口令后,即会进入到AIX CDE环境,如图1-6 所示。

图1-6 AIX系统CDE登录界面

AIX验证输入的用户名和口令匹配之后,即会进入AIX CDE环境,如图1-7 所示。

图1-7 AIX系统CDE工作环境

提示: 如果你熟悉其他的UNIX,那么,你对这个环境会极为熟悉——几种主流的UNIX CDE如出一辙。如图1-8 所示的是HP-UX的CDE环境,你能找出它们的区别吗?

图1-8 HP-UX的CDE环境

命令行界面则是字符界面,即基于命令行管理的表现方式,单击图1-9 中的Terminal菜单项,即可以进入如图1-9 所示的命令行终端界面。

图1-9 命令行终端界面

在这个界面的控制台命令行下,我们就可以完成所有的AIX管理任务和维护任务,包括命令的输入和执行及SMITTY的使用等。

1.1.3 RS6000 服务器结构

下面,让我们从三个不同的角度,来了解在RS6000 服务器上运行AIX和Oracle数据库时,所使用的硬件及软件环境,进一步认识这台服务器“是什么”。

1.服务器硬件结构

首先来熟悉这台服务器的物理结构、设备构成和操作系统的特征。在命令行终端界面中,使用一个AIX专用命令prtconf,来输出这台AIX服务器的物理构造信息,如下所示:

通过prtconf命令,我们可以得到关于AIX主机的结构特征状态,并了解其硬件构成。另外,AIX还有一个lscfg 命令可以用来列出系统中的设备信息。该命令显示了设备名称、设备位置和在当前配置中找到的每个设备的描述,并按照设备位置排序。该命令输出类似prtconf命令的后半段,显示了已安装的资源列表及不支持诊断的设备列表。下例是另外一台RS6000 服务器运行AIX6.1 时的配置输出:

和prtconf命令类似,我们可以看到这台机器的配置结构,包括板卡、适配器、磁盘、磁带机、光驱、网卡、各种端口、处理器等信息。该设备列表不仅根据设备位置进行排序,它还显示了设备结构排序中的父子关系。

提示: 在HP-UX中,也有一个类似的命令ioscan来查看系统硬件结构和属性:

2.服务器设备属性

要显示有关特定设备的信息,查看某个设备的配置,可以使用lscfg命令的-l参数。在AIX中,-l参数很多时候特指逻辑设备(logical)。例如,要列出有关设备hdisk0 的信息,在提示符下输入如下的命令:

如果需要取得产品部件号、序列号和设计更改级别等信息,则可以使用lscfg –v(v表示VPD)参数,执行命令如下:

在AIX中,系统设备、驱动程序的配置信息存储在一个称为ODM数据库的数据结构中。ODM的全称为Object Database Management,负责管理和存放系统信息、设备配置信息等。ODM数据库包含两部分内容:Predefined库(预定义对象类数据库)和Customized库(用户定制对象类数据库)。预定义对象类数据库,简称预定义库,包含了AIX所支持的所有设备对象。而用户定制对象类数据库简称定制库,则包含了系统中实际存在的设备。

很多AIX管理员喜欢称预定义库(Predefined库)为大P库,而定制库(Customized库)为大C库。ODM在一定程度上类似于Windows系统的注册表。

所以,查看系统中设备的详细信息,需要首先明确要查看的是预定义设备信息,还是系统当前正在驱动的设备信息(查看预定义库还是定制库)。AIX中的lsdev命令可以用来查看设备信息。下面的命令查看预定义库中设备信息(-P参数),带有标题行显示(-H参数),结果如图1-10 所示。

图1-10 查看系统预定义库中的设备信息

下面的命令查看定制库中设备信息(-C参数),带有标题行显示(-H参数),结果如图1-11 所示。

图1-11 查看系统定制库中的设备信息

如果查看某个设备大类的属性,则应使用带有-c选项的lsdev命令。下面的命令显示定制库中所有处于可用状态的适配卡情况,输出结果如下:

查看设备细节属性,则AIX的lsattr命令必不可少。该命令显示了设备的属性和可能的属性值,该命令的两个参数-D和-E分别显示了设备的默认值和当前设定值。下面的命令显示了本机上磁带机的默认属性(数据块尺寸、是否压缩、数据密度、是否磁带张紧等属性)和当前值,如图1-12 所示。

图1-12 磁带机设备的默认属性和当前属性设定

提示: 其他的UNIX环境也都有类似的命令执行同样的操作。如对于HP-UX来说,ioscan命令就可以完成类似的查询和设置。

3.服务器安装环境

关于AIX系统的安装环境信息,则可用uname命令进行查看。关于操作系统版本信息,则使用oslevel命令来查看。在下例中,我们显示了一台AIX5L主机与另一台AIX6.1 主机的安装基本信息和AIX版本信息:

那么,在AIX系统中究竟安装了哪些程序呢?AIX的lslpp命令可以用来列出AIX中当前可用的软件安装信息。下面我们列出在系统中已安装的所有软件产品,在系统提示符下输入lslpp -l -a命令:

对于Oracle 10gR1、R2 基础数据库环境来说,如下的软件包必须已经安装:

■ bos.adt.base;

■ bos.adt.lib;

■ bos.adt.libm;

■ bos.perf.libperfstat;

■ bos.perf.perfstat;

■ bos.perf.proctools;

■ xlC.aix50.rte:7.0.0.4 或更高版本;

■ xlC.rte:7.0.0.1 或更高版本。

对于Oracle 11gR1、R2 基础数据库环境来说,下面的软件包必须已经安装:

■ bos.adt.base;

■ bos.adt.lib;

■ bos.adt.libm;

■ bos.perf.libperfstat;

■ bos.perf.perfstat;

■ bos.perf.proctools;

■ xlC.aix50.rte:8.0.0.3 或更高版本;

■ xlC.rte:8.0.0.0 或更高版本。

如果不能查到上面的文件集,则需要首先安装上述文件集,然后才能进行Oracle的工程实施。文件安装过程请参见后面的章节。

如果要查询某台机器上已安装的应用所对应的修补安装情况,则可以通过instfix命令查询出来。下例查询本机中安装的APAR(紧急修补)信息:

般来说,生产系统中安装的AIX修补包会很多。例如,对于要安装到AIX 5L v5.3 的Oracle 10g基础数据库环境来说,如下的修补包必须已经安装(其他的Oracle组件会有其他要求):

■ IY58143;

■ IY59386;

■ IY60930;

■ IY66513;

■ IY70159;

■ IY68989。

而对于要安装到AIX 5L v5.3 的Oracle 11gR1、R2 基础数据库环境来说,如下的修补包必须已经安装(其他的Oracle组件会有其他要求):

■ IY89080;

■ IY92037;

■ IY94343;

■ IZ01060;

■ IZ03260。

这里有一点内容需要确认:在一套具体的生产环境下,上面修补列表未必真正需要安装,原因有以下要点:

■ 用于安装AIX的系统盘已经包含了该补丁程序(高维护级别活技术级别的AIX安装盘),因而不必再次安装;

■ 该补丁程序的安装可能会带来冲突。

因此,还是建议在系统构建前先进行必要的确认,方法是通过Oracle的support.oracle.com网站获得针对某个具体RS6000 主机型号、AIX版本和技术级别(ML&TL)、Oracle版本,明确所需要的修补。

下面的内容即来自于Oracle的support.oracle.com网站,该网站列出了Oracle11gR2版本的安装基本条件。

6.1 / 5.3 ML5 需要的软件版本(对于Oracle11.2):

上述内容来自于support.oracle.com网站中的技术文档 169706.1,该文档显示如图1-13 所示。

图1-13 Oracle的支持网站

上述文档的名字是:Oracle Database on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2) [ID 169706.1]。

提示: 在其他的UNIX环境中,用于工程实施Oracle的环境也都需要类似的文件集增补操作和补丁修复操作。

如对于HP-UX来说,安装Oracle往往需要安装HP-UX Quality Pack(GOLDQPK11i),同时需要类似于PHNE_31097、PHSS_31221、PHSS_32508、PHSS_32509 、PHSS_32510 、PHSS_30970 、PHSS_32731 、PHCO_31312 、PHCO_30275、PHNE_28923 等修补。

对于Linux,则往往需要gcc、libaio、Oracle ASM、Oracle OCFS等相关模块的下载和安装。

所以,研究硬件、软件安装环境的匹配性,并进行必要的增补,往往是不可跳过的操作步骤。

1.1.4 AIX系统管理界面

AIX中除了传统的基于终端的命令行界面管理之外,还有两种方便易用的管理环境:SMIT和WSM。

SMIT称为系统管理界面工具,是一个基于菜单项导航的管理界面工具。通过使用菜单、选择器和对话框,逐步接近和找到希望完成的任务,从而跳过命令行复杂的命令语法和参数。SMIT功能能够执行如下的操作:

■ 安装、更新和维护软件包、修补文件;

■ 硬件设备的定义、配置、添加和删除;

■ 管理存储,基于磁盘→卷组→逻辑卷管理方式;

■ 建立文件系统和文件系统的扩展、挂载、属性定义等;

■ 换页空间的管理,创建、删除、设置换页空间;

■ 安全管理,用户和组的创建、维护等管理;

■ 配置网络和通信;

■ 打印配置;

■ 查看系统日志、确定执行中出现的问题;

■ 作业的调度和运行;

■ 管理系统资源和工作负载;

■ 管理系统环境、设置环境参数;

■ 管理HACMP群集系统数据。

SMIT有两个版本:SMIT和SMITTY,其中SMIT运行在AIX Windows下,SMITTY运行在控制台下。在控制台下以root用户的身份执行smitty命令即可进入到SMITTY工作环境,如图1-14 所示。

图1-14 SMITTY工作环境

WSM称为基于Web的系统管理器,是运行在Java上的一个桌面应用。它为AIX管理员提供了一个强大的图形用户界面,用来管理网络中的AIX主机,而不仅局限于本机。通过WSM系统管理器,我们可以管理SMIT工具能够管理的大多数内容,而且,WSM还支持系统事件的动态监视和管理员通知。

由于WSM是一种桌面应用,因此在该界面上我们可以实现鼠标下的UNIX管理。此功能可以作为SMIT工具的一种管理备选方案。使用WSM,只需要在控制台下执行wsm命令即可,如图1-15 所示。

图1-15 WSM工作环境

另外,如果需要,WSM工具还可以制作为Windows、Linux上的安装包,并安装到对应平台上来,进行网络上的WSM管理。如图1-16 所示,即是WSM运行在Windows环境下的状态。WSM启动后,其界面和UNIX端WSM工具无异。

图1-16 WSM的Windows客户端

1.1.5 AIX中使用的Shell

Shell是在UNIX中提供人机交互式的接口。Shell的下一层就是AIX的内核,而Shell的上一层即为用户的访问命令。在AIX中,用户主要可以使用三种主要的Shell,分别是Bourne Shell(sh)、C Shell(Csh)和Korn Shell(Ksh)。其中IBM默认采用的Shell是Ksh。由于它对Bourne Shell兼容且与Csh的特性一致,因此具有独到的吸引力。当然,如果用户熟悉Linux,也可以下载和使用具有Linux特征的Bourne Shell。

一个用户会话的Shell环境变量,指向的就是当前采用的Shell类型,我们用echo命令来输出这个环境变量:

那么,AIX上的用户定义中,所使用的Shell是哪一种呢?我们可以查看/etc/passwd文件来获得信息。在/etc/passwd文件中,每一行表示一个用户,每行最后的一个属性即为这个用户的Shell定义。注意下面Oracle、Sybase用户所使用的Shell:

上面的结果表明,Oracle和Sybase用户的默认Shell都是Ksh。

1.1.6 AIX存储组织结构

AIX使用分层结构的方式来管理物理存储。对于加载到系统的每一块磁盘,AIX称之为物理卷(Physical Volume,PV),每个单独磁盘都会在/dev目录下有一个名称(设备文件名)与之对应,如/dev/hdisk3,我们称之为逻辑设备文件。AIX并不直接使用物理磁盘,而是把物理磁盘组织为不同单元,每个单元称为一个卷组(Volume Group,VG)。在这个单元中,所有物理磁盘都会被划分为相同大小的物理分区(PP),其结构如图1-17所示。

图1-17 物理磁盘的逻辑划分和组合

图1-17 中的存储结构表明了如下的存储定义关键特征:

■ 磁盘驱动器是用于存储的真正物理介质,AIX称之为物理卷(Physical Volum,PV),标记以hdisk2、hdisk3 等逻辑设备名称。对于外接的存储设备(磁盘阵列)而言,磁盘驱动器可能是磁盘阵列输出的一块逻辑盘。

N 个物理卷构成卷组(Volume Group,VG)来使用,一个物理卷只能归属到一个卷组,无论这个物理卷属于何种设备类型,SCSI盘也好,SSA盘也好,iSCSI盘也好。

■ 在定义卷组的过程中,需要指定卷组内磁盘空间的分割方式——物理分区(Physical Partition,PP)大小。这个尺寸将用于逻辑卷(Logical Volume,LV)的定义中。逻辑卷(LV)就是一个卷组中若干物理分区(PP)的集合,其基本单位是逻辑分区(LP),逻辑分区(LP)对应于物理分区(PP)。

■ 逻辑卷(LV)用来存放用户数据,数据可以通过文件系统(File System,FS)方式(一般服务于文件处理系统)或者裸设备方式(一般服务于数据库应用,称为raw设备)进行存储。

■ 文件系统(FS)是一种结构化和层次性的文件组织形式,具有目录和文件的形式。

从图1-17 中我们可以看到两块物理磁盘被集合成一个卷组,这个卷组按照统一的物理分区(PP)大小被划分为若干物理分区(PP)。

现在来查看下面的系统。在本例中,系统当前拥有的物理磁盘共 8 块,设备文件名分别从hdisk0~hdisk7,其中hdisk0 和hdisk1 属于一个卷组“rootvg”,该卷组处于激活状态;hdisk2~hdisk6 属于另外一个卷组“datavg”;还有一块磁盘hdisk7 不属于任何卷组,hdisk7 甚至还不是一个PV(还没有PVID编号)。以root用户的身份登录,在一个终端中执行如下的命令:

上面的结果显示第二个卷组datavg由hdisk2~hdisk7 构成,目前没有激活。AIX允许卷组处于激活或未激活状态。卷组状态的改变可以使用varyonvg和varyoffvg命令来实现。下面将datavg激活:

现在可以查看激活卷组信息了,使用lsvg命令可以列出系统中的卷组信息,-o选项则指明激活卷组信息:

空闲磁盘hdisk7 目前还不能使用,因为该磁盘没有PVID(物理卷的ID)。使用下面的命令可以为磁盘创建PVID或删除PVID:

生成PVID时,AIX将使用自己的序列号和时间来生成PVID,以确保不会出现与PVID相同的磁盘。查看物理卷的细节,可以使用如下命令:

卷组定义的详细信息也可以获得,下面的命令查看了卷组rootvg的信息:

上面的显示结果表明:卷组的名字为rootvg,其物理分区的划分单位是 16MB,按照 16MB的尺寸划分了 1084 个物理分区。该卷组由两块物理磁盘构成,当前处于激活状态,可读写。整个卷组上定义了 10 个逻辑卷,其中 9 个逻辑卷已被打开。

该卷组将在启动时被自动激活,最多可以有 32 个物理磁盘。在向卷组添加磁盘的过程中,卷组最多可以扩展出 32512 个物理分区(定义不同类型的卷组可以有不同的限制),每块磁盘中最多可以有 1016 个物理分区,卷组未设置热备磁盘,逻辑磁道组为256KB。

卷组属性中的VG DESCRIPTORS属性称为卷组描述区。卷组描述区(简称VGDA)是磁盘上的一个区域,用来存储该磁盘所在卷组的定义信息,以及该卷组上定义的所有逻辑卷属性和状态。

每个物理卷至少有一个 VGDA,一个卷组内的所有磁盘都具有的完全相同的VGDA信息。对于两块盘构成的卷组来说,默认会有三个VGDA——一块磁盘一个VGDA,另外一块则有两份VGDA。

使用卷组这种手段可以有效解决磁盘使用中的磁盘组合问题,使得操作系统在空间使用方面跳出了磁盘容量的限制。取代物理磁盘的正是卷组这种逻辑结构,其大小即为卷组内磁盘容量的和。

在卷组定义后,AIX使用卷组的方式在卷组上定义逻辑卷(LV)。逻辑卷是位于卷组上物理分区的逻辑组合。逻辑卷上的数据对用户显示为连续,但在物理卷上则显示为跳跃。这就允许我们动态调整文件系统及空间的大小,并指定逻辑卷在物理磁盘上的跨盘分布。同时,这也为提高磁盘上数据存储的灵活性及空间维护在使用和操作上的便利,提供技术上的保证。其结构示意图如图1-18 所示。

图1-18 显示了卷组中创建逻辑卷的示意过程。一个逻辑卷由若干逻辑分区(LP)组成,每个逻辑分区对应于一个物理分区(如果配置逻辑卷时使用了镜像,则会有多个物理分区对应一个逻辑分区)。虽然逻辑分区是连续编号的,但底层的物理分区不必是连续的或相邻的。下面的示例使用lsvg -l命令显示了在卷组datavg上逻辑卷的存在情况:

图1-18 逻辑卷在空间使用上与物理分区的映射关系

上面的结果说明,在卷组datavg上有若干逻辑卷,其中一个逻辑卷是lv_systems,该逻辑卷拥有三个逻辑分区,分布在一块物理磁盘上。该逻辑卷将被作为裸设备使用,未定义文件系统挂载点,当前未被打开但处于同步状态。

使用lslv命令可以查看一个逻辑卷的细节信息。下面的示例查看了一个定义在rootvg上的逻辑卷lv_db:

上面的结果返回了如下信息:逻辑卷lv_db创建在rootvg上,当前该卷组处于激活状态。该逻辑卷上创建了JFS2 文件系统,这个文件系统挂载到/db目录下。该逻辑卷未做镜像(COPIES =1),大小为 472 个LP,每个LP对应的PP尺寸为 16MB,因此逻辑卷(文件系统)空间为 472×16MB=7552MB。

该逻辑卷要求放置在磁盘的中心(middle)区域,写入验证策略关闭,镜像写入一致性打开,并进行了条带化设置,条带设置跨越了两块物理磁盘,条带尺寸为 8KB。

逻辑卷信息存储在一个称为逻辑卷控制块(LVCB)的数据块中,对于标准卷组,LVCB保存在逻辑卷(LV)的第一个用户数据块上。对于非标准卷组(Big VG和ScalableVG)来说,VGDA 将保存 LVCB。

到逻辑卷为止,逻辑卷所指定的空间就可以被AIX所使用了。逻辑卷本身可为作为启动映像使用、换页空间使用、数据库裸设备使用、文件系统日志使用等。但在大多数情况下,逻辑卷上要创建AIX所支持的日志文件系统,或者扩展的日志文件系统。

在安装AIX系统时,安装程序将自动为AIX创建一个启动卷组,称为根卷组 rootvg。它包含了安装时指定使用的所有物理磁盘。在根卷组rootvg上,AIX安装程序创建了启动操作系统所需的所有逻辑卷,以及换页空间(交换区)、JFS2 日志、引导映像等,这些内容都在其独立的逻辑卷中,可使用lsvg –l rootvg命令来查看rootvg上定义的逻辑卷信息。

AIX为系统存储管理准备了丰富的命令,卷组操作可以使用的命令如下:

■ mkvg命令:创建一个新的卷组。

■ extendvg命令:将物理卷添加到一个已有卷组中。

■ chvg命令:更改卷组的属性。

■ reducevg命令:从卷组中删除物理卷。

■ lsvg命令:列出卷组。

■ exportvg命令:除去或导出一个卷组。

■ importvg命令:将一个被导出的卷组安装回AIX。

■ reorgvg命令:重组一个卷组。

■ syncvg命令:对一个卷组进行数据同步。

■ varyonvg命令:激活卷组,使卷组可用。

■ varyoffvg命令:关闭卷组,使卷组不可用。

■ migratepv命令:将卷组中一块物理盘的数据移动到同卷组中另一块盘上。

逻辑卷操作的常用命令如下。

■ mklv命令:创建一个逻辑卷。

■ chlv命令:创建逻辑卷后用来更改其名称和特征。

■ extendlv命令:增加对逻辑卷分配的逻辑分区的数目。

■ cplv命令:复制逻辑卷。

■ lslv命令:列出逻辑卷。

■ rmlv命令:除去逻辑卷。

■ mklvcopy命令:增加逻辑卷中逻辑分区的副本数目,用于逻辑卷镜像。

■ rmlvcopy命令:减少逻辑卷中逻辑分区的副本数目,用于删除逻辑卷镜像。

■ crfs命令:为逻辑卷创建一个文件系统。

提示: 如果查看HP-UX系统,则HP-UX和AIX在存储组织结构上非常类似,也是从物理卷开始,物理卷作为最基础的存储单位来组成卷组,用户可以在卷组上创建逻辑卷,逻辑卷上再创建文件系统。图1-19 显示的即为HP-UX中逻辑卷、卷组、文件系统、文件系统挂载的信息。内容略有不同,概念基本一致。

图1-19 HP-UX中的卷组、逻辑卷和文件系统

1.1.7 AIX换页空间(交换区)

AIX中有一种特殊的逻辑卷,称为“换页空间”。换页空间的传统UNIX名称是“交换区”,AIX将其作为逻辑卷进行管理。

当系统中的可用内存量减少到一定程度后,AIX内存调度程序(VMM,虚拟内存管理器)会将最近未使用的程序或数据从物理内存中移动到换页空间以释放内存,支持其他进程的运行。因此,我们可以理解换页空间的主要作用是为物理内存在硬盘上提供的一个缓冲——扩展系统内存。在生产系统运行过程中,程序和数据会不断地在硬盘、换页空间、内存间进行调入和调出(page in 和 page out)操作,如图1-20 所示。

图1-20 AIX内存管理中的换页操作

当操作系统安装完毕后,系统将产生一个默认的Paging Space,名为hd6。我们可以使用下面的命令列出当前系统使用逻辑卷的状态:

在AIX中,可以使用的换页空间操作常用命令如下。

■ chps命令:更改换页空间的属性。

■ lsps命令:显示换页空间的属性和当前使用状态。

■ mkps命令:创建新的换页空间。

■ rmps命令:删除已停用的换页空间。

■ swapon和 swapoff命令:激活或禁用附加的换页空间。

提示: 交换空间是操作系统维护虚拟内存管理的通用方法。在所有UNIX、Linux上都有这个概念,甚至Windows中也有“页面文件”即交换区的概念。其用途基本一致,即扩展内存。

1.1.8 AIX文件系统结构

和普通的UNIX一致的是,AIX文件系统同样是一种文件和目录的层次结构,称为文件树。在这个树形结构中,目录作为树的干结点,将数据和程序组织成一个一个的组,文件作为树的叶节点,归属在某个目录下,具体结构如图1-21 所示。

在上面的结构中,文件系统和目录的说明如下:

■ /:这是一个文件系统,创建在逻辑卷/dev/hd4 上,该文件系统包含关键的目录及文件,例如 /sbin、/dev、/etc等目录,以及系统启动过程所需的文件等。

■ /etc:这是/文件系统中的一个目录,存放系统关于配置方面的文件。

■ /dev:这是/文件系统中的一个目录,存放系统中物理设备对应的逻辑设备文件。

■ /home:这是一个文件系统,创建在逻辑卷/dev/hd1 上,用于放置AIX中用户各自的根目录。基于兼容性考虑,AIX设置了一个链接文件 /u链接到 /home。

■ /tmp:这是一个文件系统,创建在逻辑卷/dev/hd3 上,其中包括由用户或系统创建的临时文件。

图1-21 AIX中文件系统结构

■ /usr:这是一个文件系统,创建在逻辑卷/dev/hd2 上,包含操作系统命令、库以及应用程序。

■ /var:这是一个文件系统,创建在逻辑卷/dev/hd9var上,保存着系统运行日志文件等。

■ /opt:这是一个文件系统,创建在逻辑卷/dev/hd10opt上,用于安装常用的应用系统等。很多用户喜欢把关键应用(如Oracle系统)安装到/opt下。

■ 其他用户自定义的文件系统,例如存放数据的文件系统 /home/sybase/data。

AIX中的文件系统需要创建在逻辑卷上,也就是说这个文件系统中的所有文件和目录都属于对应的逻辑卷。AIX文件系统中的最高层,也就是文件系统目录树的根节点,称为根目录,以“/”表示。所有其下的目录都被看成子目录,每个子目录都可能是另外一个挂载的文件系统,也可能是一个子目录。使用mount命令可以查看当前系统的文件系统挂载情况,列表如下。

在上面的显示结果中,我们看到了当前挂载文件系统。使用ls命令可以查看这些文件系统和目录的信息如图1-22 所示。

图1-22 查看文件系统中的目录和文件

常用的文件系统命令如下。

■ backup、restore:backup用于执行文件系统的备份(增量备份或者完全备份);restore则进行反向操作,用于从备份中恢复文件。

■ chfs:修改JFS文件的属性,例如,为文件系统扩容。

■ dd:将数据从一个存储设备直接复制到另一个存储设备,可以用来创建文件系统的备份。

■ df:获得文件系统已使用的空间大小和inode数量、可用空间大小和inode数量。

■ fsck:检查文件系统的一致性,并修复出现的不一致问题。

■ crfs、mkfs:创建文件系统。mkfs用于在逻辑卷上创建文件系统;crfs则直接在卷组上创建文件系统。

■ rmfs:删除一个文件系统。

■ lsfs:显示一个文件系统的属性。

■ mount:挂载文件系统,使一个文件系统与系统目录树结构关联,以便可以访问该文件系统中的文件和目录。

■ umount:和mount相反,该命令用来卸载一个文件系统,使文件系统从系统目录树中脱离,该文件系统中的文件和目录不可再访问。

提示: 如果系统不是AIX而是某种UNIX,则系统默认挂载的文件系统不尽相同。如图1-23 所示的是HP-UX中挂载的文件系统,其中的/db文件系统为用户创建的文件系统,其他文件系统是HP-UX中的文件系统。

图1-23 HP-UX文件系统的构成

可以看到,在这些主流的UNIX中,文件系统设置也基本一样。

1.1.9 AIX对象数据管理

在AIX中,所有系统配置信息存储在对象数据管理(Object Data Manager,ODM)数据库中,主要管理着如下一些系统数据,内容包括:

■ 硬件设备的配置信息和状态信息;

■ 系统安装的软件产品信息、升级和修补信息;

■ 网络配置信息;

■ 系统资源信息等;

■ SMIT/SMITTY信息等。

这些信息分别保存在/usr/lib/objrepos、/usr/share/lib/objrepos和/etc/objrepos三个文件中。我们在控制台下输入AIX管理命令,或者使用SMITTY工具进行系统管理时,实际上我们更改的就是ODM数据库。因此,AIX系统管理的本身就可以简单地理解为对ODM数据库的更改。另外,SMIT工具本身的SMITTY菜单项也被存放在ODM中。

那么当前使用的是哪一个ODM文件呢?现在我们来输出当前ODM设置的环境变量:

设定使用/etc/objrepos作为ODM文件:

提示: 在AIX ODM方面,其他UNIX平台并无直接对应的管理模块,一般是通过配置文件的方法存储系统配置信息。

1.1.10 AIX当前进程运行

在AIX运行环境下,会有各种进程处于运行状态。一些进程属于某些子系统,一些则为独立应用。通过进程这种实体,操作系统有效控制了系统资源的使用及处理器的时间分配。

下面我们来查看系统中正在运行进程的状态,并观察进程的创建、取消、标识、资源使用等信息。AIX提供的ps命令(也是一个通用的命令,各种UNIX都支持该命令)即可用于查看系统中的进程信息。该命令最常使用两种命令参数介绍如下。

■ ps –ef 命令:列出所有非内核进程信息,内容涉及用户标识、进程ID、CPU 使用情况、启动该进程命令等信息。

■ ps –fu命令:列出指定用户拥有的进程信息,内容涉及进程标识、进程CPU 使用情况、启动该进程的命令和参数等。

下例即使用ps –ef 命令来查看当前系统中的进程信息:

上面的命令列出了当前系统中运行进程的状态信息。例如,当前系统运行着进程405702,405702 是该进程的ID号。任何进程都有其进程ID号,作为一个进程的唯一标识。该进程所属的用户登录名为oracle,其父进程标识为 1(root进程)。

另外,该进程最近使用的CPU时间为 0,该进程启动的时间是 10:45:41,无关联终端,累积消耗CPU 时间为 0:00(分:秒),进程正在运行的命令是Oracle的后台进程 ora_s000_orcl

此外,可以用who命令来报告登录用户的Shell进程信息,如图1-24 所示。

图1-24 查看系统中当前登录用户信息

任何一个在AIX上运行的进程,都有一个优先级。该优先级决定了CPU对该进程分配CPU时间片的优先程度(权重)。如果某个进程已经使用了太多CPU时间,则AIX可以使用renice命令调整该进程的nice 值来管理其优先级。例如,下例中我们将进程号为 348172 的进程的优先级降低 5:

这样,348172 进程的nice值会将进程从前台应用常规优先级 20 增加到 25。在AIX中,nice值越低,优先级越高。下面将进程 348172 的nice值重新设置为 20。

其他和进程相关的一些常用命令如下。

■ svmon 命令:报告进程的实存消耗状态。

■ nice 命令:设置命令以指定的进程优先级运行。

■ renice命令:更改给定进程的优先级。

■ kill命令:发送终止信号至一个进程,用来杀掉进程。

提示: 和其他UNIX对比,AIX在这方面的管理并没有太多个性方面的内容。

1.1.11 AIX用户访问过程

当我们登录AIX时,Shell将使用两种类型的概要文件,并依据其定义来设置用户的运行环境。这两种文件分别是/etc/profile和用户根目录下的 .profile文件。这两种文件具有非常类似的功能,都用来设置用户的环境参数,区别是/etc/profile 文件用来控制系统上所有用户的环境设置,.profile文件则只针对个别用户的“个性”来设置。或者说,/etc/profile设置AIX中所有用户的共性,而.profile 则设置用户的个性。

查看环境中关于共性的设置:

上述文件是在一个用户试图登录AIX时使用的第一个文件,它将控制系统范围内用户的默认变量。在上例中设置了如下信息:

■ 导出变量:TERM_DEFAULT、TERM、LOGNAME、MAIL MAILMSG等

■ 文件创建掩码(umask)

■ 终端类型

■ 邮件消息(指示新邮件何时到达)

■ …………………

现在来查看本机中定义的所有用户信息,这些信息可以从配置文件/etc/passwd中获得:

现在来查看本机中所有组的定义信息,这些信息可以从配置文件/etc/group中获得:

上面的列表显示了如下信息,本机中有一个用户oracle,该用户属于oinstall组和dba组,以及asmdba组与oper组。其中oinstall组是其主组。该用户使用的是Ksh。

下面查看系统中关于用户个性的设置情况。以oracle为例,查看系统中oracle用户(如果有的话)的个性设置,一般而言,oracle用户的根目录为/home/oracle,则其环境配置文件为/home/oracle/.profile,具体内容如下所示:

当oracle用户试图登录AIX时,使用的第二个文件就是/home/oracle/.profile,.profile文件存放在用户的主目录($HOME)中,定制了这个用户的工作环境。如果.profile文件中的设置和/etc/profile中的设置存在冲突或重复,/etc/profile的设置将被.profile中的设置所覆盖。在上例中,oracle用户定义了如下的特定环境变量:

■ 要打开的Shell(如果特别指定的话)。

■ 提示符外观。

■ 环境变量(如搜索路径变量)。

上面的示例.profile定义中,我们针对Oracle作了如下的环境变量声明。

■ ORACLE_SID:针对Oracle数据库的实例声明,本例中数据库实例名为 orcl。

■ ORACLE_BASE:Oracle软件安装的基本目录,本例中为/db/oracle目录(一般而言是一个独立的文件系统)。

■ ORACLE_HOME:本机Oracle RDBMS的安装位置,本例中为$ORACLE_BASE/product/11.2.0/db_1,也就是/db/oracle/product/10.2.0/db_1。

■ PATH,针对Oracle用户的搜索路径。$ORACLEHOME/bin_被添加到搜索路径中。

因此,.profile文件定义了一个AIX用户的应用运行环境变量。对于Oracle来说,oracle的.profile文件定义了其在AIX中的运行环境。在AIX中,用户每次执行一个命令(例如ls命令)或运行一套程序(Oracle、Sybase数据库)时,该命令都可以了解其运行环境的情况——包括命令和其关联的值组成的运行环境。

使用env 命令显示一个用户当前的环境变量设置:

在上面的返回结果中,黑体字的部分即为环境变量。

提示: 在Linux系统中,用户默认的Shell为bsh,其概要文件为/$HOME/.bash_profile。其他如HP-UX等的概要文件为/$HOME/.profile。

1.1.12 AIX各种服务提供

Windows系统中的“服务”应该是绝大多数计算机用户所熟知的一个概念。在Windows中,服务标志着一个组件、一套应用、一套进程结构,如图1-25 所示。

图1-25 Windows中“服务”的启动关系设定

实际上,AIX中也有类似的组成构件。随着AIX的启动,各种在AIX中定制的系统组、子系统、子服务也得以启动。

AIX中的子系统(Subsystem)就是一个通过控制系统进行操作的一个或一组程序或进程,用来提供一个指定的功能,例如ypsery、dhcpsd、xntpd、inetd、syslogd、sendmail等。

子服务(Subserver)是属于某个子系统的程序或进程,若干子服务构成子系统。

子系统组(Subsystem Group)是若干相关功能的子系统集合,这是SRC中最高的一个层次。

子系统组、子系统、子服务按照层次结构组织,构成了AIX的“服务”体系。例如,图1-26 构造了一个子系统组tcpip及其包含的几个子系统,其中inetd子系统包含的若干子服务。

图1-26 AIX中“服务”的层次关系

其层次结构信息存储在ODM数据库中。我们可以通过下面的odmget命令得到当前系统SRC层次结构。下面的命令将得到关于系统中子系统的定义信息:

下面的命令将得到关于系统中子服务的定义信息:

在AIX中,系统资源控制器(System Resource Controller,SRC)用来管理这些子系统,SRC拥有若干命令,用来查看、关闭、启动、刷新子系统。例如,可以使用lssrc-a命令查看当前运行系统中( AIX6.1 )子系统的活动情况,其中没有进程号的处于未启动状态:

SRC包含了一系列命令,系统管理员可以使用这些命令很容易地创建和管理各子系统。在AIX系统启动时,如果系统初始化配置文件/etc/inittab中包含对 /usr/sbin/srcmstr的调用,则在系统初始化时,SRC守护进程自动启动。

在一般情况下,/etc/inittab中一定包含SRC的启动调用,所以无须手工启动SRC。检查/etc/inittab文件就会发现SRC是否在启动序列中:

可以应用下面的命令进行SRC的进一步管理。

■ startsrc命令:向SRC发出请求,以启动一个或一组subsystem,或者是一个subserve。

■ stopsrc命令:停止一个子系统的运行。如果一个后台进程用startsrc命令启动,则关闭时最好采用stopsrc命令而不是kill命令。

■ refresh命令:刷新一个subsystem或subserver。当用户修改了某个子系统的配置(配置文件)时,则执行refresh命令使修改生效。

■ lssrc命令:获取某个子系统的状态,或者直接使用lssrc –a命令获得全部的启动列表。

提示: 在Linux环境中有一个非常类似的命令service,用于系统服务状态的管理。例如下面的命令可以得到系统中当前服务的启动状态信息:

1.1.13 AIX网络通信设置

在系统启动过程中,/etc/inittab 在启动SRC后台进程之后,将继续调用/etc/rc.tcpip来执行网络的初始化。/etc/rc.tcpip这个脚本程序中定义了需要运行的后台进程(子系统)。这些后台进程用来支持TCP/IP协议,包括:

■ inetd(该子系统将默认启动)。

■ gated。

■ routed(gated和routed不同时启动)。

■ named。

■ timed。

■ rwhod。

查看/etc/inittab中关于网络启动的设置,结果如下所示:

查看/etc/rc.tcpip文件,其中列出了与TCP/IP相关需要启动的各种进程:

可以注意到,大多数进程被注释,禁止启动。如需启动,可以直接更改这个文件来进行设置。

这些后台进程也可以停止。调用/etc/tcp.clean可以停止TCP/IP的后台进程,或者使用SRC命令startsrc -s tcpip和stopsrc -s tcpip来启动和停止TCP/IP的后台进程。

另外,本机网卡设备的信息可以通过下面的命令进行查询:

本机IP地址的配置可以使用下面的命令进行查询:

和其他UNIX系统一致,AIX中使用/etc/hosts文件定义网络中所有的主机名、IP地址或别名等。系统将根据该文件中的定义,将相应的主机名与其IP地址一一对应。/etc/hosts文件查看如下:

1.1.14 AIX中的常用操作

熟悉UNIX的用户请跳过本节,因为本节主要描述的是AIX中常用的操作命令示例,这些命令在绝大多数UNIX中是一致的。

◆ 目录间的跳转和查看

使用cd命令可以在目录间跳转,使用pwd命令可以了解当前所处的目录位置:

◆ 目录的创建和删除

使用mkdir命令可以创建一个目录,使用rmdir命令则可以删除目录:

◆ 文件的创建和删除

使用touch命令可以创建一个文件,使用rm命令则可以删除文件:

◆ 文件的列表查看

使用ls命令可以显示文件列表,ls命令的参数较多,常用格式如下:

◆ 文件的复制和位移

使用cp命令复制文件,使用mv命令则可以移动文件:

◆ 文件查找和文本查看

使用find命令查找一个文件,使用cat(pg、more、page、vi)命令查看一个文件:

◆ 系统进程信息的查看和杀死

◆ 文件系统的挂载和卸载

AIX主要使用两种文件系统类型——日志文件系统(JFS)、增强型日志文件系统(JFS2)。使用#lsfs –a命令可以查看系统中定义的文件系统信息,如图1-27 所示。

图1-27 AIX中定义的文件系统和挂载属性

除去必须挂载的文件系统(如/、/usr等)外,其他“用户”类型的文件系统可以挂载和卸载,分别使用mount命令和umount命令即可:

◆ 文件系统空间的使用查看

◆ 显示UNIX日期

◆ 显示系统当前用户

◆ 系统网络信息查看和配置

提示: 上面的命令在大多数UNIX(如HP-UX、Solaris、Linux)上用法兼容。

有关AIX更为详细的技术说明和论述也请参见本书作者的另外一部技术专著《AIX Unix系统管理、维护与高可用集群建设》。 1Xgp3OABucOfiVpN58r7+guGQxAOY6Tm66lL0eMzzZwQCS38MAkgRjRz1Me62T9k

点击中间区域
呼出菜单
上一章
目录
下一章
×