Chinaunix首页 | 论坛 | 博客
  • 博客访问: 818465
  • 博文数量: 162
  • 博客积分: 5308
  • 博客等级: 大校
  • 技术积分: 2152
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-15 19:09
个人简介

DevOps让系统管理更轻松。

文章分类

全部博文(162)

文章存档

2014年(28)

2012年(10)

2011年(6)

2009年(60)

2008年(58)

我的朋友

分类:

2009-01-30 17:42:14

前几天遇到AIX的0517故障,查了下资料,觉得下面不错,记了下来!
 

多种因素可以导致系统不能引导:
硬件问题
有缺陷的引导磁带或 CD-ROM
不正确配置的网络引导服务器
已毁坏的文件系统
脚本(例如 /sbin/rc.boot)中的错误
有关访问不能从磁盘驱动器引导的系统的信息,请参阅访问不能引导的系统。
创建引导映象
要安装基本操作系统或访问将不从系统硬盘驱动器引导的系统,需要一个引导映象。此过程描述了如何创建引导映象。引导映象根据每种类型的设备而不同。相关的 RAM 磁盘文件系统包含以下设备的设备配置例程:
磁盘
磁带
CD-ROM
网络令牌环、以太网或 FDDI 设备
先决条件
必须有 root 用户权限以使用 bosboot 命令。
/tmp 文件系统必须至少有 20 MB 的可用空间。
物理磁盘必须包含引导逻辑卷。要确定指定哪个磁盘设备,请在命令提示符下输入以下内容:
lsvg -l rootvg
lsvg -l 命令列出了 root 卷组(rootvg)上的逻辑卷。您可以从此列表上查找引导逻辑卷的名称。然后在命令提示符下输入以下内容:
lsvg -M rootvg
lsvg -M 命令列出了包含不同逻辑卷的物理磁盘。
在引导逻辑卷上创建引导映象
如果正在安装基本操作系统(新的安装或更新),则调用 bosboot 命令将引导映象放置在引导逻辑卷上。引导逻辑卷是在磁盘上物理相邻的区域,在安装期间通过“逻辑卷管理器”(LVM)来创建它。
bosboot 命令执行以下操作:
检查文件系统以查看是否有足够空间创建引导映象。
使用 mkfs 命令和原型文件创建 RAM 文件系统。
调用 mkboot 命令,该命令将内核和 RAM 文件系统合并到引导映象。
将引导映象写到引导逻辑卷。
要在固定磁盘的缺省引导逻辑卷上创建引导映象,请在命令提示符下输入以下内容:

bosboot -a
或者:

bosboot -ad /dev/ipldevice
注:如果创建引导映象时 bosboot 命令失败,则不要重新引导机器。解决该问题并运行 bosboot 命令以成功完成。
为了让新的引导映象可用,必须重新引导系统。
创建网络设备的引导映象
要创建以太网引导的引导映象,请在命令提示符下输入以下内容:

bosboot -ad /dev/ent
对于令牌环引导:

bosboot -ad /dev/tok
确定系统运行级别
在操作系统上执行维护或更改系统运行级别前,可能需要检查不同的运行级别。此过程描述了如何确定系统正在运行的运行级别和如何显示先前运行级别的历史记录。init 命令确定系统运行级别。
标识当前运行级别
在命令行中输入 cat /etc/.init.state。系统显示一个数字;它是当前运行级别。有关运行级别的更多信息,请参阅 init 命令或 /etc/inittab 文件。
显示先前运行级别的历史记录
可以使用 fwtmp 命令显示先前运行级别的历史记录。

注:必须在系统上安装 bosext2.acct.obj 代码以使用此命令。
作为 root 用户登录。
在命令提示符下输入以下内容:
/usr/lib/acct/fwtmp 系统显示与以下类似的信息:

run-level 2  0 1 0062 0123 697081013 Sun Feb  2 19:36:53 CST 1992
run-level 2  0 1 0062 0123 697092441 Sun Feb  2 22:47:21 CST 1992
run-level 4  0 1 0062 0123 698180044 Sat Feb 15 12:54:04 CST 1992
run-level 2  0 1 0062 0123 698959131 Sun Feb 16 10:52:11 CST 1992
run-level 5  0 1 0062 0123 698967773 Mon Feb 24 15:42:53 CST 1992
更改系统运行级别
此过程描述了更改多用户或单用户系统的系统运行级别的两种方法。
第一次启动系统时,它进入缺省运行级别,该缺省运行级别通过 /etc/inittab 文件中的 initdefault 项来定义。系统在该运行级别操作,直至其接收到更改它的信号。
以下是当前定义的运行级别:
0-9 当 init 命令更改为运行级别 0-9 时,它杀死当前运行级别的所有进程,然后重新启动与新运行级别相关的任何进程。
0-1 为操作系统保留以供将来使用。
2 缺省运行级别。
3-9 可以根据用户的首选项来定义。
a、b、c 当 init 命令请求更改为运行级别 a、b 或 c 时,它不杀死当前运行级别的进程;它仅仅启动用新的运行级别分配的任何进程。
Q、q 告知 init 命令重新检查 /etc/inittab 文件。
更改多用户系统上的运行级别
检查 /etc/inittab 文件以确认修改成的运行级别支持正在运行的进程。getty 进程特别重要,因为它控制系统控制台和其他登录的终端线访问。请确保在所有运行级别中启用了 getty 进程。
使用 wall 命令来通知所有用户您打算更改运行级别并请求用户注销。
使用 smit telinit 快速路径来访问“设置系统运行级别”菜单。
在“系统运行级别”字段中输入新的运行级别。
按下 Enter 键以实现此过程中的所有设置。
系统通过告知您哪些进程按照运行级别的更改结果终止或启动,并通过显示消息来反馈:

INIT:新的运行级别:n
此处 n 是新的运行级别号。
更改单用户系统上的运行级别
检查 /etc/inittab 文件以确认修改成的运行级别支持正在运行的进程。getty 进程特别重要,因为它控制系统控制台和其他登录的终端线访问。请确保在所有运行级别启用了 getty 进程。
使用 smit telinit 快速路径来访问“设置系统运行级别”菜单。
在“系统运行级别”字段中输入新的系统运行级别。
按下 Enter 键以实现此过程中的所有设置。
系统通过告知您哪些进程按照运行级别的更改结果终止或启动,并通过显示消息来反馈:

INIT:新的运行级别:n
此处 n 是新的运行级别号。
运行级别脚本执行
运行级别脚本允许用户在更改运行级别时启动或停止选定的应用程序。
将运行级别脚本放置到特定于运行级别的 /etc/rc.d 的子目录中:
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc/rc.d/rc6.d
/etc/rc.d/rc7.d
/etc/rc.d/rc8.d
/etc/rc.d/rc9.d
/etc/rc.d/rc 将运行它在特定的目录中发现的启动脚本,并在运行级别更改时执行该脚本。该脚本会先停止应用程序脚本,然后启动应用程序脚本。

注:
以 K 开头的脚本是停止脚本,而以 S 开头的脚本是启动脚本。
更改 /etc/inittab 文件
本节包含了使用四个命令(chitab、lsitab、mkitab 和 rmitab)的过程,这四个命令修改 etc/inittab 文件中的记录。
添加记录 - mkitab 命令
要将记录添加到 /etc/inittab 文件,请在命令提示符下输入以下内容:

mkitab Identifier:Run Level:Action:Command
例如,要添加 tty2 的记录,请在命令提示符下输入以下内容:

mkitab tty002:2:respawn:/usr/sbin/getty /dev/tty2
在上述示例中:
tty002 标识您定义其运行级别的对象。
2 指定此进程运行的运行级别。
respawn 指定对于此进程,init 命令应当执行的操作。
/usr/sbin/getty /dev/tty2 指定要执行的 shell 命令。
更改记录 - chitab 命令
要更改 /etc/inittab 文件中的记录,请在命令提示符下输入以下内容:

chitab Identifier:Run Level:Action:Command
例如,要更改 tty2 的记录,从而使此进程在运行级别 2 和 3 上运行,请输入:

chitab tty002:23:respawn:/usr/sbin/getty /dev/tty2
在上述示例中:
tty002 标识您定义其运行级别的对象。
23 指定此进程运行的运行级别。
respawn 指定对于此进程,init 命令应当执行的操作。
/usr/sbin/getty /dev/tty2 指定要执行的 shell 命令。
列出记录 - lsitab 命令
要列出 /etc/inittab 文件中的所有记录,请在命令提示符下输入以下内容:

lsitab -a
要列出 /etc/inittab 文件中的特定记录,请输入:

lsitab Identifier
例如,要列出 tty2 的记录,请输入:lsitab tty2。
除去记录
要从 /etc/inittab 文件除去记录,请在命令提示符下输入以下内容:

