第5章系统启动与关闭.docx
- 文档编号:10219384
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:17
- 大小:26.65KB
第5章系统启动与关闭.docx
《第5章系统启动与关闭.docx》由会员分享,可在线阅读,更多相关《第5章系统启动与关闭.docx(17页珍藏版)》请在冰豆网上搜索。
第5章系统启动与关闭
∙第5章系统启动与关闭
这部分我们要了解一些启动和关闭的相关知识的概念。
我们发现,对比以前的Solaris版本,系统的启动过程变得更简单了。
5.1.1Solaris10系统启动和关闭方面新的特性
首先介绍Solaris10在系统启动和关闭方面的一些新的特性:
(1)在启动过程中,ServiceManagementFacility(SMF)提供了新的选项。
详细信息请见本书第11章——Solaris10的预测性自我修复。
(2)在x86平台上,支持64位计算。
?
手动启动可以进行64位计算的系统。
在64位模式下启动x86系统,在选择启动的提示符下输入:
bkernel/amd64/unix
在以前的基于32位计算的Solaris版本中,如果启动兼容的64位计算能力,则不需要改变启动命令:
bkernel/unix
?
使用eeprom命令设置boot-file文件参数。
在以前的Solaris版本中,boot-file文件参数设置为kernel/unix。
在Solaris10中,boot-file文件参数默认设置为空(“”)。
这时系统启动能自动检测,如果有64位计算能力,就会在x86平台上启动64位模式。
直接手工设置boot-file文件参数的方法是:
#eepromboot-filekernel/amd64/unix
查看当前系统boot-file文件参数的方法是:
#eepromboot-file
?
使用内核调试模式(kmdb)启动系统。
启动内核调试模式的方法是在启动方式的提示符下输入启动命令。
如果是启动64位模式,则输入:
bkernel/amd64/unix–k
在基于系统32位模式下,启动64位计算能力,则输入:
bkernel/unix-k
5.1.2系统的启动和关闭方面术语介绍
1.运行级别和init状态
运行级别是由一些代表系统服务运行状态的数字或字符表示。
系统总是处于一个运行级别之中。
与运行级别相关的是init状态,因为init进程维护着运行的级别。
系统管理员可以通过init命令和svcadm命令来改变系统的运行级别。
2.启动选项
启动选项描述着系统是如何被启动的。
不同的启动选项有以下几种。
Interactiveboot:
当系统启动时按照提示输入相应信息。
Reconfigurationboot:
当系统添加了新的硬件或虚拟设备时,选用此种启动方法。
Recoveryboot:
当系统出了故障时恢复启动。
5.1.3系统启动和关闭时注意事项
在系统关闭时请注意以下这些事项:
?
使用init和shutdown命令都可以关闭系统,使用进程和服务终止。
?
使用shutdown命令来关闭服务器。
当服务器被关闭之前,登录用户都将收到系统将被关闭的信息。
?
只有具有超级用户权限才能使用shutdown和init命令来关闭服务器。
系统启动时请注意以下这些事项:
?
在SPARC平台上,启动命令boot在PROM级输入。
?
在x86平台上,启动命令boot在主启动的子菜单中输入。
Solaris系统软件总处于连续运行状态,这样电子邮件和网络软件能正常地工作,但在以下几种情况下,系统却必须关闭或停止。
准备更新电源;
系统增加或删除硬件;
进行系统维护,如备份。
5.2.1关闭系统命令简单介绍
下面介绍关闭系统的命令,它们使用在不同的场合中,如表5-1所示。
表5-1关闭系统命令介绍
命令
描述
什么时候使用
shutdown
是调用init程序来关闭系统的可运行shell脚本程序
推荐在服务器运行级别3时使用,因为要通知用户系统将要关闭
init
改变系统运行级别命令
推荐在单机时使用,或者关闭不影响其他用户时使用
reboot
重新启动系统
Init6是首选的重新启动方法
Halt,poweroff
同步磁盘并停止处理器工作
不推荐使用,因为会强行终止系统进程。
只有在紧急事件中才用
5.2.2如何关闭服务器
服务器的一般运行级别是3,这时系统是多用户操作系统,也有NFS远程服务在运行。
这就要求我们关闭服务器要小心,最好先查看一下用户的使用情况。
查看谁在使用服务器的命令是who,如例5-1所示。
例5-1查看谁在使用服务器。
$who
hollyconsoleMay707:
30
krytenpts/0May707:
35(starlite)
listerpts/1May707:
40(bluemidget)
我们在前面已经介绍过,关闭服务器最好的方法是使用shutdown命令,因为它会给在线用户一个通知。
下面我们就介绍几个例子供大家参考。
例5-2SPARC:
在180秒后切换系统到单用户状态。
#shutdown-g180–y
Shutdownstarted.MonJun1415:
46:
16MDT2005
BroadcastMessagefromroot(pts/4)onvenusMonJun1415:
46:
16...
Thesystemvenuswillbeshutdownin3minutes.
…
BroadcastMessagefromroot(pts/4)onvenusMonJun1415:
46:
16...
Thesystemvenuswillbeshutdownin30seconds.
…
INIT:
Newrunlevel:
S
Thesystemiscomingdownforadministration.Pleasewait.
Unmountingremotefilesystems:
/volnfsdone.
ShuttingdownSolarisManagementConsoleserveronport898.
Printservicesstopped.
Jun1415:
49:
00venussyslogd:
goingdownonsignal15
Killinguserprocesses:
done.
RequestingSystemMaintenanceMode
SINGLEUSERMODE
Rootpasswordforsystemmaintenance(control-dtobypass):
xxxxxx
single-userprivilegeassignedto/dev/console.
EnteringSystemMaintenanceMode
#
例5-3SPARC:
在300秒后切换系统到可以关闭电源的运行级0。
#shutdown-i0-g300–y
Shutdownstarted.ThuJun1712:
40:
25MST2005
BroadcastMessagefromroot(console)onpretendThuJun1712:
40:
25...
Thesystempretendwillbeshutdownin5minutes
…
Changingtoinitstate0-pleasewait
#
INIT:
Newrunlevel:
0
Thesystemiscomingdown.Pleasewait.
Systemservicesarenowbeingstopped.
…
Thesystemisdown.
syncingfilesystems...done
Programterminated
Typehelpformoreinformation
ok
例5-4在120秒后重新启动系统。
#shutdown-i6-g120-y
Shutdownstarted.MonJun1415:
46:
16MDT2005
BroadcastMessagefromroot(pts/4)onvenusMonJun1415:
46:
16...
Thesystemvenuswillbeshutdownin2minutes
Changingtoinitstate6-pleasewait
#
INIT:
Newrunlevel:
6
Thesystemiscomingdown.Pleasewait.
Thesystemisdown.
syncingfilesystems...done
rebooting...
…
venusconsolelogin:
Regardlessofwhyyoushutdow
5.2.3如何关闭单用户计算机
关闭单用户计算机系统比较简单,我们可以用init命令切换系统运行级。
常用Solaris10运行级别如表5-2所示。
表5-2Solaris10常用运行级别
运行级别
SPARC平台提示符
x86平台提示符
S(单用户级)
#
#
2(多用户级)
#
#
0(可关闭电源级)
Ok或者>
按任意键重新启动
3(多用户和NFS服务)
hostnameconsolelogin:
hostnameconsolelogin:
例5-5在x86平台上将系统切换到运行级0。
#init0
#
INIT:
Newrunlevel:
0
Thesystemiscomingdown.Pleasewait.
…
Thesystemisdown.
syncingfilesystems...[11][10][3]done
Pressanykeytoreboot
Solaris10的默认启动很简单,无论是在SPARC或在x86平台上,一直按“Enter”键就能把系统安全的启动起来。
只是在SPARC平台上使用BootPROM来引导系统硬件,初学者大可不必因为BootPROM内容而感到Solaris很难。
其实,大家就把这个BootPROM当做PC中的BIOS就行了。
5.3.1SPARC:
使用BootPROM
每一个SPARC系统都有一个可编程只读存储器(PROM)芯片,里面存储了一个称为monitor的程序。
monitor程序在内核可用之前控制系统的操作。
当你打开了一个系统,monitor程序运行一个快速的自检测过程来检查诸如系统中的硬件,以及内存等情况。
如果monitor没有发现错误,系统就开始了自动引导过程。
引导过程包含了引导PROM、引导程序、内核初始化和系统初始化阶段。
这些阶段在表5-3中进行了总结。
表5-3SPARC引导过程的描述
引导阶段
描述
引导PROM
PROM显示系统标识信息,然后运行自检测诊断程序来验证系统的硬件和内存。
然后,PROM装载主引导程序bootblk,bootblk又从位于UFS文件系统中的默认引导设备装载辅助引导程序
引导程序
程序bootblk找到并执行ufsboot辅助引导程序,将其装载到内存。
程序ufsboot被装载后,ufsboot装载内核
内核的初始化
内核自己进行初始化,并开始装载模块,使用ufsboot来读取这些文件。
当内核装载了足够的模块以挂载根文件系统时,内核终止ufsboot程序,并使用它自己的资源继续引导过程
系统初始化
内核创建了一个用户进程并启动/sbin/init进程,后者通过读取/etc/inittab文件启动了其他的进程
1.OpenBoot接口
SPARCPROM中的OpenBoot固件不但初始化引导过程,而且还提供了一个命令行接口。
OpenBoot提供了两种模式。
在受限监视模式下,将显示提示符“>”,而且只提供了3条命令。
这些命令使你可以引导操作系统(bspecifiers),重新开始暂停程序(c)的执行,或者进Forth监视程序(n)。
Forth监视程序也称为新命令模式,是OpenBoot固件的默认模式。
Forth监视程序显示ok提示符。
此监视程序使你可以访问许多硬件和软件的诊断命令。
任何可以访问系统控制台的用户都可以访问这些功能。
为了访问受限监视程序,在PROM的ok提示符后输入old-mode并按Enter键。
为了显示一个系统的PROM发布,在PROM的ok提示符后,输入banner并按Enter键。
硬件配置信息,包括PROM的发布号就被显示出来,如例5-6所示。
例5-6显示系统综合信息。
okbanner
SunUltra5/10UPA/PCI(UltraSPARC-IIi333MHz),NoKeyboard
OpenBoot3.15,128MBmemoryinstalled,Serial#number.
Ethernetaddressnumber,HostID:
number.
Hardwareconfigurationinformation,includingtherevisionnumberofthePROM,
isdisplayed.Inthisexample,thePROMrevisionnumberis3.15.
我们还可以在PROM中查看系统的设备情况。
这对于系统管理员来说是很必要的。
例5-7查看系统安装的所有设备。
步骤如下:
(1)先将PROM中的自动引导参数设为“false”。
oksetenvauto-boot?
false
auto-boot?
=false
(2)清除所有的设备登记信息。
okreset-all
Resetting...
SunUltra5/10UPA/PCI(UltraSPARC-IIi333MHz),NoKeyboard
OpenBoot3.15,128MBmemoryinstalled,Serial#10933339.
Ethernetaddress8:
0:
20:
a6:
d4:
5b,HostID:
80a6d45b.
(3)检查所有IDE设备(要检查所有SCSI设备请使用probe-scsi命令)。
okprobe-ide
Device0(PrimaryMaster)
ATAModel:
ST34321A
Device1(PrimarySlave)
NotPresent
Device2(SecondaryMaster)
RemovableATAPIModel:
CRD-8322B
Device3(SecondarySlave)
NotPresent
(4)将自动引导参数设置为“true”。
oksetenvauto-boot?
true
auto-boot?
=true
(5)(可选的)可以用devalias命令来查看系统别名。
okdevalias
screen/pci@1f,0/pci@1,1/SUNW,m64B@2
net/pci@1f,0/pci@1,1/network@1,1
cdrom/pci@1f,0/pci@1,1/ide@3/cdrom@2,0:
f
disk/pci@1f,0/pci@1,1/ide@3/disk@0,0
disk3/pci@1f,0/pci@1,1/ide@3/disk@3,0
disk2/pci@1f,0/pci@1,1/ide@3/disk@2,0
disk1/pci@1f,0/pci@1,1/ide@3/disk@1,0
disk0/pci@1f,0/pci@1,1/ide@3/disk@0,0
ide/pci@1f,0/pci@1,1/ide@3
floppy/pci@1f,0/pci@1,1/ebus@1/fdthree
ttyb/pci@1f,0/pci@1,1/ebus@1/se:
b
ttya/pci@1f,0/pci@1,1/ebus@1/se:
a
keyboard!
/pci@1f,0/pci@1,1/ebus@1/su@14,3083f8:
forcemode
keyboard/pci@1f,0/pci@1,1/ebus@1/su@14,3083f8
mouse/pci@1f,0/pci@1,1/ebus@1/su@14,3062f8
namealiases
(6)在PROM中重新引导系统启动。
okreset
已经对系统上装的设备有所了解,如果我们想要改变某些设备的使用,也可以在PROM中进行,如例5-8。
例5-8设置系统默认从硬盘启动。
(1)先从多用户状态进入到“ok”状态。
#init0
#
INIT:
Newrunlevel:
0
…
Thesystemisdown.
syncingfilesystems...done
Programterminated
(2)设置启动设备为硬盘。
oksetenvboot-devicedisk
boot-device=disk
(3)检查启动设备的设置。
okprintenvboot-device
boot-devicediskdisk
(4)重新引导系统。
okreset
SunUltra5/10UPA/PCI(UltraSPARC-IIi333MHz),NoKeyboard
OpenBoot3.15,128MBmemoryinstalled,Serial#number.
Ethernetaddressnumber,HostID:
number.
Bootdevice:
diskFileandargs:
SunOSRelease5.10Version64-bit
…
plutoconsolelogin:
例5-9设置系统默认从网络启动。
(1)先从多用户状态进入到“ok”状态。
#init0
#
INIT:
Newrunlevel:
0
…
Thesystemisdown.
syncingfilesystems...done
Programterminated
(2)设置启动设备为网络。
oksetenvboot-devicenet
boot-device=net
(3)检查启动设备的设置。
okprintenvboot-device
boot-devicenetdisk
(4)重新引导系统。
okreset
SunUltra5/10UPA/PCI(UltraSPARC-IIi333MHz),NoKeyboard
OpenBoot3.15,128MBmemoryinstalled,Serial#number.
Ethernetaddressnumber,HostID:
number.
Bootdevice:
netFileandargs:
…
plutoconsolelogin:
5.3.2在SPARC平台上引导系统
在SPARC平台上引导系统有下面几种情况:
1.以多用户状态引导系统
要以多用户状态引导系统,可在PROM的ok提示符后,输入boot并按Enter键。
自动引导过程将在默认的驱动器上启动,并显示一系列启动消息。
系统以多用户状态被启动。
2.以单用户状态引导系统
要以单用户状态引导系统,可在PROM的ok提示符后,输入boot-s并按Enter键。
系统引导到单用户状态并提示你输入root密码。
3.交互式引导
如果想要临时改变系统文件或者内核,你可能需要交互式引导。
使用这样的方法,你可以测试你所做的修改,并在出现任何问题时很容易地进行恢复。
例5-10Solaris交互式引导。
(1)在PROM的ok提示符后,输入boot-a并按Enter键。
引导程序将交互地对你进行提示。
okboot-a
…
Rebootingwithcommand:
boot-a
Bootdevice:
/pci@1f,0/pci@1,1/ide@3/disk@0,0:
a
Fileandargs:
-a
(2)按Enter键以使用默认的内核/kernel/unix,或者输入用来进行引导的内核的名字。
Enterfilename[kernel/sparcv9/unix]:
按Enter键
(3)按Enter键以使用默认的模块目录的路径或输入模块的默认路径,并按Enter键。
Enterdefaultdirectoryformodules[/platform/SUNW,Ultra-5_10/kernel
/platform/sun4u/kernel/kernel/usr/kernel]:
按Enter键
(4)按Enter键以使用默认的/etc/system文件或输入系统文件的名字,并按Enter键。
Nameofsystemfile[etc/system]:
按Enter键
(5)按Enter键以使用默认的根文件系统。
输入ufs以进行本地硬盘引导,或者输入nfs引导无盘客户端。
SunOSRelease5.10VersionS10_6064-bit
Copyright(c)1983-2004bySunMicrosystems,Inc.Allrightsreserved
Useissubjecttolicenseterms.
rootfilesystemtype[ufs]:
按Enter键
(6)按Enter键以使用根设备的默认物理名字,或者输入设备的名字。
Enterphysicalnameofrootdevice
[/pci@1f,0/pci@1,1/ide@3/disk@0,0:
a]:
按Enter键
(7)下面开始自动引导系统。
configuringIPv4interfaces:
hme0.
Hostname:
starlite
Thesystemiscomingup.Pleasewait.
checkingufsfilesystems
…
Thesystemisready.
starliteconsolelogin:
4.添加新硬件后引导系统
在添加新硬件后引导系统是一次重新配置引导过程。
可以使用boot-r来重新配置引导。
这样操作系统就会知道去寻找新的设备驱动程序并将其集成为引导过程的一部分。
(1)装载新的设备驱动程序,按照硬件中包括的指令进行操作。
(2)关闭系统并安装新硬件。
(3)输入boot-r并按Enter键。
这将运行一个重新配置脚本以装载模块目录中列出的所有设备驱动程序,并创建相应的硬件节点。
你可以在启动之后来查看引导消息,最新的引导消息被存储在文件/var/adm/messages中。
要在引导完系统后查看这些信息,你只要输入more/var/adm/messages并按Enter键即可。
命令/usr/s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统启动 关闭