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 supports these subcommands:
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.