rmitab Identifier
例如,要除去 tty2 的记录,请输入:rmitab tty2。
停止系统
shutdown 命令是停止操作系统的最安全和最彻底的方法。当指定适当的标志时,此命令通知用户系统将当机、杀死所有现有的进程、卸下文件系统并停止系统。本节中包含以下关闭系统的方法:
不必重新引导而关闭系统
将系统关闭为单用户方式
在紧急情况下关闭系统
不必重新引导而关闭系统
可以使用两种不必重新引导而关闭系统的方法:SMIT 快速路径或 shutdown 命令。
先决条件
必须具有 root 用户权限以关闭系统。
过程
要使用 SMIT 关闭系统:
作为 root 用户登录。
在命令提示符处输入:
smit shutdown
要使用 shutdown 命令关闭系统:
作为 root 用户登录。
在命令提示符处输入:
关闭
将系统关闭为单用户方式
在一些情况下,可能需要关闭系统并进入单用户方式以执行软件维护和诊断。
输入 cd / 更改到根目录。必须在根目录中关闭系统到单用户方式以确保该文件系统完全卸下的。
输入 shutdown -m。系统关闭为单用户方式。显示系统提示符,您可以执行维护活动。
在紧急情况下关闭系统
也可以使用 shutdown 命令在紧急情况下关闭系统。请使用此过程快速停止系统而无需通知其他用户。
输入 shutdown -F。-F 标志通知 shutdown 命令忽略对其他用户发送消息并尽快关闭系统。
重新激活不活动的系统
系统可以因为硬件问题、软件问题或两者的结合而变得不活动。此过程指导您完成更正问题和重新启动系统的步骤。如果完成此过程后系统仍然不活动,请参考硬件文档中的问题确定信息。
请使用以下过程重新激活不活动的系统:
检查硬件
检查进程
重新启动系统
检查硬件
通过执行以下操作检查硬件:
检查电源
检查操作员面板显示如果可用的话
激活显示器或终端
检查电源
如果系统上的电源指示灯处于活动状态,则转至检查操作员面板显示
如果系统上的电源指示灯不活动,则检查电源是否已打开并且系统是否已接通电源。
检查操作员面板显示
如果系统有操作员面板显示,则检查它以了解任何消息。
如果系统上的操作员面板显示为空白,则转至激活显示器或终端。
如果系统上的操作员面板显示不是空白,则转至部件的服务指南以查找有关“操作员面板显示”中的数字的信息。
激活显示器或终端
检查显示器或终端的几个部件,具体如下:
确保显示器电缆安全地连接到显示器和系统部件。
确保键盘电缆安全连接。
确保鼠标电缆安全连接。
确保显示器打开并且其电源指示灯亮。
调整显示器上的亮度控件。
确保终端的通信设置正确。
如果系统此时处于活动状态,则硬件检查已更正该问题。
如果试图重新启动系统时系统变得不活动,则转至重新启动系统。
如果试图重新启动系统时系统没有变得不活动,则转至检查进程。
检查进程
停止的或延迟的进程可能使系统不活动。请通过执行以下操作检查系统进程:
重新启动行滚动
使用 Ctrl-D 按键顺序
使用 Ctrl-C 按键顺序
从远程终端或主机登录
远程结束延迟的进程
重新启动行滚动
通过执行以下操作重新启动由 Ctrl-S 按键顺序停止的行滚动:
激活有问题进程的窗口或 shell。
按下 Ctrl-Q 按键顺序以重新启动滚动。
Ctrl-S 按键顺序停止行滚动,而 Ctrl-Q 按键顺序重新启动行滚动。
如果滚动检查未更正不活动系统的问题,请转至下一步,使用 Ctrl-D 按键顺序。
使用 Ctrl-D 按键顺序
通过执行以下操作结束停止的进程:
激活有问题进程的窗口或 shell。
按下 Ctrl-D 按键顺序。Ctrl-D 按键顺序将文件结束(EOF)信号发送到进程。Ctrl-D 按键顺序可能关闭窗口或 shell 并将您注销。
如果 Ctrl-D 按键顺序未更正不活动系统的问题,则转至下一步,使用 Ctrl-C 按键顺序。
使用 Ctrl-C 按键顺序
通过执行以下操作结束停止的进程:
激活有问题进程的窗口或 shell。
按下 Ctrl-C 按键顺序。Ctrl-C 按键顺序停止当前搜索或过滤器。
如果 Ctrl-C 按键顺序未更正不活动系统的问题,则转至下一步,从远程终端或主机登录。
从远程终端或主机登录
以两种方式之一从远程登录:
如果有多于一个终端连接到系统,则从另一个终端登录到系统。
通过按以下所述输入 tn 命令从网络上(如果系统连接到网络)的另一台主机登录:
tn YourSystemName
当使用 tn 命令时,系统向您要求常规登录名和密码。
如果可以从远程终端或主机登录到系统,则转至下一步,远程结束延迟的进程。
如果不能从远程终端或主机登录到系统,则转至重新启动系统。
也可以启动系统转储以确定为何系统变得不活动。有关更多信息,请参阅『系统转储设备』。
远程结束延迟的进程
通过执行以下操作从远程终端结束延迟的进程:
通过输入以下 ps 命令列出活动的进程:
ps -ef
-e 和 -f 标志标识所有活动的和不活动的进程。
标识延迟的进程的进程标识。
有关标识进程的帮助,请使用带搜索字符串的 grep 命令。例如,要结束 xlock 进程,请输入以下内容以查找进程标识:

ps -ef | grep xlock
grep 命令允许您搜索 ps 命令的输出以标识特定进程的进程标识。
通过输入以下 kill 命令结束进程:
注:必须有 root 用户权限方可对不是由您启动的进程使用 kill 命令。
kill -9 ProcessID
如果不能确定问题进程,则最近的活动进程可能是不活动系统的原因。如果认为这是问题,请结束最近的进程。
如果进程检查未更正不活动系统的问题,请转至重新启动系统。
也可以启动系统转储以确定为何系统变得不活动。有关更多信息,请参阅『系统转储设备』。
重新启动系统
如果前两个过程未能更正使您的系统不活动的问题,则需要重新启动您的系统。
注:
在重新启动系统之前,请完成系统转储。有关更多信息,请参阅『系统转储设备』。
此过程包括以下内容:
检查引导设备的状态
装入操作系统
检查引导设备的状态
系统使用可移动介质、外部设备、小型计算机系统接口(SCSI)设备、集成设备电子技术(IDE)设备或局域网(LAN)来引导。决定哪种方法适用于您的系统,并使用以下说明检查引导设备:
对于可移动介质(如磁带),请确保正确插入介质。
对于 IDE 设备,验证每个适配器的 IDE 设备标识设置是唯一的。如果只有一个设备连接到适配器,则 IDE 设备标识必须设置为主设备。
对于外部连接的设备(如磁带机),请确保:
设备电源已打开。
设备电缆正确连接到设备和系统部件。
就绪指示灯打开(如果设备具有一个指示灯)。
对于外接 SCSI 设备,验证 SCSI 地址设置是否是唯一的。
对于 LAN,请验证网络开通并可操作。
如果引导设备工作正常,请转至装入操作系统。
装入操作系统
通过执行以下操作装入操作系统:
关闭系统的电源。
等候一分钟。
打开系统的电源。
等候系统引导。
如果操作系统装入失败,则从维护方式或硬件诊断引导硬盘。
如果仍然不能重新启动系统,则使用 SRN 将您的不活动的系统的问题报告给服务代表。
系统挂起管理
系统挂起管理允许用户在改善应用程序可用性的同时持续运行任务关键的应用程序。系统挂起检测警告系统管理员可能的问题,并允许管理员作为 root 用户登录或重新引导系统以解决问题。
shconf 命令
当启用系统挂起检测时调用 shconf 命令。shconf 命令配置调查的事件以及如果此类事件发生要进行的操作。可以指定以下任何操作:要检查的优先级、当无进程或线程以较低优先级或同等优先级执行时的超时、警告操作的终端设备以及 getty 命令操作:
将错误记录在 errlog 文件中
在系统控制台(字母数字控制台)或指定的 TTY 上显示警告消息
重新引导系统
给出特殊的 getty 以允许用户作为 root 用户登录并启动命令
启动命令
对于启动命令和给出特殊的 getty 选项,系统挂起检测以最高优先级启动特殊的 getty 命令或指定的命令。特殊的 getty 命令打印一条警告消息,表明它是以优先级 0 运行的恢复中的 getty。下表捕获优先级挂起检测的各种操作和关联的缺省参数。对于每种类型的检测,只启用一个操作。
选项 启用 优先级 超时(秒)
将错误记录在 errlog 文件中 禁用 60 120
显示警告消息 禁用 60 120
给出恢复中的 getty 启用 60 120
启动命令 禁用 60 120
重新引导系统 禁用 39 300
注:
当启用了在控制台上启用恢复的 getty 时,shconf 命令将 -u 标志添加到与控制台登录关联的 inittab 中的 getty 命令。
对于丢失的 IO 检测,可以设置超时值并启用以下操作:
选项 启用
显示警告消息 禁用
重新引导系统 禁用
丢失 IO 事件将记录在 AIX? 错误日志文件中。
shdaemon 守护程序
shdaemon 守护程序是由 init 启动的进程,以优先级 0(零)运行。它通过重新得到配置信息、启动工作结构和启动由用户设置的检测时间来负责处理系统挂起检测。
更改系统挂起检测配置
可以从 SMIT 管理工具管理系统挂起检测配置。SMIT 菜单选项允许您启用或禁用检测机制,显示该功能的当前状态以及更改或显示当前的配置。系统挂起检测菜单的快速路径是:
smit shd
管理系统挂起检测
smit shstatus
系统挂起检测状态
smit shpriocfg
更改/显示优先级问题检测的特征
smit shreset
恢复缺省优先级问题配置
smit shliocfg
更改/显示丢失 I/O 检测的特征
smit shlioreset
恢复缺省丢失 I/O 检测配置
还可以使用《AIX 5L V5.3 命令参考大全》中记录的 shconf 命令管理系统挂起检测
 
 

