Unix工作站
1751950 成员
4767 在线
108783 解答
新建帖子

回复: HP-UX--系统的启动与关闭

 
周兴华
投稿人

HP-UX--系统的启动与关闭

对于日常的系统管理和故障排除,理解系统的启动和关闭过程是非常重要的。

保存在ROM中的引导代码支持每一个HP-9000服务器和工作站,只要给系统加电,这些代码被执行并完成自检和一些初始化任务,接着装入HP-UX内核并把控制权交给它。从控制台或终端上得到一个登录提示符之前,内核完成了很多系统初始化任务。

1.

当你加电或重新启动一个系统并开始引导引导过程,它分为两个过程:

&引导ROM启动

&HP-UX启动

第一阶段,引导ROM启动过程被执行,完成后,它开始HP-UX启动过程,这个过程由许多步骤完成。

(1)加电或重启

(2)处理器相关代码(PDC)执行并完成自检,这些检测包括内存和CPU,还有一些外设。

(3)PDC初始化系统控制台来显示消息,它查找引导系统的主引导路径。

(4)PDC从引导路径装入(初始化系统装载器)ISL。

#在启动过程这个阶段,ROM的任务完成。

(5)ISL加载叫做hpux的第二个系统加载器,它保存在硬盘的引导区内。

(6)hpux把HP-UX内核/stand/vmunix加载到内存中并把控制权转交给内核。

(7)内核启动swapper进程然后启动init进程。

(8)init进程读它的初始化文件/etc/inittab,并初始化大多数的操作系统守护进程和其他进程。

init完成它的任务后,你就会在控制台或者链接到系统的终端上看到一个登录提示符。

2.

关于PDC:

PDC(处理器相关代码)的用途:

  • 选择主和备用引导路径
  • 从一个指定的设备上引导
  • 引导到单用户模式

在命令菜单上使用search后,可以搜索引导设备,可以使用路径号或设备路径引导,比如:

boot P6      或者 boot /10/4/4.2

很多用户再服务器中为了冗余和稳定性使用了磁盘镜像,两个磁盘有完全相同的数据。

配置一个预备的引导设备,可以使用configure命令

手工地从预备磁盘设备商引导,使用boot alt命令

稳态存储器(RAM):

非易失性内存,这里保存了如下的信息:

  • 主引导路径
  • 预备引导路径
  • 控制台
  • autoboot
  • autosearch

这些信息被PDC使用,你可以使用configure来改变这些信息,最后两个可以打开也可以关闭。

3.

系统磁盘上的引导区:

 引导HP-UX的系统磁盘上有一个引导区和一个根分区。也有交换空间跟其他文件系统。

引导区包含一个引导装载器和在引导时必须的信息。

ISL也是引导区的一部分。

引导区的文件是逻辑交互格式(LIF)。

  • 引导区的重要部分:
  • 标识LIF卷的LIF卷头
  • 包含HP-UX卷名的文件
  • 包括在这个区中的文件的列表的目录
  • ISL
  • 二级的装载工具(hpux)
  • 名为AUTO的文件

在PDC完成工作后,ISL被从PDC选择的引导设备装载入内存。

现在ISL取得了对引导过程的控制权并读取AUTO文件,这个AUTO文件包含hpux工具名和传递给hpux的任何参数。

ISL把hpux加载到内存并为hpux提供所有的参数。

开始执行后,hpux工具用这些参数来找到HP-UX内核的位置和文件名。

缺省时,内核保存在/stand目录中的vmunix。

hpux装载内核到内存中并把控制权交给内核。

与LIF相关的命令:

  • lifls  -l               显示LIF区中的文件
  • lifcp                  显示AUTO文件的内容
  • mkboot             安装LIF区中的文件
  • rmboot              修改或删除LIF区中的文件

4.

初始化系统加载器(ISL)

如果autoboot被打开并且没有中断引导过程,ISL自动完成它预定的任务。

通过中断PDC可以与ISL交互。

在中断后,当你从PDC菜单上使用boot命令后,它给出你一个与ISL交互的选项。

在ISL提示符后,可以使用命令改变RAM中的参数。

  • display                显示现有的值
  • conspath             修改控制台路径
  • primpath              修改主引导路径
  • altpath                 修改预备引导路径
  • autoboot              把autoboot打开或者关闭
  • autosearch          把autosearch打开或关闭

也可以在一个运行的系统上使用setboot命令来查看和改变这些参数。

二级装载器(hpux)

二级装载器hpux位于包含LIF区的磁盘引导块中。

缺省时,ISL读取LIF区中的AUTO文件给hpux的参数。

也可以在ISL提示符后运行hpux并手工地给这个命令提供不同的参数。

如果hpux不带任何参数运行,它将从主引导设备装载缺省位置的内核文件。

  • ISL>hpux /stand/vmunix.old                #引导一个名字为vmunix.old的内核
  • ISL>hpux -is                                       #引导系统到单用户模式
  • ISL>hpux -is /stand/vmunix.old           #引导一个名字为vmunix.old的内核到单用户模式
  • ISL>hpux -ll                                        #列出/stand目录中的文件
  • ISL>hpux show autofile                       #显示auto文件的内容
  • ISL>hpux set autofile <filename>        #用filename中的内容设置AUTO文件
  • ISL>hpux -v                                         #显示hpux工具的版本号

