Solaris系统的启动和关机

Solaris 2.x 采用了基于 Unix 系统 System V Release 4.0 标准的灵活的启动过程 , 使得很容易产生和定制在各个主机和系统上都通用的启动和关机过程,这与 Solaris 1.x 所用的简单的 BSD 风络的启动过程形成了对比,后者缺少针对不同的系统状态的启动脚本的不同组织形式 。本章的目的是向读者介绍一些基本术语和初始化参数,它们在将 Solaris 系统引入到单用户和多用户运行等级或者 init 状态的过程中扮演了重要角色,其中 init 状态是非常独特的操作状态,init 状态间的切换由 init 进程管理 。阅读本章后,Solaris 2.x 的管理员们在诊断他们自已系统的启动和关机过程时就会觉得有些自信了,并且在升级 Solaris 1.x 系统时,会对启动时各过程的顺序和之间的依赖关系有清楚的理解 。
在许多方面,Solaris 的启动和关机于许多其它系统有相似性,然而,认识和理解 Solaris 操作系统于其它服务器不同的特性也是非常重要的 。SPARC 硬件的一个重要的功能是称为 OpenBoot 的固件监视系统,它负责启动前的一些重要任务:
· 通过键入下面的字符启动 Solaris 操作系统 :
ok boot
在 OpenBoot 提示符下 , 它将启动 Solaris 内核 ( 在 Solaris x86 上,boot 命令必须通过 Primary Boot Subsystem 菜单执行 )
· 设置系统配置参数,如启动设备,它可以是几个硬盘之一(由设备的全路径名确定),或者是网络上的一台其它主机,也可以是一个 CD-ROM 驱动器 。
· 通过执行下面这条命令监测网络流量 :
ok watch-net
在 OpenBoot 提示符下运行
· 对系统设备执行简单的诊断和测试 ( 例如,检测 SCSI 总线的终结状态,或者执行称为上电自检的 POST ( Power-On Self Test POST )检测 )
和许多 Linux 版本带的 LILO Linux 加载器不一样,OpenBoot 不只是一个简单的操作系统加载器,它还允许地启动进程开始前写入、加载和运行用基于堆栈的 Forth 编程语言写的程序,当为一个大企业定制服务器时,常要求在启动时显示公司的标志而不是缺省的 Sun 标志,这时,OpenBoot 的这一特性就非常有用了,可以生成一个用合适的象素构成的 Forth 数组,然后运行 oem-logo 命令 。另外,在单用户和多用户 init 状态中,也可以在启动后对变量的值进行设定,这可以通过以超级用户的身份运行 eeprom 命令实现 。
例如,eeprom 可以用来将启动时自检的 RAM 改成 64M :
L 4-3
server# eeprom selftest-#megs=64
在 Solaris x86 系统中,固件不直接支持 eeprom 这样的功能 : 每个 PC 厂商有不同的 BIOS 系统,使得很难做到这一点,做用替代,用 bootenv.rc 文件中的变量集仿真内存 。
要想看 OpenBoot 为你的系统中的固件发布的信息,可以下面这一命令: :
L 4-4
ok banner
SPARCstation 10, Type 5 Keyboard
ROM Rev. 2.4, 64 MB memory installed, Serial #6745644
Ethernet address 6:3:10:a:cc:4a HostID 5767686
如果 OpenBoot 的提示符不是 ok( 如,它显业为 >> ),那么只需简单地键入 n 回到 ok 提示符:
L 4-5
>>
n
ok
Solaris 操作系统的第二个重要特性是通过高效的内核和用户程序模式设计,达到 up-time 最大化的目的 。在一些非 Solaris 服务器的环境中,每次安装一个新应用时必须重起系统,或者需要重新配置内核 。对 Solaris 系统来说,只在极少的情况下才需重起系统,因为应用程序从逻辑上与系统配置选项是分开的,许多系统级的配置选项可以在超级用户的 shell 中设置,例如,许多 TCP/IP 选项可以用下面的命令动动修改:
L 4-6
server# ndd /dev/tcp
在一些比较新的硬件配置中,甚至不需要重起就可以安装新的硬件,这些优点可以减轻系统管员的工作,因此受到新的 Solaris 管理员的欢迎 。

推荐阅读