This applies ONLY for BoKS client (Server Agent) updates on Solaris 11.3.

Problem

This article describes how to apply a live update on a system running BoKS and prevent corruption of BoKS during the update.

Normally, BoKS should be deactivated during OS patching. Solaris has the ability to apply OS patches to a cloned copy of the OS in the background while allowing the system to remain in service. In order to do this, special care must be taken to protect BoKS while the update is underway.

The benefit to doing this is that the system can remain online, and protected, during the live update, which could take several hours to complete. In this example, BoKS would only need to be deactivated for a short period of time at the beginning of the live update process.

Solution

The general idea is to deactivate BoKS just long enough to get the OS clone created as part of the live update process. Once we see the OS has been cloned, we can re-activate BoKS. When the update is complete and the system is rebooted, BoKS would be deactivated on the rebooted OS and would simply need to be re-activated.

Procedure

Open two terminal sessions to the Server Agent.

In one window, look at the current ZFS root filesystems:

zfs list -r -t all|grep -i root

They will look something like this:
rpool/ROOT 6.00G 11.5G 31K legacy
rpool/ROOT/solaris 6.00G 11.5G 5.36G /
rpool/ROOT/solaris@install 193M - 4.50G -
rpool/ROOT/solaris/var 462M 11.5G 299M /var
rpool/ROOT/solaris/var@install 163M - 307M -

In the same window, disable BoKS:

boksadm -S sysreplace restore

In the other window, start the live update:

pkg update -v --accept

The root filesystem cloning happens after packages are evaluated, so when you see something like this, continue with the next steps:
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 362/362 22637/22637 740.9/740.9 0B/s

In the other window, look for the creation of a new ZFS root filesystem. It will be
marked with the current date/time:

zfs list -r -t all|grep -i root

The new clones will look something like this with current date/time:
rpool/ROOT/solaris@2017-05-18-21:36:29
rpool/ROOT/solaris/var@2017-05-18-21:36:29

Once you see the new root filesystems, enable BoKS:

boksadm -S sysreplace replace

At this point, the system is protected by BoKS and the live update is working against the cloned filesystems. NOTE - no further changes to BoKS should be made until after the patching is complete and the system has been rebooted.

Allow the update to finish and reboot when ready.

After the reboot, enable BoKS:

boksadm -S sysreplace replace


Still have questions? We can help. Submit a case to Technical Support.

Last Modified On: May 25, 2018