引言
AIX 操作系统是具有特定 IBM 风格的 Unix 。IBM 最初于 1986 年发布了 AIX 1.0 版本 , 在过去 22 年中经过多次更新(撰写本文时的最新版本为 AIX 6.1) , AIX 已发展成为稳定的 UNIX 系统 。
虽然许多人混用术语 AIX 和 RS/6000 , 但它们实际上表示不同的事物 。AIX 是 UNIX 操作系统 , IBM RS/6000?是可供 AIX 运行的精简指令集计算机 (RISC) 服务器硬件 。IBM 最初在 IBM 6150 RT 工作站上运行 AIX , 多年以来 , AIX 经历了从 IBM PS/2 Intel?386 计算机、IBM 主机 , 直到 POWER 体系结构的变迁 。现在 , AIX 可以在 IBM System p?(以前称为 RS/6000)和 System i?(以前称为 IBM iSerIEs?和 AS/400┘扑慊显诵小?/p>AIX 启动方法
有三种方法可以启动 AIX 操作系统:正常、独立和网络启动 。
正常启动
典型的 AIX 启动方法是正常启动选项 。正常启动选项从本地磁盘启动服务器上的 AIX 。启动完成时 , 操作系统将处于多用户模式 。
独立启动
AIX 系统的第二种启动类型称为独立启动或维护模式选项 。独立启动选项与正常启动选项类似 , 但启动时不进入多用户模式 , 而是进入单用户维护模式 。您可以使用多种方法以独立方式启动 AIX 系统 , 如从可移动介质(磁带或光盘)启动服务器 , 在初始硬件外围设备检查过程中 , 当键盘完成初始化时 , 或者在可能出现问题(文件系统损坏)并且必须修补系统才能进入正常启动时 , 单击 F5(或 F6 , 具体取决于硬件) 。同样 , 一些系统可能具有允许您进入维护模式的钥匙 。独立启动服务器允许您在没有其他用户登录的情况下安装软件、修复问题、运行诊断程序 , 以及配置硬件 , 从而降低资源锁定的风险 。
网络启动
第三种启动类型是网络启动选项 。同样 , 与正常启动选项类似 , AIX 系统启动时进入多用户模式 。但是 , 使用该选项时 , AIX 从网络上的另一台服务器接收其启动信息 。
启动列表及其管理方法
因为您可以从多种不同类型的介质上启动 AIX 系统 , 因此您必须具备管理各种介质类型的方法 。于是启动列表派上了用场 。启动列表维护系统的各种启动方法所对应的所有启动设备的列表 。
若要查看特定启动方法的启动列表 , 只需添加选项 -o 。在以下示例中 , 演示了正常启动方法 。服务器将尝试启动的介质顺序是第一本地磁盘 (hdisk0) , 然后是光盘 (cd0) , 最后通过磁带 (rmt0) 启动 。
# bootlist -m normal -o
hdisk0
cd0
rmt0
若要设置特定启动方法的启动列表 , 请键入选项 -m 和相应的启动方法 , 后跟着所需的启动设备 。在下列示例中 , 将正常启动的启动列表修改为尝试以 hdisk0、cd0、cd1 的顺序启动服务器:
bootlist -m normal hdisk0 cd0 cd1
正如您从上面的示例所看到的 , 每次都使用 -m 选项来指定要修改或显示的启动方法 。该选项支持的值包括 normal(正常)、service(单用户维护模式)、both(正常和服务)和 prevboot(先前的启动列表) 。
AIX 启动顺序
既然已经选择了启动方法 , 接下来了解服务器上电后实际发生的事件顺序 。
注意:在本文的其余内容中 , 您将使用正常启动模式启动服务器 。
POST
在您打开电源并开启服务器后 , 将检验服务器的硬件是否可能存在问题 。该步骤称为上电自检(power-on self-test , POST) 。当服务器执行此步骤时 , POST 将检查内存、键盘、声卡和网络设备 。在此期间 , 如果您要进入独立模式(单用户模式) , 请在键盘初始化之后单击 F5 或 F6 。但在本文中 , 请不要按任何键 , 让服务器进入正常启动模式 。
引导程序
在 POST 过程完成后 , 将引导程序(用于加载大型程序的小型程序)加载到内存中 。然后 , 引导程序将启动逻辑卷 (BLV) 加载到内存中 。加载了 BLV 后 , 内核将接管启动过程 。
启动逻辑卷和 bosboot 命令
BLV 是包含 AIX 可启动映像的位置 。通常 , 可以在服务器的本地磁盘上找到 BLV 。BLV 包含 AIX 内核、rc.boot 文件、启动过程所需的命令 , 以及精简版本的对象数据管理器 (ODM) 。
若要创建可启动映像 , 请使用 bosboot 命令 。使用 bosboot 命令可以从 RAM 磁盘、文件系统或内核创建启动文件(即可启动映像) 。可启动映像以及一些接口是通过服务器的启动只读存储器 (ROS) 和可擦可编程只读存储器 (EPROM) 创建的 。
下列示例演示如何在用于启动系统的本地固定磁盘上的缺省 BLV 上创建可启动映像:
bosboot -a
AIX 内核
存储在 BLV 中的 AIX 内核在内存中创建 / (root)、/usr 和 /var 文件系统 。请记住 , 在操作系统启动过程中 , 这些文件系统以及内核最初是存储在内存中的 。由于它们位于内存中 , 因此无法访问 BLV 以外的任何内容 。
文件系统加载到内存后 , 内核执行 init 进程 , 该进程现在接管启动过程 。
init 进程
AIX 内核为进程 init 分配进程标识符 (PID) 1 。该进程是 AIX 上运行的所有其他进程的父进程或根 进程 。加载 init 进程并运行了该根进程后 , init 调用 rc.boot 。
rc.boot 文件
在 AIX 引导过程中 , rc.boot 文件包括三个重要的执行阶段 。rc.boot 的第一阶段是初始化系统硬件 , 为启动操作系统做准备 。此时 , 使用配置管理器命令 cfgmgr 配置启动系统所需的有限数量的设备 。
在 rc.boot 的第二阶段 , 挂载文件系统 /、/usr 和 /var , 以及分页空间 。挂载这些文件系统后 , init 被替换为磁盘上的 init , PID 为 1 , 并清除内存 。
最后 , 在 rc.boot 的第三阶段 , 从磁盘执行实际的 init 进程 。在执行 init 时 , 读取 /etc/inittab 文件 , 并执行其中的每个项目 。在此期间 , 将 /tmp 文件系统挂载磁盘 。到了启动过程的最后阶段 , 在 rc.boot 的第一阶段未进行配置的其余设备上再次运行 cfgmgr 命令 。
/etc/inittab 文件
执行 init 进程后 , 接下来由 init 打开 /etc/inittab 并读取每个条目 。/etc/inittab 文件的目的是为 init 进程提供在引导和正常运行过程中启动的那些进程 。
/etc/inittab 文件的格式非常特别 , 各个字段通过冒号分隔 。/etc/inittab 的格式如下:
/etc/inittab 文件中定义的字段的说明如下:
ID:用于标识对象的唯一字符串 。
Run Level:在系统进入 init 级别时执行
0、1:保留用于将来的操作系统扩展
2:缺省运行级别
3 至 9:可由用户定义
a 至 c:专用级别(当 init 执行至运行级别 a、b 或 c 时 , 进程不会被终止 。那些处于这些运行级别并且未运行的进程将开始执行 , 但是处于之前运行级别的进程保持不变 。)
Q、q:通知 init 重新扫描 /etc/inittab 文件的快速方法
Action: action 字段通知 init 进程如何处理 inittab 文件的各个条目中的进程 。以下是 AIX 所使用的 action 字段的值: respawn:如果进程不存在 , 则启动进程 。不等待其终止 , 并继续扫描 inittab 文件 。如果进程终止 , 则重新启动进程 。
wait:启动进程 , 并等待其终止 。
once:启动进程 , 但不等待其终止 。如果进程终止 , 则不重新启动它 。
boot:只在系统启动时处理条目 。
bootwait:在服务器最初从单用户进入多用户模式时处理条目 。
powerfail:只在 init 收到电源故障信号时执行命令 。
powerwait:只在 init 收到电源故障信号时执行命令 , 并且等待进程终止后再继续扫描 inittab 文件 。
off:如果目前进程正在运行 , 则发送信号 SIGTERM , 并在 20 秒后发送 SIGKILL 。
ondemand:该值与 respawn 相同 , 但只适用于运行级别 a、b 和 c 。
initdefault:仅在 init 最初执行时扫描条目 。
sysinit:在登录和 init 访问控制台之前执行条目 。
Command:/etc/inittab 中最后输入的字段是 command 字段 。这是在
以下示例演示在启动运行级别 2 时运行名为 /usr/bin/rc.atc_bin 的 Shell 脚本 , 并在每次调用运行级别 2 时 respawn 该进程:
CORMANY_BIN:2:respawn:/usr/bin/rc.atc_bin
若要为运行级别 0、1、3、6 和 9 禁用相同的脚本 , 请使用:
CORMANY_BIN:245780:respawn:/usr/bin/rc.atc_bin
查看和修改 inittab
AIX 提供了比手动更改 /etc/inittab 文件更方便的命令 。这些命令遵从与其他 AIX 命令相同的命名约定:
mkitab:向 inittab 文件添加记录 。以下示例将具有运行级别 2 的 /usr/bin/rc.atc_bin 脚本添加到 inittab 中 。
mkitab “CORMANY_BIN:2:respawn:/usr/bin/rc.atc_bin
chitab:更改 inittab 文件中的记录 。语法与 inittab 文件中的实际记录相同 。以下示例将上一示例的 inittab 文件中的 /usr/bin/rc.atc_bin 脚本的运行级别更改为 3:
chitab "CORMANY_BIN:3:respawn:/usr/bin/rc.atc_bin"
lsitab:列出 inittab 文件中的记录 。使用 lsitab 是单独或一起查看 inittab 记录的安全手段 。以下示例查看 inittab 文件中的所有记录:
lsitab -a
以下示例仅查看标识为 CORMANY_BIN 的记录:
lsitab CORMANY_BIN
rmitab:从 inittab 文件中删除记录 。以下示例将标识为 CORMANY_BIN 的记录从 inittab 文件中删除:
rmitab CORMANY_BIN
结束语
现在已读取 inittab 文件并执行了所有应该执行的进程 , 系统已准备好进行登录!您现在可以登录并畅游您的 AIX 系统 。
【对话 UNIX: 启动】当您按下服务器上的电源开关时 , 系统魔术般地启动了 , 这一切似乎很简单 , 但正如您从本文中看到的 , AIX 系统启动时发生了很多事情 。希望您通过阅读本文能够更清楚地了解 AIX 需要执行哪些过程来支持稳定的操作系统 。
- 红米3手机开启与关闭应用自启动的方法
- 教你关闭Vista自动重新启动功能
- Windows Vista启动程序轻松修改
- 微软中国5月启动Vista正版宣传 主攻OEM
- 自启动管理是什么意思
- 在Vista下安装老版本操作系统做双启动
- Windows Vista系统如何创建启动磁盘
- 一起来动手创建Windows Vista系统启动磁盘
- 冷车启动抖动是怎么回事 冷车启动抖动是什么原因
- 专家评论: Vista启动速度有那么慢吗
