Task |
Description |
For Instructions |
---|---|---|
Initiate a fast reboot of the system. |
Use the reboot command with -f option to initiate a fast reboot of the system. | |
Use Fast Reboot to reboot to a specific UFS boot disk or a ZFS root pool. |
The fast reboot capability can be used to reboot to a specific UFS boot disk or a specific ZFS root pool. |
x86: Initiating a Fast Reboot to a Specific UFS Boot Disk or a ZFS Root Pool |
Use Fast Reboot to initiate a reboot of a directly mounted root (/) disk or root dataset. |
After mounting a root (/) disk or root dataset, you can initiate a fast reboot of the system. |
x86: How to Initiate a Fast Reboot of a Directly Mounted Root Disk or Root Dataset |
Initiate a fast reboot to an alternate BE. |
Use the rebootcommand with the -f and -e options to fast reboot to an alternate BE. Note – Because the -e option of the reboot command has dependencies on Solaris Live Upgrade, this option is not currently supported in the OpenSolaris 2008.11 release. |
x86: Initiating a Fast Reboot to an Alternate Boot Environment |
Initiate a fast reboot by directly specifying an alternate dataset. |
If you are running the OpenSolaris 2008.11 release, you cannot use the reboot -f -e command to reboot to an alternate BE. Instead, use the reboot command with the just the -f option, directly specifying which dataset to boot. |
x86: Initiating a Fast Reboot to an Alternate Boot Environment in the OpenSolaris 2008.11 OS |
Facilitate a fast reboot of the system by using the uadmin command. |
The uadmin command has been modified to support the Fast Reboot feature. You can facilitate a fast reboot by using this method. | |
Change the behavior of the reboot command to make Fast Reboot the default. |
Adding the /etc/fastreboot file to a system enables the Fast Reboot feature by default. |
x86: Making Fast Reboot the Default Behavior of the reboot Command |
Troubleshoot issues and conditions that might prevent the Fast Reboot feature from working. |
Under certain conditions, the fast reboot capability does not work. In some of these situations, a workaround is available. |
x86: Troubleshooting Conditions That Might Prevent Fast Reboot From Working |
The following are key components of the Fast Reboot implementation:
Two new options for the reboot command
Initiates the fast reboot process, when used with the reboot command.
Reboots the system to an alternate BE, when used in conjunction with the rebootcommand and the -f option.
The -e option cannot be used to fast reboot to an alternate BE in the OpenSolaris 2008.11 release. For instructions on rebooting to an alternate BE in this release, see x86: Initiating a Fast Reboot to an Alternate Boot Environment in the OpenSolaris 2008.11 OS.
New quiesce Function
The drivers' implementation of this function enables the driver to quiesce a device, so that at completion of the function, the driver no longer generates interrupts or access memory.
See the quiesce(9E) and dev_ops(9S) man pages.
New uadmin Function
Fast Reboot also includes support for a new uadmin function, AD_FASTREBOOT. This function resets the system, enabling the reboot command to bypass both the BIOS and boot loader phases.
For more information, see the uadmin(2)man page.
The following procedures and examples describe how to use the fast reboot capability on an x86 based system. For overview information, see the section, x86: Introducing Fast Reboot.
This procedure describes how to use the reboot command with -f option to initiate a fast reboot of an x86 based system.
Become superuser or assume an equivalent role.
Initiate a fast reboot of the system:
To reboot to a new kernel, you would type:
# reboot -f -- '/platform/i86pc/new-kernel-name/amd64/unix -k' |
To initiate a fast reboot using boot arguments from the previous boot, you would type:
# reboot -f |
The boot archive is derived from the kernel argument. In the event of a failure in the fast reboot path, such as insufficient memory, the normal reset path is used.
# reboot -f -- '/platform/i86pc/kernel/amd64/unix' Oct 21 15:06:35 tonyspizza reboot: initiated by ... on /dev/console Oct 21 15:06:36 /usr/lib/snmp/snmpdx: received signal 15 Fast reboot. syncing file systems... done SunOS Release 5.11 Version onnv-gate:2008-10-20 64-bit Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. DEBUG enabled Hostname: tonyspizza NIS domain name is lab.sfbay.sun.com /dev/rdsk/c1d0s7 is clean Reading ZFS config: done. |
This example fast reboots a system using the boot arguments that were used for the previous boot.
# reboot -f Oct 21 15:02:38 tonyspizza reboot: initiated by ... on /dev/console Oct 21 15:02:38 tonyspizza rpcbind: rpcbind terminating on signal. Oct 21 15:02:38 tonyspizza syslogd: going down on signal 15 Fast reboot. syncing file systems... done Loading kmdb... SunOS Release 5.11 Version onnv-gate:2008-10-20 64-bit Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. DEBUG enabled Hostname: tonyspizza NIS domain name is mpklab.sfbay.sun.com /dev/rdsk/c1d0s7 is clean Reading ZFS config: done. |
You can specify an alternate UFS boot disk in any of the following ways:
# reboot -f -- '/dev/dsk/c0t0s3' # reboot -f -- '/dev/dsk/c0t0s3 -k' # reboot -f -- '/dev/dsk/c0t0s3 # /platform/i86pc/mykernel/amd64/unix -k' |
You can specify a ZFS root dataset in any of the following ways:
# reboot -f -- 'rpool/zfsbe1' # reboot -f -- 'rpool/zfsbe2 -k' # reboot -f -- 'rpool/zfsbe3 /platform/i86pc/mykernel/amd64/unix -k' |
When rebooting to a different root (/) disk or root dataset by using a mount point or a boot environment, be aware that no transient menu entry is added to the menu.lst file.
You can use Fast Reboot to directly mount a root (/) disk or root dataset, then reboot to it:
Become superuser or assume an equivalent role.
Mount the root (/) disk.
For example:
# mount /dev/dsk/c1d0s0 /mnt |
Reboot the mounted disk or mounted dataset.
For example:
# reboot -f -- '/mnt/platform/i86pc/kernel/amd64/unix' |
You can optionally use the reboot command with the -f and -e options to specify an alternate BE.
# reboot -f -e alternate-be-name |
The -e option has dependencies on Solaris Live upgrade packages, in particular the lumount and luumount commands. Because Solaris Live Upgrade is not supported in the OpenSolaris release, you cannot use this option to specify an alternate BE. Instead, use the -f option by itself to directly specifying the alternate dataset. See x86: Initiating a Fast Reboot to an Alternate Boot Environment in the OpenSolaris 2008.11 OS.
This example shows how to fast reboot to an alternate BE by using the reboot command with the -f and the-e options. Note that in this example, the bootadm list-menu command is used to display a list of the bootable environments that are available on a system. A fast reboot of the s3 BE is then initiated.
# bootadm list-menu The location for the active GRUB menu is: /boot/grub/menu.lst default 0 timeout 10 0 Solaris Express Community Edition snv_82 X86 1 Solaris xVM 2 Solaris failsafe 3 s0 4 s0 Solaris xVM 5 s0 failsafe 6 s4 7 s4 Solaris xVM 8 s4 failsafe 9 s3 10 s3 Solaris xVM 11 s3 failsafe # reboot -f -e s3 reboot: Halting 1 zone. Oct 21 15:16:51 tonyspizza reboot: initiated by ... on /dev/console reboot: Completing system halt. Oct 21 15:16:57 tonyspizza syslogd: going down on signal 15 Fast reboot. syncing file systems... done SunOS Release 5.11 Version snv_99 64-bit Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. DEBUG enabled Configuring devices. Hostname: tonyspizza NIS domain name is lab.sfbay.sun.com Loading smf(5) service descriptions: 2/2 /dev/rdsk/c1d0s7 is clean Reading ZFS config: done. |
The -e option of the reboot command is not supported in the OpenSolaris 2008.11 release. To fast reboot to an alternate BE in this release, use the reboot -f command, directly specifying which dataset to boot. The following examples show how to fast reboot to an alternate BE by using this method.
For example to fast reboot to the zfsbe1 boot environment, you would type:
# reboot -f -- 'rpool/zfsbe1' |
To fast reboot to the zfsbe3 boot environment, in 64-bit mode, with the kernel debugger enabled, you would type:
# reboot -f -- 'rpool/zfsbe3 /platform/i86pc/kernel/amd64/unix -k' |
To facilitate the use of the new -f option of the reboot command, the AD_FASTREBOOT function has been added to the current function list for the uadmin command. This function is recognized by commands that utilize these function numbers.
For example, to reset the system using the current boot arguments by using the fast reboot path, you would type:
# uadmin 2 8 |
Using the uadmin command to fast reboot a system does not update the boot archive or the menu.lst file.
For more information about this function, see the uadmin(1M) man page.
To make a fast reboot the default behavior on your system, create a fastreboot file in the /etc directory.
# touch /etc/fastreboot |
The addition of the fastreboot file on the system changes the default behavior of the reboot command, thereby eliminating the need to use the -f option to initiate a fast reboot.
To revert to the original behavior of the reboot command, remove the file.
# rm /etc/fastreboot |
Note that removing this file does not remove fast reboot capability from the system.
The following are possible conditions under which the Fast Reboot feature might not work:
Driver does not implement the quiesce function
If you attempt a fast reboot of a system with an unsupported driver, a message similar to the following is displayed:
Sep 18 13:19:12 too-cool genunix: WARNING: nvidia has no quiesce() reboot: not all drivers have implemented quiesce(9E)
If the graphics drivers are the only drivers that do not support the quiesce function, you can attempt to force a fast reboot by running the following commands:
# echo "force_fastreboot/W 1" | mdb -kw # echo "set force_fastreboot = 1" >> /etc/system |
If the driver for the Network Interface Card (NIC) does not implement the quiesce function, you can try to unplumb the interface first, then attempt a fast reboot of the system.
# ifconfig your-nic-interface unplumb # reboot -f |
Insufficient memory
If there is not enough memory on the system, below 1G (0x40000000) for building the page tables, or not enough free memory to load the new kernel and the boot archive, the fast reboot attempt fails with the following messages, then falls back to a regular reboot.
Fastboot: Couldn't allocate size below PA 1G to do fast reboot Fastboot: Couldn't allocate size below PA 64G to do fast reboot |
Unsupported environment
Fast reboot functionality is not currently supported in the following environments:
Solaris xVM dom0 domains
Solaris xVM PV domU domains
Non-global zones