跳过导航链接 | |
退出打印视图 | |
![]() |
在 SPARC 平台上引导和关闭 Oracle Solaris Oracle Solaris 11 Information Library (简体中文) |
在以下情况下,必须先关闭系统以进行分析,或对引导和其他系统问题进行故障排除。
诊断系统引导时出现的错误消息。
停止系统以尝试恢复。
引导系统以便进行恢复。
强制实施系统故障转储和重新引导。
使用 kmdb 命令通过内核调试器引导系统。
下面的过程介绍了如何安全地关闭然后再引导基于 SPARC 的系统以便进行恢复。
为实现恢复,您可能需要引导系统。以下是一些较为常见的错误和恢复方案:
在单用户模式下引导系统可解决一些小问题,例如更正 /etc/passwd 文件中的 root shell 项或更改 NIS 服务器。
出现阻止系统引导的问题或丢失 root 口令时,可以从安装介质或网络上的安装服务器来引导进行恢复。通过导入根池、挂载 BE 和修复问题来解决引导配置问题。
在 SPARC 系统上,boot net:dhcp 命令替代了 Oracle Solaris 10 发行版中使用的 boot net 命令。
ok sync
有关更多信息,请参见 boot(1M) 手册页。
# who -r . run-level s May 2 07:39 3 0 S
示例 9-1 关闭服务处理器电源
如果是在 Oracle ILOM 服务处理器上运行 Oracle Solaris 11,关闭操作系统后,必须从系统控制台提示符切换到服务处理器提示符。然后,可以从服务处理器提示符处停止服务处理器,如以下示例所示:
# shutdown -g0 -i0 -y # svc.startd: The system is coming down. Please wait. svc.startd: 91 system services are now being stopped. Jun 12 19:46:57 wgs41-58 syslogd: going down on signal 15 svc.stard: The system is down. syncing file systems...done Program terminated r)eboot o)k prompt, h)alt? # o
ok #. ->
-> stop /SYS Are you sure you want to stop /SYS (y/n)? y Stopping /SYS ->
如果需要立即执行关闭,请使用 stop -force -script /SYS 命令。在键入此命令之前,请确保已保存所有数据。
示例 9-2 打开服务处理器电源
以下示例说明如何打开服务器电源。必须先登录到 Oracle ILOM。请参见 http://download.oracle.com/docs/cd/E19166-01/E20792/z40002fe1296006.html#scrolltoc。
如果使用的是模块化系统,请确保您已登录到所需的服务器模块。
-> start /SYS Are you sure you want to start /SYS (y/n) ? y Starting /SYS ->
如果不想收到确认提示,请使用 start -script /SYS 命令。
ok boot -s
# vi /etc/password
ok boot net:dhcp
# zpool import -f rpool
# mkdir /a
# beadm mount solaris-instance|bename /a
# TERM=vt100 # export TERM
# cd /a/etc # vi shadow # cd /
注 - 在完成此步骤后必须更改目录。
# bootadm update-archive -R /a
# beadm umount be-name
# halt
ok boot -s Boot device: /pci@780/pci@0/pci@9/scsi@0/disk@0,0:a File and args: -s SunOS Release 5.11 Version 11.0 64-bit Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved. Booting to milestone "milestone/single-user:default". Hostname: tardis.central Requesting System Maintenance Mode SINGLE USER MODE Enter user name for system maintenance (control-d to bypass): root Enter root password (control-d to bypass): <Press return> single-user privilege assigned to root on /dev/console. Entering System Maintenance Mode
root@system:~# passwd -r files root New Password: xxxxxx Re-enter new Password: xxxxxx passwd: password successfully changed for root
另请参见
如果系统上的缺省 OS 未成功引导,则需要从备用 ZFS 数据集进行引导。有关故障排除的更多信息,请参见在 SPARC 平台上从 ZFS 引导环境引导。
如果在启动服务时出现问题,有时系统会在引导过程中挂起。以下过程显示如何解决此问题。
此命令指示 svc.startd 守护进程临时禁用所有的服务并在控制台上启动 sulogin。
ok boot -m milestone=none
# svcadm milestone all
# svcs -a
# svcs -x
以下命令检验控制台上的 login 进程是否将运行。
# svcs -l system/console-login:default
有时,为了排除故障,必须强制实施故障转储并重新引导系统。缺省情况下将启用 savecore 功能。
有关系统故障转储的更多信息,请参见《Oracle Solaris 管理:常见任务》中的第 17 章 "管理系统故障转储信息(任务)"。
使用以下过程可以强制实施系统故障转储。该示例遵循以下过程,说明如何使用 halt -d 命令强制实施系统故障转储。运行此命令后,您需要以手动方式重新引导系统。
> n ok sync
将故障转储写入磁盘后,系统将继续重新引导。
引导过程成功完成后,将显示登录提示。
hostname console login:
示例 9-3 SPARC: 使用 halt -d 命令强制实施故障转储和系统重新引导
本示例说明如何使用 halt-d 和 boot 命令强制实施故障转储和系统重新引导。
# halt -d Jul 21 14:13:37 jupiter halt: halted by root panic[cpu0]/thread=30001193b20: forced crash dump initiated at user request 000002a1008f7860 genunix:kadmin+438 (b4, 0, 0, 0, 5, 0) %l0-3: 0000000000000000 0000000000000000 0000000000000004 0000000000000004 %l4-7: 00000000000003cc 0000000000000010 0000000000000004 0000000000000004 000002a1008f7920 genunix:uadmin+110 (5, 0, 0, 6d7000, ff00, 4) %l0-3: 0000030002216938 0000000000000000 0000000000000001 0000004237922872 %l4-7: 000000423791e770 0000000000004102 0000030000449308 0000000000000005 syncing file systems... 1 1 done dumping to /dev/dsk/c0t0d0s1, offset 107413504, content: kernel 100% done: 5339 pages dumped, compression ratio 2.68, dump succeeded Program terminated ok boot Resetting ... . . Rebooting with command: boot Boot device: /pci@1f,0/pci@1,1/ide@3/disk@0,0:a File and args: kernel/sparcv9/unix configuring IPv4 interfaces: hme0. add net default: gateway 172.20.27.248 Hostname: jupiter The system is coming up. Please wait. NIS domain name is example.com . . . System dump time: Wed Jul 21 14:13:41 2010 Jul 21 14:15:23 jupiter savecore: saving system crash dump in /var/crash/jupiter/*.0 Constructing namelist /var/crash/jupiter/unix.0 Constructing corefile /var/crash/jupiter/vmcore.0 100% done: 5339 of 5339 pages saved . . .
此过程说明如何装入内核调试器 (kmdb)。
注 - 如果没有时间交互式地调试系统,请使用 reboot 命令和带有 -d 选项的 halt 命令。运行带有 -d 选项的 halt 命令后需要手动重新引导系统。但是,如果使用 reboot 命令,系统会自动进行引导。有关更多信息,请参见 reboot(1M)。
要正常停止系统,请使用 halt 命令。
进入调试器的方法取决于访问系统所使用的控制台类型:
首次输入内核调试器时,将显示欢迎消息。
Rebooting with command: kadb Boot device: /iommu/sbus/espdma@4,800000/esp@4,8800000/sd@3,0 . . .
示例 9-4 SPARC: 在启用内核调试器 (kmdb) 的情况下引导系统
ok boot kmdb Resetting... Executing last command: boot kmdb -d Boot device: /pci@1f,0/ide@d/disk@0,0:a File and args: kmdb -d Loading kmdb...