IBM小型机维护手册(转)

一、AIX操作系统简介

AIX操作系统是有IBM公司研发的Unix操作系统,在技术、功能上又有许多增强:

模块化的内核;

动态调整内核;

多线索内核;

高效率的输入/输出;

实时处理;

安全性能;

日志文件系统;

存储管理(包括镜像技术和条块化技术);

系统管理;

在线帮助查询。

二、设备管理

2.1块设备(BlockDevice):

采用结构化的随机访问方式的具有缓冲的设备。块设备通常为磁盘文件系统(DiskFileSystem)。

2.2字符设备(CharacterDevice):

裸设备(RawDevice),是无缓冲的连续、定向流设备。字符设备通常为系统周边设备,如终端、打印机等。

2.3主设备号(MajorNumber):

标识系统内核中的设备驱动号。

2.4次设备号(MinorNumber):

标识特殊的设备类型。

ODM数据库由预定义数据库(PredefinedDatabase)和定制数据库(CustomizedDatabase)组成。用于存储系统中所有逻辑设备的信息及其属性。其中:

预定义数据库:包含所有基于系统配置的系统可支持的设备(SupportedDevices)的配置数据。

定制数据库:

包含当前系统中所有定义的(DefinedDevices)和可用的(AvailableDevices)设备配置数据。

设备的类(Class):标识设备

设备的子类(Subclass):标识设备如何连接至系统

设备的类型(Type):标识设备的类型

设备的名字(Name):标识逻辑设备名

#lsdev设备列表

#lsattr设备属性列表

#chdev更改设备属性

#lscfg显示当前系统中设备的配置信息

2.5设备的配置:

#mkdev–cClass–sSubclass–tType–pParent_Adapter–wConnection_Location

–aAttribute=value

-cClass:指定设备所属的类(如:tape)

-sSubclass:指定设备所属的子类(如:scsi)

-tType:指定设备所属的类型(如:150mb)

-pParent_Adapter:指定设备的父卡号(如:scsi0)

-wConnection_Location:指定设备连接在父卡上的位置或地址(如:5,0)

-aAttribute=value:指定设备的属性(如:ret=no)

2.6设备的状态:

Undefined:系统中没有此设备的存在记录(设备信息存储于预定义数据库中)(Supported)

Defined:系统已为此设备分配了逻辑设备名和端口,但系统当前不能访问此设备(设备信息存储于定制数据库中)(Defined)

Available:设备在系统中已经定义了并且可以使用(设备信息存储于定制数据库中)(Available)

#cfgmgr自动配置系统中的自适应设备(Self-ConfiguringDevices)

三、存储管理

3.1AIX中逻辑存储的限制

卷组(VG)255个/每个系统

物理卷(PV)32个/每个卷组

物理分区(PP)1016个/每个物理卷

逻辑卷(LV)256个/每个卷组

逻辑分区(LP)32512个/每个逻辑卷

AIX系统逻辑卷:

PagingSpace:/dev/hd6,用于存储虚拟内存中信息的固定的磁盘空间

JournalLog:/dev/hd8,用于记录系统中文件系统结构的改变

BootLV:/dev/hd5,用于系统启动映象的物理上连续的磁盘空间

AIX系统文件系统:

/(root):系统启动进程所需的重要的系统设备信息及应用程序的存储空间

/usr:/dev/hd2,系统命令、信息库以及应用程序的存储空间

/var:/dev/hd9var,系统的日志文件和打印数据文件的存储空间

/home:/dev/hd1,系统中用户数据的存储空间

/tmp:/dev/hd3,系统临时文件和用户工作的存储空间

3.2LVM操作命令:

#lsvg查看系统中属于活动VG的LV的信息

#lslv查看属于指定LV的信息时,系统将给出指定LV的LP数及其拷贝数。

#lspv查看系统中PV的信息

#mkvg创建新的VG

#chvg更改VG的启动特性

#extendvg扩展VG的大小

#reducevg缩小VG的大小

#reorgvg重新安排VG中LV的分配策略

#varyonvg激活一个VG

#varyoffvg关闭一个VG

#importvg接入一个VG

#exportvg输出一个VG

注意:将一个VG从系统A移至系统B的正确步骤为:

系统A:#umountall

#varyoffvgVG_Name

#exportvgVG_Name

系统B:#impoertvg

#varyonvgVG_Name

#rmlv删除一个LV

#chlv更换LV的名字

#migratepv将一个PV上的数据移至另一个PV

注意:

1、迁移PV上的数据时,要求目标PV(Target_PV)的大小大于源PV(Souce_PV),且目标PV与源PV必须在同一个VG中。

1、当增加一个LV的拷贝数(增加LV的镜像)时,必须用#syncvg命令使LV及其拷

贝同步(同步镜像)。

3.3FS的管理:

JFS的结构:

超级块(Superblock):

超级块中包含FS的大小、标识、空闲空间列表、磁盘片段(Fragment)大小以及nbpi(决定FS中inodes的数目)。

I节点(inodes):

I节点中包含文件的大小、文件所有者、文件的权限、文件的创建和访问的

