<?xml version="1.0" encoding="GBK" ?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dcterms="http://purl.org/dc/terms/">
 <channel>
  	  <title><![CDATA[避风港]]></title>
	  <link>http://fhqfdf.blog.163.com</link>
	  <description><![CDATA[在初冬的深夜一个人听着窗外呼呼的北风是哪么的孤单 在初冬的深夜一个人听着窗外呼呼的北风是哪么的孤单]]></description>
	  <language>zh-CN</language>
	  <pubDate>Sat, 6 Sep 2008 00:11:45 +0800</pubDate>
	  <lastBuildDate>Sat, 6 Sep 2008 00:11:45 +0800</lastBuildDate>
	  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
	  <generator><![CDATA[NetEase Space]]></generator>
	  <managingEditor><![CDATA[fhqfdf]]></managingEditor>
	  <webMaster><![CDATA[风卷残云]]></webMaster>
		  <ttl>120</ttl>
	  <image>
	  	<title><![CDATA[避风港]]></title>
	  	<url>http://ava.blog.163.com/photo/BJ8tf7BZG0KE8pHrGQExPQ==/177610710304579129.jpg</url>
	  	<link>http://fhqfdf.blog.163.com</link>
	  </image>
  <item>
  	<title><![CDATA[2008年 结婚年]]></title>	
    <link>http://fhqfdf.blog.163.com/blog/static/600652320088601010272</link>
    <description><![CDATA[<div><P>&nbsp;&nbsp; 今年以有好多朋友结婚了，突然感觉自己是不是也要找个女朋友了。也许是一个人太孤单了，有点想家了</P>
<P>平时还真没怎么想过家。时间过的真快呀！来北京也快5年了，现在来说工作也没什么大成绩。不知道是回家好还是在北京继续漂下去。真是迷茫啊！想想回家又能干点什么呢？不回家事业没大起色诶！！</P>
<P>&nbsp;</P></div>]]></description>
	    <author><![CDATA[风卷残云]]></author>
	    <comments>http://fhqfdf.blog.163.com/blog/static/600652320088601010272</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://fhqfdf.blog.163.com/blog/static/600652320088601010272</guid>
    <pubDate>Sat, 6 Sep 2008 00:10:10 +0800</pubDate>
    <dcterms:modified>2008-09-06T00:10:10+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[5月12日我在北京地震的感受]]></title>	
    <link>http://fhqfdf.blog.163.com/blog/static/6006523200841491336715</link>
    <description><![CDATA[<div><P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5月12日四川汶川地震真全国震惊呀!!!!今天看到还在上升死亡人数,真是为正在为授灾人们担心.现在想</P>
<P>想天灾人祸离我们是哪么近.这次地震波及只广全国大部分地区都有震感.也有是给大家敲响警钟.想想这是我第三次</P>
<P>遇到地震,第一次是小学时吧,也是中午只有2.2级但当时人心慌慌的.不过后来确时也没什么事.有了这次经演心理装态</P>
<P>好多了.第二次是在北京2.4级,也就是2008年4月30日昨晚10时20分许正在家上网.感觉好象有人在楼上打球.第二天上班才知道是地震了.第三次是5月12日这次了,可能是我运气好,发生地震时我正好在外面没在公司.回到公司大家问刚才地震有感觉吗?我当时想前几天不刚地震完吗?专家还说小震一下有利于能量释放最近不有地震了.怎么又地震了</P>
<P>这时网上传来消息四川汶川发生7.8级大地震.全国上下大部分地区都说有震感.波及真广呀!当时只有地图看了一下好象是在山区,还希望没有什么人伤亡.后来还是遇难了哪么多人.现在想想4月30日北京地震就可能一种预兆了.不过地震这种现象是没法预报的,要不就不会有哪么多人遇难了!在这理忠心希望灾难早点大逆度过.</P></div>]]></description>
	    <author><![CDATA[风卷残云]]></author>
	    <comments>http://fhqfdf.blog.163.com/blog/static/6006523200841491336715</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://fhqfdf.blog.163.com/blog/static/6006523200841491336715</guid>
    <pubDate>Wed, 14 May 2008 21:13:36 +0800</pubDate>
    <dcterms:modified>2008-05-14T21:18:54+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[IBM developerWorks 中国 : IBM HACMP 资源中心]]></title>	
    <link>http://fhqfdf.blog.163.com/blog/static/6006523200841384739149</link>
    <description><![CDATA[<div><TABLE>
<TBODY></TBODY></TABLE>
<TABLE><BR><BR><BR><BR><BR>
<TBODY></TBODY></TABLE>
<TABLE>
<P>高可用（High-Availability）技术一直是各大厂商竞争的主要方面。HACMP（High Availability Cluster Multiprocessing）作为 IBM p 系列主机最重要的高可用集群软件，自 1991 年问世以来，为无数的企业级用户提供了令人满意的解决方案。随着技术的不断发展，HACMP 的功能日趋完善，现在它已经几乎成了 IBM 集群软件的代名词。
</P><P></P>
<P>HACMP 对于初级的 AIX 系统管理员来说是一个必须去掌握的内容，也是成为高级管理员的必经之路。目前，HACMP 的学习内容已经有不少了，但是真正把相关内容总结起来确不是很多。我们在这里，为您总结了 AIX and UNIX 专区拥有的和 HACMP 相关的内容，让您更方面和快捷地找到您需要的资源。希望能够对您学习 HACMP 有所帮助。</P></P>
<TBODY></TBODY></TABLE><BR>
<TABLE>新手入门
<TBODY></TBODY></TABLE><BR><BR><BR>
<TABLE>设计
<TBODY></TBODY></TABLE><BR><BR><BR>
<TABLE>安装和配置
<TBODY></TBODY></TABLE><BR><BR><BR>
<TABLE>测试和维护
<TBODY></TBODY></TABLE><BR><BR><BR>
<TABLE>HAMCP 扩展模式应用
<TBODY></TBODY></TABLE><BR><BR><BR>
<TABLE>相关其它资源
<TBODY></TBODY></TABLE><BR><BR><BR><BR><BR>引文来源&nbsp;&nbsp;<A href="http://www.ibm.com/developerworks/cn/aix/lp/hacmp/" target=_blank>IBM developerWorks 中国 : IBM HACMP 资源中心</A></div>]]></description>
	    <author><![CDATA[风卷残云]]></author>
	    <comments>http://fhqfdf.blog.163.com/blog/static/6006523200841384739149</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://fhqfdf.blog.163.com/blog/static/6006523200841384739149</guid>
    <pubDate>Tue, 13 May 2008 20:47:39 +0800</pubDate>
    <dcterms:modified>2008-05-13T20:47:39+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[探索 AIX 6：WPAR 基本管理]]></title>	
    <link>http://fhqfdf.blog.163.com/blog/static/6006523200841384718619</link>
    <description><![CDATA[<div><TABLE>
<TBODY></TBODY></TABLE>
<TABLE>
<P>王 荣, 技术支持工程师, IBM 科技产品（深圳）有限公司<BR>
</P><P></P>
<P>2008 年 5 月 08 日</P>工作负载分区（Workload Partition，以下简称为 WPAR）是 IBM AIX 6 在虚拟化方面的一项重要增强。在本系列的第二篇文章《探索 AIX 6：新特性概览（中）》一文中，我们已经对 WPAR 做了一个概要的介绍，读者应该对其有个大概的印象。在本文中，我们一起来了解使用 AIX 6 系统自带的工具（系统命令和 SMIT 菜单）对 WPAR 进行基本的管理操作，包括创建，删除，启动，停止，登录，挂起，备份和恢复等，并了解 WPAR 对系统环境的要求和安装前期应该进行的计划准备工作。</P>
<TBODY></TBODY>
<TABLE>
<TBODY></TBODY></TABLE>
<TABLE>
<P>您可以访问“AIX 6 资源中心”了解更多的 AIX 6 的新特性： 
</P><P></P>AIX 6 资源中心 </P>
<TBODY></TBODY></TABLE></TABLE>
<P>与 IBM POWER 平台由硬件方式实现的逻辑分区（LPAR）功能不同，WPAR 是 AIX 6 内核在软件层面实现的虚拟化方案。WPAR 使得多个“系统环境”可以共享一个 AIX 操作系统，彼此之间由内核保证隔离。承载所有这些被隔离开的“系统环境”的 AIX 操作系统称之为全局环境，一个“系统环境”即 WPAR，它既可以包括一个完整的 AIX 环境（称之为系统 WPAR），也可以仅仅包括应用程序的进程（称之为应用 WPAR）。</P>
<P>要注意的是，WPAR 和 LPAR 具有各自的特点，是针对不同的用户需求而设计的，它们之间是互相补充，相辅相成的关系。一个 IBM POWER 服务器上可以同时运行有多个 LPAR 和 WPAR。下图较清晰的解释了系统平台，WPAR，LPAR 之间的关系。</P><BR><IMG height=322 src="http://www.ibm.com/developerworks/cn/aix/aix6/newfeatures/wpar1-image003.gif" width=532 border=0> <BR>
<P>上图为一个 system p 的系统平台，该平台被分割成多个 LPAR，每个 LPAR 上可以运行一个操作系统实例。LPAR 上可运行的系统包括 Linux，AIX 和 VIOS。在运行 AIX6 的 LPAR 中，我们又可以运行和管理一个或多个 WPAR。</P>
<P>计划和考虑 </P>
<P>WPAR 是基于 OS 在软件层的实现的虚拟化解决方案。作为 POWER 平台硬件虚拟化的一个补充，其应用优势与应用范围综合来看有以下这么几点：</P>分配计算资源拥有更小更精确的粒度，占用资源较少，部署更简单，适合用于整合细小的 IT 应用。 保护硬件投资，WPAR 可以让基于 POWER4，POWER5 的硬件平台，支持更灵活的动态 WPAR 虚拟化解决方案。 采用 WPAR 技术就意味着需要更少的操作系统实例，减少了操作系统与软件包维护与管理。 WPAR 支持跨服务器的虚拟化解决方案，通过 WPAR 技术可以轻松的将应用从一个服务器切换到另一台服务器。更灵活的利用整个服务群集的资源。（LPAR 在 POWER6 平台上也支持跨服务器虚拟化技术） 高可用与灾难恢复功能，WPAR 提供的 Checkpoint 功能，可以将正在运行的程序保存成系统快照镜像文件，用户可以随时从镜像的时间点继续运行程序。这种功能特别适合于高性能计算等运行时间较长的应用程序。与 HACMP 高可用机制略有不同，WPAR 提供的是镜像点（point-in-time）的高可用保护。 
<P>我们结合应用需要与 WPAR 的应用优势来综合考虑，到底采用底层的 LPAR 虚拟化分区技术，还是 WPAR 虚拟化分区技术。</P>
<P>考虑好是否采用 WPAR 技术，接下来要考虑的就是使用哪一种 WPAR 方式。WPAR 有两种类型，一是应用 WPAR，另一种是系统 WPAR。</P>
<P><B>应用 WPAR</B> 是一种简单的 WPAR 方式，它与 AIX 全局环境共享文件系统和服务进程，可以简单的把应用 WPAR 看作是一个包含所有应用程序进程的一个容器。这个容器保证了应用程序进程与外界的隔离。</P>
<P><B>系统 WPAR</B> 提供了一个虚拟的 AIX 系统环境，它有自己的初始化进程，譬如独立的 inetd 后台服务监控进程。它还有独立的用户、组权限管理、独立的网络地址，以及支持远程登录的功能。除了部分文件系统与 AIX 系统共享以外，系统 WPAR 也有独立的文件系统空间，我们可以认为系统 WPAR 就是一个缩减版的 AIX 系统环境。</P>
<P>应用 WPAR 与系统 WPAR 各自的特点我们用下表来为大家做一个参照。</P><BR><BR><BR><BR>
<P>创建和删除 WPAR</P>
<P>系统 WPAR 的创建。</P>
<P>创建一个最简单的系统 WPAR，只需要使用命令“mkwpar –n &lt;wparname&gt;”即可。WPAR 的创建也支持使用 smit 命令（smit mkwpar）。</P>
<P>我们接下来将使用 mkwpar 命令创建一个系统 WPAR，名称为 mywpar01，使用 -N 指定 ip 地址为 192.168.21.136. ip 绑定在网卡 en0 上，为了能够独立的安装软件，我们使用 -M 参数指定使用了独立的文件系统，还使用 -A 参数指定系统启动时 WPAR 分区自动启动。完整的命令如下：</P>
<TABLE>mkwpar -N interface=en0 address=192.168.21.136 netmask=255.255.0.0 -A -M directory=/ vfs=jfs2 size=5G -M vfs=directory directory=/var -M vfs=directory directory=/tmp -M vfs=directory directory=/home -M vfs=directory directory=/usr -M vfs=directory directory=/opt -n mywpar01 mkwpar: Creating file systems... / /home /opt /proc /tmp /usr /var Mounting all workload partition file systems. x ./usr x ./lib x ./admin x ./admin/tmp . .( 省略若干行 ) Workload partition mywpar01 created successfully. mkwpar: 0960-390 To start the workload partition, execute the following as root: startwpar [-v] mywpar01 
<TBODY></TBODY></TABLE><BR>
<P>我们可以使用 lswpar 来检查我们所常见的 WPAR 状态。</P>
<TABLE># lswpar Name State Type Hostname Directory ------------------------------------------------- mywpar01 D S mywpar01 /wpars/mywpar01 
<TBODY></TBODY></TABLE><BR>
<P>我们看到我们已经创建好了 mywpar01，其状态为 D（defined 定义好的），类型为 S（System 系统 WPAR）。</P>
<P>应用 WPAR 的创建。</P>
<P>应用 WPAR 的创建较为简单，只须使用 wparexec 命令来执行应用程序即可。请注意应用程序需使用绝对路径调用。例如我们使用应用 WPAR 来执行 vmstat 程序 </P>
<TABLE># wparexec /usr/bin/vmstat 5//5 为 vmstat 的参数 Starting workload partition 'vmstat'. Mounting all workload partition file systems. Loading workload partition. vmstat configuration: @lcpu=4 @mem=1024MB @ent=0.30 kthr memory page faults cpu ----- ----------- ------------------------ ------------ ----------------------- @ @ @ @ @ r b avm fre re pi po fr sr cy in sy cs us sy id wa pc ec 0 0 140685 73170 0 0 0 0 0 0 18 1262 1 2 98 - - 0.00 0.4 0 0 140686 73169 0 0 0 0 0 0 7 9 1 1 99 - - 0.00 0.5 
<TBODY></TBODY></TABLE><BR>
<P>我们此时再执行 lswpar，就可以看到现在多了一个应用 WPAR，它的名称是 vmstat，状态是 A（活动的）。wparexec 除了可以用来启动一个可执行程序外，也可用来启动一个脚本从而在 WPAR 中运行多个程序。</P>
<TABLE># lswpar Name State Type Hostname Directory ------------------------------------------------- mywpar01 D S mywpar01 /wpars/mywpar01 vmstat A A vmstat / 
<TBODY></TBODY></TABLE><BR>
<P>WPAR 的删除 </P>
<P>应用 WPAR 中所有进程退出后，WPAR 即自动删除了，无需手动操作，系统 WPAR 的删除可参照下列步骤：</P>
<P>对于损坏的 WPAR，可以使用 rmwpar –F 强行删除 WPAR。</P><BR><BR><BR>
<P>启动和停止 WPAR</P>
<P>系统 WPAR 支持启动，关闭，重启等操作，启动 mywpar01：</P>
<TABLE># startwpar mywpar01 Starting workload partition 'mywpar01'. Mounting all workload partition file systems. Loading workload partition. Exporting workload partition devices. Starting workload partition subsystem 'cor_mywpar01'. 0513-059 The cor_mywpar01 Subsystem has been started. Subsystem PID is 499778. Verifying workload partition startup. # lswpar Name State Type Hostname Directory ------------------------------------------------- mywpar01 A S mywpar01 /wpars/mywpar01 
<TBODY></TBODY></TABLE><BR>
<P>我们通过 lswpar 看到 mywpar01 状态已经变成 Active 了。接下来我们重启 WPAR，重启系统 WPAR 可以登录到 WPAR 中然后使用 shutdown –Fr 命令像重启操作系统一样重启 WPAR，也可以使用 rebootwpar 命令来实现。</P>
<TABLE># rebootwpar -N mywpar01// 加上 -N 参数则立即重启，否则将等待 600 秒 Stopping workload partition 'mywpar01'. Stopping workload partition subsystem 'cor_mywpar01'. 0513-006 The Subsystem, cor_mywpar01, is currently stopping its execution. stopwpar: 0960-242 Waiting for workload partition to halt. Shutting down all workload partition processes. Unmounting all workload partition file systems. Starting workload partition 'mywpar01'. Mounting all workload partition file systems. Loading workload partition. Exporting workload partition devices. Starting workload partition subsystem 'cor_mywpar01'. 0513-059 The cor_mywpar01 Subsystem has been started. Subsystem PID is 446548. Verifying workload partition startup. # 
<TBODY></TBODY></TABLE><BR>
<P>下面我们使用命令 stopwpar 来停止 mywpar01：</P>
<TABLE># stopwpar -N mywpar01 // 加上 -N 参数立即关闭，否则将等待 600 秒。 Stopping workload partition 'mywpar01'. Stopping workload partition subsystem 'cor_mywpar01'. 0513-006 The Subsystem, cor_mywpar01, is currently stopping its execution. stopwpar: 0960-242 Waiting for workload partition to halt. Shutting down all workload partition processes. Unmounting all workload partition file systems. 
<TBODY></TBODY></TABLE><BR><BR><BR><BR>
<P>登录和操作 WPAR</P>
<P>登录到系统 WPAR 可以有 2 种方式，一是在 AIX 全局环境下使用 clogin 命令进入 WPAR，另外则是通过 WPAR 的 IP 直接用 telnet 的方式登录。</P>
<TABLE># telnet 192.168.21.136// 使用 telnet 方式 Trying... Connected to 192.168.21.136. AIX Version 6 Copyright IBM Corporation, 1982, 2007. login: // 使用 clogin 方式 # clogin mywpar01 ****************************************************************************** * Welcome to AIX Version 6.1! * * * * Please see the README file in /usr/lpp/bos for information pertinent to * * this release of the AIX Operating System. * ******************************************************************************* Last login: Thu Feb 28 17:36:26 2008 on /dev/pts/0 from 10.172.192.6 # hostname mywpar01 
<TBODY></TBODY></TABLE><BR>
<P>系统 WPAR 的操作命令风格与 AIX 环境一样，接下来您就可以在 WPAR 安装运行程序了 </P><BR><BR><BR>
<P>安装应用软件 </P>
<P>在默认的情况下，系统 WPAR 与 AIX 全局环境共享 /usr 和 /opt 目录，并只有只读的权限，WPAR 用户无法写入，所以安装软件必须在 AIX 全局环境下进行。如果你一定要在 WPAR 中独立安装软件，则必须在创建系统 WPAR 时使用参数 -M 声明使用独立的 /usr 和 /opt 文件系统分区，具体参数使用方法可参考上文中创建删除 WPAR 部分。我们之前创建的系统 WPAR 有独立的 /usr 和 /opt 分区，所以接下来可直接演示在系统 WPAR 中安装一个 apache Web 应用。Apache 是一个 rpm 的安装包，我们将使用 rpm 命令来安装，AIX 其他的安装软件的方式如 smit、installp 也都能正常在系统 WPAR 环境下使用。</P>
<TABLE># df// 请注意 opt 与 /usr 是根分区下的一个目录，有读写权限。 Filesystem 512-blocks Free %Used Iused %Iused Mounted on /dev/fslv12 10485760 5983800 43% 42637 6% / /proc - - - - - /proc # rpm -ivh expat-1.95* expat ################################################## # rpm -ivh apache-1.3.31-1.aix5.1.ppc.rpm apache ################################################## #cd /opt/freeware/apache/share/htdocs// 进入 apache 放置网页的目录 #echo "this is a test page for WPAR http service" &gt; index.html // 生成一个简单的页面，打开后显示“this is a test page for WPAR http service”。 # /opt/freeware/apache/sbin/apachectl start// 启动 http 服务 /opt/freeware/apache/sbin/apachectl start: httpd started 
<TBODY></TBODY></TABLE><BR>
<P>启动 http 服务后，我们可以通过系统 WPAR 的 IP 地址访问其 WEB 服务，我们用 IE 浏览器来验证。请注意我们刚才创建 WPAR 时指定的 IP 地址为 192.168.21.136，我们可以通过 来访问我们刚才生成的一个页面。</P><BR><BR>
<P>至此，我们已经演示了一个基本的 WPAR 的创建，管理与应用整个全过程。</P><BR><BR><BR>
<P>暂停和恢复 WPAR</P>
<P>挂起和恢复 WPAR 是在服务器间动态移动 WPAR 的基础，挂起 WPAR 也即将当前时刻的 WPAR 运行状态使用快照的方式保存下来，恢复过程则是从快照文件读取 WPAR 状态信息，继续运行 WPAR。这是 WPAR 的高级功能之一，需要安装 WPAR agent，这部分内容将在续篇中详细说明。</P><BR><BR><BR>
<P>备份和还原 WPAR</P>
<P>备份 wpar 非常简便，我们不但可以备份 Defined 状态的系统 WPAR，也可以备份活动的 WPAR。备份 WPAR 使用 savewpar 命令，使用 -f 指定备份设备或备份的文件位置。</P>
<TABLE># savewpar -f /tmp/mywpar01.bak mywpar01 // 备份完全独立分区的 WPAR 需要较大的空间 Creating information file (/image.data) for mywpar01. Creating list of files to back up .. Backing up 43993 files................. 43993 of 43993 files backed up (100%) 0512-038 savewpar: Backup Completed Successfully. # savewpar -f /tmp/wpar.bak mychkwpar// 备份与全局环境共享 /usr,/opt 目录的分区只需要极少的空间 Creating list of files to back up Backing up 7 files 7 of 7 files backed up (100%) 0512-038 savewpar: Backup Completed Successfully. 
<TBODY></TBODY></TABLE><BR>
<P>在还原 WPAR 过程中，如果原 WPAR 仍然存在，则需要加 -F 参数关闭并删除原 WPAR，然后按照备份的 WPAR 重新创建 WPAR 并还原。如原 WPAR 已被删除，则还原过程相当于按照备份文件重建 WPAR。</P>
<TABLE># restwpar -F -f /tmp/wpar.bak New volume on /tmp/wpar.bak: Cluster 51200 bytes (100 blocks). Volume number 1 Date of backup: Wed Mar 5 21:43:12 2008 Files backed up by name User root x 2848 ./.savewpar_dir/wpar.spec x 399 ./.savewpar_dir/image.data x 125796 ./.savewpar_dir/backup.data total size: 129043 files restored: 3 Stopping workload partition 'mychkwpar'. Stopping workload partition subsystem 'cor_mychkwpar'. 0513-044 The cor_mychkwpar Subsystem was requested to stop. Shutting down all workload partition processes. Unmounting all workload partition file systems. rmwpar: Removing file system /wpars/mychkwpar/var. rmwpar: Removing file system /wpars/mychkwpar/usr. rmwpar: Removing file system /wpars/mychkwpar/tmp. rmwpar: Removing file system /wpars/mychkwpar/proc. rmwpar: Removing file system /wpars/mychkwpar/opt. rmwpar: Removing file system /wpars/mychkwpar/home. rmwpar: Removing file system /wpars/mychkwpar. mkwpar: Creating file systems... / /home ….( 省略若干 ) syncroot: Processing root part installation status. syncroot: ATTENTION, Root part is currently synchronized, but there are other Workload partition mychkwpar created successfully. mkwpar: 0960-390 To start the workload partition, execute the following as root: \ startwpar [-v] mychkwpar 
<TBODY></TBODY></TABLE><BR>
<P>克隆 WPAR，我们很快发现可以利用还原 WPAR 的功能快速的复制 WPAR。还可以将备份文件拷贝到其他的服务器上，实现快速的应用部署。要注意的是我们在克隆 WPAR 的时候需要定义新的主机和 IP 地址。</P>
<TABLE>restwpar -n myclonewpar -h myclonewpar -r -M "-N address=192.168.21.131" -d /wpars/myclonewpar -U -f /tmp/wpar.bak //Restwpar 的基本参数：-n 定义新 WPAR 名，-h 定义新 WPAR 主机名，-r 复制域名解析相关文件， -M 为 mkwpar 传递参数，-d 指定 wpar 创建位置，-f 指定还原设备或文件。 New volume on /tmp/wpar.bak: Cluster 51200 bytes (100 blocks). Volume number 1 Date of backup: Wed Mar 5 21:43:12 2008 Files backed up by name User root x 2848 ./.savewpar_dir/wpar.spec x 399 ./.savewpar_dir/image.data x 125796 ./.savewpar_dir/backup.data total size: 129043 files restored: 3 。。。（省略若干） Workload partition myclonewpar created successfully. 
<TBODY></TBODY></TABLE><BR><BR><BR><BR>
<P>WPAR 的状态 </P>
<P>在文章最后向大家介绍一下 WPAR 的多种状态，系统管理员在使用 lswpar 命令时可以查看到 WPAR 的状态信息。下表给出了各种状态的说明。</P><BR><BR>
<P>参考资料 </P><B>学习</B><BR><BR><B>讨论</B><BR><BR><BR>
<P>关于作者</P><BR><BR><BR>
<P>对本文的评价</P><BR><BR><BR><BR><BR>
<P>IBM 和 AIX 是 International Business Machines Corporation 在美国和/或其他国家/地区的注册商标。 Java 和所有基于 Java 的商标都是 Sun Microsystems, Inc. 在美国和/或其他国家/地区的商标。 Linux 是 Linus Torvalds 在美国和/或其他国家/地区的注册商标。 UNIX 是 Open Group 在美国和其他国家/地区的注册商标。 其他公司、产品或服务的名称可能是其他公司的商标或服务标志。</P>IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可，请勿转载。如果您希望转载，请通过 提交转载请求表单 联系我们的编辑团队。<BR><BR><BR>引文来源&nbsp;&nbsp;<A href="http://www.ibm.com/developerworks/cn/aix/aix6/newfeatures/wpar1.html" target=_blank>探索 AIX 6：WPAR 基本管理</A></div>]]></description>
	    <author><![CDATA[风卷残云]]></author>
	    <comments>http://fhqfdf.blog.163.com/blog/static/6006523200841384718619</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://fhqfdf.blog.163.com/blog/static/6006523200841384718619</guid>
    <pubDate>Tue, 13 May 2008 20:47:18 +0800</pubDate>
    <dcterms:modified>2008-05-13T20:47:18+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[developerWorks 中国: AIX and UNIX 对话 UNIX]]></title>	
    <link>http://fhqfdf.blog.163.com/blog/static/6006523200841384559233</link>
    <description><![CDATA[<div><TABLE>
<TBODY></TBODY></TABLE>
<TABLE><BR><BR>
<P>了解有关 UNIX shell 的基础知识，学习如何使用命令行将有限的 UNIX 实用工具组合成无穷的数据转换。 </P><BR>
<P>了解如何利用 UNIX(R) Shell 提供的许多快捷方法。通过一些练习，您将可以更灵活地、而不是更辛苦地进行工作。 </P><BR>
<P>研究提供 Internet 访问的三种基本的 UNIX(R) 命令行实用工具。 </P><BR>
<P>了解如何对文件权限进行操作以保护您的文件，或者与他人共享这些文件。</P><BR>
<P>了解几种用来在不同系统之间移动文件、以及实现远程数据同步的技术。 </P><BR>
<P>了解 Shell 脚本如何实现所有个人或系统任务自动化。脚本可以执行监视、存档、更新、报告、上载和下载操作。实际上，任务无论大小，均可通过脚本来处理。 </P><BR>
<P>UNIX 具有其专有的命令行语言，并且词汇表非常庞大，您并不需要一次掌握所有的命令。本文介绍了许多命令行组合，可以促进您对 UNIX 语言的掌握。</P><BR>
<P>在 UNIX 系统中，每个系统和最终用户任务都包含在某个进程中。系统总是不断地创建新的进程，当任务结束或意外发生时，进程会终止。在本文中，您将了解如何控制进程和使用一些命令来查看您的系统。</P><BR>
<P>几乎所有重要问题都需要从无用数据中过滤出有用数据。了解大量的 UNIX(R) 命令行实用工具如何使用正则表达式来去芜取精。 </P><BR>
<P>您可以自定义 UNIX(R) Shell 以节约时间、节省输入工作量，并使其适应于您的工作风格。Shell 启动文件可以捕获您的首选设置，并在以后的会话中重新创建 Shell 环境会话，甚至在不同计算机中重新创建 Shell 环境会话。 </P><BR>
<P>UNIX&reg; 文件系统中的许多目录都用于某个特殊的目的，并且根据长期的约定来对这些目录进行命名。在“对话 UNIX”系列教程的这一部分中，了解 UNIX 将重要的文件存储于何处。</P><BR>
<P>本文向您描述了如何从一个软件的源码包（tar ball）开始，一步一步地构建成为一个可以使用的应用程序，同时向您提供在这个构建过程中需要注意的一些情况。</P><BR><BR>
<TBODY></TBODY></TABLE><BR><BR><BR>引文来源&nbsp;&nbsp;<A href="http://www.ibm.com/developerworks/cn/aix/lp/speakingunixnew.html?S_TACT=105AGX52&amp;S_CMP=content" target=_blank>developerWorks 中国: AIX and UNIX 对话 UNIX</A></div>]]></description>
	    <author><![CDATA[风卷残云]]></author>
	    <comments>http://fhqfdf.blog.163.com/blog/static/6006523200841384559233</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://fhqfdf.blog.163.com/blog/static/6006523200841384559233</guid>
    <pubDate>Tue, 13 May 2008 20:45:59 +0800</pubDate>
    <dcterms:modified>2008-05-13T20:45:59+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[developerWorks 中国: AIX and UNIX AIX 5L 性能优化]]></title>	
    <link>http://fhqfdf.blog.163.com/blog/static/6006523200841384546665</link>
    <description><![CDATA[<div><TABLE>
<TBODY></TBODY></TABLE>
<TABLE><BR><BR>
<TBODY></TBODY></TABLE>
<TABLE>CPU 系列文章
<TBODY></TBODY></TABLE><BR><BR><BR>
<TABLE>内存系列文章
<TBODY></TBODY></TABLE><BR><BR><BR>
<TABLE>磁盘系列文章
<TBODY></TBODY></TABLE><BR><BR><BR>
<TABLE>网络系列文章
<TBODY></TBODY></TABLE><BR>这个有关 AIX(R) 网络的系列文章共分三个部分，重点关注优化网络性能方面的各种挑战。在第一部分中，您将回顾网络配置方面的一些最佳实践，通过充分地利用各种网络工具（如 netstat、netpmon、entstat 和 nmon），您可以利用这些实践对硬件进行高效地监视。<BR><BR><BR><BR><BR><BR><BR>引文来源&nbsp;&nbsp;<A href="http://www.ibm.com/developerworks/cn/aix/lp/optimizationnew.html?S_TACT=105AGX52&amp;S_CMP=content" target=_blank>developerWorks 中国: AIX and UNIX AIX 5L 性能优化</A></div>]]></description>
	    <author><![CDATA[风卷残云]]></author>
	    <comments>http://fhqfdf.blog.163.com/blog/static/6006523200841384546665</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://fhqfdf.blog.163.com/blog/static/6006523200841384546665</guid>
    <pubDate>Tue, 13 May 2008 20:45:46 +0800</pubDate>
    <dcterms:modified>2008-05-13T20:45:46+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[developerWorks 中国: AIX and UNIX Emacs 编辑环境]]></title>	
    <link>http://fhqfdf.blog.163.com/blog/static/6006523200841384533112</link>
    <description><![CDATA[<div><TABLE>
<TBODY></TBODY></TABLE>
<TABLE><BR><BR>
<TBODY></TBODY></TABLE>
<TABLE>文章列表
<TBODY></TBODY></TABLE><BR><BR>
<P>本教程是本系列的第一篇，它提供了一份简明、可供亲手实践的介绍，让您了解最重要的 Emacs 编辑概念和功能。 </P><BR>
<P>本教程是系列文章中的第二部分，向您介绍了有关模式 的一些基本概念，向您展示一些功能强大的文本操作功能，并且教您如何使用 Emacs 中内置的搜索、替换以及拼写检查工具。 </P><BR>
<P>本教程是系列文章的第 3 部分，介绍一些用于文本操作的更高级的 Emacs 功能。您将学习高级编辑技术的实际示例。</P><BR>
<P>本教程是系列文章的第 4 部分，将向您介绍 Emacs 中控制编辑会话某些方面的三个领域：各种不同的命令行选项、寄存器，以及用于设置和保存位置及数据的书签工具。</P><BR>
<P>本教程将向您介绍如何管理和操作您的 Emacs 会话的外形——研究如何对 Emacs 屏幕进行分区，为一个 Emacs 会话创建多个 X 客户端窗口，并在每个窗口中显示多个缓冲区，以及使用水平的和垂直的分割来划分屏幕。</P><BR>
<P>本教程是系列文章的第 6 部分，将向您介绍一些有价值的方法，您可以使用它们来自定义和配置 Emacs 环境。了解如何对 Emacs 环境中的各个方面（从次要模式的行为到缺省的键绑定）按照您的喜好进行更改。</P><BR>
<P>在本教程中，您将了解如何描述各种键盘输入、命令和函数。您还将阅读、浏览并在完整的 Emacs 参考手册中进行搜索。</P><BR><BR><BR><BR><BR>引文来源&nbsp;&nbsp;<A href="http://www.ibm.com/developerworks/cn/aix/lp/emacsnew.html?S_TACT=105AGX52&amp;S_CMP=content" target=_blank>developerWorks 中国: AIX and UNIX Emacs 编辑环境</A></div>]]></description>
	    <author><![CDATA[风卷残云]]></author>
	    <comments>http://fhqfdf.blog.163.com/blog/static/6006523200841384533112</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://fhqfdf.blog.163.com/blog/static/6006523200841384533112</guid>
    <pubDate>Tue, 13 May 2008 20:45:33 +0800</pubDate>
    <dcterms:modified>2008-05-13T20:45:33+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[developerWorks 中国:AIX and UNIX 系统管理员系列文章]]></title>	
    <link>http://fhqfdf.blog.163.com/blog/static/600652320084138454116</link>
    <description><![CDATA[<div><TABLE>
<TBODY></TBODY></TABLE>
<TABLE><BR><BR>
<TBODY></TBODY></TABLE>
<TABLE>系列介绍
<TBODY></TBODY></TABLE>
<P>这一专题包括以下板块：</P>系统管理员工具包 <BR>
<P>许多 UNIX 管理员都拥有一套用于辅助管理过程的实用工具和技巧。有一些工具由操作系统提供，但大部分的诀窍则来源于长期的系统管理经验积累。“系统管理员工具包”系列文章主要专注于一些方法和技术，可以帮助您最大限度地利用各种 UNIX 环境中可用的工具，简化异构环境下的系统管理任务。</P>Emacs 编辑环境 <BR>
<P>整个系列教程会由浅入深的向您介绍 Emacs，这个强大的编辑器的各项功能，使您从对它完全不熟悉到能够完成基本操作，以至于最后成为一个高手。</P>AIX 5L 性能优化 <BR>
<P>整个系列文章会从CPU，内存，硬盘等方面对 AIX 5L 系统的优化工作进行一次详细的讨论。同时会更具许多的具体情况和例子来说明AIX 上的一些工具和命令的作用以及它们会为管理员日常上的工作提供那些的帮助。同时会介绍一些 AIX 5L 中新增的一些管理和优化方面的新功能，让您对您的系统有一个更好的了解。</P>对话 UNIX <BR>
<P>UNIX 系统中一项最奇特和突出的特性就是其命令行功能。UNIX 命令行提供了很多系统管理与文件操作的功能。更神奇的是，您只需输入包含一定逻辑关系的少量文本，即可使用命令行脚本将有限的 UNIX 实用工具组合成无限的即时可用的数据转换。本系列文章将帮助您了解这些神奇之处。</P><BR><BR><BR><BR><BR>引文来源&nbsp;&nbsp;<A href="http://www.ibm.com/developerworks/cn/aix/lp/index.html" target=_blank>developerWorks 中国:AIX and UNIX 系统管理员系列文章</A></div>]]></description>
	    <author><![CDATA[风卷残云]]></author>
	    <comments>http://fhqfdf.blog.163.com/blog/static/600652320084138454116</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://fhqfdf.blog.163.com/blog/static/600652320084138454116</guid>
    <pubDate>Tue, 13 May 2008 20:45:04 +0800</pubDate>
    <dcterms:modified>2008-05-13T20:45:04+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[developerWorks 中国: AIX and UNIX 系统管理员工具包]]></title>	
    <link>http://fhqfdf.blog.163.com/blog/static/6006523200841384449449</link>
    <description><![CDATA[<div>，但并非所有的方法都可以保持信息数量不<BR><BR><BR>引文来源&nbsp;&nbsp;<A href="http://www.ibm.com/developerworks/cn/aix/lp/satoolkitnew.html" target=_blank>developerWorks 中国: AIX and UNIX 系统管理员工具包</A></div>]]></description>
	    <author><![CDATA[风卷残云]]></author>
	    <comments>http://fhqfdf.blog.163.com/blog/static/6006523200841384449449</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://fhqfdf.blog.163.com/blog/static/6006523200841384449449</guid>
    <pubDate>Tue, 13 May 2008 20:44:49 +0800</pubDate>
    <dcterms:modified>2008-05-13T20:44:49+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[IBM AIX V5.3 系统管理(Test 222)认证指南系列，第 5 部分：问题的确定和解决（下）]]></title>	
    <link>http://fhqfdf.blog.163.com/blog/static/6006523200848101015636</link>
    <description><![CDATA[<div><BLOCKQUOTE>本文分两部分向您介绍不同的问题确定工具，以及何时使用它们。还提供了一些示例，说明如何解释这些命令的输出以及如何采取正确的操作。本文是摘自 IBM 红皮书《IBM Certification Study Guide eServer p5 and pSeries Administration and Support for AIX 5L Version 5.3》。</BLOCKQUOTE><!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --><!--END RESERVED FOR FUTURE USE INCLUDE FILES-->
<TABLE cellSpacing=0 cellPadding=0 width="40%" align=right border=0>
<TBODY>
<TR>
<TD width=10><IMG height=1 alt="" src="http://www.ibm.com/i/c.gif" width=10></TD>
<TD></TD></TR></TBODY></TABLE>
<P><A ><SPAN >更换热插拔拔设备</SPAN></A></P>
<P>安装在您的系统中的某些设备，能够在不关闭系统的情况下进行安装、删除或者更换。支持这些操作的设备包括 PCI 适配器、SCSI 设备，以及一些 RAID 设备。并不是所有的 PCI 适配器都支持热插拔任务。要确定某个特定的设备是否支持热插拔操作，可以参考硬件产品文档。</P>
<P>为了更换热插拔拔设备，您必须转到“Hot Plug Task”菜单，可以从诊断工具实用工具中访问该菜单。</P>
<P>根据环境和所安装的软件包的不同，在选择这个任务之后，将显示下列子任务中的某些内容：</P>
<P><B>PCI </B><B>热插拔拔管理器</B>——PCI 热插拔拔管理器 (HPM) 任务是 SMIT 中的一个菜单，它允许您标识、添加、删除、或者更换 PCI 热插拔拔适配器。</P>
<P><B>RAID </B><B>热插拔拔设备</B>——这个任务允许用户标识或删除使用 SCSI Enclosure Services (SES) 设备的系统单元中的 RAID 设备。</P>
<P><B>SCSI </B><B>和</B> <B>SCSI RAID </B><B>热插拔管理器</B>——</P>
<P>在以前的发行版中，这个任务称为“SCSI Device Identification and Removal or Identify and Remove Resources”。这个任务允许用户标识、添加、删除、或更换使用 SCSI Enclosure Services (SES) 设备的系统单元中的 RAID 设备。</P>
<P>您可以使用 lsslot 命令动态地显示可重新配置的插槽和它们的特征。</P>
<P>在示例 1中，我们使用 lsslot 命令来显示热插拔 PCI 插槽的编号、位置以及功能。</P>
<P>示例 1 使用 lsslot 命令</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># lsslot -c pci

# Slot                   Description                         Device(s)

U787B.001.DNW0974-P1-C1  PCI-X capable, 64 bit, 133MHz slot  ent2

U787B.001.DNW0974-P1-C2  PCI-X capable, 64 bit, 133MHz slot  Empty

U787B.001.DNW0974-P1-C3  PCI-X capable, 64 bit, 133MHz slot  Empty

U787B.001.DNW0974-P1-C4  PCI-X capable, 64 bit, 133MHz slot  sisioa0

U787B.001.DNW0974-P1-C5  PCI-X capable, 64 bit, 133MHz slot pci7 lai0
</PRE></TD></TR></TBODY></TABLE><BR>
<P>在更换一个热插拔适配器或者磁盘之前，您应该取消所有依赖于您希望删除的物理设备的其他设备或者接口的配置。</P>
<P>在示例2 中，我们介绍了在尝试删除一个未取消配置的设备时所显示的错误消息。lsdev 命令将确定该设备是否处于可用状态。</P>
<P>示例 2 在尝试更换配置设备 sisia0 时显示的错误消息</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE >COMMAND STATUS

Command:failed        stdout:yes           stderr:no

Before command completion, additional instructions may appear below.

The visual indicator for the specified PCI slot has

been set to the identify state.Press Enter to continue

or enter x to exit.

The specified slot contains device(s) that are currently

configured.Unconfigure the following device(s) and try again.

sisioa0

# lsdev -C|grep sis

gxme0      Defined                 Graphics Data Transfer Assist Subsystem

sisioa0    Available 05-08         PCI-X Dual Channel U320 SCSI RAID Adapter

sisioa1    Available 09-08         PCI-X Dual Channel U320 SCSI RAID Adapter

sisraid0   Available 05-08-ff      Ultra320 SCSI RAID Adapter Logical bus

sisraid1   Available 09-08-ff      Ultra320 SCSI RAID Adapter Logical bus
</PRE></TD></TR></TBODY></TABLE><BR>
<P>如果您正运行于多个分区环境中，那么应该验证您所尝试删除或者更换的设备是否标记为某个分区必需的设备。如果是这样，那么应该在更换该设备之前停止相应的分区。</P>
<P>在下列场景中，我们将更换 ent2 以太网 PCI 适配器。从示例 3 中显示的 lsslot 命令的输出中，我们可以找到该适配器的物理位置。</P>
<P>我们将删除相应的接口 en2，如示例3 所示。</P>
<P>示例 3 删除 en2 接口</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># ifconfig -a

en0:flags=5e080863,c0&lt;UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,
64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN&gt;

inet 9.3.5.195 netmask 0xffffff00 broadcast 9.3.5.255

tcp_sendspace 131072 tcp_recvspace 65536

en1:flags=5e080863,c0&lt;UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,
64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN&gt;

inet 9.1.1.1 netmask 0xfffffff8 broadcast 9.1.1.7

tcp_sendspace 131072 tcp_recvspace 65536

en2:flags=5e080863,c0&lt;UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,
64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN&gt;

inet 0.0.0.0 netmask 0x0

tcp_sendspace 131072 tcp_recvspace 65536

lo0:flags=e08084b&lt;UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT&gt;

inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255

inet6 ::1/0

tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1

# ifconfig en2 detach

# ifconfig -a

en0:flags=5e080863,c0&lt;UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,
64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN&gt;

inet 9.3.5.195 netmask 0xffffff00 broadcast 9.3.5.255

tcp_sendspace 131072 tcp_recvspace 65536

en1:flags=5e080863,c0&lt;UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,
64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN&gt;

inet 9.1.1.1 netmask 0xfffffff8 broadcast 9.1.1.7

tcp_sendspace 131072 tcp_recvspace 65536

lo0:flags=e08084b&lt;UP,BROADCAST,LOOPBACK,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT&gt;

inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255

inet6 ::1/0

tcp_sendspace 131072 tcp_recvspace 131072 rfc1323 1
</PRE></TD></TR></TBODY></TABLE><BR>
<P>可以使用 SMIT 或诊断程序 (DIAG) 工具菜单来启动热插拔任务。在这个场景中，我们使用了 DIAG 工具。</P>
<P>1. 要启动 DIAG 工具，可以在命令提示符处输入 diag 命令。当显示如图 1 中所示的屏幕时，按 Enter。</P><BR><A ><B>图 1 初始诊断屏幕</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-1.jpg"> <BR>
<P>2. 从“Function Selection”菜单中，选择“Task Selection (Diagnostics, Advanced Diagnostics, Service Aids, etc.)”选项。图 2 显示了“Diagnostics, Advanced Diagnostics, Service Aids, etc.”屏幕。</P><BR><A ><B>图 2 诊断功能选择屏幕</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-2.jpg"> <BR>
<P>3. 在“Task Selection List”菜单中，向下滚动到“Hot Plug Task”菜单选项，并选择它。图 3 显示了“Task Selection List”，其中突出显示了“Hot Plug Task”菜单选项。</P><BR><A ><B>图 3 “Task Selection List”菜单选项</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-3.jpg"> <BR>
<P>在使用 diag 菜单时，将根据您的硬件环境列出可用的选项。在这个示例中，我们看到列出了三个选项：</P>
<P><B>a</B>. “PCI Hot Plug Manager”菜单</P>
<P><B>b</B>. “RAID Hot Plug Devices“菜单</P>
<P><B>c</B>. “SCSI and SCSI RAID Hot Plug Manager”菜单</P>
<P>选择“PCI Hot Plug Manager”菜单选项。图 4 显示了“HPT”菜单，其中突出显示了“PCI Hot Plug Manager”。</P><BR><A ><B>图 4 “Hot Plug Task”菜单</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-4.jpg"> <BR>
<P>4. 在“PCI Hot Plug Manager”菜单中，选择“Unconfigure A device”。选择要取消配置的合适的适配器。在这个场景中，将要取消适配器 ent2 的配置。图 5 显示了“Unconfigure A device”菜单，其中突出显示了 ent2 设备。对于这个场景，我们可以将设备定义保存在数据库中。在将 ent2 设备置于已定义的状态之后，返回到“PCI Hot Plug Manager”菜单。</P><BR><A ><B>图 5 “Unconfigure A device”屏幕</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-5.jpg"> <BR>
<P>5. 在“PCI Hot Plug Manager”菜单中，选择“Replace/Remove a PCI Hot Plug Adapter”。选择要更换/删除的合适的适配器。在这个场景中，将要更换适配器 ent2。图 6 显示了“PCI Hot Plug Manager”菜单，其中突出显示了“Replace/Remove”选项。</P>
<P>图 6 “PCI Hot Plug Manager Replace/Remove”菜单</P><BR><A ><B>图 6 “PCI Hot Plug Manager Replace/Remove”菜单</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-6.jpg"> <BR>
<P>6. 选择了 ent2 适配器之后，将显示“Replace/Remove a PCI Hot Plug Adapter”菜单。可以更换或者删除该适配器。在这个场景中，我们将更换该适配器。使用 Tab 或者 F4 键，选择“replace”。</P>
<P>在选择了“replace”选项之后，会将该 PCI 插槽置于允许删除 PCI 适配器的状态。闪烁的信号灯表示该插槽包含已选中进行更换的适配器。</P>
<P>要开始更换过程，可以按 Enter键。</P>
<P>图 7 显示了突出显示的“replace”选项。</P><BR><A ><B>图 7 “Replace/Remove a PCI Hot Plug Adapter”菜单</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-7.jpg"> <BR>
<P>7. 图 8 显示了完整的适配器更换过程。在更换过程的这个阶段中，将要求您完成下列工作：</P>
<P><B>a</B>. 通过按 Enter 键，确认应该对该适配器进行更换。将可视的指示器设置为标识状态。您可以按 x 键、Enter 键退出。</P>
<P><B>b</B>. 交换 PCI 适配器。将可视的指示器设置为操作状态。要继续进行，请按 Enter 键。要退出，请按 x 键，然后按 Enter 键。交换过程需要从 PCI 插槽中删除 PCI Blind Swap Cassette，使用具有相同 FRU 的 PCI 以太网适配器来替换 PCI 以太网适配器，然后组装到 PCI Blind Swap Canister 中。</P>
<P>说明：如果您选择退出这个阶段，那么 PCI 插槽将处于已删除的状态。</P>
<P><B>c</B>. 将 PCI Blind Swap Cassette 插回到 PCI 插槽。要继续进行，请按 Enter 键。现在已经更换了适配器，并且做好了重新配置的准备。</P>
<P>图 8 显示了这三个步骤以及成功地完成更换任务。</P><BR><A ><B>图 8 更换 PCI 适配器</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-8.jpg"> <BR>
<P><B>技巧：如果没有取消以太网适配器接口的配置（请参见前面的步骤</B> <B>4</B> <B>），那么整个过程将在此处失败。取消以太网适配器接口的配置，并从步骤</B> <B>5 </B><B>开始这个过程。</B> </P>
<P>8. 在更换了 PCI 以太网适配器之后，必须为 AIX 5L 对该设备进行配置。在“PCI Hot Plug Manager”菜单中，选择“Configure a Defined Device”，然后选择 ent2 以太网设备，并按 Enter 键。现在，将对 ent2 设备适配器进行配置。</P>
<P>图 9 显示了“Configure a Defined Device”菜单。</P><BR><A ><B>图 9 “Configure A Defined Device”菜单</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-9.jpg"> <BR>
<P>9. ent2 设备现在已经可以使用，可以为其重新配置一个 IP 地址。应该在操作系统错误日志中记录针对 ent2 设备的修复操作。其状态如图 10 中所示。</P><BR><A ><B>图 10 “PCI Hot Plug Manager Replace/Remove”菜单</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-10.jpg"> <BR>
<P>10. 选择 ent2 适配器之后，将显示“Replace/Remove a PCI Hot Plug Adapter”菜单。可以更换或者删除该适配器。在这个场景中，我们将更换该适配器。使用 Tab 或者 F4 键，选择“replace”。</P>
<P>在选择了“replace”选项之后，会将该 PCI 插槽置于允许删除 PCI 适配器的状态。闪烁的信号灯表示该插槽包含已选中进行更换的适配器。</P>
<P>要开始更换过程，可以按 Enter 键。</P>
<P>图 11 突出显示了“replace”选项。</P><BR><A ><B>图 11 “Replace/Remove a PCI Hot Plug Adapter”菜单</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-11.jpg"> <BR>
<P>11. 图 12 显示了完整的适配器更换过程。在更换过程的这个阶段中，将要求您完成下列工作：</P>
<P><B>a</B>. 通过按 Enter 键，确认应该对该适配器进行更换。将可视的指示器设置为标识状态。您可以按 x 键、Enter 键退出。</P>
<P><B>b</B>. 交换 PCI 适配器。将可视的指示器设置为操作状态。要继续进行，请按 Enter 键。要退出，请按 x 键，然后按 Enter 键。交换过程需要从 PCI 插槽中删除 PCI Blind Swap Cassette，使用具有相同 FRU 的 PCI 以太网适配器来替换 PCI 以太网适配器，然后组装到 PCI Blind Swap Canister 中。</P>
<P>说明：如果您选择退出这个阶段，那么 PCI 插槽将处于已删除的状态。</P>
<P><B>c</B>. 将 PCI Blind Swap Canister 插回到 PCI 插槽。要继续进行，请按 Enter 键。现在已经更换了适配器，并且做好了重新配置的准备。</P>
<P>图 12 显示了这三个步骤以及成功地完成更换任务。</P><BR><A ><B>图 12 更换 PCI 适配器</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-12.jpg"> <BR>
<P><B>技巧：如果没有取消以太网适配器接口的配置（请参见前面的步骤</B> <B>4</B> <B>），那么整个过程将在此处失败。取消以太网适配器接口的配置，并从步骤</B> <B>5 </B><B>开始这个过程。</B> </P>
<P>12. 在更换了 PCI 以太网适配器之后，必须为 AIX 5L 对该设备进行配置。在“PCI Hot Plug Manager”菜单中，选择“Configure a Defined Device”，然后选择 ent2 以太网设备，并按 Enter 键。现在，将对 ent2 设备适配器进行配置。</P>
<P>图 13 显示了“Configure a Defined Device”菜单。</P><BR><A ><B>图 13“Configure A Defined Device”菜单</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2-13.jpg"> <BR>
<P>13. ent2 设备现在已经可以使用，可以通过 smit 的 chinet 快速路径为其重新配置一个 IP 地址。应该在 AIX 5L 错误报告中记录针对 ent2 设备的修复操作。通过显示错误报告中记录的错误已经解决，这将为可能使用这台服务器的其他系统管理员提供帮助。要输入修复操作，则使用 diag &AElig; Task Selection &AElig; Log Repair Action 并选择 ent2 设备。</P><BR>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"><BR><IMG height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8 border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 align=right>
<TBODY>
<TR align=right>
<TD><IMG height=4 alt="" src="http://www.ibm.com/i/c.gif" width="100%"><BR>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=center><IMG height=16 alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0><BR></TD>
<TD vAlign=top align=right><A href="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2.html#main" cmImpressionSent="1"><B><FONT color=#996699>回页首</FONT></B></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR>
<P><A ><SPAN >故障磁盘的更换</SPAN></A></P>
<P>系统管理员所碰到的大多数问题都是与磁盘驱动器相关的问题。所以，您必须了解一些更换磁盘的过程。可能因为下列原因之一而需要更换磁盘：</P>
<P>磁盘出现故障。</P>
<P>磁盘开始报告 IO 错误，并且您希望对其进行更换，以防止出现全面的故障。</P>
<P>磁盘无法满足/达到您的需求，例如在大小或者速度方面。</P>
<P>在下面的部分中，我们希望尽量介绍一些出现磁盘故障的最常见的场景。 </P>
<P><A ><SPAN ><STRONG><FONT size=3>场景 1</FONT></STRONG></SPAN></A></P>
<P>如果您所希望更换的磁盘进行了镜像，那么我们建议执行下列这些步骤：</P>
<P>1. 使用 rmlvcopy 命令或者 unmirrorvg 命令，删除位于该磁盘中的所有逻辑卷的副本。</P>
<P>2. 使用 reducevg 命令从卷组中删除该磁盘。</P>
<P>3. 使用 rmdev 命令删除磁盘定义。</P>
<P>4. 物理删除该磁盘。如果该磁盘无法进行热插拔，那么您可能需要重新启动系统。</P>
<P>5. 更换新的替换磁盘。如果该磁盘无法进行热插拔，那么您可以运行 cfgmgr；否则，您可能需要重新启动系统。</P>
<P>6. 使用 extendvg 命令将刚添加的磁盘包含到卷组中。</P>
<P>7. 使用 mklvcopy 或者 mirrorvg，为所有的逻辑卷重新创建并同步副本。</P>
<P><A ><SPAN ><STRONG><FONT size=3>场景 2</FONT></STRONG></SPAN></A></P>
<P>如果您所希望更换的磁盘没有进行镜像，并且能够正常工作，我们建议执行下列这些步骤：</P>
<P>1. 更换新的替换磁盘。如果该磁盘无法进行热插拔，那么您可以运行 cfgmgr；否则，您可能需要重新启动系统。</P>
<P>2. 使用 extendvg 命令，将刚添加的磁盘包含到卷组中。</P>
<P>3. 使用 migratepv 命令或者 migratelp 命令，将故障磁盘中的所有分区迁移到新的磁盘。如果这些磁盘属于 rootvg，那么您应该考虑下面的情况：</P>
<P>如果要更换的磁盘包含 BLV 的一个副本，那么您必须使用 chpv -c 命令清除它。</P>
<P>必须使用 bosboot 命令在新的磁盘上创建一个新的 BLV 映像。</P>
<P>必须使用 bootlist 命令更新 bootlist，以使这些更改生效。</P>
<P>如果要更换的磁盘中包含分页空间或者主转储设备，那么您应该禁用它们。在 migratepv 命令完成之后，您应该重新激活它们。</P>
<P>4. 使用 reducevg 命令从卷组中删除故障磁盘。</P>
<P>5. 使用 rmdev 命令删除磁盘定义。</P>
<P><A ><SPAN ><STRONG><FONT size=3>场景 3</FONT></STRONG></SPAN></A></P>
<P>如果该磁盘没有进行镜像，并且已经完全无法工作，而卷组中有其他磁盘可供使用，那么我们建议执行下列这些步骤：</P>
<P>1. 标识所有至少有一个分区位于故障磁盘的逻辑卷。</P>
<P>2. 关闭这些逻辑卷，并使用 umount 命令卸载所有相对应的文件系统。</P>
<P>3. 使用 rmfs 命令，删除这些文件系统和逻辑卷。</P>
<P>4. 使用 reducevg 命令从卷组中删除故障磁盘。</P>
<P>5. 使用 rmdev 命令删除磁盘定义。</P>
<P>6. 物理删除该磁盘。如果该磁盘无法进行热插拔，那么您可能需要重新启动系统。</P>
<P>7. 使得更换的磁盘可供使用。如果该磁盘无法进行热插拔，那么您可以运行 cfgmgr；否则，您可能需要重新启动系统。</P>
<P>8. 使用 extendvg 命令将刚添加的磁盘包含到卷组中。</P>
<P>9. 使用 mklv 和 crfs 命令，重新创建所有的逻辑卷和相对应的文件系统。</P>
<P>10. 如果您有相关数据的备份，那么请从备份恢复您的数据。</P>
<P><A ><SPAN ><STRONG><FONT size=3>场景 4</FONT></STRONG></SPAN></A></P>
<P>如果该磁盘没有进行镜像，并且已经完全无法工作，而卷组中没有其他的磁盘可供使用（该卷组仅包含一个物理卷、或者所有的物理卷都同时失效），并且该卷组不是 rootvg，那么我们建议执行下列这些步骤：</P>
<P>1. 使用 exportvg 命令从系统中导出卷组定义。</P>
<P>2. 确保 /etc/filesystems 中不包含任何不正确的节。</P>
<P>3. 使用 rmdev 命令删除磁盘定义。</P>
<P>4. 物理删除该磁盘。如果该磁盘无法进行热插拔，那么您可能需要重新启动系统。</P>
<P>5. 更换新的替换磁盘。如果该磁盘无法进行热插拔，那么您可以运行 cfgmgr；否则，您可能需要重新启动系统。</P>
<P>6. 如果您有卷组的备份，那么请使用 restvg 命令对其进行恢复。</P>
<P>7. 如果您没有对卷组进行备份，那么请使用 mkvg 命令、mklv 命令和 crfs 命令，重新创建卷组、所有的逻辑卷、以及相对应的文件系统。</P>
<P>8. 如果您有相关数据的备份，那么请从备份恢复您的数据。</P>
<P><A ><SPAN ><STRONG><FONT size=3>场景 5</FONT></STRONG></SPAN></A></P>
<P>如果该磁盘没有进行镜像，并且已经完全无法工作，而卷组中没有其他磁盘可供使用（该卷组仅包含一个物理卷，或者所有的物理卷都同时失效），并且该卷组不是 rootvg，那么我们建议执行下列这些步骤：</P>
<P>1. 更换故障磁盘。</P>
<P>2. 使系统启动进入维护模式。</P>
<P>3. 从一个 mksysb 映像恢复系统。</P><BR>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"><BR><IMG height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8 border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 align=right>
<TBODY>
<TR align=right>
<TD><IMG height=4 alt="" src="http://www.ibm.com/i/c.gif" width="100%"><BR>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=center><IMG height=16 alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0><BR></TD>
<TD vAlign=top align=right><A href="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2.html#main" cmImpressionSent="1"><B><FONT color=#996699>回页首</FONT></B></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR>
<P><A ><SPAN >对图形问题进行故障排除</SPAN></A></P>
<P>这个部分内容将介绍与显示输出相关的问题的解决方法。 </P>
<P><A ><SPAN ><STRONG><FONT size=3>试图启动桌面时发生系统停止</FONT></STRONG></SPAN></A></P>
<P>下面的部分将帮助您了解影响图形桌面正常启动的一些原因。 </P>
<P><B>/home </B><B>文件系统已经装满</B> </P>
<P>当/home 文件系统已经装满时，用户将无法使用 AIX 5L CDE 进行登录。如果 /home 已经装满，那么 AIX 5L CDE 欢迎窗口将接受用户名和密码，然后不显示任何内容（看起来系统出现了停止），然后再次返回到 AIX 5L CDE 欢迎窗口。要进行登录并对问题进行分析，可以按 AIX 5L CDE 欢迎窗口中的 Options 按钮，然后选择“Command Line Login”，或者以非图形显示的方式进行登录。 </P>
<P><B>名称解析问题</B> </P>
<P>如果名称解析配置不正确，或者您的系统无法连接到 DNS 服务器，那么用户将碰到登录和网络问题。如果在名称解析方面存在问题，那么 AIX 5L CDE 欢迎窗口将接受用户名和密码，然后显示“Starting the Common Desktop Environment”消息，它将持续几分钟的时间，然后启动基本的图形环境。</P>
<P>使用 nslookup 命令可以验证您的系统是否能够通过 DNS 服务器进行名称解析。例如，可以使用 nslookup 命令解析名称 www.ibm.com：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># nslookup                                                        

Default Server:dhcp001.itsc.austin.ibm.com                      

Address:  9.3.4.2                                                 
</PRE></TD></TR></TBODY></TABLE><BR>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE >&gt; www.ibm.com                                                     

Server:dhcp001.itsc.austin.ibm.com                              

Address:  9.3.4.2                                                 

                                                                  

Non-authoritative answer:                                         

Name:livesite.events.ibm.com                                  

Addresses:  129.42.21.99,129.42.16.99,129.42.17.99,129.42.18.99

          129.42.19.99,129.42.20.99                              

Aliases:www.ibm.com                                             

                                                                  

&gt; exit                                                            

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>如果在尝试解析一个名称时，nslookup 命令没有显示类似的输出，或者在显示大于符号提示符 (&gt;) 时出现延迟，那么这意味着无法连接到 DNS 服务器：</P>
<UL>
<UL>
<LI>请验证您的系统是否能够访问网络。 
</LI><LI>请验证您的 DNS 服务器是否已经启动并正在运行，您需要访问它们以进行名称解析查询。 
</LI><LI>停止使用 DNS 服务器。使用 SMIT 快速路径： </LI></UL></UL>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># smitty spnamerslv
</PRE></TD></TR></TBODY></TABLE><BR>
<P>您必须提供一个名称，以便对 /etc/resolv.conf 进行重命名。您还可以使用下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># namerslv -e
</PRE></TD></TR></TBODY></TABLE><BR>
<P><B>注意：当您停止使用</B> <B>DNS </B><B>服务器时，这将影响到所有使用该名称解析服务的程序和服务。除非您很清楚它将对系统带来的影响，否则请不要进行这项操作。</B> </P>
<P><A ><SPAN ><STRONG><FONT size=3>无法打开显示的错误的故障排除</FONT></STRONG></SPAN></A></P>
<P>当运行使用图形服务的命令时，您可能会碰到与下面类似的消息：</P>
<P>Error:Can't open display:</P>
<P>该程序正尝试在图形环境中显示输出，但是却无法完成这项任务。在程序可以使用一个显示之前，它必须建立到驱动显示的 X 服务器的连接。 </P>
<P><B>打开一个显示</B> </P>
<P>要打开到控制指定显示的 X 服务器的连接，您必须设置显示的名称、或者 DISPLAY 环境变量，它是一个格式如下所示的字符串：</P>
<P>HostName:Number.Screen</P>
<P>其中：</P>
<P><B>HostName</B>——指定该显示在物理上依附的主机系统的名称或者 IP 地址。这个主机名后面应该加上一个 :（冒号）。</P>
<P><B>Number</B>——指定主机中显示服务器的 ID 编号。显示编号的后面可以加上一个 .（点号）。</P>
<P><B>Screen</B>——指定主机服务器上屏幕的编号。单个 X 服务器可以连接或控制多个屏幕。</P>
<P>例如，您可以使用下面命令将 DISPLAY 环境变量设置为名为 server3 的系统上的屏幕 0、显示 2：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># export DISPLAY=server3:2.0
</PRE></TD></TR></TBODY></TABLE><BR>
<P>如果在设置了 DISPLAY 环境变量之后，您依然得到“Can't open display”消息，并且这时 X 服务器正在运行，那么您必须检查您的系统是否有权限访问运行于该计算机中的 X 服务器。</P>
<P>您使可以用 xhost 命令控制哪些用户能够访问当前主机中运行的 X 服务器。这个命令可以在一个计算机的列表中添加或者删除主机名，X 服务器将接受这个列表中的计算机的连接。</P>
<P>例如，可以在运行 X 服务器的、名为 server3 的系统中运行 xhost 命令，以便为您的系统（名为 server2）授予连接到这个 X 服务器的权限：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># xhost +server2
</PRE></TD></TR></TBODY></TABLE><BR>
<P>要拒绝名为 server2 的系统对这个 X 服务器的访问，可以输入下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># xhost -server2
</PRE></TD></TR></TBODY></TABLE><BR>
<P><B>说明：请确保您在指定主机名时使用了</B> <B>xhost + </B><B>命令，因为它将禁用</B> <B>X </B><B>服务器的访问控制。这将允许您为特定的主机授予访问权限，从而简化对</B> <B>X </B><B>服务器的潜在攻击的监视。如果您没有指定主机名，那么将为所有的主机授予访问权限，这是一种潜在的安全风险。</B> </P>
<P><A ><SPAN ><STRONG><FONT size=3>对 TTY 显示问题进行故障排除</FONT></STRONG></SPAN></A></P>
<P>您可能会碰到各种 TTY 设备问题，例如，在尝试使用 clear 命令清除屏幕内容时，屏幕却保持不变，或者在运行 smit 命令时，却得到了与如下所示类似的、杂乱的输出：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># smitty                                                                        

B@B5,Alqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk6,x6cx7,mqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj5,B6.Initializing SMIT ...5,      

6,                       6c 7,

5,Alqqqqqqqqqqqqqqqqqqqq

qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk6,x6cx7,mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqq
qqqqj5,B6.Processing data ...5, ?System Management" Move cursor to desired item and 
press Enter.
$"!aSoftware Installation and Maintenance%"

@BSoftware License Management&amp;"Devices'"System Storage Management (Physical &amp; 
Logical Storage)("Security &amp; Users)"Communications Applications and Services

*"Print Spooling+"Advanced Accounting,"Problem Determination-"Performance &amp; 
Resource Scheduling.
"System Environments/"Processes &amp; Subsystems0

"Applications1"Installation Assistant2"Cluster Systems Management3"Using SMIT 
(information only)5,              

F9=Shell7,        F10=Exit            Enter=Do                    $! 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>这说明没有将 TERM 环境变量设置为正确的值。 </P>
<P><B>不同显示和终端的</B> <B>TERM </B><B>值</B> </P>
<P>有关终端功能的信息存储在 terminfo 数据库中。TERM 环境变量的值标识了 terminfo 数据库中特定的终端描述。这为程序与当前 TTY 设备进行有效地通信提供了所需的全部信息。表 1 显示了用于各种终端的值。</P>
<P>表 1 用于各种终端的值</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TH scope=row>显示/终端 </TH>
<TH scope=row>值 </TH></TR>
<TR>
<TD>3161 ASCII 终端 </TD>
<TD>ibm3161 </TD></TR>
<TR>
<TD>3163 ASCII 终端 </TD>
<TD>ibm3161 </TD></TR>
<TR>
<TD>DEC VT100（终端） </TD>
<TD>vt100 </TD></TR>
<TR>
<TD>DECVT220 </TD>
<TD>vt220 </TD></TR>
<TR>
<TD>3151 ASCII 终端 </TD>
<TD>ibm3151 </TD></TR>
<TR>
<TD>AIXwindows </TD>
<TD>aixterm </TD></TR></TBODY></TABLE><BR>
<P>例如，要将 TERM 环境变量的值设置为 vt100，可以输入下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># export TERM=vt100
</PRE></TD></TR></TBODY></TABLE><BR><BR>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"><BR><IMG height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8 border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 align=right>
<TBODY>
<TR align=right>
<TD><IMG height=4 alt="" src="http://www.ibm.com/i/c.gif" width="100%"><BR>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=center><IMG height=16 alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0><BR></TD>
<TD vAlign=top align=right><A href="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2.html#main" cmImpressionSent="1"><B><FONT color=#996699>回页首</FONT></B></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR>
<P><A 命令|outline"><SPAN >perfpmr 命令</SPAN></A></P>
<P>perfpmr 命令由一组实用工具组成，这些实用工具用于构建包含所需信息的测试用例，以帮助进行性能问题分析。它主要用于协助 IBM 软件支持部门，但是作为系统的文档说明工具，它也是很有价值的。</P>
<P>因为总在对 perfpmr 命令进行频繁地更新，所以在 AIX 5L 媒体中没有提供这个命令。可以从下面的位置下载该命令：</P>
<P>ftp://ftp.software.ibm.com/aix/tools/perftools/perfpmr </P>
<P>请使用适合的 AIX 5L 级别的版本。对于我们来说，所需的文件位于：</P>
<P>ftp://ftp.software.ibm.com/aix/tools/perftools/perfpmr/perf53/perf53.tar.Z</P>
<P><A ><SPAN ><STRONG><FONT size=3>perfpmr</FONT></STRONG></SPAN></A></P>
<P>perfpmr 命令的语法为：</P>
<P>perfpmr.sh [-PDgfnpsc][-F file][-x file][-d sec] monitor_seconds</P>
<P>表 2 给出了相关参数的描述。</P>
<P>表 2</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TH scope=row>标志 </TH>
<TH scope=row>描述 </TH></TR>
<TR>
<TD>-P </TD>
<TD>只进行预览——显示运行所需的脚本和磁盘空间。 </TD></TR>
<TR>
<TD>-D </TD>
<TD>不使用 perfpmr.cfg 文件，以原始的方式运行 perfpmr。 </TD></TR>
<TR>
<TD>-g </TD>
<TD>不收集 gennames 的输出。 </TD></TR>
<TR>
<TD>-f </TD>
<TD>如果 gennames 正在运行，则指定 gennames -f。 </TD></TR>
<TR>
<TD>-n </TD>
<TD>如果不希望进行 netstat 或者 nfsstat 输出，则使用这个选项。 </TD></TR>
<TR>
<TD>-p </TD>
<TD>如果在 monitor.sh 运行时不希望进行 pprof 收集，则使用这个选项。 </TD></TR>
<TR>
<TD>-s </TD>
<TD>如果不希望进行 svmon 输出，则使用这个选项。 </TD></TR>
<TR>
<TD>-c </TD>
<TD>如果不希望任何配置信息，则使用这个选项。 </TD></TR>
<TR>
<TD>-F </TD>
<TD>File 使用该文件作为 perfpmr cfg 文件；缺省值为 perfpmr.cfg。 </TD></TR>
<TR>
<TD>-x </TD>
<TD>File 仅执行 perfpmr 安装目录中的文件。 </TD></TR>
<TR>
<TD>-d </TD>
<TD>sec 表示在启动收集周期之前的等待时间；缺省值为 delay_seconds 0。 </TD></TR>
<TR>
<TD>-s </TD>
<TD>如果不需要 svmon 输出，则使用这个选项。 </TD></TR></TBODY></TABLE><BR>
<P>perfpmr.sh 命令的常用标志 </P>
<P><B>参数</B> </P>
<P>请特别注意下面的参数。</P>
<P>monitor_seconds——收集周期（单位为秒）。最小的周期为 60 秒。</P>
<P>可以使用 perfpmr.sh 600 命令将标准的收集周期设置为 600 秒。 </P>
<P><A ><SPAN ><STRONG><FONT size=3>测量和示例</FONT></STRONG></SPAN></A></P>
<P>除非您单独运行 Shell 脚本，否则 perfpmr.sh 600 命令将执行下列 Shell 脚本以获得一个测试用例。您也可以单独地运行这些脚本。有关更详细的内容，请参见“运行 perfpmr”部分。</P>
<P><B>config.sh</B>——将配置信息收集到一个名为 config.sum 的报告中。</P>
<P><B>emstat.sh time</B>——根据模拟的指令，构建一个名为 emstat.int 的报告。time 参数必须大于或者等于 60。</P>
<P><B>filemon.sh time</B>——根据文件 I/O，构建一个名为 filemon.sum 的报告。time 参数没有任何限制。</P>
<P><B>iostat.sh time</B>——根据 I/O 统计信息，构建两个报告：一个汇总的报告名为 iostat.sum，一个间隔的报告名为 iostat.int。time 参数必须大于或者等于 60。</P>
<P><B>iptrace.sh time</B>——根据名为 iptrace.raw 的网络 I/O，构建原始的 Internet Protocol (IP) 跟踪报告。您可以使用 iptrace.sh -r 命令将 iptrace.raw 文件转换为一个可读的、名为 iptrace.int 的 ipreport 文件。time 参数没有任何限制。</P>
<P><B>monitor.sh time</B>——调用系统性能监视，并收集间隔的和汇总的报告：</P>
<P><B>lsps.after</B> ——包含在运行 monitor.sh 之后的 lsps -a 和 lsps -s 输出。用于报告分页空间的使用。</P>
<P><B>lsps.before</B>——包含在运行 monitor.sh 之前的 lsps -a 和 lsps -s 输出。用于报告分页空间的使用。</P>
<P><B>nfsstat.int</B>——包含在运行 monitor.sh 之前和之后的 nfsstat -m 和 nfsstat -csnr 输出。用于报告网络文件系统的使用和配置。</P>
<P><B>monitor.int</B>——使用 ps -efk，包含间隔的示例（在运行 monitor.sh 之前和之后，显示活动的进程）。它还包含 sadc、sar -A、iostat、vmstat 和 emstat 输出。</P>
<P><B>monitor.sum</B>——使用 ps -efk，包含汇总的示例（在运行 monitor.sh 之前和之后，对于活动的进程，显示 ps 输出中的更改）。它也包含 sadc、sar -A、iostat、vmstat 和 emstat 输出。</P>
<P><B>pprof.trace.raw </B></P>
<P>包含 pprof 的原始跟踪。</P>
<P><B>psb.elfk</B>——在运行 monitor.sh 之前，包含经过修改的 ps -elk 输出。</P>
<P><B>svmon.afte</B>r——包含在运行 monitor.sh 之后的 svmon -G 和 svmon -Pns 输出，以及使用 svmon -S 命令得到的进程使用的若干个最大的段。用于报告内存的使用。</P>
<P><B>svmon.before</B>——包含在运行 monitor.sh 之前的 svmon -G 和 svmon -Pns 输出，以及使用 svmon -S 命令得到的进程使用的若干个最大的段。用于报告内存的使用。</P>
<P><B>vmstati.after</B>——包含在运行 monitor.sh 之后的 vmstat -i 输出。用于报告 I/O 设备的中断。</P>
<P><B>vmstati.before</B>——包含在运行 monitor.sh 之前的 vmstat -i 输出。用于报告 I/O 设备的中断。</P>
<P><B>netstat.sh [-r] time</B>——</P>
<P>构建一个有关网络配置和使用的报告，该报告名为 netstat.int，其中在运行 monitor.sh 之前和之后，包含令牌环接口的 tokstat -d、以太网接口的 entstat -d、netstat -in、netstat -m、netstat -rn、netstat -rs、netstat -s、netstat -D 和 netstat -an。您可以清除以太网和令牌环统计信息，并通过运行 netstat.sh -r 60，再次运行这个报告。time 参数必须大于或者等于 60。</P>
<P><B>nfsstat.sh time</B>——构建一个有关 NFS 配置和使用的报告，该报告名为 netstat.int，其中包含在运行 nfsstat.sh 之前和之后的 nfsstat -m 和 nfsstat -csnr。time 参数必须大于或者等于 60。</P>
<P><B>pprof.sh time</B>——构建一个名为 pprof.trace.raw 的文件，可以使用 pprof.sh -r 命令对其进行格式化。time 参数没有任何限制。</P>
<P><B>ps.sh time</B>——根据进程状态 (ps) 构建相关的报告。ps.sh 将创建下列文件：</P>
<P><B>psa.elfk</B>——在运行 ps.sh 之后，执行 ps -elfk 列出相关内容。</P>
<P><B>psb.elfk</B>——在运行 ps.sh 之前，执行 ps -elfk 列出相关内容。</P>
<P><B>ps.int</B>——在运行 ps.sh 之前和之后的活动的进程。</P>
<P><B>ps.sum</B>——在 ps.sh 开始和结束之间所发生的更改的汇总报告。这可以用于确定哪些进程耗费了大量的资源。</P>
<P>time 参数必须大于或者等于 60。</P>
<P><B>sar.sh time</B>——根据 sar 构建相关的报告。sar.sh 将创建下列文件：</P>
<P><B>sar.int</B>——命令 sadc 10 7 和 sar -AOutput 的输出。</P>
<P><B>sar.sum</B>——在运行 sar.sh 一段时间之后的 sar 汇总信息。</P>
<P>time 参数必须大于或者等于 60。</P>
<P><B>tcpdump.sh int.time</B>——int. 参数是接口的名称；例如，tr0 为令牌环。创建 TCP/IP 转储的、名为 tcpdump.raw 的原始跟踪文件。要产生一个可读的 tcpdump.int 文件，可以使用 tcpdump.sh -r 命令。time 参数没有任何限制。</P>
<P><B>tprof.sh time</B>——创建一个名为 tprof.sum 的 tprof 汇总报告。用于分析进程和线程的内存使用。通过指定 tprof.sh -p program 60 命令（这将允许您将所调用的可执行程序配置为运行 60 秒），您还可以指定要配置的程序。time 参数没有任何限制。</P>
<P><B>trace.sh time</B>——从使用 trcrpt 命令所生成的 ASCII 跟踪报告，或者通过运行 trace.sh -r 创建原始跟踪文件 (trace*)。这个命令将创建一个名为 trace.int 的文件，其中包含可读的跟踪信息。用于分析性能问题。time 参数没有任何限制。</P>
<P><B>vmstat.sh time</B>——根据 vmstat 构建相关的报告：一个名为 vmstat.int 的、vmstat 间隔的报告，以及一个名为 vmstat.sum 的、vmstat 汇总的报告。time 参数必须大于或者等于 60。</P>
<P>因为 trace 命令将收集大量的数据，所以 trace 命令将仅运行 5 秒（在缺省的情况下），因此，当您的系统中出现性能问题的时候，它可能并不在运行，尤其是在性能问题仅出现很短时间的情况下。在这种情况下，当出现问题时，需要让 trace 命令运行 15 秒。trace.sh 15 命令将执行跟踪任务 15 秒。</P>
<P>系统可以产生一个大小为 135 MB 的测试用例，其中用于跟踪的内容占 100 MB。对于不同的系统负载，这个大小可能差别很大。如果您在具有相同工作负载的相同系统中运行跟踪任务 15 秒，那么可能会得到大约 300 MB 的跟踪文件。</P>
<P>针对每个 CPU 产生一个原始跟踪文件。这些文件名为 trace.raw-0、trace.raw-1，对于每个 CPU 依次类推。同时还将生成一个附加的原始跟踪文件，名为 trace.raw。这是一个主文件，其中的信息可以将其他 CPU 特定跟踪信息联系在一起。要将这些跟踪文件合并到一起，构成一个原始跟踪文件，可运行下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># trcrpt -C all -r trace.raw &gt; trace.r

# rm trace.raw*
</PRE></TD></TR></TBODY></TABLE><BR>
<P><A ><SPAN ><STRONG><FONT size=3>构建并提交测试用例</FONT></STRONG></SPAN></A></P>
<P>IBM 可能要求您为性能问题提供测试用例，或者您可能希望根据自己的需求来运行 perfpmr.sh 命令（例如，为检测将来的性能问题而生成一个基准）。无论在哪种情况下，都可以使用 perfpmr.sh 工具来收集性能数据。即使您的性能问题的原因来源于系统中的某个组件（如网络），perfpmr.sh 仍然可用于发送测试用例，因为它包含了进行问题确定所需的其他信息。IBM 软件支持部门可能要求您提供进行问题确定的附加信息。</P>
<P><B>说明：</B> <B>IBM </B><B>为</B> <B>AIX </B><B>发布了不同的维护级别。这些级别是一组程序临时修复程序（</B> <B>Program Temporary Fixes</B> <B>，</B> <B>PTF</B> <B>），用于将操作系统更新到最新的级别，但保持当前的发行版不变。通常，这些维护级别以及磁盘和适配器微代码的当前版本，提供了性能增强的修复程序。因此，您可能希望下载这些内容。</B> </P>
<P>要构建和发送一个测试用例，共分为 5 个阶段。要完成这些步骤，您必须以 root 用户的身份进行登录。这些步骤如下所示：</P>
<UL>
<UL>
<LI>准备下载 perfpmr。 
</LI><LI>下载 perfpmr。 
</LI><LI>安装 perfpmr。 
</LI><LI>运行 perfpmr。 
</LI><LI>上传测试用例。 </LI></UL></UL>
<P><B>为</B> <B>perfpmr </B><B>做好准备</B> </P>
<P>在运行 perfpmr.sh 之前，应该安装下列这些文件集：</P>
<UL>
<UL>
<LI>bos.acct 
</LI><LI>bos.sysmgt.trace 
</LI><LI>perfagent.tools 
</LI><LI>bos.net.tcp.server 
</LI><LI>bos.adt.include 
</LI><LI>bos.adt.samples </LI></UL></UL>
<P>下载 perfpmr</P>
<P>可以从下面的位置下载 perfpmr：</P>
<P>ftp://ftp.software.ibm.com/aix/tools/perftools/perfpmr</P>
<P>使用浏览器，下载适合的 AIX 5L 版本。该文件的大小应该小于 1 MB。</P>
<P><B>重要：如果有新的更改，请始终下载新的副本。不要使用现有的、以前下载的副本。</B> </P>
<P>如果您已经将 perfpmr 下载到了个人计算机，那么可以使用 ftp，以二进制的模式将其传输到系统中，并将其放到一个空的目录中。 </P>
<P><B>安装</B> <B>perfpmr</B> </P>
<P>使用 tar 命令解压缩并提取该文件中的内容。这个目录中包含下列文件：</P>
<UL>
<UL>
<LI>Install 
</LI><LI>PROBLEM.INFO 
</LI><LI>README 
</LI><LI>config.sh 
</LI><LI>emstat.sh 
</LI><LI>filemon.sh 
</LI><LI>getdate 
</LI><LI>getevars 
</LI><LI>iostat.sh 
</LI><LI>iptrace.sh 
</LI><LI>lsc 
</LI><LI>memfill 
</LI><LI>monitor.sh 
</LI><LI>netstat.sh 
</LI><LI>nfsstat.sh 
</LI><LI>perfpmr.cfg 
</LI><LI>perfpmr.sh 
</LI><LI>pprof.sh 
</LI><LI>ps.sh 
</LI><LI>pstat.sh 
</LI><LI>sar.sh 
</LI><LI>setpri 
</LI><LI>setsched 
</LI><LI>svmon 
</LI><LI>tcpdump.sh 
</LI><LI>tprof.sh 
</LI><LI>trace.sh 
</LI><LI>vmstat.sh </LI></UL></UL>
<P>在这个目录中，您将发现一些以 .sh 结尾的文件。这些都是 Shell 脚本，可以单独执行它们。正常情况下，在运行 perfpmr.sh 时将自动地运行这些 Shell 脚本。要了解适用于您的系统的任何附加步骤，请阅读 README 文件。</P>
<P>通过运行 ./Install 安装 perfpmr。该操作会将 /usr/bin 目录中的下列文件替换为指向您安装 perfpmr 命令的目录中的文件的符号链接：</P>
<UL>
<UL>
<LI>config.sh 
</LI><LI>curt 
</LI><LI>emstat.sh 
</LI><LI>filemon.sh 
</LI><LI>getevars 
</LI><LI>hd_pbuf_cnt.sh 
</LI><LI>iostat.sh 
</LI><LI>iptrace.sh 
</LI><LI>lsc 
</LI><LI>monitor.sh 
</LI><LI>netstat.sh 
</LI><LI>nfsstat.sh 
</LI><LI>perfpmr.sh 
</LI><LI>pprof.sh 
</LI><LI>ps.sh 
</LI><LI>sar.sh 
</LI><LI>setpri 
</LI><LI>tcpdump.sh 
</LI><LI>tprof.sh 
</LI><LI>trace.sh 
</LI><LI>utld 
</LI><LI>vmstat.sh </LI></UL></UL>
<P>安装过程的输出与示例 4 所示类似。</P>
<P>示例 4 perfpmr 安装屏幕</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># ./Install

(C) COPYRIGHT International Business Machines Corp., 2000

PERFPMR Installation started...

PERFPMR Installation completed.
</PRE></TD></TR></TBODY></TABLE><BR>
<P><B>运行</B> <B>perfpmr</B> </P>
<P>在运行 perfpmr 命令时，有两种情况需要考虑。</P>
<P>如果您的系统在很长一段时间内性能低下，并且您可以预测出运行缓慢的具体时间，那么您就可以运行 ./perfpmr.sh 600。</P>
<P>在某些情况下，系统可能工作正常，但是在一天中的其他一些时间，却运行缓慢。如果您运行 perfpmr.sh 600，那么 perfpmr 可能出现无法捕获性能缓慢的情况。在这种情况下，您可以在系统运行缓慢的时候手动地运行该脚本，并使用一个较长的超时时间段，例如，trace.sh 15 命令将执行跟踪任务 15 秒，而不是缺省的 5 秒。在运行各个脚本之前，我们可能还需要先运行 perfpmr.sh 600。这将确保捕获所有的数据和配置。</P>
<P>注意：如果您正在使用 HACMP，那么您可能希望在收集 perfpmr 数据之前，延长 Dead Man Switch (DMS) 超时、或者关闭 HACMP，以避免意外的故障转移。</P>
<P>在执行 perfpmr.sh 之后，它将创建表 3 中给出的文件。</P>
<P>表 3</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD>config.sum </TD>
<TD>crontab_l </TD>
<TD>devtree.out </TD></TR>
<TR>
<TD>errpt_a </TD>
<TD>etc_security_limits </TD>
<TD>filemon.sum </TD></TR>
<TR>
<TD>genkex.out </TD>
<TD>genkld.out </TD>
<TD>gennames.out </TD></TR>
<TR>
<TD>getevars.out </TD>
<TD>iptrace.raw </TD>
<TD>lsps.after </TD></TR>
<TR>
<TD>lsps.before </TD>
<TD>lsrset.out </TD>
<TD>monitor.int </TD></TR>
<TR>
<TD>monitor.sum </TD>
<TD>netstat.int </TD>
<TD>nfsstat.int </TD></TR>
<TR>
<TD>perfpmr.int </TD>
<TD>pprof.trace.raw </TD>
<TD>psa.elfk </TD></TR>
<TR>
<TD>psb.elfk </TD>
<TD>psemo.after </TD>
<TD>psemo.before </TD></TR>
<TR>
<TD>svmon.after </TD>
<TD>svmon.before </TD>
<TD>tcpdump.raw </TD></TR>
<TR>
<TD>tprof.csyms </TD>
<TD>tprof.ctrc </TD>
<TD>tprof.out </TD></TR>
<TR>
<TD>tprof.sum </TD>
<TD>trace.crash.inode </TD>
<TD>trace.fmt </TD></TR>
<TR>
<TD>trace.inode </TD>
<TD>trace.j2.inode </TD>
<TD>trace.maj_min2lv </TD></TR>
<TR>
<TD>trace.nm </TD>
<TD>trace.raw </TD>
<TD>trace.raw-0 </TD></TR>
<TR>
<TD>trace.raw-1 </TD>
<TD>trace.raw-10 </TD>
<TD>trace.raw-11 </TD></TR>
<TR>
<TD>trace.raw-12 </TD>
<TD>trace.raw-13 </TD>
<TD>trace.raw-14 </TD></TR>
<TR>
<TD>trace.raw-15 </TD>
<TD>trace.raw-2 </TD>
<TD>trace.raw-3 </TD></TR>
<TR>
<TD>trace.raw-4 </TD>
<TD>trace.raw-5 </TD>
<TD>trace.raw-6 </TD></TR>
<TR>
<TD>trace.raw-7 </TD>
<TD>trace.raw-8 </TD>
<TD>trace.raw-9 </TD></TR>
<TR>
<TD>trace.syms </TD>
<TD>tunables_lastboot </TD>
<TD>tunables_lastboot.log </TD></TR>
<TR>
<TD>tunables_nextboot </TD>
<TD>vfs.kdb </TD>
<TD>vmstat_v.after </TD></TR>
<TR>
<TD>vmstat_v.before </TD>
<TD>vmstati.after </TD>
<TD>vmstati.before </TD></TR>
<TR>
<TD>vnode.kdb </TD>
<TD>w.int </TD>
<TD></TD></TR></TBODY></TABLE><BR>
<P>perfpmr.sh 所创建的文件的概述</P>
<P><B>技巧：在安装</B> <B>perfpmr </B><B>命令之后，您可以在任何时候运行该命令，以确保捕获上述的所有文件。通过执行这项操作，您可以确信将得到完整的测试用例。</B> </P>
<P><B>上传测试用例</B> </P>
<P>该目录中还包含一个必须完成的、名为 PROBLEM.INFO 的文件。按照 README 文件中的说明，使用 tar 命令对这些文件进行打包，将其上传给 IBM。 </P>
<P><A ><SPAN ><STRONG><FONT size=3>perfpmr 的示例</FONT></STRONG></SPAN></A></P>
<P>示例 5 是运行 perfpmr.sh 600 的示例。</P>
<P>示例 5 运行 perfpmr.sh</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># perfpmr.sh 600

(C) COPYRIGHT International Business Machines Corp., 2000,2001,2002,2003

16:54:32-11/29/05 :     perfpmr.sh begin

PERFPMR:hostname:server2

PERFPMR:perfpmr.sh Version 530 2005/10/19

PERFPMR:current directory:/home/gpsilva

PERFPMR:perfpmr tool directory:/home/gpsilva

PERFPMR:Parameters passed to perfpmr.sh: 600

PERFPMR:Data collection started in foreground (renice -n -20)

TRACE.SH:Starting trace for 5 seconds

/bin/trace -r PURR -k 492,10e,254,116,117  -f -n -C all -d -L 20000000 -T 
200000                                                                              
00 -ao trace.raw

TRACE.SH:Data collection started

TRACE.SH:Data collection stopped

TRACE.SH:Trace stopped

TRACE.SH:Collecting gennames data

TRACE.SH:Trcnm data is in file trace.nm

TRACE.SH:/etc/trcfmt saved in file trace.fmt

TRACE.SH:Binary trace data is in file trace.raw

TRACE.SH:Enabling locktrace

lock tracing enabled for all classes

TRACE.SH:Starting trace for 5 seconds

/bin/trace -r PURR -j 106,10C,10E,112,113,134,139,465,46D,606,607,608,609 
-f -n -C all -d -L 20000000 -T 20000000 -ao trace.raw.lock

TRACE.SH:Data collection started

TRACE.SH:Data collection stopped

TRACE.SH:Trace stopped

TRACE.SH:Disabling locktrace

lock tracing disabled for all classes

TRACE.SH:Binary trace data is in file trace.raw.lock

MONITOR:Capturing initial lsps, svmon, and vmstat data

MONITOR:Starting system monitors for 600 seconds.

MONITOR:Waiting for measurement period to end....

MONITOR:Capturing final lsps, svmon, and vmstat data

MONITOR:Generating reports....

MONITOR:Network reports are in netstat.int and nfsstat.int

MONITOR:Monitor reports are in monitor.int and monitor.sum

IPTRACE:Starting iptrace for 10 seconds....

0513-059 The iptrace Subsystem has been started.Subsystem PID is 389334.

0513-044 The iptrace Subsystem was requested to stop.

IPTRACE:iptrace collected....

IPTRACE:Binary iptrace data is in file iptrace.raw

TCPDUMP:Starting tcpdump for 10 seconds....

TCPDUMP:tcpdump collected....

TCPDUMP:Binary tcpdump data is in file tcpdump.raw

FILEMON:Starting filesystem monitor for 60 seconds....

FILEMON:tracing started

FILEMON:tracing stopped

FILEMON:Generating report....

TPROF:Starting tprof for 60 seconds....

TPROF:Sample data collected....

TPROF:Generating reports in background (renice -n 20)

TPROF:Tprof report is in tprof.sum

17:07:43-11/29/05 :     config.sh begin

CONFIG.SH:Generating SW/HW configuration

17:07:43-11/29/05 :     copying ODM files

17:07:44-11/29/05 :     ipcs -Sa

17:07:44-11/29/05 :     lspv

0516-320 : Physical volume 00c478de09caf37f0000000000000000 is not assigned 
to a volume group.

0516-320 : Physical volume 00c478de49630c6a0000000000000000 is not assigned 
to a volume group.

0516-320 : Physical volume 00c478de006552460000000000000000 is not assigned 
to a volume group.

17:07:45-11/29/05 :     lsvg -l

17:07:45-11/29/05 :     lslv lv

17:07:48-11/29/05 :     lsattr -E -l dev

17:07:49-11/29/05 :     df

17:07:49-11/29/05 :     netstat -in -rn -D -an -c

17:07:50-11/29/05 :     getmempool.sh

17:07:51-11/29/05 :     getj2mem.sh

17:07:51-11/29/05 :     genkld

17:07:51-11/29/05 :     genkex

17:07:51-11/29/05 :     getevars

17:07:51-11/29/05 :     errpt

17:07:51-11/29/05 :     emgr -l

There is no efix data on this system.

17:07:51-11/29/05 :     lslpp -ch

17:07:51-11/29/05 :     instfix -ic

17:07:52-11/29/05 :     lscfg -vp

17:07:53-11/29/05 :     xm -u |kdb

17:07:53-11/29/05 :     echo vnode|kdb

17:07:56-11/29/05 :     echo vfs|kdb

17:07:57-11/29/05 :     echo dmpdt_chrp -i

17:07:58-11/29/05 :     sysdumpdev -l, -e

CONFIG.SH:Report is in file config.sum

17:07:58-11/29/05 :     config.sh completed

PERFPMR:Data collection complete.

PERFPMR:Data files can be archived and gzipped using:

perfpmr.sh -z filename [-o "dirs"]

where

filename is the name of the archive file.

An example of a typical archive filename:

/tmp/NNNNN.bNNN.cNNN.perfpmr.pax.gz

where NNNNN is the pmr#, .bNNN is the pmr branch #,

and .cNNN is the country code

-o "dirs":

dirs is a list of directories enclosed in quotes.If -o is

not specified, all files in current directory are archived.

You must be in the directory which contains the list

of directories when using the -z and -o flags

After pax gzip file has been created, ftp the file to:

testcase.software.ibm.com in /aix/toibm

Login as user id:ftp

17:07:58-11/29/05 :     perfpmr.sh completed
</PRE></TD></TR></TBODY></TABLE><BR>
<P><B>技巧：当您的系统负载较低，并且正常运行的时候，运行</B> <B>perfpmr </B><B>命令是非常有价值的。这将为您提供一个基准，以确定将来的性能问题。</B> </P>
<P><B>您应该在下列情况下再次运行</B> <B>perfpmr </B><B>命令：</B> </P>
<OL type=1>
<UL>
<LI><B>您的系统出现了性能问题。</B> 
</LI><LI><B>您对系统进行了硬件更改。</B> 
</LI><LI><B>您对网络配置进行了更改。</B> 
</LI><LI><B>您对</B> <B>AIX 5L </B><B>操作系统进行了更改，比如当您安装更新程序、或者优化</B> <B>AIX 5L </B><B>时。</B> 
</LI><LI><B>您对应用程序进行了更改。</B> </LI></UL></OL><BR>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"><BR><IMG height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8 border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 align=right>
<TBODY>
<TR align=right>
<TD><IMG height=4 alt="" src="http://www.ibm.com/i/c.gif" width="100%"><BR>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=center><IMG height=16 alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0><BR></TD>
<TD vAlign=top align=right><A href="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/2.html#main" cmImpressionSent="1"><B><FONT color=#996699>回页首</FONT></B></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR>
<P><A IBM 的支持电话|outline"><SPAN >拨打 IBM 的支持电话</SPAN></A></P>
<P>要拨打 IBM 的支持电话，您必须执行下面的这些步骤：</P>
<UL>
<UL>
<LI>确定您的问题对业务的影响。 
</LI><LI>描述您的问题，并收集后台信息。 
</LI><LI>将您的问题提交到 IBM Support。 
</LI><LI>更新您的请求。 </LI></UL></UL>
<P><A ><SPAN ><STRONG><FONT size=3>确定您的问题对业务的影响</FONT></STRONG></SPAN></A></P>
<P>当您向 IBM 报告问题时，IBM 会要求您提供一个严重性级别。因此，您需要了解并评估所报告的问题对业务的影响。</P>
<P>使用表 4 以选择相应的严重性级别。</P>
<P>表 4</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TH scope=row>严重性级别 </TH>
<TH scope=row>业务影响 </TH></TR>
<TR>
<TD>严重性级别1 </TD>
<TD>严重的业务影响：您无法使用该程序，导致对相关操作产生严重的影响。这种情况需要紧急的解决方案。 </TD></TR>
<TR>
<TD>严重性级别2 </TD>
<TD>重大业务影响：程序无法使用，受到很大的影响。 </TD></TR>
<TR>
<TD>严重性级别3 </TD>
<TD>一定的业务影响：程序无法使用，并且一些不是很重要的特性（并不会对相关操作产生严重的影响）无法使用。 </TD></TR>
<TR>
<TD>严重性级别4 </TD>
<TD>很小的业务影响：问题对相关操作产生很小的影响，或者已经对问题进行了合理的限制。 </TD></TR></TBODY></TABLE><BR>
<P>严重性级别与业务影响</P>
<P><A ><SPAN ><STRONG><FONT size=3>描述您的问题并收集后台信息</FONT></STRONG></SPAN></A></P>
<P>在向 IBM 解释一个问题时，请尽可能具体一些。包括所有的相关后台信息，以便 IBM 支持专家可以高效地帮助您解决这个问题。</P>
<P>为了节约时间，请仔细考虑并回答下面的这些问题：</P>
<UL>
<UL>
<LI>问题发生在哪台计算机上？记录下序列号。 
</LI><LI>在发生问题时，运行的是什么版本的软件？ 
</LI><LI>您是否有与问题症状相关的日志、跟踪和消息？ 
</LI><LI>这个问题是否可以重现？如果是，那么什么样的操作将导致这个故障？ 
</LI><LI>是否对系统进行过任何更改？例如，硬件、操作系统、网络软件，等等。 
</LI><LI>对于这个问题，您是否正在使用某种权宜之计？如果是，请准备好在报告该问题时对其进行解释。 </LI></UL></UL>
<P><A ><SPAN ><STRONG><FONT size=3>将您的问题提交到 IBM Support</FONT></STRONG></SPAN></A></P>
<P>您可以采取下面两种方式来提交您的问题：</P>
<UL>
<LI>在线： 
<UL>
<LI>软件问题：使用 http://www.ibm.com/software/support/esr/support_contracts 上的 Electronic Service Request (ESR) 
</LI><LI>硬件问题：使用 http://www.ibm.com/support/esc/signin.jsp 上的 Electronic Service Call (ESC+) </LI></UL>
</LI><LI>打电话：要获取您所在国家/地区的电话号码，请在网站 (http://www.ibm.com/planetwide/) 上转到联系页面，并选择您所在国家/地区的名称。 </LI></UL>
<P><A ><SPAN ><STRONG><FONT size=3>更新您的请求</FONT></STRONG></SPAN></A></P>
<P>如上所述，通过使用联机的表单或者电话，您始终可以更新您的支持请求。请引用支持专家为您提供的问题编号。对于报告到 IBM 支持中心的任何问题，将创建一个问题管理记录（Problem Management Record，PMR）。PMR 是一种联机的软件记录，用于跟踪客户所报告的软件问题。</P>
<P>以联机的方式更新请求具有一个优点，那就是，您可以很容易地将相关文件附加到 PMR，例如，屏幕截图、日志，等等。</P>
<P>可以采用相同的过程来结束电话、或者更改严重性级别。</P></div>]]></description>
	    <author><![CDATA[风卷残云]]></author>
	    <comments>http://fhqfdf.blog.163.com/blog/static/6006523200848101015636</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://fhqfdf.blog.163.com/blog/static/6006523200848101015636</guid>
    <pubDate>Thu, 8 May 2008 22:10:15 +0800</pubDate>
    <dcterms:modified>2008-05-08T22:10:15+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[IBM AIX V5.3 系统管理(Test 222)认证指南系列，第 5 部分：问题的确定和解决（上）]]></title>	
    <link>http://fhqfdf.blog.163.com/blog/static/60065232008481082681</link>
    <description><![CDATA[<div><BLOCKQUOTE>本文分两部分向您介绍不同的问题确定工具，以及何时使用它们。还提供了一些示例，说明如何解释这些命令的输出以及如何采取正确的操作。本文是摘自 IBM 红皮书《IBM Certification Study Guide eServer p5 and pSeries Administration and Support for AIX 5L Version 5.3》。</BLOCKQUOTE><!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --><!--END RESERVED FOR FUTURE USE INCLUDE FILES-->
<TABLE cellSpacing=0 cellPadding=0 width="40%" align=right border=0>
<TBODY>
<TR>
<TD width=10><IMG height=1 alt="" src="http://www.ibm.com/i/c.gif" width=10></TD>
<TD></TD></TR></TBODY></TABLE>
<P><A ><SPAN >问题确定和解决</SPAN></A></P>
<P>这个部分提供了一些相关的信息以帮助您解决网络、硬件、或者操作系统方面的问题。 </P>
<P><A ><SPAN ><STRONG><FONT size=3>网络问题</FONT></STRONG></SPAN></A></P>
<P>在这一部分中，您将了解系统中网络支持和故障诊断的一些重要的方面，包括修改网络适配器和接口。请注意，本部分并没有提供网络支持方面的所有内容（因为网络可能是非常复杂的环境），但是为支持专业人员提供了一个很好的起点。 </P>
<P><B>ping </B><B>命令</B> </P>
<P>ping 命令适用于下列情况：</P>
<P>确定网络以及各种外部主机的状态</P>
<P>跟踪和隔离硬件和软件问题</P>
<P>测试、测量和管理网络</P>
<P>ping 命令发送一个 Internet Control Message Protocol (ICMP) ECHO_REQUEST，以便从网络中的某台主机或者网关那里获取一个 ICMP ECHO_RESPONSE。如果这台主机正在运行，并且位于该网络中，那么它将对 ECHO 请求做出响应。每个 ECHO 请求包含一个 Internet Protocol (IP) 和 ICMP Header，后面紧跟着一个 timeval 结构，以及足够数量的字节以填充数据包。</P>
<P>在缺省情况下，ping 命令每秒发送一个数据报，并为每个接收到的响应输出一行内容。ping 命令将计算往返时间，以及数据包丢失的统计信息，并在结束时显示简要的汇总信息。当程序超时、或者收到一个 SIGINT 信号 (Ctrl-C) 时，ping 命令将会结束。</P>
<P>对于 ping 命令，唯一必需的参数是一个有效的主机名、或者 Internet 地址。</P>
<P><B>说明：因为持续的</B> <B>ECHO </B><B>请求可能会加重系统的负担，所以主要应该在进行问题隔离的时候使用重复的请求。</B> </P>
<P>下面的示例说明了 ping 命令的某些用途：</P>
<P>要检查到某台主机的网络连接，并指定发送五个 ECHO 请求，可以使用下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># ping -c 5 server2                                         

PING server2.itsc.austin.ibm.com:(9.3.5.195)： 56 data bytes

64 bytes from 9.3.5.195:icmp_seq=0 ttl=255 time=0 ms       

64 bytes from 9.3.5.195:icmp_seq=1 ttl=255 time=0 ms       

64 bytes from 9.3.5.195:icmp_seq=2 ttl=255 time=0 ms       

64 bytes from 9.3.5.195:icmp_seq=3 ttl=255 time=0 ms       

64 bytes from 9.3.5.195:icmp_seq=4 ttl=255 time=0 ms       

                                                            

----server2.itsc.austin.ibm.com PING Statistics----         

5 packets transmitted, 5 packets received, 0% packet loss   

round-trip min/avg/max = 0/0/0 ms                           

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>要显示所返回的数据包的路由缓冲区，可以运行下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># ping -R server2                                                   

PING server2.itsc.austin.ibm.com:(9.3.5.195)： 56 data bytes        

64 bytes from 9.3.5.195:icmp_seq=0 ttl=255 time=0 ms               

RR:server2.itsc.austin.ibm.com (9.3.5.195)                     

server3.itsc.austin.ibm.com (9.3.5.196)                     

64 bytes from 9.3.5.195:icmp_seq=1 ttl=255 time=0 ms   (same route)

64 bytes from 9.3.5.195:icmp_seq=2 ttl=255 time=0 ms   (same route)

64 bytes from 9.3.5.195:icmp_seq=3 ttl=255 time=0 ms   (same route)

64 bytes from 9.3.5.195:icmp_seq=4 ttl=255 time=0 ms   (same route)

64 bytes from 9.3.5.195:icmp_seq=5 ttl=255 time=0 ms   (same route)

^C                                                                  

----server2.itsc.austin.ibm.com PING Statistics----                 

6 packets transmitted, 6 packets received, 0% packet loss           

round-trip min/avg/max = 0/0/0 ms                                   

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P><B>说明：</B> <B>IP Header </B><B>最多只能记录九次路由。另外，许多主机和网关将忽略这个选项。</B> </P>
<P>如果您使用 ping 命令无法连接到相同子网中的其他计算机，那么应该在您的系统网络配置方面查找存在的问题。arp 和 ifconfig 命令可以帮助您隔离这个问题。 </P>
<P><B>arp </B><B>命令</B> </P>
<P>arp 命令可以显示并修改地址解析协议（Address Resolution Protocol，ARP）所使用的 Internet 地址到物理地址（MAC 地址）的转换表。arp 命令可以显示由 HostName 变量指定的主机的当前 ARP 条目。可以通过名称或者数值（使用 Internet 带点的十进制表示法）来指定主机。</P>
<P><B>说明：您可以使用</B> <B>arp </B><B>命令来隔离仅在本地子网中存在的问题。</B> </P>
<P>例如，在尝试对 IP 为 9.3.5.193 的系统使用 ping 命令时，我们获得了如下的输出：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># ping 9.3.5.193                                           

PING 9.3.5.193:(9.3.5.193): 56 data bytes                 

^C                                                         

----9.3.5.193 PING Statistics----                          

7 packets transmitted, 0 packets received, 100% packet loss

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>但是，当尝试对 IP 为 9.3.5.196 的系统使用 ping 命令时，我们获得了如下的输出：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># ping 9.3.5.196                                         

PING 9.3.5.196:(9.3.5.196): 56 data bytes               

64 bytes from 9.3.5.196:icmp_seq=0 ttl=255 time=0 ms    

64 bytes from 9.3.5.196:icmp_seq=1 ttl=255 time=0 ms    

64 bytes from 9.3.5.196:icmp_seq=2 ttl=255 time=0 ms    

64 bytes from 9.3.5.196:icmp_seq=3 ttl=255 time=0 ms    

64 bytes from 9.3.5.196:icmp_seq=4 ttl=255 time=0 ms    

^C                                                       

----9.3.5.196 PING Statistics----                        

5 packets transmitted, 5 packets received, 0% packet loss

round-trip min/avg/max = 0/0/0 ms                        

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>查看 arp 表，我们发现（在使用 grep 命令对输出进行筛选之后）：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># arp -a | grep 9.3.5.19                                                        

bcmmint.itsc.austin.ibm.com (9.3.5.193) at (incomplete)                       

server3.itsc.austin.ibm.com (9.3.5.196) at 0:2:55:d3:dd:0 [ethernet] stored in

bucket 46 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>IP 为 9.3.5.193 的系统的物理地址无法解析；您应该在该系统中查找存在的问题。如果您的系统无法解析相同子网中其他计算机的物理地址，那么您应该检查您的电缆连接。ifconfig 命令也可以用于检查网络接口的状态。 </P>
<P><B>ifconfig </B><B>命令</B> </P>
<P>ifconfig 命令可用于网络问题确定任务，以显示或更改接口的状态、或者重新定义 IP 地址，如下面的示例所示：</P>
<UL>
<LI>要显示接口 en2 的状态，可以输入： </LI></UL>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># ifconfig en2                                                                  

en2: 
flags=5e080863,c0&lt;UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT

,64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN&gt;                                             

inet 9.3.5.196 netmask 0xffffff00 broadcast 9.3.5.255                   

tcp_sendspace 131072 tcp_recvspace 65536                               

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>接口 en2 已经启用 (UP)。</P>
<UL>
<LI>要仅显示那些已经禁用的接口，可以输入： </LI></UL>
<P># ifconfig -a -d </P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE >en1: 
flags=5e080862,c0&lt;BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64

BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN&gt;                                                

inet 2.2.2.2 netmask 0xffffff00 broadcast 2.2.2.255                     

tcp_sendspace 131072 tcp_recvspace 65536                               

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>这个输出显示，接口 en1 已经禁用 (DOWN)。如果您无法连接到子网中配置为这个接口的计算机，那么可以运行 errpt 命令，并查看是否报告了有关该接口的任何错误（例如，网络中存在重复的 IP 地址）；运行 diag 命令以便对该接口进行诊断。</P>
<P>要启用接口 en1 并将其标记为活动的，可以输入下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># ifconfig en1 up 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>如果这些接口没有任何问题，它们处于活动状态，并且您的系统无法连接到相同子网中的其他计算机，那么您应该检查该接口的子网掩码是否正确。要将接口 en1 的子网掩码更改为 255.255.255.252，可以输入下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># ifconfig en1 netmask 255.255.255.252 up
</PRE></TD></TR></TBODY></TABLE><BR>
<P>网络路由配置也可能导致出现通信问题；traceroute 命令可以帮助您对路由进行跟踪。 </P>
<P><B>traceroute </B><B>命令</B> </P>
<P>traceroute 命令将尝试跟踪 IP 数据包到某个 Internet 主机的路由，其具体方法是：先启动一个具有较小的最大存活时间值的 UDP 探测数据包，然后侦听从沿途的网关发来的 ICMP TIME_EXCEEDED 响应。探测数据包的存活时间值在开始时为一个跃点，每次对该值增加一个跃点，直至返回 ICMP PORT_UNREACHABLE 消息。ICMP PORT_UNREACHABLE 消息说明该主机已经被定位，或命令已经达到跟踪所允许的最大跃点数目。</P>
<P><B>说明：</B> <B>traceroute </B><B>命令可用于网络测试、测量和管理方面。它应该主要用于手动故障隔离。由于它将加重网络的负担，所以不应该在正常操作的情况下、或者自动化的脚本中使用</B> <B>traceroute </B><B>命令。</B> </P>
<P>对于 traceroute 命令，唯一必需的参数是目标主机名、或者 IP 数值。traceroute 命令将根据传出接口的最大传输单元（Maximum Transmission Unit，MTU）来确定探测数据包的长度。它将 UDP 探测数据包设置为一个不可能的值，以便防止目标主机对其进行处理。</P>
<P>例如，如果您希望查看从 IP 地址为 9.3.1.141 的系统到 IP 地址为 9.8.0.8 的系统的路由信息，那么您应该输入下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># traceroute 9.8.0.8

trying to get source for 9.8.0.8

source should be 9.3.1.141

traceroute to 9.8.0.8 (9.8.0.8) from 9.3.1.141 (9.3.1.141), 30 hops max

outgoing MTU = 1492

1 itso.austin.ibm.com (9.3.1.74)  11 ms  2 ms  2 ms

2  9.444.33.129 (9.444.33.129)  4 ms  4 ms  4 ms

3 site1.austin.ibm.com (9.3.90.200)  7 ms 

4 site2.south.ibm.com (9.3.200.202)  8 ms  7 ms

5 site3.austin.ibm.com (199.4.213.125)  17 ms  19 ms  17 ms

6 9.88.1.174 (9.88.1.174)  74 ms  80 ms  71 ms

7 9.8.0.8 (9.8.0.8)  327 ms  329 ms  327 ms
</PRE></TD></TR></TBODY></TABLE><BR>
<P><A ><SPAN ><STRONG><FONT size=3>硬件问题</FONT></STRONG></SPAN></A></P>
<P>在这个部分中，我们将介绍如何解释 errpt 命令所生成的输出，以及如何运行诊断任务以查找与硬件相关的问题并进行故障排除。 </P>
<P><B>errpt </B><B>命令</B> </P>
<P>errpt 命令将从错误日志中的条目生成一个错误报告，但是它并不进行错误日志分析；对于错误分析，可以使用 diag 命令。</P>
<P>可以考虑下面的示例，其中通过执行 errpt -a 命令生成了一个错误报告：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># errpt -a 

---------------------------------------------------------------------------

LABEL:LVM_SA_STALEPP                                             

IDENTIFIER:EAA3D429                                                   

                                                                           

Date/Time:Tue Dec  6 23:24:37 CST 2005                              

Sequence Number: 441                                                       

Machine Id:00C7CD9E4C00                                              

Node Id:lpar20                                                    

Class:S                                                         

Type:UNKN                                                      

Resource Name:LVDD                                                      

                                                                           

Description                                                                

PHYSICAL PARTITION MARKED STALE                                            

                                                                           

Detail Data                                                                

PHYSICAL VOLUME DEVICE MAJOR/MINOR                                         

0000 0000 0000 0000                                                        

PHYSICAL PARTITION NUMBER (DECIMAL)                                        

                   227                                                     

LOGICAL VOLUME DEVICE MAJOR/MINOR                                          

8000 000A 0000 0005                                                        

SENSE DATA                                                                     

00C7 CD9E 0000 4C00 0000 0107 706A 336C 0000 0000 0000 0000 0000 0000 0000 0000

--------------------------------------------------------------------------- 
.

(lines ommited)

.

#
</PRE></TD></TR></TBODY></TABLE><BR>
<P>根据错误的类型，errpt -a 报告可能包含下面的信息：</P>
<P><B>LABEL</B>——事件的预定义名称。</P>
<P><B>IDENTIFIER</B>——事件的数值标识符。</P>
<P><B>Date/Time</B>——事件的日期和时间。</P>
<P><B>Sequence Numbe</B>r——事件的唯一编号。</P>
<P><B>Machine ID</B>——您的系统处理器单元的标识编号。</P>
<P><B>Node ID</B>——您的系统的助记名称。</P>
<P><B>Class</B>——错误的一般来源。可能的错误类型包括：</P>
<UL>
<LI><B>H</B>——硬件。 
</LI><LI><B>S</B>——软件。 
</LI><LI>——信息性消息。 
</LI><LI><B>U</B>——未定的。 </LI></UL>
<P><B>Type</B>——所发生的错误的严重程度。可能的错误类型包括：</P>
<UL>
<LI><B>PEND</B>——设备或组件的可用性损失是急迫的。 
</LI><LI><B>PERF</B>——设备或组件的性能已下降到可接受的级别以下。 
</LI><LI><B>PERM</B>——出现了不可恢复的情况。如果错误类型为这个值，那么通常是最严重的错误，并且很可能意味着出现了硬件设备或者软件模块的故障。如果错误类型为 PERM 之外的其他值，通常并不表示故障，但是对这些错误进行了记录，以便可以使用诊断程序对它们进行分析。 
</LI><LI><B>TEMP</B>——在出现多次不成功的尝试之后，所恢复到的状态。这种错误类型也可以用于记录信息性条目，如 DASD 设备的数据传输统计信息。 
</LI><LI><B>UNKN</B>——无法确定错误的严重程度。 
</LI><LI><B>INFO</B>——错误日志条目是信息性的，并且不是某个错误所产生的结果。 </LI></UL>
<P><B>Resource</B> <B>Name</B>——检测到错误的资源的名称。对于软件错误，这是某个软件组件或可执行程序的名称。对于硬件错误，这是某个设备或系统组件的名称。它并不表示该组件出现故障或者需要更换。相反，它用于确定合适的诊断模块以用于对错误进行分析。</P>
<P><B>Resource</B> <B>Class</B>——检测到故障的资源的一般类别（例如，磁盘的设备类别）。</P>
<P><B>Resource</B> <B>Type</B>——检测到故障的资源的类型。</P>
<P><B>Location</B> <B>Code</B>——设备的路径。最多可能有四个字段，分别是抽屉、插槽、连接器和端口。</P>
<P><B>VPD</B>——关键的产品数据。这个字段的内容（如果存在）可能各不相同。设备的错误日志条目通常返回有关设备制造商、序列号、工程变更级别、以及只读存储级别的信息。</P>
<P><B>Description</B>——错误的汇总信息。</P>
<P><B>Probable</B> <B>Cause</B>——一些可能的错误原因的列表。</P>
<P><B>User</B> <B>Causes</B>——由用户错误所导致错误的可能原因的列表。用户所导致的错误可能包括不正确插入的磁盘、未能开启的外部设备（如调制解调器和打印机）。</P>
<P><B>Actions</B>——对于纠正用户所导致的错误的推荐操作的描述。</P>
<P><B>Install</B> <B>Causes</B>——因为不正确的安装或者配置过程所导致错误的可能原因列表。这种类型的错误包括硬件和软件不匹配、电缆的不正确安装或电缆连接变松，以及未能正确配置的系统。</P>
<P><B>Actions</B>——对于纠正安装所导致的错误的推荐操作的描述。</P>
<P><B>Failure</B> <B>Causes</B>——可能的硬件或者软件故障列表。</P>
<P><B>Actions</B>——对于纠正故障的推荐操作的描述。对于硬件错误，这将导致运行诊断程序。</P>
<P><B>Detailed</B> <B>Data</B>——针对每个错误日志条目的、唯一的故障数据，如设备检测数据。</P>
<P>可以考虑下面的示例错误输出，这是运行不带任何标志的 errpt 命令的错误输出：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># errpt

IDENTIFIER TIMESTAMP  T C RESOURCE_NAME  DESCRIPTION                    

A6DF45AA   1207112405 I O RMCdaemon      The daemon is started.         

2BFA76F6   1205155605 T S SYSPROC        SYSTEM SHUTDOWN BY USER        

9DBCFDEE   1207112305 T O errdemon       ERROR LOGGING TURNED ON        

192AC071   1205155505 T O errdemon       ERROR LOGGING TURNED OFF       

291D64C3   1202154105 I H sysplanar0     platform_dump indicator event  

BFE4C025   1202154105 P H sysplanar0     UNDETERMINED ERROR             

291D64C3   1202154105 I H sysplanar0     platform_dump indicator event  

291D64C3   1202145005 I H sysplanar0     platform_dump indicator event 

EAA3D429   1202144505 U S LVDD           PHYSICAL PARTITION MARKED STALE

BFE4C025   1202144505 P H sysplanar0     UNDETERMINED ERROR 

F6A86ED5   1202144105 P S ent7           SERVICE CALL FAILED

F6A86ED5   1202144105 P S ent6           SERVICE CALL FAILED

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<UL>
<UL>
<LI>如果错误类别值为 H，并且错误类型值为 PERM（在这个示例中，标识符 BFE4C025 就是这种情况），则说明系统碰到了硬件问题，并且无法对其进行恢复。可能存在与这种错误类型相关联的诊断信息。 
</LI><LI>如果错误类别值为 H，并且错误类型值为 PEND，则表示因为系统检测到大量的错误，以使得某个硬件马上将变得不可用。 
</LI><LI>如果错误类别值为 S，并且错误类型值为 PERM（在这个示例中，标识符 F6A86ED5 就是这种情况），则说明系统碰到了与软件相关的问题，并且无法对其进行恢复。 
</LI><LI>如果错误类别值为 S，并且错误类型值为 TEMP，则表示系统碰到了与软件相关的问题。在经过几次尝试之后，系统能够对该问题进行恢复。 
</LI><LI>如果错误类别值为 O，则表示已经记录了一个信息性消息（在这个示例中，标识符 A6DF45AA、9DBCFDEE 和 192AC071 就是这种情况）。 </LI></UL></UL>
<P>当您怀疑出现了硬件问题的时候，可以使用 diag 命令来帮助查找问题。 </P>
<P><B>diag </B><B>命令</B> </P>
<P>diag 命令是运行各种可选的任务和服务帮助的起点。diag 使用错误日志来诊断硬件问题。</P>
<P>为了正确地诊断新的系统问题，系统将删除错误日志中时间超过 90 天以上的、与硬件相关的条目。系统还将删除所记录的时间超过 30 天以上的、与软件相关的条目。</P>
<P>说明：如果您删除了时间在 90 天以内的硬件错误条目，那么可能会限制错误日志分析的有效性。</P>
<P>例如，要运行问题诊断程序，可以输入下面的命令：</P>
<P># diag</P>
<P>在“DIAGNOSTIC OPERATING INSTRUCTIONS”屏幕中，按 Enter 以继续；图 1 中显示了相应的菜单。</P><BR><A ><B>图 1 功能选择菜单</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/1-1.gif"> <BR>
<P>如果您选择了“Diagnostic Routines”并按 Enter，那么将显示“DIAGNOSTIC MODE SELECTION”菜单（如图 2 中所示）。</P><BR><A ><B>图 2 诊断模式选择菜单</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/1-2.gif"> <BR>
<P>如果您选择了“Problem Determination”，那么将对设备进行测试。在测试结束之后，系统可能向您显示如下内容：</P>
<UL>
<UL>
<LI>“PREVIOUS DIAGNOSTICS RESULTS”，这意味着已经报告了一项或多项错误。 
</LI><LI>“ADDITIONAL INFORMATION”屏幕，这意味着错误日志分析已经检测到某些需要您注意的情况。 
</LI><LI>“DIAGNOSTIC SELECTION”菜单，如图 3 所示。 </LI></UL></UL><BR><A ><B>图 3 诊断选择</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/1-3.gif"> <BR>
<P>在“DIAGNOSTIC SELECTION”屏幕中，显示了相关设备的列表。通过将光标移动到某项资源并按 Enter，您可以选择任何资源；加号 (+) 表示选中了一项资源。通过选择某项资源并再次按 Enter，您可以取消对该资源的选择。前面加 M 表示丢失的资源，前面加 P 表示至少丢失一项路径。</P>
<P>在完成了所有的选择之后，按 Commit 键（F7 或者 ESC-7）。诊断程序将对所选的资源进行诊断。 </P><BR>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"><BR><IMG height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8 border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 align=right>
<TBODY>
<TR align=right>
<TD><IMG height=4 alt="" src="http://www.ibm.com/i/c.gif" width="100%"><BR>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=center><IMG height=16 alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0><BR></TD>
<TD vAlign=top align=right><A href="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/1.html#main" cmImpressionSent="1"><B><FONT color=#996699>回页首</FONT></B></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR>
<P><A root 用户邮件的原因|outline"><SPAN >监视 root 用户邮件的原因</SPAN></A></P>
<P>AIX 5L 提供了一些不同的机制，以便在系统出现问题的时候及时地通知系统管理员。</P>
<P>下面的方法可用于查找错误消息：</P>
<UL>
<UL>
<LI>检查本地 root 用户的收件箱。 
</LI><LI>检查 syslog 输出文件。请参见 8.4“附加信息的系统日志配置”。 
</LI><LI>检查 alog 输出文件。 </LI></UL></UL>
<P>大多数进程都会向 root 帐号发送包含详细信息的邮件。</P>
<P>要检查 root 用户的邮件，可以执行 mail 命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># mail

Mail [5.2 UCB] [AIX 5.X]  Type ? for help.

"/var/spool/mail/root":1 message 1 new

&gt;N  1 root          Tue Mar 17 17:11  24/872  "diagela message from localhost"

要阅读 diagela 消息，可以按邮件前面的数值（在这个示例中，按 1）：

? 1

Message  1:

From root Wed Nov 09 17:11:48 2005

Date:Tue, 09 Nov 2005 17:11:48 -0600

From:root

To:root

Subject:diagela message from localhost

A PROBLEM WAS DETECTED ON Wed Nov 09 17:11:48 CST 2005                801014

The Service Request Number(s)/Probable Cause(s)

(causes are listed in descending order of probability):

110000AC:Power/Cooling subsystem Unrecovered Error, general.Refer to the

system service documentation for more information.

Error log information:

Date:Wed Nov 09 17:11:45 CST 2005

Sequence number: 11

Label:SCAN_ERROR_CHRP

Priority:L  FRU:ACMODUL Location:

U787B.001.DNW108F

? 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>要退出 mail 命令，可以按 q。</P>
<P>Diagnostics Automatic Error Log Analysis (diagela) 提供了在记录永久硬件错误的时候进行错误日志分析的功能。它不会进行任何自动测试工作。如果诊断程序确定该错误需要一项服务操作，那么它将向您的控制台和所有的系统组发送一个消息。消息包含 SRN、或者一项纠正的操作。在 BOS 安装时，缺省情况下将禁用 diagela。</P>
<P>下面的示例显示了另一个 diagela 消息：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE >From root Tue Nov 22 15:18:46 2005

Date:Tue, 22 Nov 2005 15:18:46 -0600

From:root

To:root

Subject:diagela message from server3

A PROBLEM WAS DETECTED ON Tue Nov 22 15:18:46 CST 2005                    801014

The Service Request Number(s)/Probable Cause(s)

(causes are listed in descending order of probability):

57D-129:Error log analysis indicates a SCSI bus problem.

Error log information:

Date:Tue Nov 22 15:18:39 CST 2005

Sequence number: 80

Label:DISK_ERR3

n/a              FRU:n/a                 SCSI bus problem:cables,

terminators or other SCSI

devices

U787B.001.DNW108F-P1-T14-L8-L0

hdisk7           FRU:00P3833             16 Bit LVD SCSI Disk Drive

(73400 MB)

U787B.001.DNW108F-P1-T14-L8-L0

sisioa1          FRU:80P5530             PCI-X Dual Channel U320 SCSI

RAID Adapter

U787B.001.DNW108F-P1

n/a              FRU:n/a                 Software

U787B.001.DNW108F-P1-T14-L8-L0
</PRE></TD></TR></TBODY></TABLE><BR>
<P>从这封邮件的内容可以看出，server3 的 U320 SCSI RAID 适配器上的 hdisk7 出现了问题。</P>
<P>另一个使用邮件消息的命令的示例是 crontab。因为 crontab 运行于后台，无需与用户进行交互，所以它将发送一封邮件，其中包含调度程序的输出。</P>
<P>示例 crontab 输出消息可能与下面的内容类似：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE >From daemon Wed Nov 23 11:07:01 2005

Date:Wed, 23 Nov 2005 11:07:01 -0600

From:daemon

To:root

Subject:Output from cron job /usr/sbin/nonexistingprogram, root@server3, exit status 127

Cron Environment:

SHELL =

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin
:/usr/java14/bin

CRONDIR=/var/spool/cron/crontabs

ATDIR=/var/spool/cron/atjobs

LOGNAME=root

HOME=/

Your "cron" job executed on server3 on Wed Nov 23 11:07:00 CST 2005

/usr/sbin/nonexistingprogram

produced the following output:

sh:/usr/sbin/nonexistingprogram:not found.

*****************************************************************

cron:The previous message is the standard output

and standard error of one of the cron commands.
</PRE></TD></TR></TBODY></TABLE><BR>
<P>产生这个错误消息的原因是 /usr/sbin/nonexistingprogram 不存在。</P>
<P>其他软件包，尤其是那些与安全性相关的软件包，可以指定具体的管理员。例如，在出现了安全性破坏、非法的文件权限更改、或者未经授权的 passwd 文件访问等情况下，系统管理员都将接收到一则消息。 </P><BR>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"><BR><IMG height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8 border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 align=right>
<TBODY>
<TR align=right>
<TD><IMG height=4 alt="" src="http://www.ibm.com/i/c.gif" width="100%"><BR>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=center><IMG height=16 alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width=16 border=0><BR></TD>
<TD vAlign=top align=right><A href="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/1.html#main" cmImpressionSent="1"><B><FONT color=#996699>回页首</FONT></B></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><BR>
<P><A ><SPAN >系统转储工具</SPAN></A></P>
<P>在发生严重错误的时候，您的系统将生成系统转储。还可以由具有 root 用户权限的用户发起系统转储。系统转储将为您系统的内存内容建立一份快照。在调试新的应用程序时，系统管理员和程序员可以生成转储，并分析其中的内容。 </P>
<P><A ><SPAN ><STRONG><FONT size=3>配置转储设备</FONT></STRONG></SPAN></A></P>
<P>当您安装操作系统时，将自动地为您配置转储设备。在缺省情况下，主设备是 /dev/hd6，它是一个分页逻辑卷，而辅助设备是 /dev/sysdumpnull。</P>
<P><B>说明：如果您的系统具有</B> <B>4 GB </B><B>或者更多的内存，那么缺省转储设备是</B> <B>/dev/lg_dumplv</B> <B>，并且它是一个专门的转储设备。</B> </P>
<P>可以将转储设备配置为磁带、或者硬盘上的逻辑卷，以便存储系统转储。主转储设备是一个专门的转储设备，而辅助转储设备则是共享的。</P>
<P><B>说明：如果您使用分页的设备作为转储设备，那么只能使用</B> <B>hd6</B> <B>，这是主分页空间。如果您使用了可移动设备，如磁带或</B> <B>DVD</B> <B>，那么请注意，转储不能够跨卷；因此，转储必须仅限于单个卷。</B> </P>
<P>在一个运行的系统中，可以使用 sysdumpdev 命令来更改所指定的主转储设备、或者辅助转储设备，如下面的示例所示：</P>
<P>要列出当前的转储目标，可以使用下面命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># sysdumpdev -l                      

primary              /dev/hd6        

secondary            /dev/sysdumpnull

copy directory       /var/adm/ras    

forced copy flag     TRUE            

always allow dump    FALSE           

dump compression     ON              

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>下面的示例显示了将主转储设备从 /dev/hd6 更改为逻辑卷 /dev/dumpdev 的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># sysdumpdev -P -p /dev/dumpdev      

primary              /dev/dumpdev    

secondary            /dev/sysdumpnull

copy directory       /var/adm/ras    

forced copy flag     TRUE            

always allow dump    TRUE            

dump compression     ON              

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P><B>说明：您可以使用根卷组之外的转储逻辑卷，如果它不是一个永久的转储设备，例如，如果没有指定</B> <B>-P </B><B>标志。然而，如果您选择分页的空间，那么除非它位于</B> <B>rootvg</B> <B>，否则您将无法复制该转储设备。在此过程中，系统必须复制转储设备；在分页开始之前，只有</B> <B>rootvg </B><B>是活动的。</B> </P>
<P>要显示有关以前的转储的统计信息，可以输入下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># sysdumpdev -L                                   

0453-039                                          

                                                  

Device name:/dev/hd6                     

Major device number: 10                           

Minor device number: 2                            

Size:65765888 bytes               

Uncompressed Size:643336319 bytes              

Date/Time:Mon Nov 21 10:43:09 CST 2005 

Dump status:         0                            

dump completed successfully                       

Dump copy filename:/var/adm/ras/vmcore.3.Z       

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>增加转储设备的大小</P>
<P>请参考下面的部分，以便为您的转储逻辑卷确定合适的大小，以及增加逻辑卷或分页空间逻辑卷的大小。</P>
<P><B>确定转储设备的大小</B> </P>
<P>进行转储所需的大小并不是一个常数值，因为系统并不转储分页空间；只有那些位于实际内存中的数据才会被进行转储。通常，可以使用分页空间逻辑卷来保存系统转储。然而，因为不完整的转储毫无用处可言，所以请按照下面的步骤执行，以确保您具有足够大的转储空间。</P>
<P>当发生系统转储时，将转储实际内存中内核段的所有内容（该内核段为段 0）。还将对常驻内存的用户数据（如 U 区）进行转储。</P>
<P>最好使用 sysdumpdev -e 命令来确定转储空间的最小大小。这将得到一个估计的转储大小，其中考虑到了系统当前所使用的内存。如果对转储进行压缩，那么这个估计值表示经过压缩后的转储的大小，而不是原始大小。通常，压缩的转储大小估计值要比实际的大小大得多。这是因为无法预计压缩算法的效率。您还应该确保，相对于所估计的大小，转储设备的容量足够大，以避免丢失转储数据。</P>
<P>例如，可以输入：</P>
<P># sysdumpdev -e </P>
<P>0453-041 Estimated dump size in bytes: 120586240 </P>
<P># </P>
<P>转储设备的大小至少应该为 120586249 字节或者 115 MB。</P>
<P>例如，如果您需要增加主转储设备的大小，可以执行下列步骤：</P>
<P>1. 输入 sysdumpdev 命令，以列出各个转储设备：</P>
<P># sysdumpdev -l </P>
<P>primary /dev/hd6 </P>
<P>secondary /dev/sysdumpnull </P>
<P>。。。</P>
<P># </P>
<P>2. 确定主转储设备的逻辑卷类型：</P>
<P># lslv hd6 </P>
<P>LOGICAL VOLUME:hd6 VOLUME GROUP:rootvg </P>
<P>LV IDENTIFIER:00c5e9de00004c00000001077c447899.2 PERMISSION:</P>
<P>read/write </P>
<P>VG STATE:active/complete LV STATE:opened/syncd </P>
<P>TYPE:paging WRITE VERIFY:off </P>
<P>MAX LPs:512 PP SIZE:128 megabyte(s) </P>
<P>3. 增加转储设备的大小：</P>
<P>a. 如果您已经证实了您的转储设备为分页空间（如本示例中所示），那么请参考 5.10“分页空间”。</P>
<P>b. 如果您已经证实了您的转储设备类型为 sysdump，那么可以使用 extendlv 命令来增加可用的空间。请参见 6.5“LVM 命令的汇总”。</P>
<P><A ><SPAN ><STRONG><FONT size=3>启动系统转储</FONT></STRONG></SPAN></A></P>
<P>可以由系统或者用户来发起转储工作。 </P>
<P>系统发起的转储</P>
<P>如果您的系统停止运行，并在操作员面板显示屏中出现闪烁的数值 888，则表示系统已经生成了一个转储，并将其保存到了主转储设备。</P>
<P><B>了解闪烁的</B> <B>888 </B><B>错误消息</B> </P>
<P>如果操作员面板显示屏中出现 888 序列，则表示检测到了硬件或者软件问题，同时还提供了相关的诊断消息。</P>
<P>请执行下列步骤，以记录 888 序列消息中所包含的信息：</P>
<P>1. 等到显示 888 序列。</P>
<P>2. 按顺序记录 888 后面所显示的每个代码。如果系统使用了 3 位或者 4 位的操作员面板，那么您可能需要按 Reset 按钮以查看 888 后面附加的数值。有些系统使用一个 Advance 按钮以执行这项任务，或者 Increment 和 Decrement 按钮（请参见图 5）。</P>
<P>3. 当再次出现 888 时，停止记录。</P>
<P>所记录的第一个代码的值为 102，这表示在系统执行一个应用程序的过程中出现了软件或者硬件问题，如图 4 所示。值 mmm 表示停止的原因和崩溃代码（请参见表 4），而值 ddd 则表示转储状态和转储代码</P><BR><A ><B>图 4 意外的系统停止 - 3 位的显示屏字符串</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/1-4.jpg"> <BR>
<P><B>崩溃代码</B> </P>
<P>下面的崩溃代码是 Type 102 消息中的一部分。这些崩溃代码可以分为三种类别：</P>
<P><B>类别</B> <B>1</B>——在问题确定过程中，转储分析是首选的操作。通过软件支持来开始问题确定工作（表 1）。</P>
<P><B>类别</B> <B>2</B>——在问题确定过程中，转储分析很可能起不到什么帮助作用。通过硬件支持来开始问题确定工作（表 2）。</P>
<P><B>类别</B> <B>3</B>——在问题确定过程中，同时需要软件和硬件支持（表 3）。</P>
<P>表 1 类别 1 崩溃进展代码</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TH scope=row>进展代码 </TH>
<TH scope=row>描述/应用程序 </TH></TR>
<TR>
<TD>300 </TD>
<TD>处理器数据存储中断 </TD></TR>
<TR>
<TD>32x </TD>
<TD>因为 IOCC 的 IO 异常而导致的数据存储中断 </TD></TR>
<TR>
<TD>38x </TD>
<TD>因为 SLA 的 I/O 异常而导致的数据存储中断 </TD></TR>
<TR>
<TD>400 </TD>
<TD>指令存储中断 </TD></TR>
<TR>
<TD>700 </TD>
<TD>程序中断 </TD></TR></TBODY></TABLE><BR>
<P>表 2 类别 2 崩溃进展代码</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TH scope=row>进展代码 </TH>
<TH scope=row>描述/应用程序 </TH></TR>
<TR>
<TD>200 </TD>
<TD>由于内存总线错误（RAS/CAS 校验）而导致的计算机检查 </TD></TR>
<TR>
<TD>201 </TD>
<TD>由于内存超时而导致的计算机检查 </TD></TR>
<TR>
<TD>202 </TD>
<TD>由于内存卡故障而导致的计算机检查 </TD></TR>
<TR>
<TD>203 </TD>
<TD>由于地址异常而导致的计算机检查：地址超出范围 </TD></TR>
<TR>
<TD>204 </TD>
<TD>由于企图存储到 R 而导致的计算机检查 </TD></TR>
<TR>
<TD>205 </TD>
<TD>由于无法校正的错误校正代码，以及地址校验而导致的计算机检查 </TD></TR>
<TR>
<TD>206 </TD>
<TD>由于无法校正的错误校正代码而导致的计算机检查 </TD></TR>
<TR>
<TD>207 </TD>
<TD>由于未定义的错误而导致的计算机检查 </TD></TR>
<TR>
<TD>208 </TD>
<TD>由于 L2 无法校正的 ECC 而导致的计算机检查 </TD></TR>
<TR>
<TD>500 </TD>
<TD>因为 Scrub 内存错误而导致的外部中断 </TD></TR>
<TR>
<TD>501 </TD>
<TD>因为未定义的错误而导致的外部中断 </TD></TR>
<TR>
<TD>51x </TD>
<TD>因为 DMA 内存总线错误而导致的外部中断 </TD></TR>
<TR>
<TD>52x </TD>
<TD>外部中断 </TD></TR>
<TR>
<TD>53x </TD>
<TD>因为 IOCC 总线超时而导致的外部中断 </TD></TR>
<TR>
<TD>54x </TD>
<TD>因为 IOCC 键盘检查而导致的外部中断 </TD></TR>
<TR>
<TD>800 </TD>
<TD>浮点不可用 </TD></TR></TBODY></TABLE><BR>
<P>表 3 类别 3 崩溃进展代码</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TH scope=row>进展代码 </TH>
<TH scope=row>描述/应用程序 </TH></TR>
<TR>
<TD>000 </TD>
<TD>异常系统中断。 </TD></TR>
<TR>
<TD>558 </TD>
<TD>没有足够的内存以继续 IPL。 </TD></TR></TBODY></TABLE><BR>
<P>表 4 显示了系统转储代码。</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TH scope=row>代码 </TH>
<TH scope=row>描述 </TH></TR>
<TR>
<TD>0c0 </TD>
<TD>转储成功地完成。 </TD></TR>
<TR>
<TD>0c2 </TD>
<TD>转储开始。 </TD></TR>
<TR>
<TD>0c3 </TD>
<TD>转储被禁止。 </TD></TR>
<TR>
<TD>0c4 </TD>
<TD>转储完成，但是不成功。转储设备上没有足够的可用空间。部分转储可用。 </TD></TR>
<TR>
<TD>0c5 </TD>
<TD>转储启动失败。在尝试写入转储设备时，发生异常错误。 </TD></TR>
<TR>
<TD>0c7 </TD>
<TD>网络转储进行中。 </TD></TR>
<TR>
<TD>0c8 </TD>
<TD>转储已禁用。系统配置中没有包括转储设备。 </TD></TR>
<TR>
<TD>0c9 </TD>
<TD>开始系统发起的转储。 </TD></TR></TBODY></TABLE><BR>
<P>表 4</P>
<P>系统转储代码</P>
<P>当系统转储完成后，系统将停止或者重新启动，这取决于 sys0 的自动重启属性的设置：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># lsattr -El sys0 -a autorestart

autorestart true Automatically REBOOT system after a crash True

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>您可以输入下面的命令来更改这个设置：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># chdev -l sys0 -a autorestart=false

sys0 changed

# lsattr -El sys0 -a autorestart

autorestart false Automatically REBOOT system after a crash True

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P><B>用户发起的转存</B> </P>
<P>有很多种方式可以让用户发起系统转存，当然还要视当前系统的状态而定。下面介绍了这些方法：</P>
<P><B>从命令行启动系统转存</B> </P>
<P>如果你从命令行启动系统转存，那么你可以使用 sysdumpstart 命令，配合 -p 标志使用是转存在主设备上，而配合 -s 标志的话将转存到辅助设备上。</P>
<P><B>从服务器的控制面板上启动系统转存</B> </P>
<P>如果 HMC 设备没有和你的服务器连接，那么你可以在控制面板上初始化一个系统转存。</P>
<P>注意：服务器的控制面板是你对服务器初始化的接口。你可以使用它对服务器进行例如 IPL(initial program load）、服务器启动、关闭等操作。控制面板的功能范围覆盖从显示机器状体（如 IPL 的速度）的高级功能到比较低级的功能，如开机，关机等。</P>
<P>表 5 描述了每一个组件的功能。</P><BR><A ><B>图 5 展示了一种控制面板的样式</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/1-5.jpg"> <BR>
<P>表 5 控制面板的各个组件</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TH scope=row>组件 </TH>
<TH scope=row>功能描述 </TH></TR>
<TR>
<TD>A </TD>
<TD>电源按钮 </TD></TR>
<TR>
<TD>B </TD>
<TD>启动/关闭电源指示 </TD></TR>
<TR>
<TD>C </TD>
<TD>型号和服务器序列号标识 </TD></TR>
<TR>
<TD>D </TD>
<TD>功能和数据显示屏 </TD></TR>
<TR>
<TD>E </TD>
<TD>串口 1 接口 </TD></TR>
<TR>
<TD>F </TD>
<TD>电源指示灯：<BR>闪烁的信号表示服务器已经接通了电源，但是还没有启动。<BR>常亮的信号表述服务器已经启动，电源正常。 </TD></TR>
<TR>
<TD>G </TD>
<TD>系统警告指示灯 </TD></TR>
<TR>
<TD>H </TD>
<TD>减号键 </TD></TR>
<TR>
<TD>I </TD>
<TD>Enter 键 </TD></TR>
<TR>
<TD>J </TD>
<TD>加号键 </TD></TR></TBODY></TABLE><BR>
<P>使用服务器的控制面板启动一个系统转存你可以按照下面的例子来进行操作</P>
<P>1.将控制面板设置为手动模式：</P>
<P>a.使用加号键切换到功能 02：</P>
<P>0 2 _ _ _ _ _ _ _ _ _ _ _ _ _ _</P>
<P>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _</P>
<P>b.按 Enter 键启动功能 02：</P>
<P>c.在此按 Enter 键，移动到功能 02 的第二个字符。当前的系统运行模式将和一个箭头显示在一起。</P>
<P>0 2 _ _ B _ _ N &lt; _ _ _ _ _ _ _</P>
<P>_ _ _ _ _ _ _ _ _ _ _ _ P _ _ _</P>
<P>d.使用加号键选择系统的运行模式，并设置为 M。</P>
<P>0 2 _ _ B _ _ M &lt; _ _ _ _ _ _ _</P>
<P>_ _ _ _ _ _ _ _ _ _ _ _ P _ _ _</P>
<P>e.按 Enter 键确认选择系统模式。</P>
<P>f.在此按 Enter 键推出功能 02。</P>
<P>这时你的系统进入了手动模式。</P>
<P>2.使用功能 22 （分区转存功能）将分区中的操作系统数据进行转存：</P>
<P>a.用加号或者减号键选择功能 22。</P>
<P>2 2 _ _ _ _ _ _ _ _ _ _ _ _ _ _</P>
<P>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _</P>
<P>b.按 Enter 键启动功能 22。</P>
<P>2 2 _ _ _ _ 0 0 _ _ _ _ _ _ _ _</P>
<P>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _</P>
<P>c.面板的显示屏将显示转存的进度。</P>
<P>A 1 0 0 3 0 2 2 _ _ _ _ _ _ _ _</P>
<P>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _</P>
<P>d.用加号或者减号键选择功能 22。</P>
<P>2 2 _ _ _ _ _ _ _ _ _ _ _ _ _ _</P>
<P>_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _</P>
<P>e.按 Enter 键启动功能 22。</P>
<P>2 2 _ _ _ _ 0 0 _ _ _ _ _ _ _ _</P>
<P>系统转存初始化完成。</P>
<P><B>使用特定的按键序列启动系统转存</B> </P>
<P>你可以使用下面的特定的按键序列来初始化系统转存：</P>
<UL>
<LI>使用”Ctrl-Alt-小键盘 1“向主设备写入转存信息。 
</LI><LI>使用”Ctrl-Alt-小键盘 2“向辅助设备写入转存信息。 </LI></UL>
<P><B>注意：系统在缺省的情况下不会在按下上面的特定按键序列后就启动系统转存。你需要执行下面的命令来实现这个功能。</B> </P>
<P><B># sysdumpdev -K</B> </P>
<P><B>从</B> <B>HMC </B><B>启动系统转存</B> </P>
<P>为了从 HMC 初始化一个系统转存，你需要按照下面的指示进行操作：</P>
<P>1.在 HMC 的控制台上选中你需要转存的分区，然后点击鼠标的右键，将显示如图 6 的一个菜单。</P>
<P>2.点击鼠标左键，选择 Restart Partition ，然后会出现一个新的如图 7 一样的窗口。</P>
<P>3.在新窗口中选择 Dump 并点击 OK 来开始系统转存。</P><BR><A ><B>图 6 右键菜单中的 Restart Partition 选项</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/1-6.jpg"> <BR>
<P>图 7 新菜单中的 Dump 选项</P><BR><A ><B>图 7 新菜单中的 Dump 选项</B></A><BR><IMG alt="" src="http://www.ibm.com/developerworks/cn/aix/redbooks/test222/problem-determine/1-7.jpg"> <BR>
<P><A ><SPAN ><STRONG><FONT size=3>复制系统转储</FONT></STRONG></SPAN></A></P>
<P>pax 命令允许您复制、创建和修改大于 2 GB 的文件，如系统转储，可以将它从一个地方复制到另一个地方。在迁移转储的过程中，该命令是非常有价值的，因为 tar 和 cpio 命令（在以前的 AIX 版本中，使用这两个命令来复制转储）不能处理大于 2 GB 的文件。pax 命令还可以用于查看和修改 tar 和 cpio 格式的文件。</P>
<P>pax 命令的语法提供了许多标志。表 6 显示了 pax 命令的常用标志。要获得各种选项的完整列表，请参考 pax 的手册页面。</P>
<P>表 6 pax 命令常用标志</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TH scope=row>标志 </TH>
<TH scope=row>描述 </TH></TR>
<TR>
<TD>-a </TD>
<TD>将文件追加到存档的末尾。 </TD></TR>
<TR>
<TD>-c </TD>
<TD>匹配所有文件和存档成员，除了那些由 Pattern 参数所指定的内容之外。 </TD></TR>
<TR>
<TD>-d </TD>
<TD>使正在复制、存档或提取的目录仅匹配目录本身而不是目录的内容。 </TD></TR>
<TR>
<TD>-f Archive </TD>
<TD>指定用来取代标准输入（在未指定 -w 标志时）或标准输出（在指定了 -w 标志但未指定 -r 标志时）的存档文件的路径。 </TD></TR>
<TR>
<TD>-i </TD>
<TD>以交互的方式对文件或者存档进行重命名。 </TD></TR>
<TR>
<TD>-k </TD>
<TD>防止 pax 命令覆盖现有的文件。 </TD></TR>
<TR>
<TD>-r </TD>
<TD>从标准输入读取一个存档文件。 </TD></TR>
<TR>
<TD>-v </TD>
<TD>写入关于进程的信息。如果 -r 和 -w 标志均未指定，那么 -v 标志将产生详细的目录；否则，将存档成员路径名写入到标准错误。 </TD></TR>
<TR>
<TD>-w </TD>
<TD>将文件以指定的存档格式写入到标准输出。 </TD></TR>
<TR>
<TD>-x Format<BR></TD>
<TD>指定输出存档格式。在复制模式中，如果没有指定格式，那么在缺省情况下，pax 将使用 pax 格式。<BR></TD></TR></TBODY></TABLE><BR>
<P>通过使用 -x 标志，pax 命令可以以下列三种格式之一输出存档：</P>
<P><B>pax</B>——缺省的交换格式。这种格式可以支持大于 2 GB 的文件。</P>
<P><B>cpio</B>——扩展的 cpio 交换格式。</P>
<P><B>ustar</B>——扩展的 tar 交换格式。</P>
<P><B>说明：如果在存档文件操作的过程中没有指定</B> <B>-x </B><B>标志，那么在缺省情况下，</B> <B>pax </B><B>命令将输出</B> <B>tar </B><B>格式的存档。</B> </P>
<P>例如，要查看 tar 文件 /tmp/test.tar 中的内容，可以运行下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># pax -vf /tmp/test.tar                                         

USTAR format archive                                            

-rw-r--r--  0 root     system    344834 Nov 22 16:39 ./services 

-rw-rw-r--  0 root     system      1836 Nov 22 18:37 ./hosts    

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>要在磁带中创建一个包含两个文件的 pax 命令存档，可以运行下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># pax -x pax -wvf /dev/rmt0 /var/adm/ras/cfglog /var/adm/ras/nimlog

/var/adm/ras/cfglog 

/var/adm/ras/nimlog 

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>要将 tar 文件 /tmp/test.tar 展开到当前目录，可以运行下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># pax -rvf /tmp/test.tar 

USTAR format archive     

./services               

./hosts                  

# 
</PRE></TD></TR></TBODY></TABLE><BR>
<P>要将文件 run.pax 复制到 /tmp 目录，可以运行下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># pax -rw run.pax /tmp
</PRE></TD></TR></TBODY></TABLE><BR>
<P><A ><SPAN ><STRONG><FONT size=3>编译和复制系统信息到媒体上</FONT></STRONG></SPAN></A></P>
<P>snap 命令用于收集系统的配置信息。它提供了一种简便的方法，以便将 lslpp 和 errpt 的输出发送到您的服务支持中心。它可以收集各种信息，并将信息压缩为一个 pax 文件。然后，可以将该文件写入到某个设备，如磁带或者 DVD，或者将其传输到某个远程系统。在确定和解决系统问题时，可能需要 snap 命令所收集的各种信息。</P>
<P><B>说明：执行</B> <B>snap </B><B>命令需要</B> <B>root </B><B>用户的权限。</B> </P>
<P>表 7 显示了 snap 命令的常用标志。</P>
<P>表 7</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TH scope=row>标志 </TH>
<TH scope=row>描述 </TH></TR>
<TR>
<TD>-a </TD>
<TD>收集所有系统配置信息。这个选项大约需要 8 MB 的临时磁盘空间。 </TD></TR>
<TR>
<TD>-c </TD>
<TD>创建 /tmp/ibmsupt目录树或其他指定输出目录中的所有文件的压缩 pax 映像（snap.pax.Z 文件）。 </TD></TR>
<TR>
<TD>-D </TD>
<TD>收集转储和 /unix 信息。使用主转储设备。 </TD></TR>
<TR>
<TD>-d Directory </TD>
<TD>标识可选的 snap 命令输出目录（/tmp/ibmsupt 是缺省目录）。 </TD></TR>
<TR>
<TD>-f </TD>
<TD>收集文件系统信息。 </TD></TR>
<TR>
<TD>-g </TD>
<TD>收集 lslpp -hBc 命令的输出，在重新创建正确的操作系统环境时，需要使用该命令。将输出写入到 /tmp/ibmsupt/general/lslpp.hac 文件。它还可以收集常规系统信息，并将输出写入到 /tmp/ibmsupt/general/general.snap 文件。 </TD></TR>
<TR>
<TD>-k </TD>
<TD>收集内核信息。 </TD></TR>
<TR>
<TD>-L </TD>
<TD>收集 LVM 信息。 </TD></TR>
<TR>
<TD>-o OutputDevice </TD>
<TD>将压缩映像复制到磁盘或磁带上。 </TD></TR>
<TR>
<TD>-r </TD>
<TD>从 /tmp/ibmsupt 目录中删除 snap 命令的输出。 </TD></TR>
<TR>
<TD>-v Component </TD>
<TD>显示 snap 命令所执行的命令的输出。可以使用这个标志来查看指定的文件名或者文件组。 </TD></TR></TBODY></TABLE><BR>
<P>snap 命令的常用标志</P>
<P>snap 命令的缺省输出目录是 /tmp/ibmsupt。如果您希望指定一个可选的目录，那么可以使用 -d 选项加上所需的输出目录的路径。在执行所有的 snap 命令选项时，大约需要 8 MB 的临时磁盘空间。清除选项 -r 应该用于删除由 snap 命令所保存的信息，并重新获得磁盘空间。</P>
<P>例如，要将常规系统信息（包括文件系统、内核参数和转储信息）复制到 rmt0，可以输入下面的命令：</P>
<TABLE cellSpacing=0 cellPadding=0 width="70%" border=0>
<TBODY>
<TR>
<TD ><PRE ># /usr/sbin/snap -gfkD -o /dev/rmt0
</PRE></TD></TR></TBODY></TABLE><BR>
<P><B>说明：如果您打算使用磁带将</B> <B>snap </B><B>映像发送到</B> <B>IBM </B><B>以进行软件支持，那么磁带必须为下列格式之一：</B> </P>
<UL>
<UL>
<LI><B>8 </B><B>毫米，</B> <B>2.3 GB </B><B>容量</B> 
</LI><LI><B>8 </B><B>毫米，</B> <B>5.0 GB </B><B>容量</B> 
</LI><LI><B>4 </B><B>毫米，</B> <B>4.0 GB </B><B>容量</B> </LI></UL></UL>
<P>如果使用其他格式，将会阻碍或耽搁 IBM 软件支持部门对其中的内容进行分析。</P>
<P>在执行 snap -c 或者 snap -o 命令之前，应该将您的服务支持中心所需的任何附加信息复制到 /tmp/ibmsupt 目录。例如，您的服务支持中心可能要求您提供一个说明该问题的测试用例。应该将测试用例复制到 /tmp/ibmsupt/testcase 目录。在执行带 -c 或者 -o 选项的 snap 命令时，将包含相应的测试用例。 </P>
<P><A ><SPAN ><STRONG><FONT size=3>分析系统转储</FONT></STRONG></SPAN></A></P>
<P>kdb 命令允许您检查系统转储、或者正在运行的内核。kdb 命令解释并格式化系统的控制结构，并为检查转储提供了各种函数。</P>
<P>kdb 命令的语法为：</P>
<P>kdb [flags] [ SystemImageFile [ KernelFile [KernelModule ... ]]]</P>
<P>SystemImageFile 参数可用于指定包含系统映像的文件。其值可以表示系统转储、转储设备的名称、或者 /dev/pmem 特殊文件。缺省的 SystemImageFile 为 /dev/pmem。</P>
<P>KernelFile 参数指定 kdb 用来解析内核符号定义的 AIX 5L 内核。内核文件必须是可用的。在检查系统转储时，内核文件必须与用于获取系统转储的内核相同。KernelFile 的缺省值为 /unix。</P>
<P>KernelModule 参数指定 kdb 用来解析内核文件本身中未找到的符号定义的其他任何内核模块的文件名。</P>
<P>例如，要针对名为 /var/adm/ras/vmcore.0 的转储文件和名为 /unix 的内核文件调用 kdb 命令，可以输入下面的命令：</P>
<P># kdb /var/adm/ras/vmcore.0 /unix</P>
<P>kdb 程序返回一个 (0)&gt; 提示符，并等待输入一个子命令。</P>
<P>说明：kdb 命令使用内核文件来解析转储文件中的符号名称。在命令行中指定的内核文件必须是在创建系统转储时所运行的内核文件。 </P><BR>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><IMG height=1 alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%"><BR><IMG height=6 alt="" src="http://www.ibm.com/i/c.gif" width=8 border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 align=right>
<TBODY>
<TR align=right>
<TD><IMG height=4 alt="" src="http://www.ibm.com/i/c.gif" width="100%"><BR>
<TABLE cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD vAlign=center><IMG height=16 alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif