引导和关闭 Oracle® Solaris 11.2 系统

退出打印视图

更新时间: 2014 年 7 月
 
 

加快重新引导过程

SPARC 和 x86 平台均支持 Oracle Solaris 的快速重新引导功能。快速重新引导功能实现了一种内核内引导装载程序,它可将内核装入内存,然后再切换到该内核,因此重新引导过程在几秒钟之内就能完成。

新的 boot-config 服务 svc:/system/boot-config:default 有助于提供快速重新引导功能支持。如果需要,此服务会提供一种设置或更改系统的缺省引导配置属性的方法。将 config/fastreboot_default 属性设置为 true 时,系统会自动执行快速重新引导。缺省情况下,在基于 x86 的系统上,该属性设置为 true,而在基于 SPARC 的系统上,该属性设置为 false

在基于 x86 的系统上,快速重新引导系统将绕过系统固件(BIOS 或 UEFI)以及引导装载程序进程。缺省情况下,在 x86 平台上,快速重新引导和应急快速重新引导(在系统出现紧急情况后快速重新引导系统)均已启用,因此不需要在 reboot 命令中使用 –f 选项即可对基于 x86 的系统启动快速重新引导。

    快速重新引导功能在基于 SPARC 的系统上的运行方式与在基于 x86 的系统上的运行方式不同。请注意以下关于 SPARC 平台上的快速重新引导支持的其他信息:

  • sun4u 系统上不支持快速重新引导。

  • sun4v 系统上支持快速重新引导。但是,基于 SPARC 的系统的快速重新引导与基于 x86 的系统的快速重新引导不同。在 SPARC sun4v 系统上,快速重新引导是最低的虚拟机管理程序启动的重新启动,它提供了与基于 x86 的系统的快速重新引导相同的基本性能。

  • 缺省情况下,不启用基于 SPARC 的系统上的快速重新引导行为。要对基于 SPARC 的系统进行快速重新引导,必须在 reboot 命令中使用 –f 选项。或者,要使快速重新引导成为缺省行为,可以将 config/fastreboot_default 属性设置为 true。有关说明,请参见更改缺省快速重新引导行为

  • 在基于 SPARC 的系统上,boot-config 服务还需要 solaris.system.shutdown 授权作为 action_authorizationvalue_authorization

x86: 关于 quiesce 函数

系统在引导新 OS 映像时绕过固件的功能依赖于设备驱动程序对新设备操作入口点 quiesce 的实现。在支持的驱动程序上,该实现将停止设备,因此函数完成后,该驱动程序不再产生中断。该实现还会将设备重置为硬件状态,在该状态下,可以通过驱动程序的连接例程对设备进行正确配置,而无需对系统进行关开机循环或通过固件进行配置。有关此功能的更多信息,请参见 quiesce(9E)dev_ops(9S) 手册页。


注 - 并非所有设备驱动程序均实现 quiesce 函数。有关故障排除说明,请参见快速重新引导可能无法工作的情况如何在不支持快速重新引导的系统上清除失败的自动引导归档文件更新

如何对系统启动快速重新引导

  1. 承担 root 角色。

    请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

  2. 根据系统平台,执行以下操作之一:
    • 在基于 SPARC 的系统上,键入以下命令:
      # reboot -f
    • 在基于 x86 的系统上,键入以下任一命令:
      # reboot
      # init 6

      运行这些命令之一可将系统重新引导至 grub.cfg 文件中的缺省项。

x86: 对系统启动快速重新引导以引导至新激活的引导环境

可以通过多种方法将基于 x86 的系统快速重新引导至备用引导环境。以下示例说明了其中的一些方法。

示例 4-21  x86: 对系统启动快速重新引导以引导至新激活的引导环境

以下示例显示激活名为 2013-06-10-be 的引导环境,从而将快速重新引导该环境。

# beadm activate 2013-06-10-be
# reboot
示例 4-22  x86: 指定备用引导环境时对系统启动快速重新引导

要将系统快速重新引导至备用引导环境(例如 zfsbe2),需要键入以下命令:

# reboot -- 'rpool/zfsbe2'

要对系统启动快速重新引导以引导至名为 rpool/zfsbe1 的数据集,需要键入以下命令:

# reboot -- 'rpool/zfsbe1'

例如,可对系统启动快速重新引导以引导至备用的 ZFS 根数据集,如下所示:

# reboot -- 'rpool/ROOT/zfsroot2'
示例 4-23  x86: 在启用内核调试器的情况下对系统启动快速重新引导以引导至备用引导环境

对系统启动快速重新引导以引导至 zfsbe3 引导环境,如下所示:

# reboot -- 'rpool/zfsbe3 /platform/i86pc/kernel/amd64/unix -k'
示例 4-24  x86: 对系统启动快速重新引导以引导至新内核

对系统启动快速重新引导以引导至名为 my-kernel 的新内核,如下所示:

# reboot -- '/platform/i86pc/my-kernel/amd64/unix -k'
示例 4-25  x86: 对挂载的磁盘或挂载的数据集启动快速重新引导

对挂载的磁盘或挂载的数据集启动快速重新引导,如下所示:

# reboot -- '/mnt/platform/i86pc/my-kernel/amd64/unix -k'
示例 4-26  x86: 在启用内核调试器的情况下对系统启动快速重新引导以引导至单用户状态

在启用内核调试器的情况下,对系统启动快速重新引导以引导至单用户状态,如下所示:

# reboot -- '-ks'

更改缺省快速重新引导行为

快速重新引导功能由 SMF 进行控制,并通过引导配置服务 svc:/system/boot-config 来实现。boot-config 服务提供了一种设置或更改缺省引导参数的方法。

boot-config 服务的 fastreboot_default 属性可以实现在使用 rebootinit 6 命令时,系统自动执行快速重新引导。将 config/fastreboot_default 属性设置为 true 时,系统将自动执行快速重新引导,不需要使用 reboot –-f 命令。缺省情况下,在基于 x86 的系统上,该属性值设置为 true,而在基于 SPARC 的系统上,该属性值设置为 false

示例 4-27  x86: 配置 boot-config 服务的属性

    svc:/system/boot-config:default 服务包括以下属性:

  • config/fastreboot_default

  • config/fastreboot_onpanic

通过使用 svccfgsvcadm 命令可以配置这些属性。

例如,要在基于 x86 的系统上禁用 fastreboot_onpanic 属性的缺省行为,需要将属性的值设置为 false,如下所示:

# svccfg -s "system/boot-config:default" setprop config/fastreboot_onpanic=false
# svcadm refresh svc:/system/boot-config:default

更改一个属性的值不会影响其他属性的缺省行为。

有关通过 SMF 管理引导配置服务的信息,请参见 svcadm(1M)svccfg(1M) 手册页。

示例 4-28  SPARC: 配置 boot-config 服务的属性

以下示例说明了如何通过将 boot-config SMF 服务属性设置为 true,以使快速重新引导成为基于 SPARC 的系统上的缺省行为。

# svccfg -s "system/boot-config:default" setprop config/fastreboot_default=true
# svcadm refresh svc:/system/boot-config:default

将该属性的值设置为 true 会加速重新引导过程,并将允许支持快速重新引导功能的系统绕过某些 POST 测试。将此属性设置为 true 时,可以对系统执行快速重新引导而不必在 reboot 命令中使用 –f 选项。

对启用了快速重新引导的系统启动标准重新引导

要重新引导已启用快速重新引导功能的系统,而不重新配置 boot-config 服务以禁用该功能,请在 reboot 命令中使用 –p 选项,如下所示:

# reboot -p