5.

装载HP-UX内核:

二级装载器(hpux)把内核装进内存后,把控制权传给了它。

内核接着装载设备驱动程序并启动swapper进程。

接着初始化一个shell进程来执行/sbin/pre_init_rc中的命令。

执行了这些命令后,第一个进程init被启动并且控制权传送给它。

swapper进程有一个等于0的进程ID,它管理用于换入换出的内存。

/sbin/pre_init_rc这个文件最重要的命令时fsck,它在用户使用前检查并修复根文件系统。

6.

init 进程:

在引导序列中这是最重要的进程,进程ID1。

它启动后,读取它的配置文件/etc/inittab并在action域中查找initdefault条目,告诉init系统的默认运行级。

运行级是系统的一个状态,在任何时候系统处于一个已定义的运行级。

如果没有initdefault条目,Init提示一个要进入的运行级。

根据选择的缺省运行级它接着派生出ioinit、bcheckrc、rc和getty进程。

init惊醒的主要工作:

从/etc/inittab文件中读取initdefault参数

使用/sbin/ioinitrc来初始化内核数据结构

运行/sbin/bcheckrc

运行/sbin/rc并把系统带到缺省运行级

/etc/inittab是init进程的配置文件:

id:rstate:action:process

id:每一个条目的唯一ID,长度为1-4个字符

rstate:每个条目被处理的运行级,可以声明多个运行级,没有数值默认在所有运行级

action:告诉init如何处理下一个域中声明的进程的关键字,boot表示这个进程在引导时启动但不等待它结束;

             bootwait告诉init进程在引导时启动这个进程并等待它结束;initdefault告诉init在引导过程结束后系统

              进入哪个运行级;respawn告诉系统如果这个进程不存在或由于某些原因终止,重新启动它。sysinit

              表示在init进程访问控制台之前处理这个条目;wait告诉init启动进程并等待进程结束。

process:这是真正的进程或被执行的命令行。

运行级:

0表示关机

s表示单用户模式并只有一个控制台可以使用

S和s相似,唯一区别是可以作为系统控制台的终端登录

1表示启动一些基本系统进程并启动文件系统的单用户模式。

2表示多用户运行级,多数系统守护进程和服务在这个运行级启动。

3表示网络服务启动并且NFS文件导出,这个运行级也启动CDE。

4为使用老式的HP VUE图形环境用户提供接口

5与6对用户定义的服务有效。。。

使用init X改变运行级。不能使用init S从一个较高运行级进入单用户模式。

who -r可以判断当前运行级

7.

添加在引导时运行的程序:

可以添加一个程序到你的系统以便它在一个特定的运行级被执行。

首先,一个用于启动和关闭一个程序的执行脚本被安装在/sbin/init.d目录。

这个目录包含所有守护进程和服务的脚本。

执行脚本包括4个作为传递这些脚本命令行参数的主要参数:

  • star_msg          当启动这个脚本时显示在控制台上
  • stop_msg          当关闭这个脚本时显示在控制台上
  • start                   启动这个程序的命令
  • stop                   关闭这个程序的命令

这些脚本在/etc/rc.config.d目录中有配置文件用于给这些脚本设置合适的变量和选项。

必须在这个目录下为执行脚本放置一个配置文件。

一旦一个脚本被安装,你需要决定它应该在哪个运行级被启用。

HP-UX有一个名为/sbin/rcN.d的目录,这里N表示一个运行级。

这些目录就叫做定序器目录。 

比如,如果想在运行级3启动脚本,则在/sbin/rc3.d目录放置一个链接。

你必须放置一个链接用于启动脚本,另一个用于关闭它。

定时器目录:

一个定时器目录是一个特定的目录。

例如:/sbin/rc2.d包含当系统转到运行级2的时候需要启动或关闭的脚本链接。

每一个链接为S和K开头。

S开头的文件表示系统进入这个运行级时被执行的脚本,而以K(kill)开头的相反。

在S和K之后,有一个用于显示脚本被启动或者关闭顺序的数字。

一个典型的用于启动CRON守护进程的链接是:/sbin/rc2.d/s730cron

配置文件:

脚本配置文件放置在/etc/rc.config.d目录下,这些文件用于定序器脚本来检查一个特定的守护进程的配置,通常它们与/sbin/init.d目录中对应的脚本同名。

通过赋值0或1来启用或禁用进程。

8.

shutdown -r         在关闭后重新启动系统

shutdown -h         在关闭后停止系统

shutdown -y          不需要任何交互响应

shutdown命令调用/sbin/rc脚本,它在停止前按顺序使用定序器脚本来关闭所有守护进程。

/etc/shutdown.log文件保存了一个关闭和重启系统的日志。

shutdown -allow文件允许一些系统用户执行shutdown命令。每一行包含一个系统名后跟着用户名。

3 条回复3
huruilin
本科生

回复: HP-UX--系统的启动与关闭

好贴
EB-TS-HZ | ruilin.hu@hp.com
闻7668
小学生

回复: HP-UX--系统的启动与关闭

很详细啊
周立波
兼职顾问

回复: HP-UX--系统的启动与关闭

真详细