Boot Environments (BEs) sind eine der besten Funktionen von Solaris/OpenIndiana: Vor einem Update erstellt man einen Snapshot des laufenden Systems. Geht etwas schief, bootet man einfach die alte Umgebung — kein Rollback-Stress, kein Datenverlust. Das Ganze basiert auf ZFS-Snapshots und ist mit dem Befehl beadm in Sekunden erledigt.
Boot Environments anzeigen
beadm list BE Active Mountpoint Space Policy Created oi_151a2-Sebastians-geht-steil-Version NR / 14,7G static 2012-02-14 16:18 openindiana - - 26,5M static 2011-09-28 19:06 openindiana-1 - - 22,6M static 2011-10-27 20:04
N bedeutet: aktuell gebootet. R bedeutet: wird beim nächsten Reboot gestartet. NR heißt beides. Die BEs erscheinen auch im GRUB-Bootmenü.
Neue Boot Environment erstellen und aktivieren
Vor einem Update — hier ein VirtualBox-Upgrade als Beispiel:
# Neue BE anlegen (Snapshot des aktuellen Systems) beadm create Nach-Virtualbox-Update Created successfully # Beim nächsten Reboot diese BE starten beadm activate Nach-Virtualbox-Update Activated successfully
Updates in der neuen BE installieren
Das Besondere: Man kann die neue BE mounten und dort Pakete installieren oder deinstallieren — ohne das laufende System zu berühren. Der Ausfall beschränkt sich auf den Reboot.
# Neue BE mounten beadm mount Nach-Virtualbox-Update /mnt Mounted successfully on: '/mnt' # Alte Version in der neuen BE deinstallieren pkgrm -R /mnt SUNWvbox Removal ofwas successful. # Neue Version in der neuen BE installieren pkgadd -R /mnt -d VirtualBox-4.1.8-SunOS-r75467.pkg Installation of was successful. # BE wieder aushängen beadm unmount Nach-Virtualbox-Update Unmounted successfully
Nach dem Reboot startet das System in der neuen BE mit der aktualisierten Software. Funktioniert alles? Fertig. Funktioniert etwas nicht? Im GRUB die alte BE auswählen und man ist sofort zurück auf dem vorherigen Stand.
Aufräumen
# Alte BE löschen (wenn nicht mehr gebraucht) beadm destroy openindiana-1 Are you sure you want to destroy openindiana-1? [y|n] y Destroyed successfully
Alte BEs belegen nur so viel Platz wie sich seitdem geändert hat — genau wie bei ZFS-Snapshots. Trotzdem lohnt es sich, nicht mehr benötigte BEs zu löschen.
Eine Warnung
Boot Environments machen nachlässig. Man gewöhnt sich daran, dass man alles zurückrollen kann — und hört irgendwann auf, sich den vorherigen Stand zu merken oder Konfigurationsdateien vorher zu sichern. Bis man dann an einem System ohne BEs sitzt und sich fragt, warum man keine Kopie gemacht hat.
Mehr zu ZFS: ZFS Snapshots und ZFS Pool erstellen. Unter FreeBSD gibt es mit bectl ein äquivalentes Tool. Fragen? Einfach melden.

Schreibe einen Kommentar