Klickt man sich eine Default Installation von FreeBSD mit ZFS -> bekommt man die folgende ZFS Dataset Struktur serviert:
$ NAME USED AVAIL REFER MOUNTPOINT tank 3,14G 347G 31K none tank/root 2,13G 347G 1,31G / tank/root/tmp 98K 347G 60K /tmp tank/root/var 455M 347G 454M /var $
Eine Migration nach BE läßt sich sehr leicht realisieren:
BE Migration
Punkt 1: beadm installieren
$ cd /usr/ports/sysutils/beadm/ && make install clean $
Punkt 2: ROOT snapshot erstellen, Container kopieren und für den Rescue Modus vorbereiten
$ zfs snapshot tank/root@beadm zfs create -o compression=lz4 tank/ROOT zfs send tank/root@beadm | zfs receive tank/ROOT/beadm mkdir /tmp/beadm_default mount -t zfs tank/ROOT/beadm /tmp/beadm_default $
loader.conf für die zukünftige BE anpassen
$ vi /tmp/beadm_default/boot/loader.conf $
$ vfs.root.mountfrom="zfs:tank/ROOT/beadm" $
neues bootfs definieren
$ zpool set bootfs=tank/ROOT/beadm tank zfs get -r mountpoint tank reboot $
per Hetzner Robot Webinterface -> den FreeBSD Rescue-Modus starten lassen
(in anderen Umgebungen wahlweise eine FreeBSD LiveCD booten)
Punkt 3: zpool mounten
$ zpool import -f -o altroot=/tmp/zroot tank $
Punkt 4: ZFS System Volumes in den legacy Modus versetzen und neustarten
$ zfs umount -a zfs set mountpoint=none tank zfs set mountpoint=none tank/ROOT zfs set mountpoint=legacy tank/root zfs set mountpoint=legacy tank/ROOT/beadm reboot $
Punkt 5: nach einer erfolgreichen Umstellung sollten die BE Funktionen, mittels beadm, zur Verfügung stehen
$ # beadm list BE Active Mountpoint Space Created beadm NR / 1023.0M 2014-01-28 20:29 # zfs list NAME USED AVAIL REFER MOUNTPOINT tank 3,14G 347G 31K none tank/ROOT 1023M 347G 31K none tank/ROOT/beadm 1023M 347G 1022M legacy tank/root 2,13G 347G 1,31G legacy tank/root/tmp 98K 347G 60K /tmp tank/root/var 455M 347G 454M /var $
That’s FreeBSD