重新创建毁坏的引导映象
以下过程描述了如何识别毁坏的引导映象并重新创建它。如果机器当前正在运行,且您知道引导映象已毁坏或被删除,可以通过超级权限运行 bosboot 命令来重新创建引导映象。
注意: 如果怀疑引导映象毁坏,千万不要重新引导系统。
以下过程假设系统由于引导映象毁坏而没有正确地重新引导。可能的话,在对工作负载影响最小的情况下调度停机时间,以防止系统可能发生的数据或功能损失。
本入门中的信息使用 AIX? 5.3 测试。如果您正在使用不同版本或级别的 AIX,获得的结果可能随版本或级别的不同而显著不同。
将产品介质插入到适当的驱动器。
按照随系统提供的指示信息开机。
从“系统管理服务”菜单选择多重引导。
在下一屏幕选择从何处安装。
选择放有产品介质的设备,然后选择安装。
选择 AIX 版本图标。
按照联机指示信息做,直到选择安装所用的方式。此时,选择启动维护方式以进行系统恢复。
选择访问根卷组。
根据联机指示信息,直到可以选择访问该卷组并启动 shell。
使用 bosboot 命令重新创建引导映象。例如:
bosboot -a -d /dev/hdisk0
如果命令失败,则会接收到以下消息:
0301-165 bosboot: 警告!bosboot 失败 ― 不要试图引导设备。
试着使用以下选项之一解决问题,然后再次运行 bosboot 命令,直到成功创建引导映象。
删除缺省的引导逻辑卷(hd5),然后创建一个新的 hd5。
或者
在硬盘上运行诊断。必要的话,修复或更换。
如果 bosboot 命令继续失败,请联系客户支持代表。
注意: 如果创建引导映象时 bosboot 命令失败,请勿重新引导机器。
bosboot 命令成功后,使用 reboot 命令重新引导系统。
 
 
bosboot 命令
用途
创建引导映像。
语法
常规用法:
bosboot -Action [ -d Device ] [ -Options ... ]
要创建设备引导映像:
bosboot -a [ -d Device ] [ -p Proto ] [ -k Kernel ] [ -I | -D ] [ -l LVdev ] [ -L] [ -M { Norm | Serv | Both } ] [ -T Type ] [ -b FileName ] [ -q ]
描述
bosboot 命令创建与机器引导 ROS(只读存储器)EPROM(可擦可编程只读存储器)连接的引导映像。
bosboot 命令从 RAM(随机存取存储器)磁盘文件系统和内核创建引导文件(引导映像)。该引导映像被传送至 ROS 引导代码可识别的特定介质。打开或重新引导机器时,ROS 引导代码会从介质将引导映像装入内存。ROS 然后将控制传送给已装入的映像内核。
相关联的 RAM 磁盘文件系统包含使机器的设备和文件系统成为可用的设备配置例程。随着引导设备的不同,RAM 磁盘文件系统包含不同的配置文件。为每种设备类型提供一个 mkfs 原型文件。(请参阅下面的注 6)。当前受支持的设备是:
CD-ROM
磁盘
磁带
网络
网络设备可以是令牌环、以太网或光纤分布数据接口(FDDI),这些设备都用于在局域网(LAN)上从网络引导服务器引导。
该引导映像随着被引导设备类型的不同而不同,且被压缩以适于特定的介质并减少实内存请求。引导逻辑卷对于引导映像必须够大。
除了创建引导映像,bosboot 命令通常保存磁盘的设备配置数据。它不更新 NVRAM(非易失性随机存取存储器)中的引导设备列表。可以使用 bootlist 命令修改此列表。
通常在“基本操作系统”安装期间调用 bosboot 命令,且当升级操作系统时 updatep 命令经常会调用该命令。
注:
必须具有使用 bosboot 命令的 root 用户权限。
在创建引导磁盘时,如果 bosboot 命令不成功,且有消息表示不要重新引导机器,就请不要这样做。应该解决此问题且 bosboot 命令应该运行直至成功完成。
bosboot 命令需要目标映像(如果有此映像的话)将要驻留的文件系统和 /tmp 文件系统中的一些空间。
bosboot 命令要求所指定的物理磁盘包含引导逻辑卷。要确定指定哪个磁盘设备,可发出以下命令:
lsvg    -M    rootvg
该命令显示所有逻辑卷的图示。缺省的引导逻辑卷是 hd5。使用包含引导逻辑卷的磁盘设备。
没有使用 -d 标志指定设备时,bosboot 命令会将缺省设备假定为从磁盘引导系统的磁盘。然而,如果使用 -p 标志指定原型文件,则也必须使用 -d 标志指定该设备。
bosboot 命令用于构建 RAM 磁盘文件系统的原型文件依赖于将运行引导映像的机器的引导设备和硬件平台(sys0 )类型。
硬件平台类型是允许机器根据基础的配置特征,比如处理器数量或 I/O 总线结构或此两者进行分组的抽象概念。具有不同硬件平台类型的机器在引导时对其设备进行动态配置的方法上具有基本的差异。AIX? 5.1 及较早版本中的硬件平台类型 rs6k 应用于所有仅通过 AIX 5.1 的基于 Micro Channel 的单处理器型号。rs6ksmp 类型应用于所有仅通过 AIX 5.1 的基于 Micro Channel 的对称多处理器型号。AIX 5.1 及较早版本中的 rspc 类型应用于所有 ISA 总线型号。由于已经开发出新型号,它们的硬件平台类型或者是先前已经提到过的类型,或者(如果存在基础性配置差异)是将要定义的新类型。已给出引导设备类型的引导映像一般随着机器所具有的硬件平台类型的不同而不同。
由 bosboot 使用的原型文件的构造从平台类型和引导设备的基本原型文件副本开始(例如,/usr/lib/boot/chrp.disk.proto)。接着,bosboot 命令在 pcfg 文件中查找正在使用的平台类型(例如,/usr/lib/boot/chrp.pcfg)。pcfg 包含 bosboot 用以在模板中搜索原型扩展文件的条目。这些文件位于 /usr/lib/boot/protoext 目录中,提供至正在构造的原型文件的扩展。例如,如果平台类型是 chrp 且引导设备是磁盘,则文件 /usr/lib/boot/protoext/chrp.pcfg 包含以下内容:
scsi.
chrp.
chrp_lpar.
fcp.
graphics.
ide.
isa_sio.
pci.
ssa.
sys.pci.
tty.
usbif.
bosboot
命令会从基本原型文件 /usr/lib/boot/chrp.disk.proto 开始,并搜索目录 /usr/lib/boot/protoext 以查找任何匹配模板 disk.proto.ext.scsi.* 的文件。这些文件的内容被添加至正在构造的原型文件。接着,匹配模板 /usr/lib/boot/protoext/disk.proto.ext.scsi.* 的文件内容被添加至正在构造的原型文件。此过程一直持续到 pcfg 文件中的所有行都已被处理为止。此时,原型文件的构造完成。bosboot 命令将此原型文件传递至构建 RAM 磁盘文件系统的 mkfs 命令。
BOSBOOT 命令用以构建引导映像的原型文件依赖于引导设备。此外,原型文件还依赖于机器的系统设备类型(sys0),而引导映像是为此机器构建的。
这在以下这些原型文件的名称中有所反映:
/usr/lib/boot/chrp.disk.proto
/usr/lib/boot/chrp.cd.proto
/usr/lib/boot/chrp.tape.proto
/usr/lib/boot/network/chrp.ent.proto
/usr/lib/boot/network/chrp.tok.proto
/usr/lib/boot/network/chrp.atm.proto
/usr/lib/boot/network/chrp.fddi.proto
系统设备类型是允许机器根据基础的配置特征比如处理器数量和 I/O 总线结构进行分组的抽象概念。此系统设备是系统节点中最高级别的设备,由系统中的所有物理设备组成。
具有不同系统设备类型的机器在引导时对它们的设备进行动态配置的方法上具有基本的差异。
缺省情况下,bosboot 命令使用与执行此命令的机器的系统设备类型相匹配的原型文件。-p 选项允许指定原型文件的系统设备类型。
标志
-d device 指定引导设备。此标志对于硬盘是可选的。
以下标志是操作标志。必须且只能指定一个标志。
-a 创建完整的引导映像和设备。
以下标志是选项标志:
-b FileName 将指定的文件名用作引导映像名。此标志是可选的。
-D 装入低级别调试器。此标志是可选的。
-I(大写 i) 装入并调用低级别调试器。此标志是可选的。
-k Kernel 为引导映像使用指定的内核文件。此标志是可选的,且如果未指定,缺省为 /unix。
-L 启用 MP 系统的锁定检测。对于不使用 MP 内核的系统,此标志无效。
-l(小写 L)LVDev 为引导映像使用目标引导逻辑卷。此标志是可选的。
-M Norm|Serv|Both 指定引导方式。选项是:
norm
表示常规方式。
serv
表示服务方式。
both
表示两种方式。 
-p Proto 将指定的原型文件用于 RAM 磁盘文件系统。此标志是可选的。
-q 确定需要用多少磁盘空间才能使文件系统创建引导映像。不会创建引导映像。此标志是可选的。
-T Type 指定硬件平台类型(请参阅注 6)。它使得 bosboot 命令为指定的硬件平台类型创建引导映像。如果未指定类型,bosboot 命令创建引导映像,而该引导映像的硬件平台类型与当前正在运行的机器类型相匹配。此标志是可选的。
安全性
访问控制:仅 root 用户可以读取并执行此命令。
示例
要创建固定磁盘(从该磁盘引导系统)上的缺省引导逻辑卷上的引导映像,输入:
bosboot -a
要创建用于磁带设备的称为 /tmp/tape.bootimage 的可引导映像,输入:
bosboot -ad /dev/rmt0 -b /tmp/tape.bootimage
要创建用于以太网引导的引导映像文件,输入:
bosboot -ad /dev/ent0
要创建用于具有类型为 chrp 的硬件平台的机器的令牌环引导映像,而此时正在具有类型为 chrp 的硬件平台的机器上运行,输入:
bosboot -ad /dev/tok -T chrp
文件
/usr/sbin/mkboot 指定引导创建例程。
/usr/lib/boot/chrp.disk.proto 指定磁盘 RAM 文件系统模板。
/usr/lib/boot/chrp.cd.proto 指定 CD-ROM RAM 文件系统模板。
/usr/lib/boot/chrp.tape.proto 指定磁带 RAM 文件系统模板。
/usr/lib/boot/network/chrp.ent.proto 指定以太网 RAM 文件系统模板。
/usr/lib/boot/network/chrp.tok.proto 指定令牌环 RAM 文件系统模板。
/usr/lib/boot/network/chrp.atm.proto 指定 ATM 文件系统模板。
/usr/lib/boot/network/chrp.fddi.proto 指定 FDDI RAM 文件系统模板。
相关信息
bootlist 命令、mkboot 命令和 locktrace 命令。
 
 

