Solaris basics: boot environments

Solaris 11 uses ZFS as root files system.

It all started with a product called Live Upgrade, supporting alternate boot environments (ABEs), a copy of the root file system that can be used as alternate boot devices.

With BEs it’s the same except you don’t need additional partitions. You use ZFS’s snapshots to capture a point-in-time view of the file system.

Two tools mange BEs:

  • Package Manager GUI
  • beadm utility

The beadm utility supports these subcommands:

  • activate
  • create and destroy
  • list
  • mount and unmount
  • rename
elena@solaria:~$ beadm list
BE Name          Flags Mountpoint Space   Policy Created
---------------- ----- ---------- ------- ------ ----------------
solaris          -     -          488.91M static 2019-01-08 09:47
solaris-1        NR    /          4.58G   static 2019-01-08 17:08
solaris-backup-1 -     -          137.43M static 2019-01-08 16:38

NR indicates the active BE (N) and the active BE after reboot (R).

On x86 systems, activating a new BE will update the GRUB menu:

elena@solaria:~$ bootadm list-menu
The location of the boot loader configuration files is: /rpool/boot/grub
default 2
console graphics
timeout 30
0 Oracle Solaris 11.4
1 solaris-backup-1
2 solaris-1

The ZFS file system duplicates the original data blocks and updates the duplicate with the changes.

Destroying a BE releases the metadata that reference its data blocks.

beadm utility can also create snapshots of a BE:

beadm create [name]@[name]

To list snapshots:

beadm list -s

To destroy a BE:

beadm destroy [name]

If any snapshots are associated with the BE, they’ll be removed automatically.

Managing BEs is a side task for the Package Manager.