AIX命令参考手册

http://www.hongxiaolu.wang/2015/05/2416


  1. AIX资源检测命令

     

    性能优化以及确定系统中的性能瓶颈是系统管理员的主要任务之一。在一个计算机系统中,CPU、内存、硬盘和网络是影响系统性能的主要因素,因此系统性能调整也主要在于如何在这些资源中获得某种平衡,以满足人们对系统性能的期望。性能调制需要很多技巧,知识以及经验,不能仅靠分析统计数字,图表就可取得,性能调制有时是一件复杂甚至是非常困难的任务。

    如同其它UNIX系统一样,AIX也给系统管理员剪裁系统提供了非常丰富的手段。这里我们简单介绍RS/6000 AIX系统中几个用于监控和调制多项系统资源的工具,每个工具的功能都很强,如想更透彻地了解这些命令的用法,请参考有关技术资料或手册。这里讲述的命令将不仅仅局限于CPU、硬盘、内存或网络资源的某个方面,它们可用于其中的一项或多项资源。

  2. AIX监控工具

  3. iostat

    iostat命令主要通过观察物理磁盘的活跃时间以及他们的平均传输速度,监控系统输入/输出设备负载。根据iostat命令产生的报告,用户可确定一个系统配置是否平衡,并据此在物理磁盘与适配器之间更好地平衡输入/输出负载。

    iostat工具的主要目的是通过监控磁盘的利用率(tm_act字段),而探测到系统中的I/O瓶颈。iostat还可用于确定CPU问题,辅助容量规划,并可以为最终解决I/O问题提供相关材料。vmstat和iostat联合使用,可捕获到确定与CPU,内存和I/O子系统有关的性能问题的必需数据。

    iostat命令可产生下面四种类型的报告:

    · tty和CPU利用情况

    · 磁盘的利用情况

    · 系统吞吐率

    · 适配器吞吐率

  4. netpmon

    netpmon命令可以监控关于网络行为的系统事件和性能以及网络行为对CPU的消耗。netpmon命令在指定的监控周期报告网络行为。

    netpmon启动后直至发布trcstop命令终止它之前,一直在后台运行。如果使用缺省设置,trace命令将会在netpmon命令之后立即自动启动。另外,netpmon中还可用trcon命令选择在后面的某个时间跟踪。当这种跟踪用trcstop命令终止后,netpmon命令就会输出它的报告并退出。缺省时报告会输出到标准输出,需要时也可以重定向到某个文件。

    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请求。

  5. PDT(性能诊断工具)

    PDT通过收集和集中各种性能、配置和可用数据自动找出性能问题。PDT评估系统的当前状态并跟踪系统在工作量和性能上的变化。PDT数据收集和报告很容易起用,不需要更多的管理行为。

    虽然许多常见的系统性能问题都有特定性,但PDT还试图用一些被认为性能好的系统中的通用概念来帮助它查找问题。这些概念包括:

    · 资源的平衡使用

    · 在限定范围操作

    · 确定的工作量趋势

    · 无错误操作

    · 系统参数得到适当设置。

  6. 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

    (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

  7. vmstat

    vmstat命令报告关于核心线程,虚拟内存,自陷(trap),磁盘以及CPU行为的统计。而且每种行为报告都被更细致地用百分比分别表示用户态、核态、空闲以及等待磁盘I/O等情况。

    内核维持了对核心线程,换页以及中断行为的统计数据,而vmstat命令则通过使用knlist子程序和/dev/kmen伪设备驱动器访问这些数据。磁盘的输入/输出统计是通过设备驱动器维持的。对于磁盘,平均传输速度是通过使用活跃时间核传输信息数目决定的。而活跃时间百分比则是从报告期间驱动器忙的时间量计算出来的。

    vmstat命令产生五种类型的报告:

    · 虚存行为报告

    · fork子进程情况报告

    · 每个设备产生的中断情况报告

    · 汇总报告

    · 输入/输出行为报告

  8. 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对总的统计数字有多大的影响。

  9. topas

    topas命令用于监控各种系统资源,如CPU的使用情况,CPU事件和队列,内存和换页空间的使用,磁盘性能,网络性能以及NFS统计等。它还会报告指派给不同WLM类的进程对系统资源的消耗情况。它还能报告系统中最热门的进程和工作量管理器(WLM)的热门类。有关WLM类信息只有在WLM激活时才会显示。topas命令将热门进程定义为那些使用大量CPU时间的进程。topas命令没有作日志的选项,所有信息都是实时的。

    topas命令利用System Performance Measurement Interface(SPMI)API获得有关信息。正是因为通过SPMI API,使系统开销保持在最小程度。topas命令使用perfstat库调用访问perfstat内核扩展。

  10. truss

    truss命令跟踪一个进程的系统调用、所接收的信号以及招致的机器错。要检查的应用程序可在truss命令的命令行中指定,也可将truss命令挂在一个或多个已经在运行的进程上。

  11. AIX调制工具

  12. 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标志编译的模块重新排序。

  13. schedtune

    schedtune命令可以给抖动、进程挂起、时间片以及线程在锁上所能轮询的时间长度等设置准则。

    用schedtune,可调整AIX中所设立的一组影响其内存负载控制机制的参数。Schedtune命令用于显示和修改那些用于检测系统内存是否在过度使用以致造成抖动的参数。Schedtune命令还能用于修改运行在系统上的进程的惩罚和衰减因子。在root用户下,用schedtune命令可做下面的事情:

    · 决定用于确定抖动的准则。

    · 决定哪个准则用于挂起进程。

    · 决定在抖动终止后要等待多长时间才重新激活那些先前被挂起的进程。

    · 决定被挂起的进程的最小数目。

    · 调制调度优先级公式。

    · 更改时间片数值。

    · 决定在一把锁上轮询多长时间。

    · 将schedtune值复位到它的缺省值。

    需要注意的是,所有用schedtune作的修改在系统重启后都将丢失。为了确保所需的schedtune值在引导时能够置上,可在/etc/inittab文件中插入适当的schedtune命令。如:schedt:2:once:/usr/samples/kernel/schedtune -s 65536

  14. vmtune

    vmtune命令负责显示和调整虚存管理器(VMM)和其它AIX部件使用的参数。系统中的根用户可动态修改包括下面这些参数:

    · VMM页替换

    · 永久文件读写

    · 文件系统缓冲区结构(bufstructs)

    · LVM缓冲区

    · 裸输入/输出

    · 换页空间参数

    · 页删除

    · 内存固定参数

     

     

     

     

  15. 处理系统启动问题

    本章目标:

    1、 理解系统启动的基本过程并且能够正常的关闭系统

    2、 进入Aix错误日志

    3、 解决启动问题

    4、 记住并能理解基本的LED上的错误代码

  16. 本章的主要命令

    alog,cfgmgr,last,bootlist,uptime,mpcfg,shutdown

  17. 启动过程

  18. 启动的前提条件:

    必须有一个boot image可以加载,同时要能够进入/和/usr文件系统。(如果/tmp,/var不能进入呢?)

  19. 启动的三种形式

    a、 硬盘启动

    b、 无盘工作站启动(通过网络上的其它远程机器提供的启动文件)

    c、 服务模式(也叫维护模式,key设置在service位置上,或是PCI架构通过按F5来进入维护模式)

  20. 机器启动的三个阶段

    a、 只读存储内核初始化阶段(Read only storage kernel init phase),在这一阶段,主板被检查,ROS初始化程序加载时寻找bootlist,一旦找到启动设备,boot image读入内存并开始系统初始化。

    b、 基本设备配置阶段,所有的设备在这一阶段被配置,通过cfgmgr命令

    c、 系统启动阶段,在这一阶段,所有的lv激活,交换换页开始,并且init开始读取并执行/etc/inittab里的程序。

  21. 加电顺序,LED显示和声音提示

    在启动过程中要注意LED上代码的变化,它可以提示系统处于哪一个启动阶段。

    同时要注意嘀声提示,在设备logo展示完后,如果这时系统ROS没有被破坏,又会出现一次嘀声提示,这时可以选择按F1或F5,如果没有任何选择,这时开始调用bootlist来搜索启动设备。

  22. 有用的命令

  23. 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没有协同机制的控制,所有如果又多个进程要同时写该日志时,可能记录上会有错误。

  24. cfgmgr命令

    1、语法:cfgmgr [-f | -s | -p Phase ] [ -I Device ] [ -l Name ] [-v]

    -f:指定运行第一阶段配置规则,只有在boot是使用,在系统启动后,是不能使用这一选项的。

    -i Device:指定安装介质的位置

    -l Nmae:指定设备名

    -p Phase:指定阶段

    -s: 指定cfgmgr执行第二阶段的配置规则

    -v:输出显示信息

    (结合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来加配新加的设备

  25. 使用last命令

    但用户登录或退出系统时,都会在/var/adm/wtmp文件中记录,除非他们被acctcon1和acctcon2命令生成每日报告。last命令就是读取该文件。

    如果碰到系统时间改变,该文件记录会有两个记录时间,以保证登录时间跨度的准确性。

    语法:last [-f FileNmae ] [- Number ] [ Name…] [Terminal …]

    其中,Name是登录用户名,Terminal是登录的终端名。

    #last root console

    #last shutdown 可以查看系统shutdown的时间

  26. bootlist命令

    有效的boot设备:fdxx, hdiskxx, cdxx,rmtxx,entxx,tokxxx。

  27. uptime命令

    显示系统启动了多长时间。后面的负载数字是指可运行的处理器在过去5,10,15分钟的平均负载。

  28. mpcfg命令

    该命令使用在老式的Micro Channel架构的机器上。

    该命令是用户可以有root的权限去管理服务信息,包括服务支持和诊断工具。

    1、为了显示服务信息

    #mpcfg –d { -f –m –p –s}

    2、改变服务信息

    #mpcfg –c { -f |-m | -p –s –w } Index Value

    3、保持或恢复服务信息

    #mpcfg { -r | -s }

  29. 使用shutdown命令

    1、参数

    -h和-v参数一样:关闭该系统。

    -F:尽快关闭系统

    -i:指定交换模式

    2、可以添加应用程序的关闭到shutdown的程序中

    但shutdown命令发起时,它会检查/etc/rc.shutdown文件,所有可以把关闭应用程序写入该文件。

  30. 解决启动中问题

  31. 进入一个没有(不能)启动的系统

  32. 安装介质的问题

  33. LED上显示的启动时的错误代码

    1、201:破坏的boot image

    2、223-229:无效的引导顺序

    3、551,555,557:受破坏的文件系统或文件系统日志

    4、552,554,556:超级快或定制的ODM库受破坏

    5、553:受破坏的/etc/inittab文件

     

  34. 硬件设备

  35. 列出硬件设备

    使用lsdev,lspv,lsattr三个命令

  36. 使用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

  37. 使用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

  38. cfgmgr配置系统设备

    1、cfgmgr命令用于配置系统设备,并且可以选择性的安装所需的设备驱动软件包。

    2、Congiguration Rules object class作为设备配置数据库(Device Configuration database)的一部分,每条配置规则包含有三项:要运行的可执行程序的全路径,什么时候运行该程序(即seq项),哪一阶段运行该程序。如:

    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

  39. 系统管理服务(SMS)

    cfgmgr是在软件层面上去管理配置设备,可以使用SMS在硬件层面上去检测和配置系统配件。

    在系统启动时按F1进入图形SMS菜单。(或按F4进入ASCII SMS菜单),如果在启动时最后一个IBM图标(icon)出现后在按F1或F4,那么这时将进入正常的启动引导阶段。

    可以在SMS中设置进入密码,但如果忘记的话,唯一的办法是对主板的芯片放电(remove the on-board system battary)

  40. 硬件设备的兼容性

    SCSI,PCI和ISA不同标准和接口的设备,配置不同。

  41. 设备配置数据库

    设备配置信息是存储在设备设备配置数据库(Device Configuration Database),通过ODM来管理的。它包括两个内容:

    预定义数据库:包括所有可能配置到系统的设备配置数据。

    已定制好数据库:包括系统中所有目前已定义的和配置好的设备的配置信息。

  42. 使用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显示的可能不是该设备属性的实际值,直到等到系统重启后两者数据才会一致。(试一试,不要重启情况)

  43. 使用smit device菜单

  44. 系统错误日志

  45. 使用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

  46. 使用errpt命令

    errpt命令步骤任何错误日志分析,可以使用diag来分析错误。

    参数:

    -s StartDate: 指定在该指定时间后的日志

    比如:

    #errpt –aj 2bfa76f6

    #errpt –a –s 0405093005 显示2005年4月5日9:30以来的日志

  47. 使用errlogger命令

    可以使用errlogger命令来记录操作信息或其它信息到系统错误日志中去。

    #errlogger Testing use of errlogger command.

  48. 其它error有关命令

    errclear

    errinstall: 在错误日志信息设置中安装信息

    errupdate: 升级错误记录模板储存库

  49. 诊断硬件问题

    利用diag上多个可选的工具和服务可以用来诊断硬件上的问题,运行diag,选择Diagnostic Routines,再选择Problem Determination。

    也可以使用命令行#diag –d sysplannar0 –v –e来诊断sysplannar0设备的问题。

  50. 系统日志

    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]

  51. syslogd配置文件

    /etc/syslog.conf文件控制着syslogd守护进程的行为,它决定着syslogd往哪里发送错误信息和如何对其它系统的事件作出反映等。

  52. /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][…]。

  53. 使用系统日志

    1、启动关闭和刷新syslogd进程。

    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

  54. 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 删除某个终端。

     

     

  55. 系统和软件安装

  56. 基本操作系统安装

    要安装操作系统,在机器启动时要切换到维护模式,即听到嘀声后按下F5(或Esc+5)键来选择安装选项。

  57. 全新完全安装

  58. 升级安装(Migration installation)

    保留了rootvg里的所有文件系统、lv和系统配置文件,除了/tmp文件系统。

  59. 保留安装

    保留用户数据,将会删除和重建操作系统的文件系统如/,/var,/tmp,/usr四个文件系统。任何在这些目录的用户数据也会丢失。系统配置将必须重做。

    可以使用/etc/preserve.list来定义需要保留的系统文件。The /etc/filesystems files is listed by default.

  60. 高级安装选项

  61. 安装Package Set or Desktop

    该选项让你配置系统启动后将会使用的界面。缺省是安装Package Set而这就只能选择ASCII控制台。

    Desktop选项是图形界面,可以选择CDE,KDE,GNOME等图形界面,如果选择None,那在此选项下支行安装最小的配置如X11,Java,perl,SMIT和基于Web的系统管理工具。

  62. 启用Trusted Computing Base(TCB)

    本选项提供一个更高级别的安全。选择本选项将会安装bos.rte.security软件包,而且你配置和启用它。如果你在此时不安装TCB,那么你就要重新安装操作系统。安装了TCB,你可以在系统中通过卸装bos.rte.security软件报来卸载。

  63. 启用64-bit和JFS2

    如果你的机器是64位的处理器,那么将会默认加载(load)64-bit内核,但只有你选择了这一选项后系统启用(enable)64-bit内核。

    如果你是升级安装而来,那么原来的JFS文件系统将不会转换成JFS2文件系统。

  64. 配置助手(Configuration Assistant)

    安装完毕系统重启后,配置助手工具/usr/sbin/install_assist将会自动运行。

    配置完毕后,记得要”退出配置助手”,选择”结束”,这样下次启动才不会还是自动启动配置助手。

    使用oslevel命令

  65. 使用oslevel命令鉴定系统软件维护版本

    使用oslevel命令来鉴定一个系统的软件的维护版本(maintaneance level)

    osleve [-l Level | -g -q ]

    -l Level:列出早于指定维护版本的fileset。

    -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

  66. 软件包(software packaging)

  67. Filesets

    A fileset是Aix操作系统最小的安装基本单位。比如bos.net.uucp或者bos.net.nfs.client。

  68. Packages

    一组提供某种特定功能的fileset的集合。如bos.net。

  69. Licensed Porgram Products(LPP)

    A Licensed Program Product is a complete software product including all packages associated with that licensed porgram.

  70. 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。

  71. PTFs and APARs

    PTF: Program Temporary Fix的首字母的缩写词。如同其它软件包一样,它使用lslpp命令来安装。

    APAR:Authorized Program Analysis Report的首字母的缩写词。它使用instfix命令来安装到系统中去。

    经过测试和确认后,APARs最后将变成PTFs。

  72. 安装可选的软件包或升级

  73. 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

  74. 4.6.2使用smit来维护软件

    使用smit菜单来维护软件时,可以在/var/adm/sw/installp.log记录维护日志,如同使用installp命令一样,当然使用smit也会在$HOME/smit.log记录使用smit的日志。

  75. 维护可选软件(应用于软件包升级)

    被发布用于修复一个问题的软件称为update。

  76. 列出软件的维护版本

    使用lslpp命令,有以下选项:

    -f:列出属于某个软件包的所有文件

    -w:列出某个文件属于哪个软件包

    -h:列出软件包安装和升级的历史信息,可以查看安装或升级时间

    -a: 但和其它选项合着使用时,列出指定软件包的所有信息,不能和-f一起使用。

    1、列出当前软件包的维护版本

    #lslpp –l

    2、列出某软件包包含哪些文件

    #lslpp –f bos.net

    3、列出安装和升级历史

    #lslpp –h bos.sysmgt.trace

  77. 下载补丁

    使用IBM提供的FixDist工具可以到service.software.ibm.com站点下载补丁包(fixes)

    BFF格式:Backup File Format,是使用Aix系统命令backup来生成的,可以使用restore来读取,补丁包一般是.bff格式,还包括有.info文件来描述升级包。

    .toc 和inutoc命令

  78. instfix显示和升级安装的软件到最新版本

    显示一个单一的补丁

    使用instfix命令,有以下选项:

    -a: 显示一个补丁的特征文本说明

    -i: 显示补丁或关键字是否已安装

    -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来升级所有软件包到最新版本。

  79. 在硬盘上创建安装映象

    使用smit bffcreate菜单。

    使用这种方法可以解决需要安装处于不同安装介质(如不同光盘)的但有相互依赖(co-requisites)的软件包。

  80. 可变的硬盘安装

    可以减少停机时间,可是用于测试新的版本。只在4.3或以上版本可用。

  81. 需事先安装的软件包

    bos.alt_disk_install.boot_images: 用于使用mksysb备份带来安装。

    Bos.alt_disk_install.rte用于使用克隆rootvg来安装。

  82. 可变的rootvg克隆

    把当前的rootvg克隆到该系统中一个新的硬盘中,注意,不支持SSA硬盘。

  83. 可变的mksysb安装

    可以使用不同机型或架构的mksysb备份带来安装。

     

     

  84. 存储管理、LVM和文件系统

  85. 相关概念

    PV、VG、PP、LV、LP的概念和相互关系。

  86. 逻辑卷管理

  87. 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的信息,使用了几百个字节空间大小。

    如:#getlvcb –TA hd2 (其它命令)

  88. Disk quorum

    每个PV上VGDA的个数,主要看该VG包含基本PV。

    当一个quorum失去后,该vg自动varyoff掉,使用lvm无法在进入该vg,保证了数据不会丢失。

    在镜像情况下,可以把quorum关掉,这时可以提高该vg的可用性,但可能会导致数据丢失的风险,所有要及时更换故障硬盘。

  89. 硬盘镜像

    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后才能生效。

    对于dump设备(/dev/hd6,一般也是paging space),系统是不会mirror的。但如果dump设备和paging设备是在不同的lv上,则paging设备会自动mirrored,而dump设备不会mirrored。

  90. 管理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

    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

  91. 管理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时,将会出错。如果该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的信息。

    varyonvg有以下选项:

    -f: 强制varyon,即使VGDA和ODM库中信息不一样。

    -n: 指定在varyon时不自动使用syncvg命令来同步处于stale状态的分区。

    -s: varyon成维护模式

  92. 管理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

    2、同步vg04和vg05上的拷贝

    #syncvg –v vg04 vg05

  93. 管理lv

  94. 添加一个lv

    创建一个lv时其默认的最大值是最大可以有128个逻辑分区(logical partitions)

    使用mklv命令,可以使用-t来指定类型,但不能创建boot类型的lv。

    也可以使用smit mklv菜单,如果没有指定PHYSICAL VOLUME,则默认在系统的第一个PV上创建lv。

  95. 删除一个lv

    可以使用rmlv或smit relv菜单。

    rmlv命令有两个选项,-f和-p。

    -p PhysicalVolume: 只删除指定PV上的逻辑分区,除非其它pv上没有lp,否则不会删除该lv。

  96. 减小lv的大小

    备份数据,删除原来lv,重建新的较小的lv,恢复数据。

  97. 增大lv的大小

    使用smit chjfs或者extednlv命令

  98. 拷贝一个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的大小不能小于oldlv。

    3、使用smit cplv菜单

    如果你碰到错误提示:cplv: Destination logical volume must have type set to copy,这时你要改变lv的可拷贝属性:#chlv –t copy Destination_Logical_Volume_Name。

  99. 分开一个lv的多个拷贝

    使用splitlvcopy命令可以分开一个lv上的拷贝而把它建成一个新的独立的lv。

    注意:虽然splitlvcopy可以对打开的lv进行操作,但为了安全起见,还是健康umount文件系统把lv关闭后在进行操作。

    #splitlvcopy –y newlv oldlv 2

  100. 列出lv

    lslv lvname

  101. lv的大小

    要注意有多个拷贝的情况。

    Totel LV size=PP size*LPs assigned to LV * Number of copies of the LV

  102. 管理文件系统

    JFS把lv分成固定大小的逻辑块(logical block),有Logical Block 0, Superblock(位于第1和第31个逻辑块),Allocation Groups。

  103. 文件系统的属性

    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更加文件的事件大小来考虑。

  104. 创建一个fs

    使用smit crjfs菜单或者crfs命令来创建。

    #crfs –v jfs –g rootvg –a size=8192 –m /mydata

    注意,命令不是cfjfs

  105. 一个文件系统

    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。

  106. 删除一个文件系统

    先umount,后在删除,也可以使用rmfs命令行,如果要删除mount point,则要加上-r参数。#rmfs –r myfs

  107. 加大文件系统的大小

    使用chfs命令或smit chjfs菜单

  108. 减小文件系统的大小

    如果是非操作系统的文件系统,可以使用多种方式(cpio, backup, tar, savevg等)备份数据后,删除文件系统,重建后,恢复数据方式进行。

    更重要的是,可以使用mksysb备份带来减小一个文件系统的大小,在使用备份带恢复时,可以选用shrink选项来缩小文件系统的大小,对于操作系统的几个文件系统(如/, /var, /tmp, /usr)来说,只能采用这种方法。

  109. 检查文件系统的一致性

    建议在mount文件系统前使用fsck来检查文件系统的一致性,如果使用fsck命令没有指定任何文件系统,则它将会检查/etc/filesystems文件里check=true的所有文件系统。

    注意到,/etc/filesystems文件里,操作系统的四个文件系统(/, /var, /tmp, /usr)的check=false),这时由于在启动阶段(boot process)就已经fsck了这四个文件系统,而在多用户启动初始化时,是不需要fsck来检查已经mount的文件系统的。

  110. 初始化JFS日志设备

    使用logform LogName命令行。

  111. JFS日志设备的存放位置

    应尽量把JFS日志设备放置在比较空间的磁盘上,同时也可以使用多个JFS日志设备。

  112. 大文件系统支持

    使用lsfs –q 可以查看文件系统是否支持大文件系统,注意有bf: true输出项。

  113. 解决文件问题

  114. 恢复超级块错误

    如果提示:

    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来检查文件系统。

  115. 无法umount文件系统

    fuser,genkex等命令的使用。

    #find /home –type d –exec fuser –u {} \;

     

     

  116. 交换空间(Paging space)

  117. 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。

  118. 管理交换空间

    有以下命令:chps, lsps, mkps, rmps, swapon, swapoff。注意mkps和mklv –t paging的区别。还有rmps和rmlv。

    在系统启动早期阶段,/sbin/rc.boot脚本调用swapon来激活主交换空间hd6,在后面的阶段,才激活其它交换分区。活动的交换分区不能被删除,如果是5L以前版本,则要使用chps –a n命令来使得系统重启后不激活(如果是hd6,还要改动/sbin/rc.boot里的swapon命令),重启系统后才能删除该交换空间。

    使用swapon –a命令将激活/etc/swapsapces文件里所列的所有交换空间,使用mkps –a命令创建一个新的交换空间时将自动添加该空间名到该文件里,而使用rmps来删除一个交换空间时也会自动删除该文件里的定义。

  119. 显示交换空间属性

    使用lsps命令,有#lsps –a和#lsps –s用法

    #lsps –a –c

  120. 添加和激活一个交换空间

    不要把交换空间加到经常移动的磁盘空间里,直接移走一个带有活动交换空间的硬盘将导致系统崩溃。

    使用smit mkps(可以使用mkps命令吗)

  121. 改变交换空间的属性

    1、使交换空间不活动

    使用smit chps菜单,做完后可用lsps –a命令来查看。

    2、动态使交换空间不活动(5.1版具有的功能)

    使用swapoff命令,或者使用smit swapoff菜单。注意其它的交换空间这时要有足够的剩余空间。

    3、增加交换空间大小

    也是使用smit chps菜单。

    4、动态减少交换空间大小(5.1才有,不要重启)

    5L版引进chps –d命令,可以动态减少交换空间大小,无需重启系统。

    #chps –d 2 paging01

  122. 删除一个交换空间(非hd6)

    基本思路:设置重启时不激活(同时要检查是否是主dump设备)->重启机器->删除该交换空间。

    如果是5L版,则无需重启,使用swapoff和rmps两个命令即可(当然也要检查dump设备)

    #swapoff /dev/paging00

    #rmps paging00

  123. 管理缺省的交换空间(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

     

  124. 系统备份、恢复和可用性

    几个命令及其用法(p214)

  125. mksysb命令

    用户定义的paging sapces和裸设备不会被备份(那么恢复时用户定义的交换空间就没掉啦?)

  126. mksysb磁带的数据展示

    三个512字节大小的image:BOS boot image、mkinsttape image、dummy.toc

    其中BOS boot image包含一个系统内核的拷贝和引导设备的驱动,它是由bosboot命令来创建的。

    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命令来恢复单个文件或文件夹。

  127. 备份中不包括的文件系统

    使用/etc/exclude.rootvg文件,同时使用-e参数

    #mksysb –e /dev/rmt0

  128. 创建一个可引导的系统备份

    使用smit mksysb菜单

  129. 使用mksysb备份一个用户定义的vg

    不支持,可以选用savevg、tar、cpio或backup命令

  130. 备份用户数据(非rootvg)

  131. 8.2.1备份一个用户定义的vg

    可以使用savevg来备份一个用户定义的vg上的数据,但该vg必须是varyon的,并且只有mount的文件系统才被备份。

    Savevg命令调用mkvgdata命令来

    #savevg –if /dev/rmt0 datavg

  132. 备份当前目录

    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

    上述命令采用了绝对路径。

  133. 增量备份

    可以使用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

  134. 从备份介质中恢复数据

  135. tctl磁带操作命令

    使用tctl命令来操控磁带,如果没有使用-f参数来指定磁带设备,则也可以使用TAPE环境变量。

    其子命令包括:

    rewind: 重绕磁带即倒带

    rewoofl or offline: 倒带并离线

    status:显示指定磁带设备的状态

    fst Count: 先前移动指定参数(number of file marks)磁带。

    bst Count: 向后移动磁带

  136. 如何恢复一个文件

    从备份带中恢复一个文件,比如要恢复/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

  137. 如何恢复一个目录

    也是取决了备份时采用什么方式命令。

    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

  138. 不正确的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

  139. 克隆系统

    可以使用mksysb来克隆你的系统到各种其它系统上,可能其它系统有不同的硬件设备或不同的平台架构。

    使用目标系统随机带的安装介质(product media)引导系统,进行维护模式,选择”Instal from a System Backup”选项。从备份带安装完毕后,继续按屏幕中提示完成安装过程。

    注意:可以使用bootinfo –p或lscfg –vp | grep Arch来查看该系统时候支持从磁带引导,有些rspc架构的系统不支持。

    但系统备份带安装完毕后,安装程序会继续提示你使用随机带的安装介质(product media)来安装该系统需要的设备驱动或内核。安装信息会保存在/var/adm/ras目录下的devinst.log文件里。

  140. 8.5创建软盘的拷贝

    使用dd命令

    #dd if=/dev/fd0 of=/tmp/ddcopy

    换上新的软盘

    #dd if=/tmp/ddcopy of=/dev/fd0

  141. 复制一个磁带

    使用tcopy命令

    如:#tcopy /dev/rmt0 /dev/rmt1

    但如果磁带机规格不一样,可以吗?

  142. 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可能会浪费磁带空间。

  143. HACMP (high availability cluster multi-processing)

    可以支持多种模式:concurrent access mode, mutual takeove mode, Idle standby mode.

    通过添加冗余的磁盘驱动器、适配卡和网络连接来增强系统的可用性。

     

     

  144. 系统资源控制器管理

    SRC(system resource controller)提供了一组命令和子例程使得系统管理人员生成和控制子系统(subsystem)更容易。一个子系统是能够独立操作或有一个控制系统的一个或一组程序或进程,而一个子服务是属于一个子系统的程序或进程。注意subsystem和subserver的区别。

    控制机制:

    1、统一一致的开始、停止、或刷新子系统的用户接口

    2、异常中断子系统的日志功能

    3、跟踪一个、一组子系统或一个子服务。

    4、支持远程系统的控制操作。

  145. 启动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

  146. 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的进程

  147. 重启SRC

    一般情况下不想重启SRC,因为在/etc/inittab中启动SRC的该记录是指定respwan,也就是如果SRC异常中断,它可以自动重启srcmstr服务进程,同时自动重新建立子系统的通讯连接。注意当中断并重启srcmstr进程后,该进程号会更改。

    可以编辑/etc/inittab中的该/usr/sbin/scrmstr记录,添加-r(如果是4.3.1以前版本)则添加-B参数,并且使用telinit –q(或init –q)来生效,使得sccmstr拒绝接收远程的请求。

  148. 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

    -p SubsystemPID: 指定要传送到的特定的子系统

    #starsrc –t tester –p 1234

  149. syslogd守护进程

  150. 启动syslogd

    在系统启动过程中通过scrmstr来启动,在ODM库中有定义。

  151. syslog的配置文件

    可以指定-f参数来指定另一个可选的配置文件,当缺省情况下是使用/etc/syslog.conf文件。

    该文件的记录行格式如下:

    见3.9。

  152. 刷新syslogd守护进程

    使用stopsrc/startsrc来重启,或者使用refresh来刷新,也可以使用kill –1。

  153. 收集来自多个系统的syslog数据

    可以在配置文件里指定远程主机名

  154. 刷新一个守护进程

    可以使用refresh命令来刷新,当你要刷新的资源不能使用信号通讯方式(user the signals communications method)。

  155. cron守护进程

    以下事件类型是由cron守护进程来安排的:

    crontab和at命令事件

    batch命令事件

    sync子例程事件

    ksh命令事件

    csh命令事件

    这些事件在/var/adm/cron/queuedefs文件里有定义。

    当使用crontab命令来更新crontab文件时,更新信息会传送到cron守护进程中去。

  156. crontab文件格式

  157. crontab命令的允许使用控制

    使用/var/adm/cron/cron.allow和cron.deny文件来控制。

  158. 系统中的内务管理(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目录没有存在,不要让本定时任务生效。

     

     

  159. 网络管理

  160. 在系统启动阶段启动网络(服务)

    在IPL阶段,init启动定义在/etc/inittab里的/etc/rc.tcpip脚本文件,该脚本使用使用SRC命令来启动定义好的要启动的网络服务。该脚本也可以单独用命令行来运行以启动网络服务。

    通过rc.tcpip脚本启动的服务进程既有基于tcp/ip的服务,如inetd, gated, routed, namd, timed, rwhod等,也其它服务如:lpd, portmap, sendmail, syslogd。

    注意:在一个系统中,routed和gated服务不能同时启动。

  161. 关闭和重启tcp/ip服务进程

    可以使用stopsrc和startsrc来启动和关闭服务进程。

  162. 使用/etc/tcp.clean命令来关闭tcp/ip伺服进程

    可以使用/etc/tcp.clean脚本来关闭tcp/ip伺服进程,它会关闭除portmap和nfsd的其它所有伺服进程并删除/etc/locks/lpd(tcp/ip的锁文件)

    注意它不关闭portmap和nfsd伺服进程,要关闭这两个进程,使用stopsrc命令即可。

  163. 重启tcp/ip伺服进程

    使用refresh –s来重启伺服进程,当不要使用startsrc –g tcpip命令来启动所有的tcp/ip类的伺服进程,因为它包括routed和gated进程。

  164. 系统启动时没有启动rc.tcipip

    如果在/etc/inittab文件里删除或注释掉rc.tcpip一行,则意味着在系统启动时不启动任何服务进程(server applications)

    注意:如果有图形界面,这移除rc.tcipip时记得要同时移除rc.dt一行,要不,当你登录时,图形终端会挂住。但这时你只能用终端直接连到控制台端口才能登录。

    没有启动任何服务进程,但你同样可以作为客户端使用telnet和ftp命令来连接到其它服务端。

  165. inetd伺服进程

  166. 启动和刷新inetd

    启动inetd时可以指定到别的自定义的配置文件,如果没有指定该参数,这默认使用/etc/netd.conf。

    可以使用smit菜单、SRC或直接编辑/etc/inetd.conf来更改调整该配置文件。使用smit来更改时inetd会自动刷新,如果通过编辑/etc/inetd.conf,则要使用refresh –s inetd或kill –1(hup) InetdPID来刷新该服务进程。

  167. inetd控制的子服务(subserver)

    可以使用lssrc –ls inetd来列出inetd启动的子服务。

  168. /etc/services文件

    当编辑完/etc/services文件后,运行refresh –s inetd命令来使更改生效。(更改ftp端口试试。)

  169. 停止inetd

    使用stopsrc –s inetd命令,当inetd伺服进程停止后,之前由该子服务的进程不受影响。也就是说,原有的会话不受影响,当新的服务会话就不能建立啦。

    (之前telnet会话不会中断吗?)

  170. portmap伺服进程

    portmap伺服进程转换远程的RPC(procedure call)程序号为网间端口号。

    如果portmap伺服进程停止或突然中断,则所有的RPC服务必须重启。nfsd是个典型的RPC服务。

  171. 网络地址

    (略)

  172. 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

  173. /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

  174. 与/etc/resolv.conf相关的问题

    当解析一个主机名时出现问题时,

    1、确定/etc/resolv.conf中定义好正确的域名和域名解析服务器的地址。

    2、确定域名服务器是可活动的,使用ping命令。

    3、如果域名服务器是活动的,则使用lssrc –s named来检查是否有启动域名服务。

    4、如果有启动syslogd伺服进程,可以查看系统日志文件。

  175. nslookup命令

    使用nslookup来检查域名服务是否正常。

    #nslookup [IPAddress | HostName]

    如果只有hosts文件,可以使用nslookup解析吗?

  176. 配置新的网络适配卡

    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来添加路由。

  177. 使用smit来配置网卡

    如果需要改变网络的高级属性,包括网速、半双工、队列大小等,使用smit chgnet或smit chgtok来配置。

  178. 配置网络接口(network interface)

    使用smit tcpip来配置TCP/IP,可以使用smit inet来配置网络接口。(两者区别)

  179. 10.9启动IP转发(IP forwarding)

    使用no –o ipforwarding=1来启动,默认为0,是关闭的,启动时会丢失。但在5.2使用smit tuning来配置,可以启动不丢失。

  180. 添加网络路由

    使用smit route(mkroute)来配置路由。也可以使用route add命令来添加路由,但重启后会丢失。(与上次问题?)

  181. 通过smit改变IP地址

    使用smit mktcpip既可以改变IP地址,也可以改主机名,如果只改IP地址时,可以使用smit chinet。

  182. 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值

  183. 10.12.1确定网络接口

    可以使用#lsdev –Cc if或#ifconfig –a。

  184. 10.12.2激活一个网络接口

    #ifconfig Interface [Address] [netmask Netmask] up

    如:#ifconfig ent0 10.1.2.3 netmask 255.255.255.0 up

  185. 10.12.3使一个网络接口不活动

    #ifconfig Interface down

  186. 10.12.4从一个网络接口中删除一个地址

    #ifconfig Interface [Address] [netmask Netmask] delete

    如:#ifconfig ent0 delete

    注意:使用这个命令使并不使改接口处于不活动状态,也不会删除改网络接口

  187. 10.12.5删除一个网络接口

    #ifconfig Interface detach

    本命令在删除改网络接口同时也删除了分配给改网络接口的网络地址。如果要把改接口添加到系统中,或者添加一个新的接口,可以使用以下命令:

    #ifconfig Interface

  188. 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来删除网络地址别名,注意如果没有指定是要删除哪个别名的,则系统默认会删除第一个网络地址,如果是这样的话,该网络接口的第一个别名就会变为该接口的主要的网络地址。因此,对于一个网络接口的多个别名,必须一一指定加以删除。

  189. 10.12.7改名网络接口的MTU值

    MTU值范围:60-65536bytes per packet。

    以太网MTU值为1500。

    MTU值对于一个网络来讲很关键,可以使用lsattr –El Interface来查看网络接口的MTU值,使用ifconfig Interface mtu Value来改变该值。

    #ifconfig ent0 mtu 12000

    注意:如果该网络接口正在使用,该值不能被改变,而且同样一个网络里的系统必须拥有同样的MTU值。

  190. 网络安全

    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

    其中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脚本。

  191. 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活动开始记录日志啦

  192. uname命令

    uname –n或uname –x命令

  193. 基本网络问题判断

    要注意检查时候paging space满啦,或者是文件系统满啦。

     

  194. 网络文件系统管理

    NFS是独立于机器类型、操作系统和网络架构而是通过使用RPC(远程程序调用)。

  195. 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传输对应了一个单一完整的文件操作。

  196. 计划、安装和配置NFS

    配置NFS:

    1、配置在每一个系统上(不管是服务端还是客户端)启动NFS

    使用smit mknfs或mknfs命令

    mknfs命令参数:

    -B:即现在就启动NFS服务进程同时在系统重启时也启动,它会在/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来刷新

    注意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

    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

  197. 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即可

  198. 相关文件、命令和伺服进程

  199. 问题断定

    11.5.1确定NFS问题检查列表

    1、检查网络连接情况

    2、检查客户端是否有启动inetd、portmap和biod伺服进程。

    3、检查客户端有有效的mount安装点。

    4、使用rpcinfo命令检查服务端是启用的并且是在运行的

    #/usr/bin/rpcinfo –p server_name

    5、检查服务器端的伺服进程有启动,并且文件系统是export出去的,可以使用一下脚本命令

    #/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问题(客户端)

     

     

  200. 系统性能

  201. 系统性能概述

    相关命令:iostat, vmstat, netstat, nfsstat, ps, lsattr, lslv, nice, no, renice, reorgvg, sar, schedtune, svmon, time, tprof, trace

  202. 基本系统工具

  203. 使用vmstat命令

    vmstat [-f] [-i] [-s] [PhysicalVolume…] [Interval [Count] ]

    -f:显示自从系统启动以来的fork数

    -i:显示自从系统启动以来每个设备的中断数

    -s:显示自从系统启动以来包括交换情况信息

    PhysicalVolume:指定一到四个物理硬盘,显示该物理盘的transfer情况。

    由于系统使用很大的一块实际内存作为文件系统数据的缓存(cache),所有fre项可能会很低但并非不正常。

  204. iostat命令

    iostat [-d | -t] [PhysicalVolume…. ] [Interval [count] ]

    -d:只显示磁盘的使用情况,不能和-t参数一块使用

    -t:只显示TTY和CPU的使用情况,不能和-d参数一块使用

    注意:第一列显示只系统启动以来的统计信息。

    例如:

    #iostat –d 2 6 显示所有磁盘信息

  205. netstat命令

    1、netstat -i

    2、netstat –r

  206. 另外一下性能相关命令

    svmon, sar, tprof(跟踪CPU的活动),schedtune

  207. 控制系统资源使用

    使用nice和renice命令

    #nice –n 15 cc –c *.c 优先级降低到15

    #renice –n 5 16304 优先级降低了5

  208. 性能分析

    分析是否使cpu瓶颈或者是内存瓶颈问题,也由可能是其它方面瓶颈,如磁盘IO。

  209. CPU Idle时间计算

    要把wa项也计算如CPU空闲时间内。

  210. 计算交换率

    pagein/pageout(pi/po)

     

  211. 用户管理

  212. 概述

    三种类型组:用户组,系统管理组(即system group),系统定义的组(如staff组等)

  213. 用户管理相关命令

    mkuser, rmuser, lsuser, chuser(改变除用户口令外的所有其它用户属性),passwd

    chsec(改变安全相关设置),login, who, last, dtconfig(设置桌面系统自动启动)

  214. 用户管理相关文件

  215. /etc/security/environ

    设置用户的环境属性,有mkuser命令来生成相关的节段(stanza),初始的属性值是根据/usr/lib/security/mkuser.default文件来设置。一般使用默认缺省值。

  216. /etc/security/lastlog

    记录最后一次成功和不成功登录的信息(包括时间、终端号、远程登录的主机名),还包括不成功登录的累计次数。也是有mkuser命令创建用户时创建相关的节段,并有login命令来刷新其中的记录。

  217. /etc/security/limits

    为每个用户指定进程资源。也是有mkuser、chuser、rmuser命令时来创建并维护。在smit user中也有。

  218. /etc/security/user

    包含用户扩展的属性。其初始缺省设置是根据/usr/lib/security/mkuser.default文件来设置的。

  219. /usr/lib/security/mkuser.default

    该文件指定一个新用户的缺省属性,包含两个节段:user和admin。如果使用mksuer时指定-a属性则指定了使用admin的属性。该两节段分别指定user和admin的主要组(pgrp),组别,shell和home目录。

  220. /usr/lib/security/mkuser.sys

    是一个可执行的命令脚本,由mkuser命令调用,调用它时创建了包含由正确属主和组别的用户根目录,并且为用户的shell创建正确的porfile。

  221. /etc/passwd

    密码位:*和!,使用passwd或pwdadm可以使密码位由*变为!,并且这时用户才可以根据密码来登录系统。使用chuser可以改变除密码以外的其它用户属性,使用chfn可以改变/etc/passwd文件中某用户的说明段,使用chsh可以改变用户的shell。

  222. /etc/security/passwd

    如果还没有用passwd命令设置口令的用户,则会显示password = *的节段。

  223. /etc/securiyt/login.cfg

    该文件包含login的配置信息和用户的认证信息。由三个类型的节段,port、authentication和user configuration。

    好好查看本文件

  224. /etc/utmp, /var/adm/wtmp, /etc/securiyt/failedlogin

    /etc/utmp:记录用户登录该系统,使用who -a。如果文件被破坏,则使用who命令不能显示输出

    /var/adm/wtmp:记录用户登录的连接时间,使用last。

    /etc/security/failedlogin:记录不成功登录的尝试。

  225. /etc/mtod

    登录提示信息

  226. /etc/environment

    一般包括这些属性:

    HOME,LANG(由系统安装时设置在本文件中),NLSPATH(信息目录文件的全路径),LPDEST(指定远程打印所使用的打印机),EDITOR,TZ

  227. /etc/profile和$HOME/.profile

     

     

  228. 用户管理任务

  229. 添加一个用户帐户

    用户帐户名:要少于8字节字符串。使用mkuser或smit mkuser来生成一个用户帐户后,还要用passwd来为该帐户在/etc/security/user生成相应的加密的密码节段,也才能使的该用户可以登录。

  230. 生成或改变密码

    可以使用passwd –f来改变用户设置在/etc/passwd文件中的全名。

  231. 改变用户属性

  232. 显示用户属性

    使用lsuser命令,可以显示某用户属性,如果加入ALL参数,可以显示所有用户属性。如果使用NIS,则一些属性可以不能在lsuer命令中显示出来。

    #lsuer ALL

    #lsuer smith

    #lsuer –f –a id pgrp root

  233. 删除一个用户帐户

    使用rmuser或smit rmuser,如果加入-p参数,则它还将删除该用户在/etc/security/passwd文件中的密码相关认证信息。

  234. 改变用户的安全属性

    使用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

  235. 显示当前登录用户

    使用who命令,

    #who –r 显示运行级别

    #who –p 显示由init生成(spawn)的子进程。

  236. 阻止用户登录

    可以在/etc目录下设置nologin文件来使得用户不能登录该系统,并同时显示该文件的内容。如果该文件存在,则root用户也不能登录,只有等到系统重启后,会自动删除该文件,这时系统才能重新登录

  237. 改变用户的登录shell

    使用chsh命令。

  238. 改变shell提示符

    PS1, PS2,还有PS3

  239. 启动桌面环境

    在命令行中启动桌面环境:

    #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文件系统满,可能启动不了桌面环境

     

     

     

     

     

     

  240. 打印系统

    本章讨论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

  241. 创建一个新的打印队列

    如果事先没有创建好打印机,则在创建打印队列时会让你选择新建一个打印机

    使用smit,选址print spooling。

  242. 打印机配置文件

    打印机的配置信息存放在/etc/qconfig文件中,该文件不仅包含系统中定义的每一个打印队列,还可以使系统管理员识别每个队列的作用。也可以通过修改该文件而不用使该spooler停下。

    该文件一般包含两段,一段定义队列,另一段定义打印设备,即打印机。

  243. 控制打印队列

    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挂住。

  244. 停住打印队列

    使用enq –D参数

    #lsstat –v lpforu 查看lpforu打印队列的情况

    #enq –D –P ‘lpforu:lp0′ 停止打印队列lpforu上的所有打印任务,通过-P参数指定打印队列

    #lsstat –v lfforu 这时可以看到打印队列的状态由原来的RUNNING改变为DOWN

  245. 启动打印队列

    使用enq –U,用法和上同。

  246. 删除一个打印任务

    可以使用一下命令行其中一个

    #qcan –P lpforu –x 3

    #lprm –P lpforu 3

    #enq –P lpforu –x 3

    #cancel 3

  247. 如果检查打印池(print spooler)

    使用lsstat或者enq命令。

    #lpstat –p lpforu

    #lpstat –u “root”

  248. 设置打印机的超时时间

    使用smit spooler来改变打印机连接属性。中由一项Printer TIME OUT period。

  249. 打印诊断基本检查单

    1、检查qdaemon是否再运行

    2、检查系统日期是正确的,尤其是/etc/qconfig.bin和/etc/qconfig的创建时间

    3、检查/etc/qconfig是否链接到/usr/lpd/qconfig文件。

    4、检查/tmp文件系统空间

    5、如果只有root用户可以打印,则检查/tmp目录的权限,还有enq等命令的权限。

    6、检查远程主机是网络连通的,通过ping hostname等。

     

     

  250. sendmail和e-mail

  251. 概述

    邮件系统是一个网间邮件分发工具,它包括一个用户接口,一个信息路由程序和一个信息分发程序(或mailer)

  252. mail守护进程

    Sendmal daemon:一个信息路由程序把信息路由到他们的目的地。就是sendmail命令,它通过配置文件/etc/sendmail.cf、/etc/alias和/etc/sendmail.nl来执行必要的路由。

    Syslogd deemon:记录sendmail活动的日志

  253. 启动、停止、刷新和检查sendmail守护进程的状态

    使用startsrc –s(或直接使用/usr/lib/sendmail),stopsrc –s, refresh –s, lssrc –s。

  254. 自动启动sendmail守护进程

    通过编辑/etc/rc.tcpip脚本,来自动启动sendmail。

  255. 确定sendmail的时间间隔

    sendmail可以指定每隔多长时间来出来邮件队列,默认情况下是30分钟,在rc.tcpip中可以通过定义qpi=40m,来指定该时间

    但只有在系统重启时有效,如果需要,可以使用命令行带-q参数来指定该时间

  256. 使用命令行确定sendmail的时间间隔

    使用-q参数,默认计时单位时分钟,所有可以不要指定m。

    如:#/usr/sbin/sendmail –q15

    #/usr/sbin/sendmail –q15h

  257. 邮件队列目录

    位于/var/spool/mqueue

  258. 打印该邮件队列

    可以使用mailq命令,或者也可以使用sendmail –bp命令

  259. 邮件队列文件

    由四种类型邮件队列文件:数据文件(df开头),控制文件(qf开头)、临时文件(tf开头),传输文件(xf开头)。

  260. 强制邮件队列运行

    #/usr/sbin/sendmail –q –v

  261. 移走邮件队列

  262. 邮件日志

    使用syslog,在/etc/syslog.conf文件中编辑:

    mail.debug /var/spool/mqueue/log

  263. 管理邮件日志文件

    可以使用/usr/lib/smdemon.cleanu脚本文件,该文件强制sendmail命令进行队列柄维护四个相对旧一点的日志文件,并轮循使用。

  264. 记录mailer状态日志

    创建/var/tmp/sendmail.st,则sendmail自动更新该文件。

  265. 显示mailer信息

    使用/usr/sbin/mailstats命令。

  266. mail别名和向前分发(forwarding)

  267. 创建和修改本地系统别名

    编辑/etc/aliases文件,添加一下一行

    programmer:john, smith, mary@h70a

  268. 创建别名数据库

    使用sendmail或newaliases命令来创建别名数据库:/etc/aliases.dir和/etc/aliases.pag

    #/usr/sbin/sendmail –bi

    #newaliases

    这样以后,就可以使用mail programmer来把邮件发送到john,smith,和h70a系统上的mary。

  269. 使用/etc/aliases来向前分发邮件

    root:smith, bob@h70a

    但这样,root用户就不能受到任何邮件,所有,使用以下格式

    root:\root,smith, bob@h70a

    注意,反斜杆不能丢掉,或者会产生无限循环。

    这样,也是要使用/usr/sbin/sendmail –bi或newaliases命令来更新,使更改生效。

  270. 使用$HOME/.forward文件

    直接编辑该.forward文件即可生效。如

    smith, mary@h70a

    如果要john要自己保留一份,则使用

    \john, smith, mary@h70a

    不需要使用sendmail –bi或newaliases来刷新,就可以直接生效。

  271. 使得邮件分发到空设备

    这样可以使得某些用户不会生成邮件,可以使用编辑/etc/alias或$HOME/.forward方式来实现。

    User:/dev/null

    或在.forward文件中,编辑加入/dev/null即可。

  272. 邮件转址

  273. 转到当前系统其它用户上

    #mail smith

  274. 转到同一网络其它系统上

    #mail jihn@h70a

  275. 转到不同网络

  276. 存储邮件

    系统邮箱:位于/var/spool/mail目录下,每个用户一个文件,可以使用mail来查看

    个人邮箱:位于$HOME/mbox,当使用mail读取个人邮件后,邮件转存到这里,可以使用mail –f来查看。

    dead.letter:邮件被不正常中断,位于$HOME/dead.letter

     

     

  277. AIX机器型号、版本信息

  278. 查询机器型号

    #uname -M

    IBM,7046-B50(机器型号)

    #lscfg -vp|grep Cab

    Machine/Cabinet Serial No…10181CF(序列号)

     

  279. 查询操作系统版本:

    /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.

     

  280. 查询磁盘整列版本

    <13 mscp2 [tellin] :/tellin>lscfg -vl ssa0

    DEVICE LOCATION DESCRIPTION

     

    ssa0 2V-08 IBM SSA 160 SerialRAID Adapter

    (14109100)

     

    Part Number…………….. 09L5695

    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

     

  281. 查询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 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 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 查看系统运行情况,

    iostat 1,每隔1秒刷新一次显示

    ls aux 查看进程情况

     

    –FTP、TELNET进程

    startsrc -s inetd

    ps -ef|grep inetd

请使用浏览器的分享功能分享到微信等