时间以及指向数据块的指针。

数据块(间接块):

四、进程管理

AIX是一个多用户多任务的操作系统,操作系统管理多个用户的请求和多个任务。大多数系统都只有一个CPU和一个主存,但一个系统可能有多个二级存储磁盘和多个输入/输出设备。操作系统管理这些资源并在多个用户间共享资源,当您提出一个请求时,给您造成一种假象,好象系统只被您独自占用。而实际上操作系统监控着一个等待执行的任务队列,这些任务包括用户作业、操作系统任务、邮件和打印作业等。操作系统根据每个任务的优先级为每个任务分配合适的时间片,每个时间片大约都有零点几秒,虽然看起来很短,但实际上已经足够计算机完成成千上万的指令集。每个任务都会被系统运行一段时间,然后挂起,系统转而处理其他任务;过一段时间以后再回来处理这个任务,直到某个任务完成,从任务队列中去除。

4.1进程及作业

AIX系统上所有运行的东西都可以称之为一个进程。每个用户任务、每个系统管理守护进程,都可以称之为进程。aix用分时管理方法使所有的任务共同分享系统资源。我们所关心的是如何去控制这些进程,让它们能够很好地为用户服务。进程的一个比较正式的定义是∶在自身的虚拟地址空间运行的一个单独的程序。

进程与程序是有区别的,进程不是程序,虽然它由程序产生。程序只是一个静态的指令集合,不占系统的运行资源;而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序。而且一个程序可以启动多个进程。

进程和作业的概念也有区别。一个正在执行的进程称为一个作业,而且作业可以包含一个或多个进程,尤其是当使用了管道和重定向命令。

作业控制指的是控制正在运行的进程的行为。比如,用户可以挂起一个进程,等一会儿再继续执行该进程。shell将记录所有启动的进程情况,在每个进程过程中,用户可以任意地挂起进程或重新启动进程。作业控制是许多shell(包括bash和tcsh)的一个特性,使用户能在多个独立作业间进行切换。

4.2启动进程

键入需要运行的程序的程序名,执行一个程序,其实也就是启动了一个进程。在aix系统中每个进程都具有一个进程号,用于系统识别和调度进程。启动一个进程有两个主要途径∶手工启动和调度启动,后者是事先进行设置,根据用户要求自行启动。

1、手工启动

由用户输入命令,直接启动一个进程便是手工启动进程。但手工启动进程又可以分为前台启动和后台启动。前台启动是手工启动一个进程的最常用的方式。一般地,用户键入一个命令“ls-l”,这就已经启动了一个进程,而且是一个前台的进程。这时候系统其实已经处于一个多进程状态。

2、调度启动

有时候需要对系统进行一些比较费时而且占用资源的维护工作,这些工作适合在深夜进行,这时候用户就可以事先进行调度安排,指定任务运行的时间或者场合,到时候系统会自动完成这一切工作。要使用自动启动进程的功能,就需要掌握以下几个启动命令。

第一个重要的命令是at命令用户使用at命令在指定时刻执行指定的命令序列。也就是说,该命令至少需要指定一个命令、一个执行时间才可以正常运行。at命令可以只指定时间,也可以时间和日期一起指定。需要注意的是,指定时间有个系统判别问题。比如说∶用户现在指定了一个执行时间∶凌晨3:20,而发出at命令的时间是头天晚上的20:00,那么究竟是在哪一天执行该命令呢?如果用户在3:20以前仍然在工作,那么该命令将在这个时候完成;如果用户3:20以前就退出了工作状态,那么该命令将在第二天凌晨才得到执行。

3、cron命令

前面介绍的两条命令都会在一定时间内完成一定任务,但是要注意它们都只能执行一次。也就是说,当指定了运行命令后,系统在指定时间完成任务,一切就结束了。但是在很多时候需要不断重复一些命令,比如∶某公司每周一自动向员工报告头一周公司的活动情况,这时候就需要使用cron命令来完成任务了。实际上,cron命令是不应该手工启动的。cron命令在系统启动时就由一个shell脚本自动启动,进入后台(所以不需要使用&符号)。一般的用户没有运行该命令的权限,虽然超级用户可以手工启动cron,不过还是建议将其放到shell脚本中由系统自行启动。

首先cron命令会搜索/var/spool/cron目录,寻找以/etc/passwd文件中的用户名命名的crontab文件,被找到的这种文件将载入内存。例如一个用户名为foxy的用户,它所对应的crontab文件就应该是/var/spool/cron/foxy。也就是说,以该用户命名的crontab文件存放在/var/spool/cron目录下面。cron命令还将搜索/etc/crontab文件,这个文件是用不同的格式写成的。cron启动以后,它将首先检查是否有用户设置了crontab文件,如果没有就转入“休眠”状态,释放系统资源。所以该后台进程占用资源极少。它每分钟“醒”过来一次,查看当前是否有需要运行的命令。命令执行结束后任何输出都将作为邮件发送给crontab的所有者,或者是/etc/crontab文件中MAILTO环境变量中指定的用户。上面简单介绍了一些cron的工作原理,但是cron命令的执行不需要用户干涉;需要用户修改的是crontab中要执行的命令序列,所以下面介绍crontab命令。