bootlist 命令
用途
显示并改变可用于系统的引导设备列表。
语法
bootlist [ { -m Mode } [ -r ] [  -o  ] [ [  -i ] [ -V ] [ -F ]| [ [ -f File ] [  Device [ Attr=Value ... ] ... ] ] ] [ -v ]
描述
bootlist 命令允许用户显示并改变可以引导系统的可能引导设备列表。系统被引导的时候,它会扫描列表中的设备并试图从查找到的第一个包含引导图像的设备引导。该命令支持以下各项的更新:
常规引导列表。当系统以常规方式被引导时,常规列表为此指定可能的引导设备。
服务引导列表。当系统以服务方式被引导时,服务列表为此指定可能的引导设备。如何以服务方式引导系统将依赖于硬件平台。可能要求将键切换转至“服务”位置,它是一种在引导过程期间按的特定功能键或某种别的机制,如同为特定硬件平台定义的那样。
前一引导设备条目。该条目指定了最近一次引导系统的设备。一些硬件平台试图在查找其他列表中的引导设备之前先从前一引导设备引导。
这些引导列表的支持可能随着平台的不同而不同。仅当平台支持指定的引导列表时,才能显示或改变引导列表。甚至会有这种情况,特定的硬件平台不支持任何引导列表。
当搜索引导设备时,系统选择列表中的第一个设备并确定它是否可引导。如果在第一个设备上没有检测到引导文件系统,该系统移至列表中的下一个设备。因此,设备在设备列表中的排序非常重要。
bootlist 命令支持一般设备类型的规格,并支持为引导候选系统指定具体的设备。可能的设备名称会在命令行或文件中列出。设备在引导设备列表中出现的顺序与它在该命令的调用上列出的设备顺序是一样的。
要输入引导列表的设备可在文件中指定。这就成为了可当作引用或未来更新的可变引导设备记录。使用 -f 标志时,从 file 变量指定的文件获取设备列表。接着来自该列表的设备按照文件中查找到的顺序被放入引导列表。

注:指定可能的引导设备时要特别小心。如果设备列表中的设备变成不可引导,则将来的重新引导会失败。在 bootlist 命令操作期间,不能关闭系统或将系统重新设置。如果复位系统,或在执行此命令的关键时刻停电,可能破坏或丢失引导列表。
使用 -m mode 选项选择所要显示或改变的引导列表,其中 mode 变量是 service、normal、both 或 prevboot 关键字之一。如果指定了 both 关键字,会显示常规引导列表和服务引导列表,或者如果正在进行改变,它们将被设置至设备的同一列表。如果指定了 prevboot 关键字,仅允许进行针对 -i(无效)标志的改变。-i 标志使 -m 标志指定的引导列表无效。
当前在引导列表中的设备可使用 -o 标志来显示。会显示组成指定的引导列表的设备列表,每行一个设备。如果在引导列表中指定的设备不再存在于系统上,会显示“-”而非名称。输出以可在文件中被捕捉到的格式出现,并且它被用作到带有 -f 标志的 bootlist 命令的输入。这对于恢复临时变更的引导列表将是有用的。
注:
将热插拨适配器添加至系统时,如果使用 bootlist 命令,该适配器及它的子设备可能不能被指定为引导设备。可能要求您重新引导系统以使操作系统知晓所有潜在引导设备。
指定磁盘设备后,可能需要使用 attribute=value 对将其他信息添加到该磁盘。仅当目标磁盘上安装了多个 AIX 实例时,才需要此额外的信息。这种情况下,要确定目标磁盘上将按属性 blv 包括在引导列表中的引导逻辑卷。
blv 属性可以在所有情况下使用,但是仅当目标磁盘上安装了多个 AIX 实例时才是必需的。当 bootlist 使用 -o 标志显示信息时,每个磁盘始终包含 blv 属性,即使该磁盘上只有一个 AIX 实例。
设备选项
命令行上(或文件中)指定的设备名称会以一到两个不同形式出现:
它可用设备逻辑名来指明具体的设备。
它可用关键字来指明一般或特殊设备类型。以下是受支持的一般设备的关键字: fd 所有标准的连接 I/O 的软盘驱动器
scdisk 所有连接 SCSI 的磁盘(包括串行链路磁盘驱动器)
badisk 所有直接连接总线的磁盘
cd 所有连接 SCSI 的 CD-ROM
rmt 所有连接 SCSI 的磁带设备
ent 所有以太网适配器
tok 所有令牌环适配器
fddi 所有“光纤分布数据接口”适配器

注:一些硬件平台不支持一般设备的关键字。如果在这样的平台上指定了一般设备的关键字,那么对引导列表所做的更新将被拒绝,并且该命令会失败。
设备列表要包括具体的设备时,必须指定此设备的逻辑名(与系统管理命令一同使用)。此逻辑名由前缀和后缀组成。通常后缀是数字并指定具体的设备。指定的设备必须处于可用的状态。如果不是,那么对引导列表所做的更新会被拒绝且此命令失败。以下设备以及与它们相关联的逻辑名是受支持的(其中黑体字类型是前缀而 xx 变量是具体设备的后缀):
fdxx 软盘驱动器设备逻辑名
hdiskxx 物理卷设备逻辑名
cdxx SCSI CD-ROM 设备逻辑名
rmtxx 磁带设备逻辑名
entxx 以太网适配器逻辑名
tokxx 令牌环适配器逻辑名
fddixx “光纤分布数据接口”适配器逻辑名
属性选项
属性是用户在命令行上提供的有关设备的额外信息。由于该信息仅指定给特定设备,所以一般设备没有属性。属性应用于在命令行上紧挨在其前面的设备,这样就允许在命令行上的设备中散布着属性。当前,只有网络设备具有属性。它们是:
bserver BOOTP 服务器的 IP 地址
gateway 网关的 IP 地址
client 客户机的 IP 地址
speed 网络适配器速度
duplex 网络适配器的方式
可以通过以下方法结合这些属性:
不能单独指定 hardware 属性;必须连同 bserver 或 gateway 属性一起指定。指定 bserver 或 gateway 时,它分别应用于服务器或网关;同时指定 bserver 和 gateway 时,hardware 将应用于 gateway。
bserver 属性可单独指定,或者连同 hardware 和/或 gateway 一起指定。
如果指定了 gateway 属性,则也必须指定 bserver 和 client。
client 属性只能连同 gateway 和 bserver 一起指定。
这些属性中的一些在有些硬件平台上可能不受支持。可以应用附加硬件平台限制。
指定属性的语法是 attr=value,其中 attr 是属性名,value 是值,且在 = 前后没有空格。
使用 -f 标志时的文件格式
由 file 变量指定的文件应该包含被空格分隔的设备名称:

hdisk0 hdisk1 cd1
或每行一个设备:

hdisk0
hdisk1
cd1
错误处理
如果该命令返回一个错误,则不会改变设备列表。可能出现以下设备列表错误:
如果用户试图显示或改变硬件平台不支持的引导列表,则命令失败,表示此方式不受支持。
如果用户试图将过多设备添加至引导列表,则命令失败,表示请求的设备过多。所支持的设备数量取决于设备的选择及硬件平台。
如果指定了无效关键字、无效标志或未知设备,则命令失败并给出相应的错误消息。
如果指定的设备不是处于可用状态,则命令失败并给出相应的错误消息。
标志
Device 提供特殊或一般设备名称使之包括在引导列表中。
-f File 表示将从指定文件名读取设备信息。
-F 表示即使 speed 和 duplex 属性的验证(如果指定)是不可能的,也将修改引导列表。
-i 表示由 -m 标志指定的设备列表应该无效。
-m Mode 指定要显示或改变的引导列表。用于 mode 变量的可能的值是 normal、service、both 或 prevboot。
-o 表示执行了任何指定的改变之后,会显示指定的引导列表。输出是设备名称列表。
-r 表示执行了任何指定的改变之后,会显示指定的引导列表。输出取决于硬件平台。它可能是引导列表或设备名称列表的十六进制转储。(这通常被用于问题确定。)
-V 表示仅验证 speed 与 duplex 属性(如果指定)。不修改引导列表。
-v 显示冗长的输出。此标志仅用于问题确定。
安全性
特权控制:只有 root 用户和安全组的成员才能拥有此命令的执行(x)访问权。
审计事件:
事件 信息
NVRAM_Config 文件名
示例
要使“服务”方式引导列表无效,输入:
bootlist -m service -i
要使用命令行上列出的设备制作“常规”方式的引导列表,输入:
bootlist -m normal hdisk0 hdisk1 rmt0 fd
要用文件的设备列表制作“常规”方式的引导列表,输入:
bootlist -m normal -f /bootlist.norm
其中 bootlist.norm 是包含要放置在“常规”方式引导列表中的设备名称的文件。bootlist.norm 文件中的设备名称必须符合所描述的格式。
要使先前的引导设备条目无效,输入:
bootlist -m prevboot
要从插槽 2 中的令牌环设备引导,输入:
bootlist -m normal tok0
试图通过使用以太网的网关引导,并且随后试用其他设备,输入:
bootlist -m normal ent0 gateway=129.35.21.1 bserver=129.12.2.10
\ client=129.35.9.23 hdisk0 rmt0 tok0 bserver=129.35.10.19
hdisk1
对于常规引导,要指定磁盘 hdisk0 上的引导逻辑卷 hd5,请输入:
bootlist -m normal hdisk0 blv=hd5
要查看前一示例中的引导列表设置,请输入:
bootlist -m normal -o
hdisk0 blv=hd5
要在正常方式下指定从 hdisk0 上的唯一引导逻辑卷或 hdisk1 上的 mb_hd5 引导逻辑卷引导,请输入:
bootlist -m normal hdisk0 hdisk1 blv=mb_hd5 cd0
要查看前一示例中的引导列表设置,请输入:
bootlist -m normal -o
hdisk0
hdisk1 blv=mb_hd5
cd0
 
 
 
 
 

mkboot 命令
用途
创建引导映像、引导记录和服务记录。这条命令不是用户级命令,并在 AIX 4.2 或更高版本中不受支持。
语法
mkboot -d Device [ -b ] [ -D ] [ -c ] [ -h ] [ -i ] [ -I ] [ -l LVDev ] { -k Kernel | -e Expander } [ -L] [ -s ] [ -r ] [ -p Offset ] [ -w ] -f FileSystem
描述
mkboot 命令将内核和文件系统结合到引导映像中。把作为结果的映像写到标准输出中。将它与相应的引导记录信息复制到一个引导设备上。在映像的开始,可以带引导记录或不带引导记录创建压缩或非压缩的引导映像。为磁带创建的映像与映像文件的开始处的引导记录一起压缩。磁盘引导映像可以不用压缩而创建,也可以没有引导记录。将引导记录写到磁盘的第一个扇区中。记录包含关于映像被写到磁盘的引导逻辑卷之后的大小和位置信息。
如果引导逻辑卷已镜像,则 mkboot 命令不仅把引导映像写到引导逻辑卷的每一个副本上,而且把引导记录写到相应镜像的每一个物理磁盘上。只要 mkboot 命令能够更新镜像的引导一个逻辑卷的副本,就不会返回任何错误。要启用镜像的引导逻辑卷的每一个副本上的引导,必须用 bootlist 命令指定每个物理磁盘。关于镜像的逻辑卷的更多信息,请参阅《AIX 5L V5.3 系统管理概念:操作系统和设备》中的『逻辑卷存储器概述』。
mkboot 命令通常由 bosboot 命令调用。然而,也可以再次运行 mkboot 命令来在压缩的引导映像的开始写入扩展代码。
标志
-b 置零保存库字段。该标志是可选的。
-d Device 指定用于 IPL 记录的设备。该标志为必要的。
-c 设备上的置零引导记录。该标志是可选的。
-D 在引导时装入低级调试器。
-e Expander 指定内核扩展代码以创建压缩的引导映像文件。必须指定 -e 标志或 -k 标志。
-f FileSystem 指定引导文件系统。该标志为必要的。
-h 阻止 mkboot 命令更新引导头。该标志是可选的。
-i 写入引导记录的正常部分。
-I (uppercase i) 在引导时调用低级调试器。
-k Kernel 指定引导映像的内核。必须指定 -k 标志或 -e 标志。
-l (lowercase L) LVDev 指定包含可装入引导代码的逻辑卷设备。
-L 为 MP 系统启用锁检测。该标志对不使用 MP 内核的系统无效。
-p Offset 在引导记录中指定用作 boot_pr_start 字段的地址。该标志在创建 CD-ROM 引导映像中使用。该标志是可选的。
-r 创建一个只读存储器(ROS)仿真代码的映像。
-s 写入引导记录的服务部分。
-w 在引导映像前输出引导逻辑卷的前两个块。该标志仅适用于磁盘引导映像。
安全性
访问控制:只有 root 用户才能读取和执行该命令。
示例
要创建非压缩的引导映像,在设备 /dev/hdisk0 上使用内核 /usr/lib/boot/unix 和 /tmp/bootfs 文件系统,请输入
mkboot -d /dev/hdisk0 -k /usr/lib/boot/unix -f /tmp/bootfs \
-b -i -s > /tmp/boot.image
要清除磁盘 hdisk0 的引导记录但保留 PVID,请输入:
mkboot -d /dev/hdisk0 -c
虽然 mkboot 命令结合内核和随机存取存储器(RAM)文件系统来创建一个引导映像,但可以再次运行 mkboot 命令以在一个压缩的引导映像的开始写入扩展代码。例如,请输入:
mkboot -b -d /dev/rmt0 -k unix -f ramfs | compress > /tmp/image
mkboot -b -i -s -d /dev/rmt0 -k bootexpand -f /tmp/image \
> bootfile
对于可引导的磁带,其中:
unix 指定内核。
ramfs 指定 RAM 磁盘文件系统。
compress 指定压缩或压缩例程。
bootexpand 指定扩充或内核非压缩例程。
文件
/usr/include/sys/bootrecord.h 指定引导记录的结构。
 
 
 

locktrace 命令
用途
控制内核锁跟踪。
语法
locktrace [ -r ClassName | -s ClassName | -S | -R | -l ]
描述
locktrace 命令控制了哪些内核锁被 trace 子系统跟踪。缺省情况下是什么都不 trace。如果机器在运行 bosboot -L 命令后重新启动,那么,可以打开或关闭对一个或多个的单独锁类或所有锁类的内核锁跟踪。如果没有运行 bosboot -L,则只能打开对所有锁的锁跟踪,或者不打开任何锁的锁跟踪。当锁被捕获或丢失(hook 标志 112)以及释放(hook 标志 113)的时候,该情况下收集的 trace 事件并不需要使锁类名可用。
标志
-r classname 关闭所有属于指定类的内核锁的锁跟踪。如果没有运行 bosboot -L,则该选项会一直失效。
-s classname 打开所有属于指定类的内核锁的锁跟踪。如果没有执行 bosboot -L,则该选项会一直失效。
-R 关闭所有的锁跟踪。
-S 不管所有锁的类成员,打开它们的锁跟踪。
-l 列出内核锁跟踪的当前状态。
示例
为了开始跟踪 SEM_LOCK_CLASS,请输入:
locktrace -s SEM_LOCK_CLASS
为了停止所有的锁跟踪,请输入:
locktrace -R
文件
/usr/bin/locktrace 包含了 locktrace 命令。
/usr/include/sys/lockname.h 包含了 lock 类名。
 
 
 
 

LVM 故障诊断任务
本节中的主题提供诊断和恢复过程以在遇到以下问题之一时使用:
磁盘驱动器问题
物理或逻辑卷错误
卷组错误
磁盘驱动器问题
如果磁盘驱动器用尽了可用空间,请参阅获取磁盘驱动器上的更多空间。如果怀疑磁盘驱动器机械性故障或已发生故障,请使用以下过程在磁盘上运行诊断:
使用 root 用户权限,在命令行中输入以下 SMIT 快速路径:
smit diag
选择当前 Shell 诊断以进入“AIX? 诊断”工具。
阅读“诊断操作说明”屏幕后,按下 Enter 键。
选择诊断例程。
选择系统验证。
在列表上滚动以查找和选择想要测试的驱动器。
选择提交。
基于诊断结果,应该能够确定磁盘的情况:
如果检测到磁盘驱动器发生故障或已发生故障,则最重要的事情是从该磁盘恢复数据。如果磁盘仍是可访问的,请尝试完成迁移物理卷的内容中的过程。迁移是从发生故障的磁盘恢复数据的首选方式。以下过程描述如何在迁移无法成功完成的情况下恢复逻辑卷中的数据。
如果驱动器发生故障,并且可以不必重新格式化该驱动器就可以修复它,则无数据会丢失。请参阅在不必重新格式化的情况下恢复磁盘驱动器。
如果磁盘驱动器必须重新格式化或更换,请进行备份,如果可能,请在更换它之前从其卷组和系统配置中卸下该磁盘驱动器。单一副本文件系统中的一些数据可能丢失。请参阅使用重新格式化的磁盘驱动器或更换磁盘驱动器来进行恢复。
如果您的系统支持热可移动性功能,请参阅当系统保持可用时从磁盘故障恢复。
获取磁盘驱动器上的更多空间
如果用尽了磁盘驱动器上的空间,有几种方式纠正该问题。可以自动跟踪并除去不想要的文件,限制用户访问某些目录,或从另一个磁盘驱动器安装空间。
必须具有 root 用户、系统组或管理组权限以执行这些任务。
自动清除文件系统
使用 skulker 命令通过除去不想要的文件清除文件系统。从命令行输入以下内容:
skulker -p
skulker
命令用于定期从文件系统清除废弃或不需要的文件。候选文件包括 /tmp 目录中的文件、超过指定时限的文件、a.out 文件、核心文件或 ed.hup 文件。
skulker 命令通常每天运行,作为非高峰时数期间通过 cron 命令运行的记帐过程的一部分。有关在 cron 进程中使用 skulker 命令的更多信息,请参阅修正磁盘溢出。
有关典型的 cron 项的信息,请参阅设置记帐系统。
限制用户访问某些目录
另一种释放磁盘空间并可以保持其不被使用的方式是限制和监控磁盘使用情况。
通过输入以下命令限制用户访问某些目录:
chmod 655 DirName
此命令设置所有者(root 用户)具有读和写许可权,并设置组和其他用户具有只读许可权。DirName 是想要限制的目录的全路径名。
监控个别用户的磁盘使用情况。进行此操作的一种方式是将以下行添加到 /var/spool/cron/crontabs/adm 文件:
0 2 * * 4 /usr/sbin/acct/dodisk
此行在每星期四(4)的凌晨 2 时(0 2)执行 dodisk 命令。dodisk 命令启动磁盘使用情况记帐。此命令通常作为非高峰时数期间通过 cron 命令运行的记帐过程的一部分来运行。请参阅设置记帐系统以获取有关典型的 cron 项的更多信息。
从另一个磁盘驱动器安装空间
在磁盘驱动器上获取更多空间的另一种方式是从另一个驱动器安装空间。使用以下方式,可以将空间从一个磁盘驱动器安装到另一个磁盘驱动器:
使用 smit mountfs 快速路径。
使用 mount 命令。例如:
mount -n nodeA -vnfs /usr/spool /usr/myspool
mount 命令使文件系统可在指定的位置使用。
有关安装文件系统的更多信息,请参阅安装 JFS 或 JFS2。
在不必重新格式化的情况下恢复磁盘驱动器
如果在不必重新格式化坏磁盘的情况下修复坏的磁盘并将其放回系统中,则可以让系统在引导时自动激活并重新同步驱动器上的旧文件物理分区。旧文件物理分区包含您的系统不能使用的数据。
如果怀疑旧文件物理分区,请在命令行中输入以下命令:
lspv -M PhysVolName
其中 PhysVolName 是您的物理卷的名称。lspv 命令输出将列出您的物理卷上的所有分区。以下是示例输出的摘录:
hdisk16:112     lv01:4:2        旧文件
hdisk16:113     lv01:5:2        旧文件
hdisk16:114     lv01:6:2        旧文件
hdisk16:115     lv01:7:2        旧文件
hdisk16:116     lv01:8:2        旧文件
hdisk16:117     lv01:9:2        旧文件
hdisk16:118     lv01:10:2       旧文件
第一列显示物理分区,第二列显示逻辑分区。任何旧文件物理分区记录在第三列。
使用重新格式化的磁盘驱动器或更换磁盘驱动器来进行恢复
本节描述当必须重新格式化或更换发生故障的磁盘时如何从发生故障的磁盘驱动器恢复数据。
注意: 在重新格式化或更换磁盘驱动器之前,请将所有到非镜像文件系统的引用从发生故障的磁盘中除去,并且从卷组和系统配置除去磁盘。如果不这样做,则在 ODM(对象数据管理器)和系统配置数据库中创建问题。这些基本步骤的说明包含在『在更换或重新格式化已发生故障或正发生故障的磁盘之前』下的以下过程中。
以下过程使用的情况中,名为 myvg 的卷组包含三个磁盘驱动器,称为 hdisk2、hdisk3 和 hdisk4。在此情况中,hdisk3 已毁坏。非镜像的逻辑卷 lv01 和 mylv 逻辑卷的副本包含在 hdisk2 上。mylv 逻辑卷已制作了镜像并具有三个副本,每个副本占用其磁盘上的两个物理分区。发生故障的 hdisk3 包含 mylv 的另一个副本和名为 lv00 的非镜像的逻辑卷。最后,hdisk4 包含 mylv 的第三个副本以及名为 lv02 的逻辑卷。下图显示此情况。
 
此过程分为以下关键段:
在更换或重新格式化发生故障的磁盘之前为保护数据而做的事情
要重新格式化或更换磁盘而遵循的过程
在重新格式化或更换磁盘后为恢复数据而做的事情
在更换或重新格式化已发生故障或正发生故障的磁盘之前:
使用 root 用户权限登录。
如果不熟悉在发生故障的驱动器上的逻辑卷,请使用运转正常的磁盘查看发生故障的磁盘的内容。例如,要使用 hdisk4 查看 hdisk3,请在命令行中输入以下命令:
lspv -M -n hdisk4 hdisk3
lspv 命令显示有关卷组内的物理卷的信息。输出看起来与以下类似:
hdisk3:1        mylv:1
hdisk3:2        mylv:2
hdisk3:3        lv00:1
hdisk3:4-50
第一列显示物理分区,第二列显示逻辑分区。分区 4 至 50 可用。
如果可能,备份发生故障的设备上的所有单一副本逻辑卷。有关说明,请参阅备份和恢复信息。
如果具有单一副本文件系统,则从磁盘卸下它们。(可以从 lspv 命令的输出中标识单一副本文件系统。单一副本文件系统具有与输出上的物理分区相同数量的逻辑分区。)不必卸下镜像的文件系统。
在该情况下,发生故障的磁盘 hdisk3 上的 lv00 是单一副本文件系统。要卸下它,请输入以下命令:
unmount /dev/lv00
如果不知道文件系统的名称,则假定 /etc/filesystems 文件不是单独位于已发生故障的磁盘上,请在命令行中输入 mount 以列出所有安装的文件系统并查找与您的逻辑卷关联的名称。还可以使用 /etc/filesystems 文件上的 grep 命令以只列出与您的逻辑卷关联的文件系统名称(如果有)。例如:
grep lv00 /etc/filesystems
输出看起来类似如下:
dev             = /dev/lv00  
log             = /dev/loglv00
注:
如果您正在尝试卸下的文件系统当前正在使用,则 unmount 命令失败。unmount 命令仅在无文件系统的文件打开和无用户的当前目录在该设备上时执行。
unmount 命令的另一个名称是 umount。这两个名称可互换。
通过输入 rmfs 命令从已发生故障的物理卷除去所有单一副本文件系统:
rmfs /FSname
除去所有位于发生故障的磁盘的镜像的逻辑卷。
注:
不能对 rootvg 卷组中物理卷的 hd5 和 hd7 逻辑卷使用 rmlvcopy。因为这些逻辑卷只有一份副本,所以系统不允许除去这些逻辑卷。
rmlvcopy 命令从每个逻辑分区除去副本。例如,输入:
rmlvcopy mylv 2 hdisk3
通过除去 hdisk3 上的副本,将属于 mylv 逻辑卷的每个逻辑分区的副本数量从三个减少为两个(hdisk4 上一个,hdisk2 上一个)。
如果发生故障的磁盘是 root 用户卷组的一部分,并且包含逻辑卷 hd7,则请通过在命令行中输入以下命令来除去主转储设备(hd7)
sysdumpdev -P -p /dev/sysdumpnull
sysdumpdev 命令更改运行系统的主或辅助转储设备位置。当重新引导时,转储设备返回到其原位置。
注:
从 AIX 5.3 开始,您可以选择转储到 DVD 设备。有关如何把 DVD 配置为转储设备的更多信息,请参阅《AIX 5L V5.3 命令参考大全,卷 5》中的 sysdumpdev 命令描述
使用以下命令除去任何位于磁盘上的调页空间:
rmps PSname
其中 PSname 是要除去的调页空间的名称,它实际上是调页空间所驻留的逻辑卷的名称。
如果 rmps 命令没有成功,则在继续此过程之前必须使用 smit chps 快速路径释放主调页空间并重新引导。如果有活动的调页空间,则步骤10 中的 reducevg 命令可能失败。
使用 rmlv 命令,从卷组中除去任何其他逻辑卷,如那些不包含文件系统的逻辑卷。例如,输入:
rmlv -f lv00
使用 reducevg 命令从卷组中除去已发生故障的磁盘。例如,输入:
reducevg -df myvg hdisk3
如果不能执行 reducevg 命令,或者如果该命令未成功,则在重新格式化或更换驱动器后,步骤 13 中的过程可以帮助清除 VGDA/ODM 信息
更换或重新格式化已发生故障或正发生故障的磁盘:
下一个步骤取决于是否想要重新格式化或更换磁盘以及您正在使用的硬件的类型:
如果想要重新格式化磁盘驱动器,请使用以下过程:
使用 root 用户权限,在命令行中输入以下 SMIT 快速路径:
smit diag
选择当前 Shell 诊断以进入“AIX 诊断”工具。
阅读“诊断操作说明”屏幕后,按下 Enter 键。
选择任务选择。
在任务列表上滚动以查找和选择格式化介质。
选择想要重新格式化的磁盘。在确认想要重新格式化磁盘后,磁盘上的所有内容都将擦除。
磁盘重新格式化后,请继续步骤 12。
如果您的系统支持热交换磁盘,请使用当系统保持可用时从磁盘故障恢复中的过程,然后继续步骤 13。
如果系统不支持热交换磁盘,请执行以下操作:
使用 SMIT 快速路径 smit rmvdsk 断开旧驱动器的电源。将数据库字段中的 KEEP 定义更改为“否”。
请联系系统支持的下一个级别以更换磁盘驱动器。
在更换或重新格式化已发生故障或正发生故障的磁盘后:
按照配置磁盘和将可用的磁盘制作为物理卷中的说明操作。
如果在磁盘格式化(步骤 10)之前不能使用旧卷组中磁盘上的 reducevg 命令,则以下过程可帮助清除 VGDA/ODM 信息。
如果卷组仅由一个重新格式化的磁盘组成,请输入:
exportvg VGName
其中 VGName 是卷组的名称。
如果卷组由多于一个磁盘组成,请在命令行中输入以下命令:
varyonvg VGName
系统显示有关丢失或不可用磁盘的消息,并列出新的(或重新格式化的)磁盘。请注意新磁盘的物理卷标识(PVID),它在 varyonvg 消息中列出。它是丢失的磁盘的名称和标签 PVNOTFND 之间的 16 个字符的字符串。例如:
hdisk3 00083772caa7896e PVNOTFND
请输入:
varyonvg -f VGName
丢失的磁盘现在使用 PVREMOVED 标签显示。例如:
hdisk3 00083772caa7896e PVREMOVED
然后,输入命令:
reducevg -df VGName PVID
其中 PVID 是物理卷标识(在此情况中为 00083772caa7896e)。
要将新的磁盘驱动器添加到卷组,请使用 extendvg 命令。例如,输入:
extendvg myvg hdisk3
要在新的(或重新格式化的)磁盘驱动器上重新创建单一副本逻辑卷,请使用 mklv 命令。例如,输入:
mklv -y lv00 myvg 1 hdisk3
此示例重新创建 hdisk3 驱动器上的 lv00 逻辑卷。1 意味着此逻辑卷未制作镜像。
要重新创建逻辑卷上的文件系统,请使用 crfs 命令。例如,输入
crfs -v jfs -d lv00 -m /dev/lv00
要从备份介质恢复单一副本文件系统,请参阅从备份映象恢复个别用户文件。
要重新创建逻辑卷的镜像的副本,请使用 mklvcopy 命令。例如,输入:
mklvcopy mylv 3 hdisk3
此示例创建 hdisk3 上的 mylv 逻辑卷的镜像的第三个分区。
要将新镜像与其他镜像(在此示例中为 hdisk2 和 hdisk4)上的数据同步,请使用 syncvg 命令。例如,输入:
syncvg -p hdisk3
此时,所有镜像的文件系统都应该恢复并是最新的。如果能备份单一副本文件系统,则它们也将准备使用。应该能够继续使用正常系统。
从已发生故障的磁盘驱动器恢复的示例
要从已发生故障的磁盘驱动器恢复,请逆序执行创建时的步骤;也就是列出创建卷组的步骤,然后依次倒退执行。以下示例是此技术的说明。它显示如何创建镜像的逻辑卷以及如何在磁盘发生故障进行更改(每次逆序执行一个步骤)。
注:
以下示例说明特定的实例。它不打算成为任何一般恢复过程所基于的常规原型。
系统管理员 Jane 通过输入以下命令在 hdisk1 上创建名为 workvg 的卷组:
mkvg -y workvg hdisk1
然后她通过输入以下命令为此卷组又创建了两个磁盘:
extendvg workvg hdisk2
extendvg workvg hdisk3
Jane 创建了具有三个副本的 40 MB 的逻辑卷。每个副本分别在包含 workvg 卷组的三个磁盘的每个磁盘上。她使用以下命令:
mklv -y testlv workvg 10
mklvcopy testlv 3
Jane 创建了镜像的 workvg 卷组后,hdisk2 发生故障。因此,她采取以下步骤恢复:
她通过输入以下命令从 hdisk2 除去逻辑卷副本:
rmlvcopy testlv 2 hdisk2
她通过输入以下命令,从系统拆离 hdisk2,以便更新 ODM 和 VGDA:
reducevg workvg hdisk2
通过输入以下命令,从系统配置中除去 hdisk2 以准备更换:
rmdev -l hdisk2 -d
她通过输入以下命令,选择关闭系统:
shutdown -F
她更换了磁盘。新磁盘不具有与以前的 hdisk2 相同的 SCSI 标识。
她重新引导系统。
因为具有新的磁盘(系统发现此磁盘上有新的 PVID),系统选择首先打开 hdisk 名。因为在步骤 3 中使用了 -d 标志,释放了名称 hdisk2,因此系统选择 hdisk2 作为新磁盘的名称。如果没有使用 -d 标志,则已选择 hdisk4 作为新的名称。
Jane 通过输入以下命令,将此磁盘添加到 workvg 卷组中:
extendvg workvg hdisk2
她通过输入以下命令,创建了逻辑卷的两个镜像的副本:
mklvcopy testlv 3
“逻辑卷管理器”自动将第三个逻辑卷副本放置在新的 hdisk2 上。
当系统保持可用时从磁盘故障恢复
使用热可移动性功能从磁盘故障恢复的过程大部分都与在不必重新格式化的情况下恢复磁盘驱动器中描述的内容相同,以下是例外情况:
要卸下磁盘上的文件系统,请使用安装 JFS 或 JFS2过程。
要从其卷组和操作系统卸下磁盘,请使用卸下没有数据的磁盘过程。
要用新磁盘更换已发生故障的磁盘,不需要关闭系统。使用以下顺序的过程:
当系统保持可用时添加磁盘
配置磁盘
继续使用重新格式化的磁盘驱动器或更换磁盘驱动器来进行恢复中的13 步。
当卷组由一个磁盘组成时更换磁盘
如果可以将正毁坏的磁盘作为卷组的一部分访问,请使用以下过程之一:
将没有数据的固定磁盘添加到现有的卷组
将没有数据的固定磁盘添加到新卷组
迁移物理卷的内容
如果磁盘毁坏并无法访问,请遵循这些步骤:
导出卷组。
更换驱动器
从存在的备份介质重新创建数据。
物理或逻辑卷错误
本节包含物理或逻辑卷错误的可能问题和解决方案。
热点问题
当访问逻辑卷时,如果注意到性能退化,可能在正遇到太多磁盘 I/O 的逻辑卷中具有热点。有关更多信息,请参阅《AIX 5L V5.3 系统管理概念:操作系统和设备》和启用并配置热点报告。
LVCB 警告
逻辑卷控制块(LVCB)是逻辑卷的第一个 512 字节。此区域包含重要信息,如逻辑卷的创建日期、有关镜像副本的信息以及 JFS 中可能的安装点。作为 LVM 中算法的部分,更新 LVCB 需要某些 LVM 命令。读取并分析旧的 LVCB 以确定其是否有效。如果该信息是有效的 LVCB 信息,则更新 LVCB。如果该信息无效,则不执行 LVCB 更新,并可能收到以下消息:
警告,不能写 lv 控制块数据。
大多数时间,当数据库程序忽略 JFS 并将原始逻辑卷作为存储介质访问时,该消息产生。当发生这种情况时,该数据库信息完全覆盖 LVCB。对于原始逻辑卷,这不是致命错误。覆盖 LVCB 后,用户仍然可以:
扩展逻辑卷
创建逻辑卷的镜像副本
除去逻辑卷
创建日志文件系统以安装逻辑卷
删除 LVCB 是有限制的。带有已删除的 LVCB 的逻辑卷可能无法成功导入到其他系统。在导入时,LVM importvg 命令扫描卷组中所有定义的逻辑卷的 LVCB 以获取有关逻辑卷的信息。如果 LVCB 不存在,则导入的卷组仍然将逻辑卷定义到正在访问此卷组的新系统,用户仍然可以访问原始逻辑卷。然而,通常发生以下情况:
丢失任何 JFS 信息,且关联的安装点未导入到新系统。在这种情况下,必须创建新安装点,并且不能确保先前存储在文件系统中的数据的可用性。
无法找到有关逻辑卷的一些非 JFS 信息。当这种情况发生时,系统使用缺省逻辑卷信息填充 ODM 信息。结果,来自 lslv 命令的一些输出可能与真实的逻辑卷不一致。如果原磁盘上仍然存在任何逻辑卷副本,则信息不会正确反映在 ODM 数据库中。使用 rmlvcopy 和 mklvcopy 命令重新构建任何逻辑卷副本并同步 ODM。
物理分区限制
在逻辑卷管理器(LVM)的设计中,每个逻辑分区映射到一个物理分区(PP)。并且每个物理分区映射到若干磁盘扇区。LVM 的设计将 LVM 可以跟踪的物理分区的数量限制为每个磁盘 1016 个。在大多数情况下,并非所有的 1016 个跟踪分区都由磁盘使用。当超出此限制时,可能看到类似于以下的消息:
0516-1162 extendvg:警告,PPsize 的物理分区大小要求
为 PVname 创建 TotalPPs 分区。对卷组 VGname 的限制是
每个物理卷为 LIMIT 物理分区。将 chvg 命令与 -t 选项一起使用来
试图为此卷组更改每个“物理”卷的最大“物理分区”。
其中:
PPsize
是 1 MB 到 1 GB(以 2 次幂)。
Total PPs
是此磁盘上的物理分区的总数,给出 PPsize。
PVname
是物理卷的名称,例如,hdisk3。
VGname
是卷组的名称。
LIMIT
是 1016 或 1016 的倍数。
此限制在以下实例中执行:
当使用 mkvg 命令创建卷组时,在卷组中的磁盘上指定的物理分区超过了 1016。要避免此限制,可以从物理分区大小范围 1、2、4(缺省值)、8、16、32、64、128、256、512 或 1024 MB 中选择,并使用 mkvg -s 命令创建卷组。另外,可以使用适当的因子(允许每磁盘多个 1016 分区),并使用 mkvg -t 命令创建卷组。
当使用 extendvg 命令将磁盘添加到预先存在的卷组时,新的磁盘产生 1016 限制违例。要解决该情况,请使用 chvg -t 命令将现有的卷组转换为容纳每个磁盘多个 1016 分区。另外,可以使用允许新磁盘的较大分区大小重新创建卷组,或可以为新磁盘创建由较大物理大小组成的单机卷组。
分区限制和 rootvg
如果安装代码检测到 rootvg 驱动器大于 4 GB,则它更改 mkvg -s 值,直到整个磁盘容量可以映射到可用的 1016 跟踪。此安装更改也意味着添加到 rootvg 的所有其他磁盘(不考虑大小)还以该物理分区大小定义。
分区限制和 RAID 系统
对于使用相同磁盘冗余阵列(RAID)的系统,由 LVM 使用的 /dev/hdiskX 名称可能由许多非 4 GB 磁盘组成。在此情况下,1016 需求仍然存在。LVM 没有察觉到真正组成 /dev/hdiskX 的单个磁盘的大小。LVM 以 /dev/hdiskX 的识别的大小(而非组成 /dev/hdiskX 的实际物理磁盘)作为 1016 限制的基础。
同步设备配置数据库
系统故障可能导致设备配置数据库变得与 LVM 不一致。当这种情况发生时,逻辑卷命令生成如下的错误消息:

0516-322 设备配置数据库不一致 ...
0516-306 无法在设备配置数据库上
找到逻辑卷 LVname。
(其中名为 LVname 的逻辑卷通常可用)。
注意: 不要除去卷组或逻辑卷的 /dev 项。不要使用“对象数据管理器”为卷组或逻辑卷更改数据库项。
要使用 LVM 信息同步设备配置数据库,请使用 root 用户权限,在命令行中输入以下命令:
synclvodm -v VGName
其中 VGName 是想要同步的卷组的名称。
卷组错误
如果 importvg 命令工作不正常,请尝试刷新设备配置数据库。请参阅同步设备配置数据库。
覆盖联机故障
注意: 覆盖联机故障是非同寻常的操作;在进行前,检查所有其他可能的问题源,如硬件、电缆、适配器和电源。在联机进程中覆盖定额故障仅用于紧急情况,并仅作为最后的手段(例如,从发生故障的磁盘抢救数据)使用。当覆盖定额故障时,不能保证 VGDA 和 VGSA 的选定副本中所含管理数据的数据完整性。
当选择通过覆盖定额缺失来强制联机卷组时,在此联机进程中缺少的所有物理卷的“PV 状态”将更改为已除去。这意味着从这些物理卷除去所有 VGDA 和 VGSA 副本。此操作完成后,这些物理卷将不再参加定额检查,也不允许在卷组中变为活动的,直到将它们返回到卷组。
在一个或多个以下条件下,可能想要覆盖联机故障,以便可以访问卷组中可用磁盘上的数据:
不可用的物理卷表现为永久性毁坏。
可以确认当卷组最后一次联机时,目前可访问的物理卷(它必须还包含良好的 VGDA 和 VGSA 副本)中至少有一个是联机的。取消配置并断开遗失的物理卷组的电源,直到它们可以诊断和修复。
使用以下过程避免当一个磁盘丢失或可能很快发生故障并要求修复时丢失定额:
要临时从卷组中除去卷,请输入:
chpv -vr PVname
当此命令完成时,物理卷 PVname 不再参与定额检查。然而,在两个磁盘的卷组中,如果在包含两个 VGDA/VGSA 的磁盘上尝试 chpv 命令,则此命令失败。该命令不允许导致定额丢失。
如果需要卸下磁盘以进行修复,请断开系统的电源并卸下磁盘。(有关说明,请参阅磁盘驱动器问题。)在修正磁盘并将磁盘返回到系统后,请继续下一个步骤。
要使磁盘再次可用于卷组以进行定额检查,请输入:
chpv -v PVname
注:
chpv 命令仅用于定额检查改变。驻留在磁盘上的数据仍然存在,并且如果该磁盘不返回到系统,则必须将该数据移动或复制到其他磁盘。
VGDA 警告
在一些实例中,用户在将新磁盘添加到现有的卷组或创建新卷组时遇到问题。LVM 提供的消息是:
0516-1163 extendvg:VGname 已具有最多的物理卷。使用
每个物理卷的最大数量的物理分区为 LIMIT,则卷组 VGname 的
最大数量的物理卷是 MaxDisks。
其中:
VGname
是卷组的名称。
LIMIT
是 1016 或 1016 的倍数。
MaxDisks
是卷组中的磁盘的最大数量。例如,如果每个磁盘有 1016 个物理分区(PP),则 MaxDisk 为 32 个;如果有 2032 个,则 MaxDisk 有 16 个。
可以修改 image.data 文件,然后使用备用磁盘安装,或使用 mksysb 命令恢复系统以将卷组重新创建为大卷组。有关更多信息,请参阅《AIX 5L V5.3 安装指南与参考大全》。
在限制小于 32 个磁盘的较旧的 AIX 版本中,相对于此最大 VGDA 描述例外的情况是 rootvg。要向用户提供更多可用磁盘空间,则当创建了 rootvg 时,mkvg -d 命令将在安装菜单中选定的磁盘数用作引用号。对于一个磁盘,此 -d 数为 7,对于选定附加的每个磁盘,该数加一。例如,如果选择了两个磁盘,则数量为 8,如果选择了三个磁盘,则数量是 9,等等。
阅读(1573) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~