第13 章• 引导过程(参考) 281
注– 如果需要创建Solaris Device Configuration Assistant 引导软盘,请转至
。
x86: 引导Solaris 发行版
在此发行版中,如果通过Solaris Software 1 CD、DVD 引导基于x86 的系统,或者执行PXE
网络引导,则系统将自动引导。要使用Device Configuration Assistant,必须在系统提示时按
Esc 键,以中断引导过程。
在设备识别阶段,Device Configuration Assistant 将执行以下操作:
扫描系统上安装的设备
显示识别的设备
使您可以执行可选任务,如选择键盘类型或编辑设备及其资源
在引导阶段,Device Configuration Assistant 将执行以下操作:
显示用于引导的设备的列表。带有星号(*) 标记的设备为缺省引导设备。
使您可以执行可选任务,如编辑自动引导设置和属性设置,以及选择网络配置策略。
下一节将提供在设备识别阶段出现的菜单的示例。设备输出因系统配置而异。
x86: 设备识别阶段显示的屏幕
当Device Configuration Assistant 尝试识别系统中的设备时,将显示多个屏幕。本节提供了以
下引导子系统屏幕的示例:
Device Configuration Assistant 屏幕
“总线枚举”屏幕
“扫描设备”屏幕
“已识别设备”屏幕
x86: Device ConfigurationAssistant 屏幕
注– 在当前的Solaris 发行版中,Device Configuration Assistant 屏幕已被基于x86 的系统上的
GRUB 菜单取代。有关更多信息,请参见第11 章。
在Solaris 10 初始发行版中,自动引导过程会绕过Device Configuration Assistant 菜单,除非
您在引导阶段看到系统提示时按了Esc 键。如果选择使用Device Configuration Assistant,则
会显示以下屏幕。
Solaris Device Configuration Assistant
x86: 引导子系统
282 系统管理指南:基本管理• 2006 年7 月
The Solaris(TM)Device Configuration Assistant
scans to identify system hardware, lists identified devices, and can
boot the Solaris software from a specified device. This program must be
used to install the Solaris operating environment, add a driver,
or change the hardware on the system.
> To perform a full scan to identify all system hardware, choose Continue.
> To diagnose possible full scan failures, choose Specific Scan.
> To add new or updated device drivers, choose Add Driver.
About navigation...
-The mouse cannot be used.
-If the keyboard does not have function keys or they do not respond,
press ESC. The legend at the bottom of the screen will change to
show the ESC keys to use for navigation.
-The F2 key performs the default action.
F2_Continue F3_Specific Scan F4_Add Driver F6_Help
x86: “总线枚举”屏幕
当Device Configuration Assistant 针对可自动检测的设备收集硬件配置数据时,会短时间出现
“总线枚举”屏幕。
Bus Enumeration
Determining bus types and gathering hardware configuration data ...
x86: 引导子系统
第13 章• 引导过程(参考) 283
Please wait ...
x86: “扫描设备”屏幕
当Device Configuration Assistant 手动扫描仅能使用特殊驱动程序检测的设备时,将出现“扫
描设备”屏幕。
Scanning Devices
The system is being scanned to identify system hardware.
If the scanning stalls, press the system’s reset button. When the
system reboots, choose Specific Scan or Help.
Scanning: Floppy disk controller
#######################
| | | | | |
0 20 40 60 80 100
Please wait ...
x86: “已识别设备”屏幕
“已识别设备”屏幕显示在系统上已识别的设备。从该屏幕可以继续访问“引导Solaris”
菜单。或者,可以执行以下可选的设备任务:
设置键盘配置
查看并编辑设备
设置串行控制台
保存并删除配置
x86: 引导子系统
284 系统管理指南:基本管理• 2006 年7 月
Identified Devices
The following devices have been identified on this system. To identify
devices not on this list or to modify device characteristics, such as
keyboard configuration, choose Device Tasks. Platform types may be
included in this list.
ISA: Floppy disk controller
ISA: Motherboard
ISA: PnP bios: 16550-compatible serial controller
ISA: PnP bios: 16550-compatible serial controller
ISA: PnP bios: Mouse controller
ISA: PnP bios: Parallel port
ISA: System keyboard (US-English)
PCI: Bus Mastering IDE controller
PCI: Universal Serial Bus
PCI: VGA compatible display adapter
F2_Continue F3_Back F4_Device Tasks F6_Help
x86: 在引导阶段显示的菜单
在此阶段,您可以确定系统的引导方式。引导阶段将显示以下菜单:
“引导Solaris”菜单
“当前引导参数”菜单
x86: 引导子系统
第13 章• 引导过程(参考) 285
x86: “引导Solaris”菜单
通过“引导Solaris”菜单,可以选择用于引导Solaris 发行版的设备。还可以执行可选任
务,如查看并编辑自动引导和属性设置。选择引导设备并选择“继续”后,Solaris 内核便
会开始引导。
Boot Solaris
Select one of the identified devices to boot the Solaris kernel and
choose Continue.
To perform optional features, such as modifying the autoboot and property
settings, choose Boot Tasks.
An asterisk (*) indicates the current default boot device.
> To make a selection use the arrow keys, and press Enter to mark it [X].
[X] DISK: (*) Target 0:QUANTUM FIREBALL1280A
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ] DISK: Target 1:ST5660A
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ] DISK: Target 0:Maxtor 9 0680D4
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ] CD : Target 1:TOSHIBA CD-ROM XM-5602B 1546
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
F2_Continue F3_Back F4_Boot Tasks F6_Help
x86: 引导子系统
286 系统管理指南:基本管理• 2006 年7 月
x86: “当前引导参数”菜单
每次从本地磁盘引导Solaris 发行版时,都会出现此菜单。如果要引导缺省的Solaris 内核,
请等待五秒钟的超时时间过去。如果要使用其他选项进行引导,请在超时时间内选择一个
适当的选项。
<<< Current Boot Parameters >>>
Boot path:
Boot args:
Type b [file-name] [boot-flags]
to boot with options
or i to enter boot interpreter
or to boot with defaults
<<< timeout in 5 seconds >>>
Select (b)oot or (i)nterpreter:
x86: 引导过程
下表介绍了有关基于x86 的系统的引导过程。
表13–3 x86: 引导过程的说明
引导阶段说明
BIOS 1. 打开系统时,BIOS 将运行自检诊断,以验证系统的硬件和内存。如果未发
现任何错误,系统便会开始自动进行引导。如果发现了错误,则会显示错误
消息,说明恢复选项。
此时会运行其他硬件设备的BIOS。
2. BIOS 引导程序尝试读取引导设备中的第一个磁盘扇区。引导设备上的第一
个磁盘扇区包含已加载并执行的主引导记录mboot。如果系统未找到mboot 文
件,则会显示错误消息。
x86: 引导过程
第13 章• 引导过程(参考) 287
表13–3 x86: 引导过程的说明(续)
引导阶段说明
引导程序3. 主引导记录mboot 包含查找活动分区和Solaris 引导程序pboot 位置所需的磁
盘信息,并会装入和执行pboot、mboot。
4. Solaris 引导程序pboot 装入主引导程序bootblk。bootblk 命令用于装入位
于UFS 文件系统中的辅助引导程序。
5. 如果有多个可引导的分区,bootblk 会读取fdisk 表以找到缺省的引导分
区,并生成和显示可用分区的菜单。您有30 秒的时间来选择用于引导的替代
分区。只有在系统中存在多个可引导的分区时,才会出现此步骤。
6. bootblk 在根(/) 文件系统中查找并执行辅助引导程序boot.bin 或
ufsboot。您有5 秒钟的时间来中断自动引导,以便启动Solaris Device
Configuration Assistant。
7. 辅助引导程序boot.bin 或ufsboot 启动用于执行/etc/bootrc 脚本的命令
解释程序。此脚本提供了用于引导系统的选项菜单。缺省操作是装入并执行
内核。您有5 秒钟的时间间隔来指定引导选项或启动引导解释程序。
内核初始化8. 内核自行进行初始化并使用辅助引导程序(boot.bin 或ufsboot)开始装入
模块,以读取文件。内核为挂载根(/) 文件系统装入足够的模块后,它将取
消映射辅助引导程序并使用其自己的资源继续操作。
9. 内核创建用户进程并启动/sbin/init 进程,从而通过读取/etc/inittab 文
件来启动其他进程。
init 10. 在此Solaris 发行版中,/sbin/init 进程会启动/lib/svc/bin/svc.startd
进程,从而启动执行以下操作的系统服务:
检查并挂载文件系统
配置网络和设备
启动各种进程并执行系统维护任务
此外,svc.startd 还会执行用于保持兼容性的运行控制( rc) 脚本。
x86: 引导文件
除了运行控制脚本和引导文件以外,还有其他与引导基于x86 的系统关联的引导文件。
表13–4 x86: 引导文件
文件说明
/etc/bootrc 包含用于引导Solaris 发行版的菜单和选项。
/boot 包含引导系统所需的文件和目录。
/boot/mdboot 用于将一级引导程序(strap.com) 从磁盘装入内存的DOS
可执行文件。
x86: 引导文件
288 系统管理指南:基本管理• 2006 年7 月
表13–4 x86: 引导文件(续)
文件说明
/boot/mdbootbp 用于将一级引导程序(strap.com) 从软盘装入内存的DOS
可执行文件。
/boot/rc.d 包含安装脚本的目录。请勿修改此目录的内容。
/boot/solaris 包含引导子系统项的目录。
/boot/solaris/boot.bin 装入Solaris 内核或独立的kmdb。此外,该可执行文件还提
供了一些引导固件服务。
/boot/solaris/boot.rc 在x86 系统上列显Solaris 操作系统并在DOS 模拟模式下运
行Device Configuration Assistant。
/boot/solaris/bootconf.exe Device Configuration Assistant 的DOS 可执行文件。
/boot/solaris/bootconf.txt 包含Device Configuration Assistant 的国际化消息的文本文
件(bootconf.exe)。
/boot/solaris/bootenv.rc 存储用于设置引导环境的eeprom 变量。
/boot/solaris/devicedb 包含master 文件、实模式驱动程序支持的所有可能设备的
数据库的目录。
/boot/solaris/drivers 包含实模式驱动程序的目录。
/boot/solaris/itup2.exe 在安装时更新(install time update, ITU) 过程中运行的DOS
可执行文件。
/boot/solaris/machines 已废弃的目录。
/boot/solaris/nbp 与网络引导关联的文件。
/boot/solaris/strap.rc 包含有关要装入的装入模块以及在内存中所装入位置的说
明的文件。
/boot/strap.com 用于将二级引导程序装入内存的DOS 可执行文件。
x86: 引导文件
第13 章• 引导过程(参考) 289
290
管理服务(概述)
本章提供有关服务管理工具(Service Management Facility, SMF) 的概述,以及与运行级有关的
信息。
以下是本章中概述信息的列表:
第291 页中的“SMF 简介”
第293 页中的“SMF 概念”
第296 页中的“SMF 管理接口和编程接口”
第297 页中的“SMF 组件”
第298 页中的“SMF 兼容性”
第298 页中的“运行级”
第300 页中的“/etc/inittab 文件”
第302 页中的“运行控制脚本”
有关与SMF 相关的过程的信息,请参见第305 页中的“管理SMF 服务(任务图)”。有关
与运行级相关的过程的信息,请参见第320 页中的“使用运行控制脚本(任务图)”。
SMF 简介
SMF 提供了在传统UNIX 启动脚本、init 运行级和配置文件的基础上进行扩充的基础结
构。SMF 提供下列功能:
自动按照相关性顺序重新启动失败的服务,无论服务失败的原因是管理员操作错误、软
件错误还是无法纠正的硬件错误。相关性顺序由相关性语句定义。
可以使用新的svcs 命令创建可查看的服务对象,用svcadm 和svccfg 命令创建可管理的
服务对象。还可以使用svcs -p 查看服务和进程之间的关系,这对于SMF 服务和传统的
init.d 脚本均适用。
通过自动捕获服务配置的快照来简化对服务的备份、恢复及撤消更改操作。
使用svcs -x 来解释服务没有运行的原因,这便于调试和询问有关服务的问题。此外,
由于每个服务都有单独的持久性日志文件,因此该过程进一步得到了简化。
14 第1 4 章
291
允许使用svcadm 来启用和禁用服务。这些更改不会因升级或重新启动而失效。如果使用
-t 选项,则所做的更改将是临时更改。
管理员能够安全地将任务委托给非超级用户,这些任务包括在系统中修改属性以及启
用、禁用或重新启动服务等任务。
依据服务的相关性并行启动服务,从而提高大型系统的引导速度。关机时过程相反。
可以对引导控制台输出进行自定义,尽可能采用静默方式(缺省设置);或使用boot -m
verbose 将其自定义为详细模式。
尽可能兼容现有的管理习惯。例如,多数客户和ISV(独立软件开发商)提供的rc 脚本
仍可像往常一样工作。
相关性语句定义服务之间的关系。使用这些关系,可以只重新启动那些在缺省情况下直接
受到影响的服务(而不是重新启动所有的服务),从而提供精确的故障隔离。相关性语句
的另一个优点是,允许针对可伸缩和可再现的初始化进程使用相关性语句。另外,通过定
义所有的相关性,可以利用新式高度并行的机器,因为所有的相关性服务都可以并行启
动。
SMF 定义了一组可以由管理员针对服务调用的操作。这些操作包括启用、禁用、刷新、重
新启动和维护。每个服务都由执行管理操作的服务重新启动器来管理。通常,重新启动器
通过执行服务的方法来执行操作。每个服务的方法都在服务配置系统信息库中定义。这些
方法允许重新启动器更改服务的状态。
在每个服务成功启动时,服务配置系统信息库将按服务提供快照,这使回退成为可能。另
外,系统信息库提供一致而持久的方法来启用或禁用服务,并提供一致的服务状态视图。
此功能有助于调试服务配置问题。
使用SMF 时的行为更改
由SMF 提供的多数功能都发生在后台,因此不为用户所知。其他功能可由新命令访问。以
下列出了最明显的行为更改。
现在引导过程创建的消息要少许多。缺省情况下,在启动服务时并不显示消息。由引导
消息提供的所有信息现在可在每个服务的日志文件(位于/var/svc/log 中)中找到。可
以使用svcs 命令来帮助诊断引导问题。另外,还可以使用boot 命令的-v 选项。当在引
导过程中启动每个服务时,该命令会生成一条消息。
如果有可能,服务将会自动重新启动,因此似乎进程拒绝中止。如果服务有缺陷,则该
服务将被置于维护模式,但通常服务会在进程中止之后重新启动。应当使用svcadm 命令
来禁用任何不应运行的SMF 服务。
/etc/init.d 和/etc/rc*.d 中的许多脚本已经被删除。这些脚本将不再是启用或禁用服务
所必需的脚本。/etc/inittab 中的项也已经过删除,以便可以使用SMF 对服务进行管
理。由ISV 提供或在本地开发的脚本和inittab 项将能够继续运行。在引导过程中,不
同的服务不会恰好同时启动,但是它们不会在SMF 服务之前启动,因此所有的服务相关
性都应当没有问题。
使用SMF 时的行为更改
292 系统管理指南:基本管理• 2006 年7 月
SMF 概念
本节提供SMF 框架中的术语及其定义。这些术语应用于整个文档。要理解SMF 概念,必须
先了解这些术语。
SMF 服务
SMF 框架中的基本管理单元是服务实例。每个SMF 服务都有可能配置了多个版本。而且,
同一版本的多个实例也可以在一个Solaris 系统上运行。实例是指服务的特定配置。Web 服
务器就是一种服务。配置为在端口80 侦听的特定Web 服务器守护进程就是一个实例。Web
服务器服务的每个实例都可以有不同的配置要求。服务具有系统范围的配置要求,但是,
每个实例都可以根据需要覆盖特定的要求。单个服务的多个实例可作为服务对象的子对象
进行管理。
服务不只表示长期运行的标准系统服务(如in.dhcpd 或nfsd),还表示包括ISV 应用程序
(如Oracle 软件)的各种系统实体。此外,服务还可能包括如下所示的较不传统的实体:
物理网络设备
配置的IP 地址
内核配置信息
与系统init 状态相对应的里程碑,如多用户运行级
通常,服务是一个向应用程序和其他服务(本地和远程)提供一系列功能的实体。服务依
赖于隐式声明的本地服务列表。
里程碑是特殊类型的服务。里程碑服务表示系统的高级属性。例如,构成运行级S、2 和3
的服务均由里程碑服务表示。
服务标识符
使用故障管理资源标识符(Fault Management Resource Identifier, FMRI) 对每个服务实例进行
命名。FMRI 包括服务名称和实例名称。例如,rlogin 服务的FMRI 是
svc:/network/login:rlogin,其中network/login 标识服务,rlogin 标识服务实例。
FMRI 的等效格式如下所示:
svc://localhost/system/system-log:default
svc:/system/system-log:default
system/system-log:default
另外,一些SMF 命令可以使用此FMRI 格式:svc:/system/system-log。一些命令将推断要
使用哪个实例,以及何时没有多义性。有关选择适当的FMRI 格式的说明,请参见SMF 命
令手册页,如svcadm(1M) 或svcs(1)。
服务名称中通常包括一个常规的功能类别。这些类别包括:
application
SMF 概念