4、crontab命令

crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。也就是说,用户把需要执行的命令序列放到crontab文件中以获得执行。每个用户都可以有自己的crontab文件。下面就来看看如何创建一个crontab文件。在/var/spool/cron下的crontab文件不可以直接创建或者直接修改。crontab文件是通过crontab命令得到的。现在假设有个用户名为foxy,需要创建自己的一个crontab文件。首先可以使用任何文本编辑器建立一个新文件,然后向其中写入需要运行的命令和要定期执行的时间。然后存盘退出。假设该文件为/tmp/test.cron。再后就是使用crontab命令来安装这个文件,使之成为该用户的crontab文件。

在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。

作业控制允许将进程挂起并可以在需要时恢复进程的运行,被挂起的作业恢复后将从中止处开始继续运行。只要在键盘上按ctrl+z,即可挂起当前的前台作业。在键盘上按ctrl+z后,将挂起当前执行的命令cat。使用jobs命令可以显示shell的作业清单,包括具体的作业、作业号以及作业当前所处的状态。恢复进程执行时,有两种选择∶用fg命令将挂起的作业放回到前台执行;用bg命令将挂起的作业放到后台执行。灵活使用上述命令,将给自己带来很大的方便。

5、进程查看

who命令

该命令主要用于查看当前在线上的用户情况。这个命令非常有用。如果用户想和其他用户建立即时通讯,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来。又如,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命令。

6、top命令

top命令和ps命令的基本作用是相同的,显示系统当前的进程和其他状况;但是top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用。内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。

4.3进程调度

当需要中断一个前台进程的时候,通常是使用Ctrl+c组合键;但是对于一个后台进程恐怕就不是一个组合键所能解决的了,这时就必须求助于kill命令。该命令可以终止后台进程。至于终止后台进程的原因很多,或许是该进程占用的CPU时间过多;或许是该进程已经挂死。总之这种情况是经常发生的。

五、系统备份/恢复及可用性

tartar该命令用于归档文件。

Cpio该命令拷贝文件进出存储器和目录。

Dd该命令读取输入文件或标准输入进行指定的改变,然后拷贝转换后的数据到输出文件或标准输出。可以指定I/O块大小来更好匹配物理I/O。

Pax可以归档超过2G的系统dump和镜象。

Makesysb创建一个rootVG安装镜象到一个文件或一个可引导的磁带。

Savevg该命令保存非rootVG。

Backup在备份介质上创建文件备份,有两种方式:指定文件备份和整个系统备份(以i节点)。

Restore该命令恢复用backup命令创建的归档文件。

Tctl该命令控制磁带设备。

备份和恢复,主要包括rootvg备份和用户数据备份:

5.1操作系统和系统程序的备份:

将一盘新磁带或无用磁带插入磁带机

#tctl-f/dev/rmt0rewind

#smitmksysb

在"备份设备或文件"中添入"/dev/rmt0"后回车,系统会运行很长时间,等到屏幕显示OK后拿出磁带.这时候,系统备份完成。mksysb仅备份rootvg中已安装的文件系统。

5.2用户数据备份

•常用磁带机选项

/dev/rmt0:若选择/dev/rmt0,在插入磁带和写完一次磁带时,磁带机都将磁带反绕到头,因此,下一次备份文件将覆盖本次备份。

/dev/rmt0.1:若选择/dev/rmt0.1,则插入磁带和写完一次磁带时,磁带机均不反绕磁带,因此,一盘磁带可以连续备份几个文件或文件系统。

•#smitfs

选择"备份文件系统"

添入要备份的"文件系统名称"

添入"/dev/rmt0.1"

重复上述操作即可在同一盘磁带上备份多个文件系统.

5.3rootvg的恢复

•启动机器进入维护模式

参见安装手册,当出现"WelcometoBaseOperatingSystemInstallationandMaintanence"时,

选3"StartMaintenanceModeforSystemRecovery"

•恢复系统

继续选4"InstallfromaSystemBackup"

出现"ChoosemksysbDevice"画面,选"/dev/rmt0"并插入磁带后回车.这时候,系统自动恢复操作系统.

5.4用户数据恢复

#tctl-f/dev/rmt0rewind

#smitfs

选择"恢复文件系统"

添入"设备名称"和"目标目录"

系统会自动找到相应目录恢复.

六、日常维护

6.1文件系统是否满

df–k可以以K为单位检查文件系统的使用率。(90%以上,需要调整)

6.2检查系统出错日志使用errpt|more来检查

清除现有的log:Errclear0

6.3检查系统合法/非法登陆情况

使用Last命令来检查来自登陆的地方。

6.4检查系统是否有巨大的Core文件生成

使用find/-namecore–print来检查。对Core文件,一般直接删除就可以了。

6.5系统性能检查:

a)CPU性能:使用Vmstat,topas来检查

b)内存使用情况:也是使用topas,vmstat来检查

c)检查IO平衡使用情况:使用iostat来检查

d)交换空间使用情况:使用lsps–a来检查