AIX 命令参考手册


文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 1 页, 共 70 页 AIX 命令参考手册 第1章 AIX 资源检测命令 性能优化以及确定系统中的性能瓶颈是系统管理员的主要任务之一。在一个计 算机系统中,CPU、内存、硬盘和网络是影响系统性能的主要因素,因此系统性能调 整也主要在于如何在这些资源中获得某种平衡,以满足人们对系统性能的期望。性能 调制需要很多技巧,知识以及经验,不能仅靠分析统计数字,图表就可取得,性能调 制有时是一件复杂甚至是非常困难的任务。 如同其它 UNIX 系统一样,AIX 也给系统管理员剪裁系统提供了非常丰富的手段。这 里我们简单介绍 RS/6000 AIX 系统中几个用于监控和调制多项系统资源的工具,每个 工具的功能都很强,如想更透彻地了解这些命令的用法,请参考有关技术资料或手册。 这里讲述的命令将不仅仅局限于 CPU、硬盘、内存或网络资源的某个方面,它们可用 于其中的一项或多项资源。 1.1 AIX 监控工具 1.1.1 iostat iostat 命令主要通过观察物理磁盘的活跃时间以及他们的平均传输速度,监控系统 输入/输出设备负载。根据 iostat 命令产生的报告,用户可确定一个系统配置是否平 衡,并据此在物理磁盘与适配器之间更好地平衡输入/输出负载。 iostat 工具的主要目的是通过监控磁盘的利用率(tm_act 字段),而探测到系统中的 I/O 瓶颈。iostat 还可用于确定 CPU 问题,辅助容量规划,并可以为最终解决 I/O 问 题提供相关材料。vmstat 和 iostat 联合使用,可捕获到确定与 CPU,内存和 I/O 子 系统有关的性能问题的必需数据。 iostat 命令可产生下面四种类型的报告: · tty 和 CPU 利用情况 · 磁盘的利用情况 · 系统吞吐率 · 适配器吞吐率 1.1.2 netpmon netpmon 命令可以监控关于网络行为的系统事件和性能以及网络行为对 CPU 的消耗。 netpmon 命令在指定的监控周期报告网络行为。 netpmon 启动后直至发布 trcstop 命令终止它之前,一直在后台运行。如果使用缺省 设置,trace 命令将会在 netpmon 命令之后立即自动启动。另外,netpmon 中还可用 trcon 命令选择在后面的某个时间跟踪。当这种跟踪用 trcstop 命令终止后,netpmon 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 2 页, 共 70 页 命令就会输出它的报告并退出。缺省时报告会输出到标准输出,需要时也可以重定向 到某个文件。 netpmon 命令还可以在一次先前产生的跟踪中以脱机模式使用。在这样的情况下,需 要用 gennames 命令产生一个文件。该文件必须在 trace 终止后立即产生。 所产生的报告中包括 CPU 使用情况、网络设备驱动器 I/O 情况、互联网络套接字调用, 以及网络文件系统(NFS)I/O 信息: · CPU use:netpmon 命令报告线程和中断处理器对 CPU 的使用情况。该命令将网络 相关行为的 CPU 使用情况与其它行为的 CPU 使用情况区分开。 · Network Device Driver I/O:netpmon 命令监控网络适配器上所通过的 I/O 统计。 · Internet Socket Calls:netpmon 命令在互联网络套接字上监控 read,recv, recvfrom,write,send 以及 sendto 子程序。ICMP,TCP,UDP 这几个协议的每个进 程都会予以报告。 · NFS I/O:netpmon 命令监控客户 NFS 文件上的 read 和 write 子程序,NFS 客户上 的 RPC 请求以及 NFS 服务器的 read 和 write 请求。 1.1.3 PDT(性能诊断工具) PDT 通过收集和集中各种性能、配置和可用数据自动找出性能问题。PDT 评估系统的 当前状态并跟踪系统在工作量和性能上的变化。PDT 数据收集和报告很容易起用,不 需要更多的管理行为。 虽然许多常见的系统性能问题都有特定性,但 PDT 还试图用一些被认为性能好的系统 中的通用概念来帮助它查找问题。这些概念包括: · 资源的平衡使用 · 在限定范围操作 · 确定的工作量趋势 · 无错误操作 · 系统参数得到适当设置。 1.1.4 ps ps 命令是 UNIX 系统中最常见的命令,它主要显示系统中关于进程的统计和状态信息, 如进程 ID,I/O 行为以及 CPU 利用率等。利用 ps 命令提供的信息,可决定一个进程 运行了多长时间,进程使用了多少 CPU 时间,以及进程是否受系统的惩罚。还可用 ps 命令确定进程使用了多少内存,完成多少 I/O,进程的优先级以及是谁创建了进程。 下面这几个命令组合对于管理 RS/6000 AIX 系统有帮助: (1)显示 10 个消耗 CPU 最多的进程: # ps aux |head -1 ;ps aux |sort -rn +2 |head -10 (2)显示 10 个消耗存储空间最多的进程: # ps aux |head -1 ;ps aux |sort -rn +3 |head -10 (3)按顺序显示系统中受罚的进程: #ps -eakl |head -1 ;ps -eakl |sort -rn +5 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 3 页, 共 70 页 (4)按优先级顺序显示系统中的进程: #ps -eakl |sort -n +6 |head (5)按处理时间为顺序显示系统中的前十个进程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +3 |head -10 (6)按实际内存使用的多少顺序显示系统中的前十个进程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +6 |head -10 (7)按换入页面的多少顺序显示系统中的前 10 个进程: #ps vx |head -1 ;ps vx |grep -v PID |sort -rn +4 |head -10 1.1.5 vmstat vmstat 命令报告关于核心线程,虚拟内存,自陷(trap),磁盘以及 CPU 行为的统计。 而且每种行为报告都被更细致地用百分比分别表示用户态、核态、空闲以及等待磁盘 I/O 等情况。 内核维持了对核心线程,换页以及中断行为的统计数据,而 vmstat 命令则通过使用 knlist 子程序和/dev/kmen 伪设备驱动器访问这些数据。磁盘的输入/输出统计是通 过设备驱动器维持的。对于磁盘,平均传输速度是通过使用活跃时间核传输信息数目 决定的。而活跃时间百分比则是从报告期间驱动器忙的时间量计算出来的。 vmstat 命令产生五种类型的报告: · 虚存行为报告 · fork 子进程情况报告 · 每个设备产生的中断情况报告 · 汇总报告 · 输入/输出行为报告 1.1.6 sar sar 命令报告 CPU 的使用情况,I/O 以及其它系统行为。sar 命令可以收集,报告以 及保存系统行为信息。如果没有指定输入文件,则 sar 调用 sarc 命令访问系统数据。 用户可用让 cron 命令运行两个 shell 脚本(/usr/lib/sa/sa1 和/usr/lib/sa2)以 提供日统计和报表。在 crontab 文件/var/spool/cron/crontabs/adm 中包括了一些 样本节,用于示范 cron 要在何时运行这些 shell 脚本。以这种方式收集到的数据对 于确定系统的时间周期特征和决定峰值使用时间是有用的。 但要注意的是,sar 命令自己运行时会产生相当数量的读写。因此最好在没有工作量 的情况下运行 sar 统计,看看 sar 对总的统计数字有多大的影响。 1.1.7 topas topas 命令用于监控各种系统资源,如 CPU 的使用情况,CPU 事件和队列,内存和换 页空间的使用,磁盘性能,网络性能以及 NFS 统计等。它还会报告指派给不同 WLM 类 的进程对系统资源的消耗情况。它还能报告系统中最热门的进程和工作量管理器 (WLM)的热门类。有关 WLM 类信息只有在 WLM 激活时才会显示。topas 命令将热门 进程定义为那些使用大量 CPU 时间的进程。topas 命令没有作日志的选项,所有信息 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 4 页, 共 70 页 都是实时的。 topas 命令利用 System Performance Measurement Interface(SPMI)API 获得有关 信息。正是因为通过 SPMI API,使系统开销保持在最小程度。topas 命令使用 perfstat 库调用访问 perfstat 内核扩展。 1.1.8 truss truss 命令跟踪一个进程的系统调用、所接收的信号以及招致的机器错。要检查的应 用程序可在 truss 命令的命令行中指定,也可将 truss 命令挂在一个或多个已经在运 行的进程上。 1.2 AIX 调制工具 1.2.1 fdpr fdpr 命令改进用户级程序和库的执行时间和对实际内存的使用。fdr 命令可以通过不 同的操作,如删除不必要的指令和重组代码和数据,而实现这样的目标。fdr 命令安 装在目录/usr/bin 下。 fdpr 命令在三个不同阶段上,对原有的执行代码应用先进的优化技术从而为其构筑 一个优化的可执行代码。这三个阶段分别是: · 在阶段 1,fdpr 创建一个增加了某些装置(instrumented)的可执行程序。原有 的 可 执 行 程 序 被 保 存 为 __ProgramFile.save , 而 新 版 本 被 命 名 为 __ProgramFile.instr。 · 在阶段 2,fdpr 运行该增加了某些装置的可执行程序,并收集摘要(profiling) 数据。该摘要数据被保存在一个叫__ProgramFile.prof 的文件中。运行执行程序时 需要为它提供典型的输入数据,以使 fdpr 命令能够找出代码中可优化的部分。 · 在阶段 3,fdpr 命令使用阶段 2 中收集到的重要信息对可执行代码重新排序。这 些重新排序涉及到这样一些任务: (1)将那些高频度执行代码序列包装在一起。 (2)对条件分之重新排序,以改进硬件对分之条件的预测。 (3)将较少使用的代码部分移出来。 (4)内嵌一些热门函数。 (5)从重排序后的代码中删除掉 NOP(空操作)指令。 另外,编译器中还提供了一个-qfdpr 标志,用它可使编译器在执行代码中增加一些 额外的信息,以辅助 fdpr 对该执行代码重新排序。但是,如果使用这个-qfdpr 标志, 则 fdpr 也只对那些用-qfdpr 标志编译的模块重新排序。 1.2.2 schedtune schedtune 命令可以给抖动、进程挂起、时间片以及线程在锁上所能轮询的时间长度 等设置准则。 用 schedtune,可调整 AIX 中所设立的一组影响其内存负载控制机制的参数。 Schedtune 命令用于显示和修改那些用于检测系统内存是否在过度使用以致造成抖动 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 5 页, 共 70 页 的参数。Schedtune 命令还能用于修改运行在系统上的进程的惩罚和衰减因子。在 root 用户下,用 schedtune 命令可做下面的事情: · 决定用于确定抖动的准则。 · 决定哪个准则用于挂起进程。 · 决定在抖动终止后要等待多长时间才重新激活那些先前被挂起的进程。 · 决定被挂起的进程的最小数目。 · 调制调度优先级公式。 · 更改时间片数值。 · 决定在一把锁上轮询多长时间。 · 将 schedtune 值复位到它的缺省值。 需要注意的是,所有用 schedtune 作的修改在系统重启后都将丢失。为了确保所需的 schedtune 值在引导时能够置上,可在/etc/inittab 文件中插入适当的 schedtune 命 令。如:schedt:2:once:/usr/samples/kernel/schedtune -s 65536 1.2.3 vmtune vmtune 命令负责显示和调整虚存管理器(VMM)和其它 AIX 部件使用的参数。系统中 的根用户可动态修改包括下面这些参数: · VMM 页替换 · 永久文件读写 · 文件系统缓冲区结构(bufstructs) · LVM 缓冲区 · 裸输入/输出 · 换页空间参数 · 页删除 · 内存固定参数 第2章 处理系统启动问题 本章目标: 1、 理解系统启动的基本过程并且能够正常的关闭系统 2、 进入 Aix 错误日志 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 6 页, 共 70 页 3、 解决启动问题 4、 记住并能理解基本的 LED 上的错误代码 2.1 本章的主要命令 alog,cfgmgr,last,bootlist,uptime,mpcfg,shutdown 2.2 启动过程 2.2.1 启动的前提条件: 必须有一个 boot image 可以加载,同时要能够进入/和/usr 文件系统。(如 果/tmp,/var 不能进入呢?) 2.2.2 启动的三种形式 a、 硬盘启动 b、 无盘工作站启动(通过网络上的其它远程机器提供的启动文件) c、 服务模式(也叫维护模式,key 设置在 service 位置上,或是 PCI 架构 通过按 F5 来进入维护模式) 2.2.3 机器启动的三个阶段 a、 只读存储内核初始化阶段(Read only storage kernel init phase),在这 一阶段,主板被检查,ROS 初始化程序加载时寻找 bootlist,一旦找到启 动设备,boot image 读入内存并开始系统初始化。 b、 基本设备配置阶段,所有的设备在这一阶段被配置,通过 cfgmgr 命 令 c、 系统启动阶段,在这一阶段,所有的 lv 激活,交换换页开始,并且 init 开始读取并执行/etc/inittab 里的程序。 2.3 加电顺序,LED 显示和声音提示 在启动过程中要注意 LED 上代码的变化,它可以提示系统处于哪一个启 动阶段。 同时要注意嘀声提示,在设备 logo 展示完后,如果这时系统 ROS 没有被 破坏,又会出现一次嘀声提示,这时可以选择按 F1 或 F5,如果没有任何 选择,这时开始调用 bootlist 来搜索启动设备。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 7 页, 共 70 页 2.4 有用的命令 2.4.1 alog 命令 可以使用 alog 命令来查找启动过程的产生的问题,它维护和管理启动日 志,位于/var/adm/ras/bootlog,由于启动日志是固定大小的,所以它循环 使用。在启动时,rc.boot 启动脚本调用了 alog 并把启动日志记录到 bootlog 中去。alog 配置数据库中又四种日志:boot,bosinst,nim,dumpsymp。 1、查看日志内容 alog –f LogFile [-o] 2、记录数据到一个指定的日志文件中 alog –f LofFile | [ [ -q] [ -s Szie] ] 3、显示某一日志类型的冗长值 alog –L LogType –V 4、改变某一日志类型的属性值 5、 显示当前某一日志类型的属性 alog –L [-t LogType ] 实际应用: #alog –L #alog –o –t boot 记在,由于 bootlog 没有协同机制的控制,所有如果又多个进程要同时写 该日志时,可能记录上会有错误。 2.4.2 cfgmgr 命令 1、语法:cfgmgr [-f | -s | -p Phase ] [ -I Device ] [ -l Name ] [-v] -f:指定运行第一阶段配置规则,只有在 boot 是使用,在系统启动后,是 不能使用这一选项的。 -i Device:指定安装介质的位置 -l Nmae:指定设备名 -p Phase:指定阶段 -s: 指定 cfgmgr 执行第二阶段的配置规则 -v:输出显示信息 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 8 页, 共 70 页 (结合 3.2 来学习) 2、设备配置是受 Configuration Rules object class 控制的,每条配置规则 指定以下三项:要执行程序的全路径,(相对于其它规则)什么时候执行 该程序,在什么阶段执行。 3、在系统启动时,cfgmgr 分为两个阶段,第一阶段带有-f 参数,第二阶 段带-s 参数。 4、cfgmgr 识别三阶段配置规则:其中阶段 2 是:second boot phase for normal boot,阶段三是:second boot phase for service boot。阶段 1 是在系 统启动时自动运行的,要运行阶段 2,可以使用 cfgmgr,cfgmgr –s,或 cfgmgr –p 2 等命令。而要运行阶段 3,只能用 cfgmgr –p 3 命令。 5、可以指定-i 参数来使识别设备时自动安装该设备所需软件。 注意:为了包含配置数据库的完整性,在运行 cfgmgr 时不要轻易使用中 断。 6、 一般在系统运行状态下使用 cfgmgr –v 来加配新加的设备 2.4.3 使用 last 命令 但用户登录或退出系统时,都会在/var/adm/wtmp 文件中记录,除非他们 被 acctcon1 和 acctcon2 命令生成每日报告。last 命令就是读取该文件。 如果碰到系统时间改变,该文件记录会有两个记录时间,以保证登录时 间跨度的准确性。 语法:last [-f FileNmae ] [- Number ] [ Name„] [Terminal „] 其中,Name 是登录用户名,Terminal 是登录的终端名。 #last root console #last shutdown 可以查看系统 shutdown 的时间 2.4.4 bootlist 命令 有效的 boot 设备:fdxx, hdiskxx, cdxx,rmtxx,entxx,tokxxx。 2.4.5 uptime 命令 显示系统启动了多长时间。后面的负载数字是指可运行的处理器在过去 5,10,15 分钟的平均负载。 2.4.6 mpcfg 命令 该命令使用在老式的 Micro Channel 架构的机器上。 该命令是用户可以有 root 的权限去管理服务信息,包括服务支持和诊断 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 9 页, 共 70 页 工具。 1、为了显示服务信息 #mpcfg –d { -f –m –p –s} 2、改变服务信息 #mpcfg –c { -f |-m | -p –s –w } Index Value 3、保持或恢复服务信息 #mpcfg { -r | -s } 2.4.7 使用 shutdown 命令 1、参数 -h 和-v 参数一样:关闭该系统。 -F:尽快关闭系统 -i:指定交换模式 2、可以添加应用程序的关闭到 shutdown 的程序中 但 shutdown 命令发起时,它会检查/etc/rc.shutdown 文件,所有可以把关 闭应用程序写入该文件。 2.5 解决启动中问题 2.5.1 进入一个没有(不能)启动的系统 2.5.2 安装介质的问题 2.5.3 LED 上显示的启动时的错误代码 1、201:破坏的 boot image 2、223-229:无效的引导顺序 3、551,555,557:受破坏的文件系统或文件系统日志 4、552,554,556:超级快或定制的 ODM 库受破坏 5、553:受破坏的/etc/inittab 文件 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 10 页, 共 70 页 第3章 硬件设备 3.1 列出硬件设备 使用 lsdev,lspv,lsattr 三个命令 3.1.1 使用 lsdev 命令 该命令显示设备配置在 ODM 库中的信息,使用-C 和-P 参数。 1、列出在预定义 ODM 库中的设备 #lsdev –P –H 其中-H 是限制列输出的头(headers above the column output) 2、列出在已定制 ODM 库中的设备 #lsdev –C -H 3、列出可用设备 #lsdev –C –c adapter –S a 其中-S 是指定设备状态 4、列出支持的设备 #lsdev –P –r class 3.1.2 使用 lspv 命令 格式: lspv [-l | -p | -M ] [-n DescriptorPhysicalVolume] [-v VolumeGroupID] 参数: -p:列出该 PV 上每个 PP 的 range,state,region, lv name, type and mount point。 -v VolumeGroupID:列出基于该 VolumeGroupID 变量的有关信息 比如:#lspv –p hdisk0 3.2 cfgmgr 配置系统设备 1、cfgmgr 命令用于配置系统设备,并且可以选择性的安装所需的设备驱 动软件包。 2 、 Congiguration Rules object class 作为设备配置数据库(Device Configuration database)的一部分,每条配置规则包含有三项:要运行的 可执行程序的全路径,什么时候运行该程序(即 seq 项),哪一阶段运行 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 11 页, 共 70 页 该程序。如: Phase seq rule 1 1 /usr/lib/methods/defsys 2 5 /usr/lib/methods/ptynode 3 10 /usr/lib/methods/startlft cfgmgr 运行分为三个阶段,分别有-f,-s 或不带参数,-p 3 来设定。 先后顺序(即 seq 项),数值越小,优先级越高,但 0 除外,它的优先级 最小。所有在 seq 项中,值为 1 时优先级最高。 3、在使用 cfgmgr 来安装配置设备时,有时会提示某些需要的设备驱动软 件没有安装,如果系统没办法确定该安装哪个软件包版本,它会使用:(冒 号)隔开,在同一行内列出可能需要安装的驱动软件包。这时,还可以 指定-i 来让系统自动安装所需的驱动软件包。 4、参数说明 -i device:指定安装介质的路径 -l Name: 指定要配置的设备名 -p Phase: 指定确定的某一阶段 -s: 运行第二阶段配置规则 -v: 显示信息输出 比如:#cfgmgr –l scsi0 #cfgmgr –i /usr/sys/inst.images 3.3 系统管理服务(SMS) cfgmgr 是在软件层面上去管理配置设备,可以使用 SMS 在硬件层面上去 检测和配置系统配件。 在系统启动时按 F1 进入图形 SMS 菜单。(或按 F4 进入 ASCII SMS 菜单), 如果在启动时最后一个 IBM 图标(icon)出现后在按 F1 或 F4,那么这时将 进入正常的启动引导阶段。 可以在 SMS 中设置进入密码,但如果忘记的话,唯一的办法是对主板的 芯片放电(remove the on-board system battary) 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 12 页, 共 70 页 3.4 硬件设备的兼容性 SCSI,PCI 和 ISA 不同标准和接口的设备,配置不同。 3.4.1 设备配置数据库 设备配置信息是存储在设备设备配置数据库(Device Configuration Database),通过 ODM 来管理的。它包括两个内容: 预定义数据库:包括所有可能配置到系统的设备配置数据。 已定制好数据库:包括系统中所有目前已定义的和配置好的设备的配置 信息。 3.4.2 使用 lsattr 命令 使用 lsattr 命令来列出某个设备或某种设备的信息。语法如下: lsattr { -D [-o ] | -E [ -o ] | -F Format } –l Name [-a Attribute ] ….[-f File] [-h ] [ -H ] -D: 显示缺省值 -E: 显示当前值 -a Attribute: 指定某个或某类设备的某个属性 -l Name: 指定定制设备对象类的设备登录名(简单说,就是设备名) -R: 指定某一属性的合法值(可能取值) -s Subclass: 指定某一设备子类名 -t Type:指定某一类设备 比如: #lsattr –El rmt0 #lsattr –Dl rmt0 #lsattr –l scsi0 –a bus_intr_lvl –E #lsattr –l tty0 –a login –R 此命令输出:enable disable share delay hold 注意,使用 lasttr 命令所显示的设备属性的有效值是从配置数据库取得的, 如果使用 chdev 没有使用-p 参数,结果改了设备的属性,但还没有更新 到配置数据库中去,这时 lsattr 显示的可能不是该设备属性的实际值,直 到等到系统重启后两者数据才会一致。(试一试,不要重启情况) 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 13 页, 共 70 页 3.5 使用 smit device 菜单 3.6 系统错误日志 3.6.1 使用 errdemon 命令 errdemon 守护进程(/usr/lib/errdemon)检测系统错误并写入到/dev/error。 该错误日志最终记录到/var/adm/ras/errlog 文件中去。 #/usr/lib/errdemon –l 显示有关配置情况 #/usr/lib/errdemon –B 16384 #/usr/lib/errdemon –s 2000000 3.6.2 使用 errpt 命令 errpt 命令步骤任何错误日志分析,可以使用 diag 来分析错误。 参数: -s StartDate: 指定在该指定时间后的日志 比如: #errpt –aj 2bfa76f6 #errpt –a –s 0405093005 显示 2005 年 4 月 5 日 9:30 以来的日志 3.6.3 使用 errlogger 命令 可以使用errlogger命令来记录操作信息或其它信息到系统错误日志中去。 #errlogger Testing use of errlogger command. 3.6.4 其它 error 有关命令 errclear errinstall: 在错误日志信息设置中安装信息 errupdate: 升级错误记录模板储存库 3.7 诊断硬件问题 利用 diag 上多个可选的工具和服务可以用来诊断硬件上的问题,运行 diag,选择 Diagnostic Routines,再选择 Problem Determination。 也可以使用命令行#diag –d sysplannar0 –v –e 来诊断 sysplannar0 设备 的问题。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 14 页, 共 70 页 3.8 系统日志 Aix 使用 syslogd 来记录系统信息,syslogd 守护进行读取数据报路 (datagram socket) 并把它记录到/etc/syslog.conf 中 定 义 的 目 的 地 。 /etc/syslog.pid 文件中记录的是 syslogd 守护进程的进程号,可以使用 kill 或 refresh 等命令来重启或刷新该守护进行,一旦 syslog.conf 配置文件被 改动后。 每条信息各成一行,它可能包含一个有在<>号里标记的优先级代码,超 过 900bytes 的信息会被截去。 /usr/include/sys/syslog.h 文件里包含着定义在/etc/syslog.conf文件里可以定 义的各种工具和优先级代码。 Syslogd 命令语法:syslogd [-d] [-s] [-f ConfigurationFile] [-m Markinterval] [-r] 3.8.1 syslogd 配置文件 /etc/syslog.conf 文件控制着 syslogd 守护进程的行为,它决定着 syslogd 往 哪里发送错误信息和如何对其它系统的事件作出反映等。 3.8.2 /etc/syslog.conf 配置文件的格式 syslog.conf 配置文件的每一行包含有一个选择项和一个动作项,中间用一 个或多个 tab(空格)键隔开。比如:mail.debug /usr/spool/mqueue/syslog 在选址项中,定义一个工具及其优先级,中间由点号连接,可以由多个 选址项并列,中间要用分号隔开,要选择所有的工具,用星号(*)。如: *.debug;mail.none /tmp/debug.log。 工具由以下几项:kern, user, mail, daemon, auth, syslog, lpr, news, uucp, * , 其中*代表所有工具。 优先级别:emerg, alert, crit, err, warning, notice, info, debug, none,其中none 的含义是不包含所选的工具,只用于在同一行中有*号工具的定义行。如: *.err;lpr.none /tmp/error.log。在 syslog.conf 文件中定义了某级别,意思就 是在该级别和该级别以上的所有信息都会被记录。 在动作项(action field)中,可以定义要把信息发送的所在地,如某个目 录或某个用户,某台主机。可有:File Nmae, @Host, User [,User][„]。 3.8.3 使用系统日志 1、启动关闭和刷新 syslogd 进程。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 15 页, 共 70 页 Syslog.conf 的配置 2、定义 mail 工具在 debug 级别或以上信息到文件/tmp/mail.syslog, mail.debug /tmp/mailsyslog 3、定义所有错误级别或以上信息,出来 lpd 工具到主机 Logserver *.err;lpd.none @Logserver 4、定义所有的 mail 工具信息到所有用户终端屏幕 mail.debug * 5、定义所以在 emerg 优先级或以上和 mail、daemon 工具在 crit 级别以上 信息给用户 stan 和 xtjk *.emerg;mail,daemon.crit stan,xjtk 3.9 mkdev 设置一个 ASCII 终端 使用 smit tty 或直接使用 smit maktty,也可以使用 mkdev 命令行。 #mkdev –c tty –t tty –s rs232 –p sa0 –w s1 –a login=enable –a term=vt100 #rmdel –l tty_name –d 删除某个终端。 第4章 系统和软件安装 4.1 基本操作系统安装 要安装操作系统,在机器启动时要切换到维护模式,即听到嘀声后按下 F5(或 Esc+5)键来选择安装选项。 4.1.1 全新完全安装 4.1.2 升级安装(Migration installation) 保留了 rootvg 里的所有文件系统、lv 和系统配置文件,除了/tmp 文件系 统。 4.1.3 保留安装 保留用户数据,将会删除和重建操作系统的文件系统如/,/var,/tmp,/usr 四个文件系统。任何在这些目录的用户数据也会丢失。系统配置将必须 重做。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 16 页, 共 70 页 可以使用/etc/preserve.list 来定义需要保留的系统文件。The /etc/filesystems files is listed by default. 4.2 高级安装选项 4.2.1 安装 Package Set or Desktop 该选项让你配置系统启动后将会使用的界面。缺省是安装 Package Set 而 这就只能选择 ASCII 控制台。 Desktop 选项是图形界面,可以选择 CDE,KDE,GNOME 等图形界面, 如果选择 None,那在此选项下支行安装最小的配置如 X11,Java,perl,SMIT 和基于 Web 的系统管理工具。 4.2.2 启用 Trusted Computing Base(TCB) 本选项提供一个更高级别的安全。选择本选项将会安装 bos.rte.security 软 件包,而且你配置和启用它。如果你在此时不安装 TCB,那么你就要重 新安装操作系统。安装了 TCB,你可以在系统中通过卸装 bos.rte.security 软件报来卸载。 4.2.3 启用 64-bit 和 JFS2 如果你的机器是 64 位的处理器,那么将会默认加载(load)64-bit 内核, 但只有你选择了这一选项后系统启用(enable)64-bit 内核。 如果你是升级安装而来,那么原来的 JFS 文件系统将不会转换成 JFS2 文 件系统。 4.3 配置助手(Configuration Assistant) 安装完毕系统重启后,配置助手工具/usr/sbin/install_assist 将会自动运行。 配置完毕后,记得要“退出配置助手”,选择“结束”,这样下次启动才 不会还是自动启动配置助手。 使用 oslevel 命令 4.4 使用 oslevel 命令鉴定系统软件维护版本 使用 oslevel 命令来鉴定一个系统的软件的维护版本(maintaneance level) osleve [-l Level | -g -q ] -l Level:列出早于指定维护版本的 fileset。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 17 页, 共 70 页 -g: 列出迟于目前维护版本的 fileset 软件的版本:vv.rr.mmmm.ffff vv:version number 版本号 rr: release number 发布版号 mmmm: modifacation level 修改版号 ffff: fix level 补丁版号 例如: #oslevel #oslevel –q #oslevel –g #oslevel –l 4.3.3.0 4.5 软件包(software packaging) 4.5.1 Filesets A fileset 是 Aix 操作系统最小的安装基本单位。比如 bos.net.uucp 或者 bos.net.nfs.client。 4.5.2 Packages 一组提供某种特定功能的 fileset 的集合。如 bos.net。 4.5.3 Licensed Porgram Products(LPP) A Licensed Program Product is a complete software product including all packages associated with that licensed porgram. 4.5.4 Bungles A bungle is a list of software that can contain filesets,packages,and LPPs that are suited for a particular use. 系统定义的默认 bundles 在/usr/sys/inst.data/sys_bundles。而用户生成的 bundles 则储存在/usr/sys/inst.data/user_bundles。 4.5.5 PTFs and APARs PTF: Program Temporary Fix 的首字母的缩写词。如同其它软件包一样, 它使用 lslpp 命令来安装。 APAR:Authorized Program Analysis Report 的首字母的缩写词。它使用 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 18 页, 共 70 页 instfix 命令来安装到系统中去。 经过测试和确认后,APARs 最后将变成 PTFs。 4.6 安装可选的软件包或升级 4.6.1 4.6.1 installp 命令 软件可以安装成两种状态:applied 和 committed。Applied 状态保存了原 来以前版本的软件,它把以前版本存储在/usr/lpp/PackageName 目录下。 这种方式可以回滚到以前的软件版本。而 committed 状态删除了存放在 /usr/lpp/PackageName 目录下的所有以前版本。建议在安装新软件包时使 用 applied 状态而不要使用 committed。 1、安装软件在 applied 状态 #installp –avx –d /usr/inst.images bos.net 2、安装软件在 committed 状态 #installp –acpX –d /usr/inst.images bos.net 注意:如果你同时从同一个安装介质中运行两个 installp 命令,将会提示 错误,这时你可能要使用 installp –C 来清除失败的安装 还有,安装结果输出到/var/adm/sw/installp.summary,可以查看该文件来 查看安装了哪些软件包。 3、提交(committing)处于 applied 状态的软件升级包 #installp –cgX all 4、取消 applied 状态的升级,回到原来的版本 #installp –rBfx ./reject.list 5、删除已安装的软件 #installp –ugp –V2 bos.net.ipsec.rte 6、失败安装过后的清除 #installp –C 7、 列出安装介质上所有可安装的软件包 #installp –L –d /dev/cd0 4.6.2 4.6.2 使用 smit 来维护软件 使用 smit 菜单来维护软件时,可以在/var/adm/sw/installp.log 记录维护日 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 19 页, 共 70 页 志,如同使用 installp 命令一样,当然使用 smit 也会在$HOME/smit.log 记录使用 smit 的日志。 4.7 维护可选软件(应用于软件包升级) 被发布用于修复一个问题的软件称为 update。 4.7.1 列出软件的维护版本 使用 lslpp 命令,有以下选项: -f:列出属于某个软件包的所有文件 -w:列出某个文件属于哪个软件包 -h:列出软件包安装和升级的历史信息,可以查看安装或升级时间 -a: 但和其它选项合着使用时,列出指定软件包的所有信息,不能和-f 一 起使用。 1、列出当前软件包的维护版本 #lslpp –l 2、列出某软件包包含哪些文件 #lslpp –f bos.net 3、列出安装和升级历史 #lslpp –h bos.sysmgt.trace 4.7.2 下载补丁 使用 IBM 提供的 FixDist 工具可以到 service.software.ibm.com 站点下载补 丁包(fixes) BFF 格式:Backup File Format,是使用 Aix 系统命令 backup 来生成的, 可以使用 restore 来读取,补丁包一般是.bff 格式,还包括有.info 文件来 描述升级包。 .toc 和 inutoc 命令 4.7.3 instfix 显示和升级安装的软件到最新版本 显示一个单一的补丁 使用 instfix 命令,有以下选项: -a: 显示一个补丁的特征文本说明 -i: 显示补丁或关键字是否已安装 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 20 页, 共 70 页 -k Keyword: 指定一个 APAR 号或关键字 -T: 显示安装介质的补丁列表 例如: 1、列出补丁列表 #instfix –T –d /dev/cd0 2、查看 APAR IX75893 是否已经安装 #instfix –aik IX75893 3、查看补丁 IX75893 的相关信息 #instfix –aik IX75893 4、查看哪些维护版本安装到系统上 #instfix –i |grep ML 5、安装补丁 #instfix –aix IX75893 –d /dev/cd0 也使用 smit show_apar_stat 来查看补丁的状态,使用 smit updata_by_fix 来安装 APAR,使用 smit update_all 来升级所有软件包到最新版本。 4.8 在硬盘上创建安装映象 使用 smit bffcreate 菜单。 使用这种方法可以解决需要安装处于不同安装介质(如不同光盘)的但 有相互依赖(co-requisites)的软件包。 4.9 可变的硬盘安装 可以减少停机时间,可是用于测试新的版本。只在 4.3 或以上版本可用。 4.9.1 需事先安装的软件包 bos.alt_disk_install.boot_images: 用于使用 mksysb 备份带来安装。 Bos.alt_disk_install.rte 用于使用克隆 rootvg 来安装。 4.9.2 可变的 rootvg 克隆 把当前的 rootvg 克隆到该系统中一个新的硬盘中,注意,不支持 SSA 硬 盘。 4.9.3 可变的 mksysb 安装 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 21 页, 共 70 页 可以使用不同机型或架构的 mksysb 备份带来安装。 第5章 存储管理、LVM 和文件系统 5.1 相关概念 PV、VG、PP、LV、LP 的概念和相互关系。 5.2 逻辑卷管理 5.2.1 LVM 配置数据 对 vg, lv, 和 pv的描述数据并不是只放在一个地方,而是存放在很多地方。 1、ODM 数据库 ODM 数据库存放着包括所有配置 PV、VG 和 LV 的信息,它和 VGDA 中 的信息是镜像的。比如,在 import 一个 vg 时,VGDA 的信息就会拷贝到 ODM 库中。 ODM 数据库同时也存放着与 Logical Volume Control Block(逻辑卷控制 块)镜像的信息。 2、VGDA(volume group descriptor area) 在一个 vg 包含的 pv 的开始部分,存放着所有的属于该 vg 的 lv、pv 的描 述信息。 每个硬盘至少包含有一个 VGDA,每个 VGDA 都有个时间戳,它鉴定了 该 VGDA 是否时最新的,有时 VGDA 没有被同步。所以,有时你需要更 新这些没有同步的 VGDA 信息,这也是 varyon 程序所要做的。 VGDA 是在一块硬盘被分配为 PV 是分配的,而在一个 PV 加入一个 VG 时,该 VGDA 加入了 VG 的相关信息,当一个 PV 从 VG 删除时,相应 的 VG 信息也从 VGDA 中删除啦。 3、VGSA(volume group status area) VGSA 保存这 pv 和 pp 的状态信息。 4、LVCB(logical volme control block) LVCB 位于每个 lv 的开始部分。它包含每个 lv 的信息,使用了几百个字 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 22 页, 共 70 页 节空间大小。 如:#getlvcb –TA hd2 (其它命令) 5.2.2 Disk quorum 每个 PV 上 VGDA 的个数,主要看该 VG 包含基本 PV。 当一个 quorum 失去后,该 vg 自动 varyoff 掉,使用 lvm 无法在进入该 vg, 保证了数据不会丢失。 在镜像情况下,可以把 quorum 关掉,这时可以提高该 vg 的可用性,但 可能会导致数据丢失的风险,所有要及时更换故障硬盘。 5.2.3 硬盘镜像 Aix 提供一个 lv 级别上的镜像工具,但使用 mklv 来创建一个 lv 时,可以 选择两到三个拷贝。但为了增强该 lv 的可用性,需要把这些拷贝放在不 同的硬盘上。 mirrorvg 命令,也可以使用 mklvcopy 来镜像某个 lv,但前提是目标盘必 须已经加入到该 vg 中去。 1、替换一个坏的硬盘,换上一个新硬盘到一个镜像的 vg 上: #umirrorvg uservg hdisk4 #reducevg uservg hdisk4 #redev –dl hdisk4 换上一块新硬盘,然后 #extendvg uservg hdisk4 #mirrorvg uservg 2、生成一个严格对应的镜像 #mirrorvg –m datavg hdisk2 hdisk3 3、rootvg 的镜像(quorum 时候自动关闭) 使用 mirrorvg 做完镜像后,还需要使用 bosboot, bootlist 等命令。其中 bosboot 生成一个新的引导映象,而 bootlist 是把新的硬盘加入引导行列。 注意:不要没有做成功 bosboot 就重启机器,很可能导致系统启动不了。 4、非 rootvg 的镜像 但一个非 rootvg 的 vg 镜像后,该 quorum 会自动关闭,但只有 varyoff, varyon 该 vg 后才能生效。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 23 页, 共 70 页 对于 dump 设备(/dev/hd6,一般也是 paging space),系统是不会 mirror 的。但如果 dump 设备和 paging 设备是在不同的 lv 上,则 paging 设备会 自动 mirrored,而 dump 设备不会 mirrored。 5.3 管理 pv 6.3.1 配置一个 pv 6.3.2 使一个可用的硬盘变成一个 pv。 #chdev –l hdisk2 –a pv=yes,该命令为该 disk 分配了一个 PVID。 6.3.3 改变 pv 的属性 1、设置 pv 的可分配权限 #chpv –a y(n) hdisk2 2、设置 pv 的可用性 #chpv –v r pvname 该命令停止了该 pv 上的所有 VGDA 和 VGSA 的拷 贝。 #chpv –v a pvname 6.3.4 删除 pv #rmdev –dl hdisk1 如果不加入-d 参数,则不会在 ODM 库中删除该 pv 的定义。 6.3.5 列出 pv 的相关信息 1、列出系统中的 pv #lvpv 或 #lvdev –Cc disk 2、列出 pv 的属性 #lspv hdisk1 注意有 VG Descriptors 的信息,还有 VG State 的信息(如果有些该 VG 的 pv 是 inactive 则显示 active/partial) 3、列出一个 pv 的分配(allocation)信息 #lspv –l hdisk1 4、列出 pv 的分区信息(partition allocation by PV region) #lvpv –p hdisk1 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 24 页, 共 70 页 5、列出物理分区表 可以使用以下命令来查看数据存放的连续度,以提供该 PV 的 I/O 性能。 #lspv –M hdisk1 6、移植一个 pv 上的内容 使用 migratepv 命令,但前提是目标 pv 必须和源 pv 在同一个 vg 上。 注意如果移植 rootvg ,要单独移植 hd5 (#migratepv – l hd5 SourceDiskNumber DestinationDiskNumber),并且移植完 hd5 后,要使用 bosboot 和 bootlist 命令。同时还有使用 mkboot – c – d /dev/SourceDiskNumber 命令来清理引导记录。 #bosboot –ad /dev/DestinationDiskNumber #bootlist –m normal DestinationDiskNumber #mkboot –c –d /dev/ SourceDiskNumber 5.4 管理 vg 6.4.1 添加一个 vg 可以使用 smit vg 和 mkvg 命令,mkvg 命令还提供以下选项: -d: 该 vg 所能包含的最大 pv 数 -m:指定该 vg 所能包含 pv 的最大大小,它将决定可以使用多少个 pp,默 认是 1016 个。 注意:创建一个 vg 是,根文件系统空间至少要有 2MB 的空间大小,将 会创建/etc/vg 目录。 6.4.2 改变 vg 属性 1、改变 vg 的激活属性 #chvg –an(-ay) newvg 指定该 vg 在系统启动时是否自动 varyon。 2、解锁一个 vg 但一个 LVM 命令异常中断时,vg 可能会被锁住,这时可以使用下列命令, #chvg –u newvg 3、添加一个 pv #extendvg newvg hdisk3 当然,如果你想添加一个原来已经属于一个 varied 状态 vg 的 pv 时,将 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 25 页, 共 70 页 会出错。如果该 vg 没有被 varyon,这时,系统会问你是否确定要这么做。 4、删除一个 pv 注意,对应的该 vg 必须处于 varyon 状态,所属的 pv 才能被删除(这时 才能写 VGDA 信息) #reducevg myvg hdisk3 reducevg 有-d 和-f 选项: -d: 在删除该 pv 前,将会自动删除该 pv 上的所有 lv,这将很危险,因为 有的 lv 可能跨越了不同的 pv。 -f: 强制删除 lv,不经过确认。 5、删除一个 PV 的标记(reference) 如果在移走一块硬盘前没有事先做好 reducevg myvg hdisk3,这时该 vg 的 VGDA 信息将还会保留那块已经移走硬盘的信息。这时通过以下命令 可以删除该 pv 的信息。 #reducevg VolumeGroup 000000536c63937 6.4.3 导入和导出一个 vg 为了从 ODM 库中删除一个 vg 的系统定义,必须使用 exportvg 命令。而 importvg 则是从 VGDA 中读取 vg 信息并加入到 ODM 库中。 如果要导入的 vg 和原来系统中的 vg 有重名,则可以指定一个新的 vg 名, 或者有系统来指定一个 vg 名。同样,如果该 vg 的 lv 有重名,则系统也 会重新分配新的 lv 名。 注意,从一个系统移植 vg 到另一个系统中去,一定要事先做好 exportvg。 注意: 1、如果没有冲突,importvg 也将会对该 vg 上 fs 在系统的/etc/filesystems 文件中创建 mount point。 2、如果一个 vg 包含有活动的 paging space,则不能直接 exportvg,必须 先把该 paging space 置于不活动状态。 3、在 importvg 后,建议对 vg 的 fs 进行 fsck,在 mount 这些 fs 前。 4、使用 smit exportvg 命令将会删除/etc/filesystems 的相应的文件系统说 明,但会在系统中保留 mount points。 6.4.4varyon 和 varyoff 一个 vg 理解 varyon vg 的过程,读取并判断 VGDA 的可用性,刷新并同步 VGDA 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 26 页, 共 70 页 的信息。 varyonvg 有以下选项: -f: 强制 varyon,即使 VGDA 和 ODM 库中信息不一样。 -n: 指定在varyon时不自动使用syncvg命令来同步处于stale状态的分区。 -s: varyon 成维护模式 5.5 管理 vg 1、列出 varyon 状态的 vg #lsvg –o 2、列出 vg 的属性 #lsvg myvg 3、列出 vg 中的 lv #lsvg –l myvg 4、列出一个 vg 中 pv 的状态 #lsvg –p myvg 6.4.6 重新组织一个 vg 使用 reorgvg 命令来重新组织一个 vg 中的 pp 分区情况,前提是指定的该 lv 必须是可重新分配的,可以使用 chlv –r 命令来更改。 注意:对条带化的 lv 不会重新分配存放位置。 在 4.2 或更高版本上,如果 recorgvg 后面没有指定 lv 名字,则默认只对 该 vg 中的第一个 lv 重组。 #reorgvg vg02 lv03 lv04 #echo “hdisk06” | reorgvg -i vg02 lv203 lv205 6.4.7 同步一个 vg 使用 syncvg 来同步处于 stale 状态的 lv 拷贝。比如拔掉一块硬盘重新插上 以后。 其实,在 varyonvg 命令使用时,会自动使用 syncvg 来同步即将 varyon 的 vg。 1、同步 hdisk04 和 hdisk05 上的拷贝 #syncvg –p hdisk04 hdisk05 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 27 页, 共 70 页 2、同步 vg04 和 vg05 上的拷贝 #syncvg –v vg04 vg05 5.6 管理 lv 5.6.1 添加一个 lv 创建一个 lv 时其默认的最大值是最大可以有 128 个逻辑分区(logical partitions) 使用 mklv 命令,可以使用-t 来指定类型,但不能创建 boot 类型的 lv。 也可以使用 smit mklv 菜单,如果没有指定 PHYSICAL VOLUME,则默 认在系统的第一个 PV 上创建 lv。 5.6.2 删除一个 lv 可以使用 rmlv 或 smit relv 菜单。 rmlv 命令有两个选项,-f 和-p。 -p PhysicalVolume: 只删除指定 PV 上的逻辑分区,除非其它 pv 上没有 lp, 否则不会删除该 lv。 5.6.3 减小 lv 的大小 备份数据,删除原来 lv,重建新的较小的 lv,恢复数据。 5.6.4 增大 lv 的大小 使用 smit chjfs 或者 extednlv 命令 5.6.5 拷贝一个 lv 可以把 lv 拷贝到一个新的 lv 或原已经存在的 lv 上,但将会覆盖原来的 lv。 使用 cplv 命令行 1、拷贝一个 lv 到一个新的 lv 上 #cplv –v myvg –y newlv oldlv 本命令将会拷贝 oldlv 的内容到新的,在 myvg 上的 newlv 上,如果没有 指定 vg 名,则会在 oldlv 所在的 vg 上创建 newlv。本命令会自动新建一 个 lv,无需先用手工创建 newlv。 2、拷贝一个 lv 到一个原已经存在的 lv 上(lv 应该不过关闭) #cplv –e existinglv oldlv existinglv 上的数据将会被覆盖,并且要确认 existinglv 的大小不能小于 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 28 页, 共 70 页 oldlv。 3、使用 smit cplv 菜单 如果你碰到错误提示:cplv: Destination logical volume must have type set to copy , 这 时 你 要 改 变 lv 的 可 拷 贝 属 性 : #chlv – t copy Destination_Logical_Volume_Name。 5.6.6 分开一个 lv 的多个拷贝 使用 splitlvcopy 命令可以分开一个 lv 上的拷贝而把它建成一个新的独立 的 lv。 注意:虽然 splitlvcopy 可以对打开的 lv 进行操作,但为了安全起见,还 是健康 umount 文件系统把 lv 关闭后在进行操作。 #splitlvcopy –y newlv oldlv 2 5.6.7 列出 lv lslv lvname 5.6.8 lv 的大小 要注意有多个拷贝的情况。 Totel LV size=PP size*LPs assigned to LV * Number of copies of the LV 5.7 管理文件系统 JFS 把 lv 分成固定大小的逻辑块(logical block),有 Logical Block 0, Superblock(位于第 1 和第 31 个逻辑块),Allocation Groups。 5.7.1 文件系统的属性 1、Number of I-nodes 和 nbpi(number of bytes per i-node) JFS 最大的 i-nodes 是 224 (16MB) 2、Allocation group size 3、File system fragment addressability Each fragment must be addressable by a number from 0 to 228 4、JFS log 5、最大的文件系统大小 是 NBPI*224 和 Fragment Size*228 的较小值,所以,可以把 NBPI 选大一 点,但 Fragment Size 更加文件的事件大小来考虑。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 29 页, 共 70 页 5.7.2 创建一个 fs 使用 smit crjfs 菜单或者 crfs 命令来创建。 #crfs –v jfs –g rootvg –a size=8192 –m /mydata 注意,命令不是 cfjfs 5.7.3 一个文件系统 When a file system is mounted over a directory, the permissions of the root directory of the mounted file system takes precedence over the permissions of the mount point. 使用命令行 mount,可以使用 mount –a 或 mount all 来 mount 全部文件 系统。 也可以使用 smit mount。 自动 mounting , 有 两 类 文 件 系 统 , 在 /etc/filesystem 文 件 中 的 mount=automatic 和 mount=true,前者是操作系统的四个文件系统(/,/var, /tmp,/usr),在 boot 阶段(多用户初始化之前)就已经 mount,所有要注 意,在系统运行过程中,这四个文件系统是不能被 umount 下来的。后者 是用户定义和控制的,在多用户初始化时,有/etc/rc 脚本调用 mount all 命令来 mount 这些文件系统。 可以使用 chfs –A yes file_system 命令来改变文件系统在系统启动时是 否自动 mount。 5.7.4 删除一个文件系统 先 umount,后在删除,也可以使用 rmfs 命令行,如果要删除 mount point, 则要加上-r 参数。#rmfs –r myfs 5.7.5 加大文件系统的大小 使用 chfs 命令或 smit chjfs 菜单 5.7.6 减小文件系统的大小 如果是非操作系统的文件系统,可以使用多种方式(cpio, backup, tar, savevg 等)备份数据后,删除文件系统,重建后,恢复数据方式进行。 更重要的是,可以使用 mksysb 备份带来减小一个文件系统的大小,在使 用备份带恢复时,可以选用 shrink 选项来缩小文件系统的大小,对于操 作系统的几个文件系统(如/, /var, /tmp, /usr)来说,只能采用这种方法。 5.7.7 检查文件系统的一致性 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 30 页, 共 70 页 建议在 mount 文件系统前使用 fsck 来检查文件系统的一致性,如果使用 fsck 命令没有指定任何文件系统,则它将会检查/etc/filesystems 文件里 check=true 的所有文件系统。 注意到,/etc/filesystems 文件里,操作系统的四个文件系统(/, /var, /tmp, /usr) 的 check=false),这时由于在启动阶段(boot process)就已经 fsck 了这四 个文件系统,而在多用户启动初始化时,是不需要 fsck 来检查已经 mount 的文件系统的。 5.7.8 初始化 JFS 日志设备 使用 logform LogName 命令行。 5.7.9 JFS 日志设备的存放位置 应尽量把 JFS 日志设备放置在比较空间的磁盘上,同时也可以使用多个 JFS 日志设备。 5.7.10 大文件系统支持 使用 lsfs –q 可以查看文件系统是否支持大文件系统,注意有 bf: true 输 出项。 5.8 解决文件问题 5.8.1 恢复超级块错误 如果提示: fsck:Not an AixV4 file system fsck:Not a recognized file system type 使用 dd 来恢复受破坏的超级块 #dd count=1 bs=4k skip=31 seek=1 if=/dev/lv00 of=/dev/lv00 然后再用 fsck 来检查文件系统。 5.8.2 无法 umount 文件系统 fuser,genkex 等命令的使用。 #find /home –type d –exec fuser –u {} \; 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 31 页, 共 70 页 第6章 交换空间(Paging space) 6.1 7.1 概述 以 4K 为单位,也叫 swap sapce,在实际内存和辅助存储(如磁盘空间) 之间置换(换页)数据。当系统的时间内存比较低时,内存里的最近没 有使用的程序或数据被置换到 paging space。 在安装时,Aix 默认使用 hd6 作为 paging space 设备。 Paging space 大小的考虑 如果 paging space 太小了,进程可能会丢失,甚至系统会崩溃。当空余的 paging space blocks 下降到一个阀值时,系统会通知所有进程。 1、paging spaces 放置的位置 放置 paging space 到不同的 pv 上可以提高性能,不建议一块硬盘上放置 多个 paging space。 2、paging spaces 的大小 总的大小一般建议为实际内存的两倍大,如果内存大于 256MB,则为 512MB+(memory size-256MB)*1.25。 如果要建立多个 paging space,则必须建得差不多大小,因为 paging space 采用 round-robin 循环算法,并且由于启动时只有 hd6 是激活的,所以要 把 hd6 建得稍大一点。 Lsps –a 命令查看每个 paging sapce 的使用情况,而 lsps –s 则是查看所 有活动的 paging space 的总和和使用率。 3、paging space 所在 vg 的限制 如果是 5.1 以前的版本,则不要把 paging space 放置到可移动的硬盘空间 去,尽量只把它放置到 rootvg 上。因为如果要 export 含有激活的 paging space 的 vg ,则比较麻烦,还要重启机器。 如果是 5L 以上版本,则问题不大,但也要 swapoff 该 paging space。 6.2 管理交换空间 有以下命令:chps, lsps, mkps, rmps, swapon, swapoff。注意mkps和mklv – t paging 的区别。还有 rmps 和 rmlv。 在系统启动早期阶段,/sbin/rc.boot 脚本调用 swapon 来激活主交换空间 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 32 页, 共 70 页 hd6,在后面的阶段,才激活其它交换分区。活动的交换分区不能被删除, 如果是 5L 以前版本,则要使用 chps –a n 命令来使得系统重启后不激活 (如果是 hd6,还要改动/sbin/rc.boot 里的 swapon 命令),重启系统后才 能删除该交换空间。 使用 swapon –a 命令将激活/etc/swapsapces 文件里所列的所有交换空间, 使用 mkps –a 命令创建一个新的交换空间时将自动添加该空间名到该文 件里,而使用 rmps 来删除一个交换空间时也会自动删除该文件里的定义。 6.2.1 显示交换空间属性 使用 lsps 命令,有#lsps –a 和#lsps –s 用法 #lsps –a –c 6.2.2 添加和激活一个交换空间 不要把交换空间加到经常移动的磁盘空间里,直接移走一个带有活动交 换空间的硬盘将导致系统崩溃。 使用 smit mkps(可以使用 mkps 命令吗) 6.2.3 改变交换空间的属性 1、使交换空间不活动 使用 smit chps 菜单,做完后可用 lsps –a 命令来查看。 2、动态使交换空间不活动(5.1 版具有的功能) 使用 swapoff 命令,或者使用 smit swapoff 菜单。注意其它的交换空间这 时要有足够的剩余空间。 3、增加交换空间大小 也是使用 smit chps 菜单。 4、动态减少交换空间大小(5.1 才有,不要重启) 5L 版引进 chps –d 命令,可以动态减少交换空间大小,无需重启系统。 #chps –d 2 paging01 6.2.4 删除一个交换空间(非 hd6) 基本思路:设置重启时不激活(同时要检查是否是主 dump 设备)->重 启机器->删除该交换空间。 如果是 5L 版,则无需重启,使用 swapoff 和 rmps 两个命令即可(当然也 要检查 dump 设备) 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 33 页, 共 70 页 #swapoff /dev/paging00 #rmps paging00 6.2.5 管理缺省的交换空间(hd6) 因为 hd6 在系统启动时是由启动脚本/sbin/rc.boot 激活的,所有要记得改 动该脚本,同时要记得重新生成一个引导映象,也要注意检查改变 dump 主设备。 1、减小 hd6 的大小 删除重建的概念。 2、在 5L 中减小 hd6 大小 可以动态减少,系统自动生成一个临时的引导映象和临时的/sbin/rc.boot 使得系统总是可以安全的被重启。 3、移动 hd6 到另一个 vg 上 不建议这么做,因为 the name(hd6) is hard-coded in several palces。 只有在 rootvg 上的交换空间才可以在启动的第二阶段(也就是平常 /sbin/rc.boot 激活 hd6 的时候)被激活。 4、在同一个 vg 上(就是 rootvg 啦)的不同硬盘上移动 hd6 使用 migratepv 命令 #migratepv –l hd6 hdisk0 hdisk1 第7章 系统备份、恢复和可用性 几个命令及其用法(p214) 7.1 mksysb 命令 用户定义的 paging sapces 和裸设备不会被备份(那么恢复时用户定义的 交换空间就没掉啦?) 7.1.1 mksysb 磁带的数据展示 三个 512 字节大小的 image:BOS boot image、mkinsttape image、dummy.toc 其中 BOS boot image 包含一个系统内核的拷贝和引导设备的驱动,它是 由 bosboot 命令来创建的。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 34 页, 共 70 页 Mkinsttape image 里包含三个文件:./tapeblksz、./image.data、./bosints.data。 ./tapeblksz 文件指定磁带设备的 block 大小 ./bosinsts.data 包含定制的 BOS 安装过程并指定了 BOS 的安装程序的表 现。你可以在使用 mksysb 命令前就定制这个文件或者在备份完后再定制 这一文件。 ./image.data 文件包含安装过程中该 image 的描述信息,如 rootvg 中逻辑 卷和文件系统的大小、名字、对应信息(map)和安装点等。可以在使用 mksysb 命令前就定制这个文件,或者使用 mksysb –i(实际上也是调用 mkszfize 命令)来创建一个新的./image.data 文件。 (实验:备份系统中原有的 image.data 文件,再用 mkszfile 命令创建一个 新的,比较。 如果没有选择生成新的 image.data 文件,是不是磁带上就用操作系统上原 有的 image.data) 该文件格式及相关参数,注意由以下参数: SHRINK: 如果设置为 YES,则恢复时创建尽量小的文件系统。 BOSINST_FILE:提供 BOS 安装完毕后要运行的文件或命令的全路径名。 EXACT_FIE: 如果设置 YES,则恢复时严格按照有 mksysb 带-m 参数(也 就是在 smit mksysb 菜单中的选项:Create map file)创建的 map 文件中定 义的 pp 位置来放置逻辑卷。 在其后的备份数据是有 backup 命令生成的,所有可以用 restore 命令来恢 复单个文件或文件夹。 7.1.2 备份中不包括的文件系统 使用/etc/exclude.rootvg 文件,同时使用-e 参数 #mksysb –e /dev/rmt0 7.1.3 创建一个可引导的系统备份 使用 smit mksysb 菜单 7.1.4 使用 mksysb 备份一个用户定义的 vg 不支持,可以选用 savevg、tar、cpio 或 backup 命令 7.2 备份用户数据(非 rootvg) 7.2.1 8.2.1 备份一个用户定义的 vg 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 35 页, 共 70 页 可以使用 savevg 来备份一个用户定义的 vg 上的数据,但该 vg 必须是 varyon 的,并且只有 mount 的文件系统才被备份。 Savevg 命令调用 mkvgdata 命令来 #savevg –if /dev/rmt0 datavg 7.2.2 备份当前目录 1、使用 tar 命令 #cd /etc #tar –cvf /dev/rmt0 * 2、使用 backup 命令 注意使用相对路径或绝对路径 #cd /etc #find . –depth | backup –i –f /dev/rmt0 3、使用 cpio 命令 #cd / #find /etc –print | cpio –o –c –v –B > /dev/rmt0 上述命令采用了绝对路径。 7.2.3 增量备份 可以使用 backup 命令来进行经常被改动的数据的增量备份。backup 命令 使用-u 参数,指定增量备份级别,更改/etc/dumpdates 中最近一次增量备 份的时间、日期和级别。(P216) backup 的增量备份级别支持从 0 到 9 的级别,每次增量备份的关于日期 时间等都会写到/etc/dumpdates 文件里。如: /dev/lv01 0 Mon Jun 04 02:00:00 2003 /dev/lv01 1 Wed Dec05 02:00:00 2003 7.3 从备份介质中恢复数据 7.3.1 tctl 磁带操作命令 使用 tctl 命令来操控磁带,如果没有使用-f 参数来指定磁带设备,则也可 以使用 TAPE 环境变量。 其子命令包括: 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 36 页, 共 70 页 rewind: 重绕磁带即倒带 rewoofl or offline: 倒带并离线 status:显示指定磁带设备的状态 fst Count: 先前移动指定参数(number of file marks)磁带。 bst Count: 向后移动磁带 7.3.2 如何恢复一个文件 从备份带中恢复一个文件,比如要恢复/etc/hosts 单个文件,取决于你使 用何种方式备份数据。 1、mksysb #tclt –f /dev/rmt0 rewind 列出备份带的信息 #restorre –T –d –v –q –s4 –f /dev/rmt0.1 恢复/etc/hosts 文件 #tclt –f /dev/rmt0 rewind #restore –x –d –v –q –s4 –f /dev/rmt0.1 ./etc/hosts 注意/etc/hosts 文件名前的“.”号,这是 restore 命令所必须的。 2、tar 使用 tar 来备份的数据可以使用以下方式恢复 #tar –xvf /dev/rmt0 /etc/hosts 3、cpio #cpio –icduvmB < /dev/rmt0 “/etc/hosts” 4、restore 有两种方式,如果备份是使用-i 参数来指定文件名的,则使用以下命令行: #restore –x –d –v –q –f /dev/rmt0 /etc/hosts 注意根使用 mksysb 备份带时恢复时区别。 如果时备份整个文件系统的: #restore –x –v –q –f /dev/rmt0 /etc/hosts 7.3.3 如何恢复一个目录 也是取决了备份时采用什么方式命令。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 37 页, 共 70 页 1、mksysb 例如要使用系统备份带恢复/var 目录 #tctl –f /dev/rmt0 rewind #restore –x –d –v –s4 –f /dev/rmt0.1 ./var 2、tar #tar –xvf /dev/rmt0 /var 3、cpio #cpio –icduvmB < /dev/rmt0 “/var/*” 4、restore 也是两种模式 #restore –x –d –v –q –f /dev/rmt0 /var #restore –x –v –q –f /dev/rmt0 /var 7.3.4 不正确的 block size 如果 block size 设置不正确时,可能会碰到如下错误: This is an input or output error. 可以有两种办法确定磁带的 block size 1、使用 tcopy 命令 #tcopy /dev/rmt0 2、使用 dd 命令 #dd if=/dev/rmt0 bs=128k count=1 | wc –c 可以通过 chdev 命令来改变磁带设备的 block size。 #chdev –l rmt0 –a block_size=1024 7.4 克隆系统 可以使用 mksysb 来克隆你的系统到各种其它系统上,可能其它系统有不 同的硬件设备或不同的平台架构。 使用目标系统随机带的安装介质(product media)引导系统,进行维护模 式,选择“Instal from a System Backup”选项。从备份带安装完毕后,继 续按屏幕中提示完成安装过程。 注意:可以使用 bootinfo –p 或 lscfg –vp | grep Arch 来查看该系统时候 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 38 页, 共 70 页 支持从磁带引导,有些 rspc 架构的系统不支持。 但系统备份带安装完毕后,安装程序会继续提示你使用随机带的安装介 质(product media)来安装该系统需要的设备驱动或内核。安装信息会保 存在/var/adm/ras 目录下的 devinst.log 文件里。 7.5 8.5 创建软盘的拷贝 使用 dd 命令 #dd if=/dev/fd0 of=/tmp/ddcopy 换上新的软盘 #dd if=/tmp/ddcopy of=/dev/fd0 7.6 复制一个磁带 使用 tcopy 命令 如:#tcopy /dev/rmt0 /dev/rmt1 但如果磁带机规格不一样,可以吗? 7.7 special file notes for rmt 磁带机设备特殊的文件属性(special file characteristics) 根据是否自动倒带(rewind), retension-on-open,还有密度(bytes per inch) 分为 rmt*, rmt*.1 一直到 rmt*.7 共八种。 Density setting #1 和#2 是设置磁带设备的数据存储密度,#1 是最高密度, #2 是最低密度。密度只对写时有效,读取磁带时按写的密度来读。 降低 block size 可能会浪费磁带空间。 7.8 HACMP (high availability cluster multi-processing) 可以支持多种模式:concurrent access mode, mutual takeove mode, Idle standby mode. 通过添加冗余的磁盘驱动器、适配卡和网络连接来增强系统的可用性。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 39 页, 共 70 页 第8章 系统资源控制器管理 SRC(system resource controller)提供了一组命令和子例程使得系统管理 人员生成和控制子系统(subsystem)更容易。一个子系统是能够独立操 作或有一个控制系统的一个或一组程序或进程,而一个子服务是属于一 个子系统的程序或进程。注意 subsystem 和 subserver 的区别。 控制机制: 1、统一一致的开始、停止、或刷新子系统的用户接口 2、异常中断子系统的日志功能 3、跟踪一个、一组子系统或一个子服务。 4、支持远程系统的控制操作。 8.1 启动 SRC 在系统启动过程中,使用/etc/inittab 脚本中的/usr/sbin/srcmstr 语句来启动。 一般情况下在系统正常运行时是无需再启动该服务的。因为有以下原因 需要在系统初始化时启动它。 1、使用 inittab 脚本可以在 SRC 异常中断时由 init 自动再去重启它 2、可以减少操作 3、在 /etc/inittab 中,要使用 startsrc 命令来启动包括打印等其它守护进程。 查看 man srcmstr 帮助来确定支持远程 src 请求所需的配置。 如果在/etc/inittab 中没有启动 srcmstr 的记录行,可以使用 mkitab 命令来 生成一个,然后用 telinit(或 init) q 来刷新它。 #mkitab –i fbcheck srcmstr:2:respawn:/usr/sbin/srcmstr 8.1.1 telinit 命令 telinit 命令通过指定一个字符参数(一般是一个运行级别号)使 init 进程 (进程号为 1)来执行特别的操作。Telinit 支持以下参数: 0-9: 运行级别 S,s,M,m: 告诉 init 进入维护模式 a,b,c: 告诉 init 检查/etc/inittab 中带有 a,b,c 运行级别的记录行 Q,q: 高手 init 重新检查/etc/inittab 的记录行 N: 发送信息停止正在进行 respawned 的进程 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 40 页, 共 70 页 8.2 重启 SRC 一般情况下不想重启 SRC,因为在/etc/inittab 中启动 SRC 的该记录是指 定 respwan,也就是如果 SRC 异常中断,它可以自动重启 srcmstr 服务进 程,同时自动重新建立子系统的通讯连接。注意当中断并重启 srcmstr 进 程后,该进程号会更改。 可以编辑/etc/inittab 中的该/usr/sbin/scrmstr 记录,添加-r(如果是 4.3.1 以前 版本)则添加-B 参数,并且使用 telinit –q(或 init –q)来生效,使得 sccmstr 拒绝接收远程的请求。 8.3 startsrc 命令 startsrc 命令通过对 SRC 发送一个请求来启动一个或一组子系统或传送一 个数据包来让子系统来系统一个子服务。 命令参数: -a argument: 在子系统执行时指定一个参数串 #startsrc –s syslogd –a “-D DEBUG” -e Environment: 指定一个环境字符串到该子系统的运行环境 #startsrc –s inetd –e “TERM=dumb HOME=tmp” -g Group: #startsrc –g nfs -s Subsystem: #startsrc –s inetd -h host: 指定要启动动作的该远程机器,本地用户必须是 root 用户,远程 系统也必须配置成能接受 SRC 的请求。 #starsrc –g nfs –h nfssvr 以下是启动一个子服务的选项: -t Type:指定要启动的子服务名 #starsrc –t tester -o Object:指定该子服务 object 要传递给子系统的字符串,子系统由义务 决定该 object string 的有效性 #startsrc –o tester –p 1234 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 41 页, 共 70 页 -p SubsystemPID: 指定要传送到的特定的子系统 #starsrc –t tester –p 1234 8.4 syslogd 守护进程 8.4.1 启动 syslogd 在系统启动过程中通过 scrmstr 来启动,在 ODM 库中有定义。 8.4.2 syslog 的配置文件 可以指定-f 参数来指定另一个可选的配置文件,当缺省情况下是使用 /etc/syslog.conf 文件。 该文件的记录行格式如下: 见 3.9。 8.4.3 刷新 syslogd 守护进程 使用 stopsrc/startsrc 来重启,或者使用 refresh 来刷新,也可以使用 kill – 1。 8.4.4 收集来自多个系统的 syslog 数据 可以在配置文件里指定远程主机名 8.5 刷新一个守护进程 可以使用 refresh 命令来刷新,当你要刷新的资源不能使用信号通讯方式 (user the signals communications method)。 8.6 cron 守护进程 以下事件类型是由 cron 守护进程来安排的: crontab 和 at 命令事件 batch 命令事件 sync 子例程事件 ksh 命令事件 csh 命令事件 这些事件在/var/adm/cron/queuedefs 文件里有定义。 当使用 crontab 命令来更新 crontab 文件时,更新信息会传送到 cron 守护 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 42 页, 共 70 页 进程中去。 8.6.1 crontab 文件格式 8.6.2 crontab 命令的允许使用控制 使用/var/adm/cron/cron.allow 和 cron.deny 文件来控制。 8.6.3 系统中的内务管理(huosekeeping) 系统中 root 用户有三个系统预定义的定时任务。(默认情况下没生效) 1、/usr/bin/skulker 该命令用于定时清理过时或不用的文件。比如/tmp 下的文件、超过一定 时限的、core 文件、.out 文件或 ed.hup 文件。该命令使用了 find 和 xargs 命令。 注意事先使用 xargs –p 命令来检查。 2、/usr/lib/spell/compress 不是 Aix 中 compress 命令,本脚本是用于压缩轮替程序日志。 3、/usr/lib/smdemon.cleanu 命令 本脚本程序用于清理 sendmail 命令队列和维护/var/spool/mqueue/log 文 件。 注意如果/var/spool/mqueue 目录没有存在,不要让本定时任务生效。 第9章 网络管理 9.1 在系统启动阶段启动网络(服务) 在 IPL 阶段,init 启动定义在/etc/inittab 里的/etc/rc.tcpip 脚本文件,该脚 本使用使用 SRC 命令来启动定义好的要启动的网络服务。该脚本也可以 单独用命令行来运行以启动网络服务。 通过 rc.tcpip 脚本启动的服务进程既有基于 tcp/ip 的服务,如 inetd, gated, routed, namd, timed, rwhod 等,也其它服务如:lpd, portmap, sendmail, syslogd。 注意:在一个系统中,routed 和 gated 服务不能同时启动。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 43 页, 共 70 页 9.2 关闭和重启 tcp/ip 服务进程 可以使用 stopsrc 和 startsrc 来启动和关闭服务进程。 9.2.1 使用/etc/tcp.clean 命令来关闭 tcp/ip 伺服进程 可以使用/etc/tcp.clean 脚本来关闭 tcp/ip 伺服进程,它会关闭除 portmap 和 nfsd 的其它所有伺服进程并删除/etc/locks/lpd(tcp/ip 的锁文件) 注意它不关闭 portmap 和 nfsd 伺服进程,要关闭这两个进程,使用 stopsrc 命令即可。 9.2.2 重启 tcp/ip 伺服进程 使用 refresh –s 来重启伺服进程,当不要使用 startsrc –g tcpip 命令来启 动所有的 tcp/ip 类的伺服进程,因为它包括 routed 和 gated 进程。 9.3 系统启动时没有启动 rc.tcipip 如果在/etc/inittab 文件里删除或注释掉 rc.tcpip 一行,则意味着在系统启 动时不启动任何服务进程(server applications) 注意:如果有图形界面,这移除 rc.tcipip 时记得要同时移除 rc.dt 一行, 要不,当你登录时,图形终端会挂住。但这时你只能用终端直接连到控 制台端口才能登录。 没有启动任何服务进程,但你同样可以作为客户端使用 telnet 和 ftp 命令 来连接到其它服务端。 9.4 inetd 伺服进程 9.4.1 启动和刷新 inetd 启动 inetd 时可以指定到别的自定义的配置文件,如果没有指定该参数, 这默认使用/etc/netd.conf。 可以使用 smit 菜单、SRC 或直接编辑/etc/inetd.conf 来更改调整该配置文 件。使用 smit 来更改时 inetd 会自动刷新,如果通过编辑/etc/inetd.conf, 则要使用 refresh –s inetd 或 kill –1(hup) InetdPID 来刷新该服务进程。 9.4.2 inetd 控制的子服务(subserver) 可以使用 lssrc –ls inetd 来列出 inetd 启动的子服务。 9.4.3 /etc/services 文件 当编辑完/etc/services 文件后,运行 refresh –s inetd 命令来使更改生效。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 44 页, 共 70 页 (更改 ftp 端口试试。) 9.4.4 停止 inetd 使用 stopsrc –s inetd 命令,当 inetd 伺服进程停止后,之前由该子服务 的进程不受影响。也就是说,原有的会话不受影响,当新的服务会话就 不能建立啦。 (之前 telnet 会话不会中断吗?) 9.5 portmap 伺服进程 portmap 伺服进程转换远程的 RPC(procedure call)程序号为网间端口号。 如果 portmap 伺服进程停止或突然中断,则所有的 RPC 服务必须重启。 nfsd 是个典型的 RPC 服务。 9.6 网络地址 (略) 9.7 10.7 主机名解析 缺省的主机名解析顺序是:BIND/DNS(named), NIS, Local /etc/hosts file。 可以编辑/etc/netsvc.conf 来定义解析顺序,比如,hosts = local, bind。也可 以定义 NSORDER 环境变量来定义解析顺序,并且该环境变量可以取代 netsvc.conf 的定义,即使 netsvc.conf 和 NSORDER 是同时存在的。 Export NSORDER=bind, nis,local 9.7.1 /etc/resolv.conf 文件 /etc/resolv.conf 文件定义域名解析协议的域名服务器信息,如果本文件不 存在,则 BIND/DNS 被认为是无效或没有运行的(即使有配置起来),因 此是不可用的。系统将会使用/etc/netsvc.conf 或 NSORDER 环境变量指定 的默认的解析顺序来进行域名解析。 /etc/resolv.conf 文件例子: nameserver 9.3.1.74 domian itsc.austin.ibm.com search itsc.austin.ibm.com austin.ibm.com 9.7.2 与/etc/resolv.conf 相关的问题 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 45 页, 共 70 页 当解析一个主机名时出现问题时, 1、确定/etc/resolv.conf 中定义好正确的域名和域名解析服务器的地址。 2、确定域名服务器是可活动的,使用 ping 命令。 3、如果域名服务器是活动的,则使用 lssrc –s named 来检查是否有启动 域名服务。 4、如果有启动 syslogd 伺服进程,可以查看系统日志文件。 9.7.3 nslookup 命令 使用 nslookup 来检查域名服务是否正常。 #nslookup [IPAddress | HostName] 如果只有 hosts 文件,可以使用 nslookup 解析吗? 9.8 配置新的网络适配卡 1、如果在系统启动时没能查看到 cfgmgr 的相关信息,而且系统没有自动 找到新的适配卡,则要检查是否需要驱动软件包。 2、安装需要的设备软件包,使用 smit devices。 3、使用 diag –a 来查看新的适配卡已经加入到系统硬件配置里。 4、运行 cfgmgr 5、使用 lsdev –Cl ent1 查看设备 6、使用 smit inet(或 smit mktcpip,但仅在第一次配置时使用)配置网络接 口。 7、配置 IP forwarding。 8、 使用 smit route 来添加路由。 9.8.1 使用 smit 来配置网卡 如果需要改变网络的高级属性,包括网速、半双工、队列大小等,使用 smit chgnet 或 smit chgtok 来配置。 9.8.2 配置网络接口(network interface) 使用 smit tcpip 来配置 TCP/IP,可以使用 smit inet 来配置网络接口。(两 者区别) 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 46 页, 共 70 页 9.9 10.9 启动 IP 转发(IP forwarding) 使用 no –o ipforwarding=1 来启动,默认为 0,是关闭的,启动时会丢失。 但在 5.2 使用 smit tuning 来配置,可以启动不丢失。 9.10 添加网络路由 使用 smit route(mkroute)来配置路由。也可以使用 route add 命令来添加路 由,但重启后会丢失。(与上次问题?) 9.11 通过 smit 改变 IP 地址 使用 smit mktcpip 既可以改变 IP 地址,也可以改主机名,如果只改 IP 地 址时,可以使用 smit chinet。 9.12 ipconfig 命令 语法:ifconfig Interface [ AddressFamily [ Address [DestinationAddress] ] [Parameters„] ] 其中 AddressFamily 可以使用:inet(默认), inet6(使用 Ipv6), 或 ns(Xerox Network System) 参数如下: alias: 定义网络地址别名 delete: 删除指定的网络地址 detach: 删除网络接口 down: 使网络接口不活动 up: 使网络接口活动 netmask Mask: 指定网络掩码 mtu Value: 指定 mtu 值 9.12.1 10.12.1 确定网络接口 可以使用#lsdev –Cc if 或#ifconfig –a。 9.12.2 10.12.2 激活一个网络接口 #ifconfig Interface [Address] [netmask Netmask] up 如:#ifconfig ent0 10.1.2.3 netmask 255.255.255.0 up 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 47 页, 共 70 页 9.12.3 10.12.3 使一个网络接口不活动 #ifconfig Interface down 9.12.4 10.12.4 从一个网络接口中删除一个地址 #ifconfig Interface [Address] [netmask Netmask] delete 如:#ifconfig ent0 delete 注意:使用这个命令使并不使改接口处于不活动状态,也不会删除改网 络接口 9.12.5 10.12.5 删除一个网络接口 #ifconfig Interface detach 本命令在删除改网络接口同时也删除了分配给改网络接口的网络地址。 如果要把改接口添加到系统中,或者添加一个新的接口,可以使用以下 命令: #ifconfig Interface 9.12.6 10.12.6 为一个网络接口创建一个 IP 别名 可以为单个网络接口绑定多个网络接口,这对于一个 Web 服务器同时提 供两个不同的初始的主页是非常有用的。 #ifconfig Interface Address [netmask Netmask] alias 如:#ifconfig ent0 10.1.2.3 netmask 255.255.255.0 alias 注意:这个命令将不会在系统 ODM 中创建相应的记录,所有必须加入到 系统启动的脚本中。比如加入到/etc/inittab 文件中。 使用#ifconfig ent0 10.1.2.3 netmask 255.255.255.0 delete 来删除网络地址 别名,注意如果没有指定是要删除哪个别名的,则系统默认会删除第一 个网络地址,如果是这样的话,该网络接口的第一个别名就会变为该接 口的主要的网络地址。因此,对于一个网络接口的多个别名,必须一一 指定加以删除。 9.12.7 10.12.7 改名网络接口的 MTU 值 MTU 值范围:60-65536bytes per packet。 以太网 MTU 值为 1500。 MTU 值对于一个网络来讲很关键,可以使用 lsattr –El Interface 来查看 网络接口的 MTU 值,使用 ifconfig Interface mtu Value 来改变该值。 #ifconfig ent0 mtu 12000 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 48 页, 共 70 页 注意:如果该网络接口正在使用,该值不能被改变,而且同样一个网络 里的系统必须拥有同样的 MTU 值。 9.13 网络安全 10.13.1 信任的和不信任的进程 需不需要用户认证。(ftpd, rexecd, telnetd /rshd, rlogind, tftpd) 10.13.2 $HOME/.netrc 文件 用于 ftp 或 rexec 时使用的认证信息文件,必须属于该用户并且只有 600 的权限。 格式如下: machine Hostname: 指定远程机器(需要登录过去的机器)名,必须定义 在 hosts 文件或 DNS 里 login UserNmae: 指定远程主机用户名 password Password: 指定远程主机用户名的口令 account Password: 指定 account 口令,只有在远程主机启用 account 时才 有用。 Macdef MacroName: 定义一个 ftp 子命令的宏 如: machine ftpserver login test password test12 macdef autoftp bin get /work/xtjk.sh quit 10.13.3/etc/hosts.equiv 和$HOME/.rhosts 文件 定义了远程主机或用户帐号可以不要提供口令就可以在本地主机上使用 远程命令。 如果远程命令是 root 用户发起的,则/etc/hosts.equiv 是无效的而只认识 /.rhosts 文件的。 如果有组或其它用户对/etc/hosts.equiv 或$HOME/.rhosts 有写权限,该文 件将会是无效的,因此,不管是那个文件,其权限都必须是 600。 格式:[+|-] Hostname [+|-] UserName or @Netgroup 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 49 页, 共 70 页 其中 Netgroup 的 NIS 中的概念。 注意:是按顺序从头到底去读的,所有要注意放置位置 如: toaster machine bob +lester tron –mike tron 10.13.4securetcpip 命令 该命令使得所有的不信任的命令和服务包括 rcp, rlogin, rlogind, rsh, rshd ,tftp 和 tftpd 无效。同时不能使用.netrc 文件。 在/etc/security/config 文件中添加以下一行: tcpip: netrc = ftp,rexec 在运行 securetcpip 命令之前,使用 killall 命令来停止所有的网络服务。 10.13.5 匿名 ftp 运行/usr/samples/tcpip/anon.ftp 脚本。 9.14 ftp 日志 通过以下步骤利用 syslog 功能来启动 ftp 日志 1、编辑/etc/syslog.conf 添加以下一行 daemon.info FileName 其中 FileName 为记录 ftp 活动的日志,包括匿名 ftp。 2、刷新 syslogd 服务 3、编辑/etc/inetd.conf,把 ftpd 改为 ftpd –l。 4、刷新 inetd 服务 这时就可以看到 ftp 活动开始记录日志啦 9.15 uname 命令 uname –n 或 uname –x 命令 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 50 页, 共 70 页 9.16 基本网络问题判断 要注意检查时候 paging space 满啦,或者是文件系统满啦。 第10章 网络文件系统管理 NFS 是独立于机器类型、操作系统和网络架构而是通过使用 RPC(远程 程序调用)。 10.1 NFS 服务 1、几个概念 服务端(Server),客户端(Client),Export、mount。 2、NFS 提供的服务 Mount: 通过在服务端启用/usr/sbin/rpc.mountd 伺服进程,在客户端使用 mount 命令,mounted 伺服进程是一个 RPC 来回应客户端的请求 Remote File access:通过在服务端启用/usr/sbin/nfsd 和在客户端启用 /usr/sbin/biod,来出来客户端对文件的请求。但客户端一个用户要来读或 写一个在服务器端的文件时,biod 伺服进程发送这个请求到服务端。 Boot parameters: 通过在服务端启用/usr/sbin/rpc.bootparamd 伺服进程来 提供无盘 SunOS 客户端的启动参数。 PC authentication: 通过在服务端启动/usr/sbin/rpc.pcnfsd 来提供 PC-NFS 的用户认证服务 一个 NFS 服务是无状态的(stateless),也就是说,NFS 的传输是原子级的, 一个单一的 NFS 传输对应了一个单一完整的文件操作。 10.2 计划、安装和配置 NFS 配置 NFS: 1、配置在每一个系统上(不管是服务端还是客户端)启动 NFS 使用 smit mknfs 或 mknfs 命令 mknfs 命令参数: -B:即现在就启动 NFS 服务进程同时在系统重启时也启动,它会在 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 51 页, 共 70 页 /etc/inittab 文件中创建一条记录来执行/etc/rc.nfs。 -I: 在/etc/inittab 文件中创建了启动 NFS 服务的记录 -N:当前立即启动 NFS,但重启时不启动。 2、如果要使用命令行来启动 NFS 伺服进程,使用 startsrc –g nfs。 注意,如果/etc/exports 文件没有存在,则 nfsd 和 rpc.mountd 伺服进程不 会启动。这时可以通过 touch /etc/exports 先创建一个空白的 exports 文件 10.2.1Exporting NFS 目录 使用 smit 1、先用 lssrc –g nfs 检查 NFS 伺服进程 2、使用 smit mknfsexp 来设置 3、设置完后,会刷新/etc/exports 文件。 4、把相关信息发送到内核上 #/usr/sbin/exportfs –a 5、确定是否已经 export 出去 #showmount –e Croom 上述 smit 的操作也可以用编辑/etc/exports 文档来代替,其它步骤不变。 如果要临时 export 一个文件系统,可以不改变/etc/exports 文件,而直接 采用 exportfs 命令来操作。 #exportfs –i /dirname 对于客户端,要采取一下步骤来确定可以进行服务端 export 出来的文件 系统 1、确定 NFS 是默认的远程文件系统 #vi /etc/vfs nfs 2 /sbin/helpers/nfsmnthelp none remote 2、启动 NFS 伺服进程 10.2.2Unexporting 一个 NFS 文件系统(目录) 1、使用 smit rmnfsexp 菜单 2、使用编辑 exports 文件的方式 编辑保存后,使用 exportfs –u dirname 来刷新 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 52 页, 共 70 页 注意 exportfs 命令的使用。 11.2.3mount 一个 NFS 文件系统(目录) 有三种类型:预定义、显式的、自动的 预定义即在/etc/filesystems 文件上先定义好,在系统启动时自动 mount 这 些文件系统。 显式的需要 root 用户,短期需要使用时才 mount 上来。 自动的由 automount 命令控制,使得 AutoFS 系统扩展内核在客户端需要 访问该 NFS 文件系统时自动把该文件系统 mount 上来。 NFS mounting 过程: 1、当服务端系统启动时,/etc/rc.nfs 脚本执行 exportfs 命令,该命令读取 /etc/exports 文件并告诉内核哪些目录需要被 export。这时 rpc.mounted 和 好几个 nfsd(默认下是 8 个)伺服进程启动。 2、当客户端启动时,也是通过/etc/rc.nfs 脚本启动好几个 biod 伺服进程 (默认 8 个) 3、rc.nfs 脚本接着执行 mount 命令,读取/etc/filesystems 文件,并且在它 和服务端建立通讯联系,这个过程也叫绑定(binding) 4、当客户端发起 mount 请求时,服务端通过 rpc.mount 接收客户端请求, 如果运行该请求的话,则向客户端内核发送一个标记叫做文件柄(file handle) 5、接着客户端通过记录相关一个 mount 记录把该文件柄绑定到该 mount point 上。 创建一个预定义的 NFS mounts 注意:在创建时要注意设置以下参数,定义成 bg 和 intr(interruptible)。如 果设置成 foreground 和 non-interruptible 则在系统重启时,如果服务端或 网络有问题时,则客户端会被挂住。 使用 smit mknfsmnt 来操作,注意一些参数设置(也是在/etc/filesystems 中的 options 项) 创建一个显式的 NFS 文件系统: 创建一个自动 mount 的 NFS 文件系统: 1、确定服务器端已经把该文件系统 export 出来,使用#showmount –e Server1 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 53 页, 共 70 页 2、创建一个 AutoFS map 文件,在/usr/samples/nfs 中有例子。 3、在客户端要加载 AutoFS 内核扩展并且启用 automountd,有两种办法 a、#starsrc –s automountd b、使用 automount 命令 #/usr/sbin/automount –v /backup /tmp/mount.map 4、停止 automountd,可以使用 #stopsrc –s automountd 10.3 NFS 服务端和客户端的管理 11.3.1 查看 NFS 伺服进程的情况 #lssrc –g nfs 11.3.2 改变一个 exported 文件系统的属性 可以使用 smit 或编辑/etc/exports 文本文件的两种方式,当在更改前,都 要先把该文件系统 unexport 掉,改动完成后,再把它 export 出去。 1、#exportfs –u /dirname 2、使用 smit chnfsexp 或 vi /etc/exports 文件 3、#exportfs /dirname 11.3.3umount 一个 NFS 文件系统 使用 umount 即可 10.4 相关文件、命令和伺服进程 10.5 问题断定 11.5.1 确定 NFS 问题检查列表 1、检查网络连接情况 2、检查客户端是否有启动 inetd、portmap 和 biod 伺服进程。 3、检查客户端有有效的 mount 安装点。 4、使用 rpcinfo 命令检查服务端是启用的并且是在运行的 #/usr/bin/rpcinfo –p server_name 5、检查服务器端的伺服进程有启动,并且文件系统是 export 出去的,可 以使用一下脚本命令 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 54 页, 共 70 页 #/usr/bin/rpcinfo –u server_name mount #/usr/bin/rpcinfo –u server_name portmap #/usr/bin/rpcinfo –u server_name nfs 6、检查服务器端的/etc/exports 文件 #showmount –e server_name 11.5.2 检查网络连接 使用 nfsstat 命令来查看 11.5.3NFS 错误信息 1、Hard-mounted 和 sofe-mounted 问题 如果网络或服务端有问题,硬连接会提示“still trying”, 而软连接会提示 “Connection timed out” 2、bad sendreply 错误信息 如果 transmit buffer 不够,会提示“nfs_server:bad sendreply” 3、服务端没有响应 4、远程 mounting 问题(客户端) 第11章 系统性能 11.1 系统性能概述 相关命令:iostat, vmstat, netstat, nfsstat, ps, lsattr, lslv, nice, no, renice, reorgvg, sar, schedtune, svmon, time, tprof, trace 11.2 基本系统工具 11.2.1 使用 vmstat 命令 vmstat [-f] [-i] [-s] [PhysicalVolume…] [Interval [Count] ] -f:显示自从系统启动以来的 fork 数 -i:显示自从系统启动以来每个设备的中断数 -s:显示自从系统启动以来包括交换情况信息 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 55 页, 共 70 页 PhysicalVolume:指定一到四个物理硬盘,显示该物理盘的 transfer 情况。 由于系统使用很大的一块实际内存作为文件系统数据的缓存(cache),所有 fre 项可能会很低但并非不正常。 11.2.2 iostat 命令 iostat [-d | -t] [PhysicalVolume…. ] [Interval [count] ] -d:只显示磁盘的使用情况,不能和-t 参数一块使用 -t:只显示 TTY 和 CPU 的使用情况,不能和-d 参数一块使用 注意:第一列显示只系统启动以来的统计信息。 例如: #iostat –d 2 6 显示所有磁盘信息 11.2.3 netstat 命令 1、netstat -i 2、netstat –r 11.2.4 另外一下性能相关命令 svmon, sar, tprof(跟踪 CPU 的活动),schedtune 11.3 控制系统资源使用 使用 nice 和 renice 命令 #nice –n 15 cc –c *.c 优先级降低到 15 #renice –n 5 16304 优先级降低了 5 11.4 性能分析 分析是否使 cpu 瓶颈或者是内存瓶颈问题,也由可能是其它方面瓶颈,如 磁盘 IO。 11.4.1 CPU Idle 时间计算 要把 wa 项也计算如 CPU 空闲时间内。 11.4.2 计算交换率 pagein/pageout(pi/po) 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 56 页, 共 70 页 第12章 用户管理 12.1 概述 三种类型组:用户组,系统管理组(即 system group),系统定义的组(如 staff 组等) 12.2 用户管理相关命令 mkuser, rmuser, lsuser, chuser(改变除用户口令外的所有其它用户属性), passwd chsec(改变安全相关设置),login, who, last, dtconfig(设置桌面系统自动启 动) 12.3 用户管理相关文件 12.3.1 /etc/security/environ 设置用户的环境属性,有 mkuser 命令来生成相关的节段(stanza),初始 的属性值是根据/usr/lib/security/mkuser.default 文件来设置。一般使用默认 缺省值。 12.3.2 /etc/security/lastlog 记录最后一次成功和不成功登录的信息(包括时间、终端号、远程登录 的主机名),还包括不成功登录的累计次数。也是有 mkuser 命令创建用户 时创建相关的节段,并有 login 命令来刷新其中的记录。 12.3.3 /etc/security/limits 为每个用户指定进程资源。也是有 mkuser、chuser、rmuser 命令时来创建 并维护。在 smit user 中也有。 12.3.4 /etc/security/user 包含用户扩展的属性。其初始缺省设置是根据 /usr/lib/security/mkuser.default 文件来设置的。 12.3.5 /usr/lib/security/mkuser.default 该文件指定一个新用户的缺省属性,包含两个节段:user 和 admin。如果 使用 mksuer 时指定-a 属性则指定了使用 admin 的属性。该两节段分别指 定 user 和 admin 的主要组(pgrp),组别,shell 和 home 目录。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 57 页, 共 70 页 12.3.6 /usr/lib/security/mkuser.sys 是一个可执行的命令脚本,由 mkuser 命令调用,调用它时创建了包含由 正确属主和组别的用户根目录,并且为用户的 shell 创建正确的 porfile。 12.3.7 /etc/passwd 密码位:*和!,使用 passwd 或 pwdadm 可以使密码位由*变为!,并且这 时用户才可以根据密码来登录系统。使用 chuser 可以改变除密码以外的 其它用户属性,使用 chfn 可以改变/etc/passwd 文件中某用户的说明段, 使用 chsh 可以改变用户的 shell。 12.3.8 /etc/security/passwd 如果还没有用 passwd 命令设置口令的用户,则会显示 password = *的节 段。 12.3.9 /etc/securiyt/login.cfg 该文件包含login的配置信息和用户的认证信息。由三个类型的节段,port、 authentication 和 user configuration。 好好查看本文件 12.3.10 /etc/utmp, /var/adm/wtmp, /etc/securiyt/failedlogin /etc/utmp:记录用户登录该系统,使用 who -a。如果文件被破坏,则使用 who 命令不能显示输出 /var/adm/wtmp:记录用户登录的连接时间,使用 last。 /etc/security/failedlogin:记录不成功登录的尝试。 12.3.11 /etc/mtod 登录提示信息 12.3.12 /etc/environment 一般包括这些属性: HOME,LANG(由系统安装时设置在本文件中),NLSPATH(信息目录文 件的全路径),LPDEST(指定远程打印所使用的打印机),EDITOR,TZ 12.3.13 /etc/profile 和$HOME/.profile 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 58 页, 共 70 页 12.4 用户管理任务 12.4.1 添加一个用户帐户 用户帐户名:要少于 8 字节字符串。使用 mkuser 或 smit mkuser 来生成一 个用户帐户后,还要用 passwd 来为该帐户在/etc/security/user 生成相应的 加密的密码节段,也才能使的该用户可以登录。 12.4.2 生成或改变密码 可以使用 passwd –f 来改变用户设置在/etc/passwd 文件中的全名。 12.4.3 改变用户属性 12.4.4 显示用户属性 使用 lsuser 命令,可以显示某用户属性,如果加入 ALL 参数,可以显示 所有用户属性。如果使用 NIS,则一些属性可以不能在 lsuer 命令中显示 出来。 #lsuer ALL #lsuer smith #lsuer –f –a id pgrp root 12.4.5 删除一个用户帐户 使用 rmuser 或 smit rmuser,如果加入-p 参数,则它还将删除该用户在 /etc/security/passwd 文件中的密码相关认证信息。 12.4.6 改变用户的安全属性 使用 chsec 命令可以改变用户的安全属性,这些属性设置文件一般位于 /etc/security 目录下,如/etc/security/environ、group、lastlog、limits、login.cfg、 mkuser.default、passwd、portlog 和 user 等文件。 如下: 1、设置/dev/tty0 端口自动锁住,如果在 1 分钟内不成功登录尝试超过 5 次 #chsec –f /etc/security/login.cfg –s /dev/tty0 –a logindisable=5 –a logininterval=60 2、设置所有用户只能在 8:00-17:00 才能登录 #chsec –f /etc/security/user –s default –a logintimes=:0800-1700 12.4.7 显示当前登录用户 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 59 页, 共 70 页 使用 who 命令, #who –r 显示运行级别 #who –p 显示由 init 生成(spawn)的子进程。 12.4.8 阻止用户登录 可以在/etc 目录下设置 nologin 文件来使得用户不能登录该系统,并同时 显示该文件的内容。如果该文件存在,则 root 用户也不能登录,只有等 到系统重启后,会自动删除该文件,这时系统才能重新登录 12.4.9 改变用户的登录 shell 使用 chsh 命令。 12.4.10 改变 shell 提示符 PS1, PS2,还有 PS3 12.5 启动桌面环境 在命令行中启动桌面环境: #xinit /usr/dt/bin/Xsession 1、设置自动启动桌面环境 #dtconfig –e 或 smit dtconfig 设置可以自动启动桌面环境 #dtconfig –d 则关闭指定启动桌面环境 2、手工启动桌面环境 #/usr/dt/bin/dtlogin –daemon 3、手工停止桌面环境 如果你已经启动了桌面环境,想把它关闭 #cat /var/dt/Xpid #kill –term process_id 即把所有桌面环境相关进程杀掉 文件系统满和桌面环境的启动问题 如果/home 文件系统满,可能启动不了桌面环境 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 60 页, 共 70 页 第13章 打印系统 本章讨论 Aix 的打印子系统而不讨论 Aix 5L 中的 SRV4 打印系统 几个概念: Print job Queue Queue device:一个打印队列可以跟着不止一个的个队列设备(queue device) Qdaemon Print spooler 提供了好多个具有同样功能的打印命令 提交打印任务 打印任务状态 取消打印任务 enq enq –a enq –x qprt qchk qcan lp lpstat lprm lpr lpq 13.1 创建一个新的打印队列 如果事先没有创建好打印机,则在创建打印队列时会让你选择新建一个 打印机 使用 smit,选址 print spooling。 13.2 打印机配置文件 打印机的配置信息存放在/etc/qconfig 文件中,该文件不仅包含系统中定 义的每一个打印队列,还可以使系统管理员识别每个队列的作用。也可 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 61 页, 共 70 页 以通过修改该文件而不用使该 spooler 停下。 该文件一般包含两段,一段定义队列,另一段定义打印设备,即打印机。 13.3 控制打印队列 1、使用 lpstat 命令,可以查看队列任务的状态的信息 #lpstat 2、使用 qchk #qchk 3、使用 lpq 命令 #lpq 4、使用 lpr 命令来提交打印任务,通过使用 spooling 伺服进程来打印已 在参数中指定命名的文件 #lpr /etc/hosts #lpstat 14.3.1 编辑/etc/qconfig 如果通过其它方式没办法删除一个打印定义,则可以通过编辑本文件。 14.3.2 编辑/etc/qconfig 当任务正在进行时 当任务正在进行时,千万不要编辑/etc/qconfig。 因为它会检查/etc/qconfig 和有该文件生成的二进制文件/etc/qcofnig.bin, 如果/etc/qconfig 文件的版本更新,qdaemon 将不会再接受任何新任务,包 括当前的任务。因此可能导致该 spooler 挂住。 13.4 停住打印队列 使用 enq –D 参数 #lsstat –v lpforu 查看 lpforu 打印队列的情况 #enq –D –P ‘lpforu:lp0’ 停止打印队列 lpforu 上的所有打印任务, 通过-P 参数指定打印队列 #lsstat – v lfforu 这时可以看到打印队列的状态由原来的 RUNNING 改变为 DOWN 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 62 页, 共 70 页 13.5 启动打印队列 使用 enq –U,用法和上同。 13.6 删除一个打印任务 可以使用一下命令行其中一个 #qcan –P lpforu –x 3 #lprm –P lpforu 3 #enq –P lpforu –x 3 #cancel 3 13.7 如果检查打印池(print spooler) 使用 lsstat 或者 enq 命令。 #lpstat –p lpforu #lpstat –u “root” 13.8 设置打印机的超时时间 使用 smit spooler 来改变打印机连接属性。中由一项 Printer TIME OUT period。 13.9 打印诊断基本检查单 1、检查 qdaemon 是否再运行 2、检查系统日期是正确的,尤其是/etc/qconfig.bin 和/etc/qconfig 的创建 时间 3、检查/etc/qconfig 是否链接到/usr/lpd/qconfig 文件。 4、检查/tmp 文件系统空间 5、如果只有 root 用户可以打印,则检查/tmp 目录的权限,还有 enq 等命 令的权限。 6、检查远程主机是网络连通的,通过 ping hostname 等。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 63 页, 共 70 页 第14章 sendmail 和 e-mail 14.1 概述 邮件系统是一个网间邮件分发工具,它包括一个用户接口,一个信息路 由程序和一个信息分发程序(或 mailer) 14.2 mail 守护进程 Sendmal daemon:一个信息路由程序把信息路由到他们的目的地。就是 sendmail 命令,它通过配置文件/etc/sendmail.cf、/etc/alias 和/etc/sendmail.nl 来执行必要的路由。 Syslogd deemon:记录 sendmail 活动的日志 14.2.1 启动、停止、刷新和检查 sendmail 守护进程的状态 使用 startsrc –s(或直接使用/usr/lib/sendmail),stopsrc –s, refresh –s, lssrc –s。 14.2.2 自动启动 sendmail 守护进程 通过编辑/etc/rc.tcpip 脚本,来自动启动 sendmail。 14.2.3 确定 sendmail 的时间间隔 sendmail 可以指定每隔多长时间来出来邮件队列,默认情况下是 30 分钟, 在 rc.tcpip 中可以通过定义 qpi=40m,来指定该时间 但只有在系统重启时有效,如果需要,可以使用命令行带-q 参数来指定 该时间 14.2.4 使用命令行确定 sendmail 的时间间隔 使用-q 参数,默认计时单位时分钟,所有可以不要指定 m。 如:#/usr/sbin/sendmail –q15 #/usr/sbin/sendmail –q15h 14.3 邮件队列目录 位于/var/spool/mqueue 14.3.1 打印该邮件队列 可以使用 mailq 命令,或者也可以使用 sendmail –bp 命令 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 64 页, 共 70 页 14.3.2 邮件队列文件 由四种类型邮件队列文件:数据文件(df 开头),控制文件(qf 开头)、 临时文件(tf 开头),传输文件(xf 开头)。 14.3.3 强制邮件队列运行 #/usr/sbin/sendmail –q –v 14.3.4 移走邮件队列 14.4 邮件日志 使用 syslog,在/etc/syslog.conf 文件中编辑: mail.debug /var/spool/mqueue/log 14.4.1 管理邮件日志文件 可以使用/usr/lib/smdemon.cleanu 脚本文件,该文件强制 sendmail 命令进 行队列柄维护四个相对旧一点的日志文件,并轮循使用。 14.4.2 记录 mailer 状态日志 创建/var/tmp/sendmail.st,则 sendmail 自动更新该文件。 14.4.3 显示 mailer 信息 使用/usr/sbin/mailstats 命令。 14.5 mail 别名和向前分发(forwarding) 14.5.1 创建和修改本地系统别名 编辑/etc/aliases 文件,添加一下一行 programmer:john, smith, mary@h70a 14.5.2 创建别名数据库 使用 sendmail 或 newaliases 命令来创建别名数据库:/etc/aliases.dir 和 /etc/aliases.pag #/usr/sbin/sendmail –bi #newaliases 这样以后,就可以使用mail programmer来把邮件发送到john,smith,和h70a 系统上的 mary。 14.5.3 使用/etc/aliases 来向前分发邮件 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 65 页, 共 70 页 root:smith, bob@h70a 但这样,root 用户就不能受到任何邮件,所有,使用以下格式 root:\root,smith, bob@h70a 注意,反斜杆不能丢掉,或者会产生无限循环。 这样,也是要使用/usr/sbin/sendmail –bi 或 newaliases 命令来更新,使更 改生效。 14.5.4 使用$HOME/.forward 文件 直接编辑该.forward 文件即可生效。如 smith, mary@h70a 如果要 john 要自己保留一份,则使用 \john, smith, mary@h70a 不需要使用 sendmail –bi 或 newaliases 来刷新,就可以直接生效。 14.5.5 使得邮件分发到空设备 这样可以使得某些用户不会生成邮件,可以使用编辑/etc/alias 或 $HOME/.forward 方式来实现。 User:/dev/null 或在.forward 文件中,编辑加入/dev/null 即可。 14.6 邮件转址 14.6.1 转到当前系统其它用户上 #mail smith 14.6.2 转到同一网络其它系统上 #mail jihn@h70a 14.6.3 转到不同网络 14.7 存储邮件 系统邮箱:位于/var/spool/mail 目录下,每个用户一个文件,可以使用 mail 来查看 个人邮箱:位于$HOME/mbox,当使用 mail 读取个人邮件后,邮件转存 到这里,可以使用 mail –f 来查看。 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 66 页, 共 70 页 dead.letter:邮件被不正常中断,位于$HOME/dead.letter 第15章 AIX 机器型号、版本信息 15.1 查询机器型号 #uname -M IBM,7046-B50(机器型号) #lscfg -vp|grep Cab Machine/Cabinet Serial No...10181CF(序列号) 15.2 查询操作系统版本: /tellin>instfix -i |grep ML 1: All filesets for 5.1.0.0_AIX_ML were found. 2: All filesets for 5100-01_AIX_ML were found. 4: All filesets for 5100-02_AIX_ML were found. 5: All filesets for 5100-03_AIX_ML were found. 15.3 查询磁盘整列版本 <13 mscp2 [tellin] :/tellin>lscfg -vl ssa0 DEVICE LOCATION DESCRIPTION ssa0 2V-08 IBM SSA 160 SerialRAID Adapter (14109100) Part Number................. 09L5695 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 67 页, 共 70 页 FRU Number.................. 34L5388 Serial Number...............S3305067 EC Level.................... E27782 Manufacturer................IBM053 ROS Level and ID............BD00 0000 Loadable Microcode Level....05 Device Driver Level.........00 Displayable Message.........SSA-ADAPTER Device Specific.(Z0)........SDRAM=128 Device Specific.(Z1)........CACHE=32 Device Specific.(Z2)........UID=00B006B8000068D4 Device Specific.(YL)........U1.9-P1-I1/Q1 15.4 查询 HA 双机软件版本 <42 mscp1 [tellin] :/tellin>lslpp -l |grep cluster 290: cluster.adt.client.demos 4.5.0.2 COMMITTED HACMP Client Demos 291: cluster.adt.client.include 293: cluster.adt.client.samples.clinfo 295: cluster.adt.client.samples.clstat 297: cluster.adt.client.samples.demos 299: cluster.adt.client.samples.libcl 301: cluster.adt.server.demos 4.5.0.2 COMMITTED HACMP Server Demos 302: cluster.adt.server.samples.demos 304: cluster.adt.server.samples.images 306: cluster.base.client.lib 4.5.0.2 COMMITTED HACMP Base Client Libraries 307: cluster.base.client.rte 4.5.0.2 COMMITTED HACMP Base 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 68 页, 共 70 页 Client Runtime 308: cluster.base.client.utils 4.5.0.2 COMMITTED HACMP Base Client Utilities 309: cluster.base.server.diag 4.5.0.2 COMMITTED HACMP Base Server Diags 310: cluster.base.server.events 312: cluster.base.server.rte 4.5.0.2 COMMITTED HACMP Base Server Runtime 313: cluster.base.server.utils 4.5.0.2 COMMITTED HACMP Base Server Utilities 314: cluster.cspoc.cmds 4.5.0.2 COMMITTED HACMP CSPOC Commands 315: cluster.cspoc.dsh 4.5.0.2 COMMITTED HACMP CSPOC dsh 316: cluster.cspoc.rte 4.5.0.2 COMMITTED HACMP CSPOC Runtime Command s 317: cluster.license 4.5.0.2 COMMITTED HACMP Electronic License 318: cluster.msg.en_US.client 4.5.0.2 COMMITTED HACMP Client Messages - U.S . 320: cluster.msg.en_US.cspoc 4.5.0.2 COMMITTED HACMP CSPOC Messages - U.S. 322: cluster.msg.en_US.server 4.5.0.2 COMMITTED HACMP Server Messages - U.S . 694: cluster.base.client.rte 4.5.0.2 COMMITTED HACMP Base Client Runtime 695: cluster.base.server.events 697: cluster.base.server.rte 4.5.0.2 COMMITTED HACMP Base 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 69 页, 共 70 页 Server Runtime 698: cluster.base.server.utils 4.5.0.2 COMMITTED HACMP Base Server Utilities 查看当前系统 CPU 资源的占用率是多少? tprof -x sleep 30 topas sar 2 6 sar -P ALL 1 2 lsdev -Cc processor lsdev -C|grep proc 增大/usr 空间大小 chfs -a size=+1G /usr smitty chjfs 请问 tctl 和 mt 命令有什么不同? tctl 和 mt 命令都是给流式磁带设备发子命令.注意 mt 是标准的 BSD 命令. tctl 功能强大些,例如,子命令 erase --删除磁带上所有内容然后重绕 将内存、CPU、DISK 的使用情况输出到文件,以备分析用! vmstat >vmstat.txt 看某一进程的内存使用情况,以及 cpu 占用情况,占用的端口情况。系统 总体性能。 topas 查看系统 CPU 运行情况以及活跃进程情况 vmstat 查看系统内存使用情况 vmstat 1 每隔 1 秒刷新一次显示 iostat 查看系统运行情况, 文档名称:AIX 命令参考手册 文档密级 11/22/2006 未经许可不得扩散 第 70 页, 共 70 页 iostat 1,每隔 1 秒刷新一次显示 ls aux 查看进程情况 --FTP、TELNET 进程 startsrc -s inetd ps -ef|grep inetd
还剩69页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 2 人已下载

下载pdf

pdf贡献者

huoyj

贡献于2012-09-25

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf