FreeBSD-Grundkurs 031: Virtualisierung mit bhyve und vm-bhyve

Wer mit FreeBSD Virtualisierung durchführen möchte, hat mehrere Möglichkeiten: Jails, VirtualBox und QEmu. Mit bhyve bietet FreeBSD aber ein eigenes Virtualisierungsprogramm an, welches sehr einfach mit vm-byhve zu benutzen ist. Wie das geht, zeigt dieses Video.

Virtualisierung mit bhyve und vm-bhyve
Virtualisierung mit bhyve und vm-bhyve

In diesem Beispiel zeige ich, wie man vm-byhve und grub2-bhyve installiert, konfiguriert und ein Debian darin installiert.

Virtualisiertes Debian unter bhyve
Virtualisiertes Debian unter bhyve

Hier einige Kommandos:

# SSH-Verbindung, falls nötig, zum Host aufbauen und darauf achten, dass Escape-Sequenzen von SSH ignoriert werden, da diese sonst nicht an die Console von bhyve geschickt werden können (cu)
ssh -e none $servername

# Installation der benötigten Pakete
pkg install vm-bhyve grub2-bhyve

# ZFS-Dataset erstellen
zfs create storage/bhyve

# /etc/rc.conf bearbeiten
sysrc vm_enable="YES"
sysrc vm_dir="zfs:server/bhyve"

# vm-byhve initialisieren
vm init

# Template kopieren und bearbeiten
cp /usr/local/share/examples/vm-bhyve/debian.conf /server/bhyve/.templates/mydebian.conf

# Switch erstellen und Netzwerk-Interface hinzufügen
vm switch create public
vm switch add public bge0

# ISO-Datei für die Installation von Debian herunterladen
vm iso https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.5.0-amd64-netinst.iso

# Virtuelle Maschine erstellen, Festplattengröße auf 16GB setzen
vm create -t mydebian -s 16g mydebian

# Virtuelle Maschine installieren
vm install -f mydebian debian-11.5.0-amd64-netinst.iso

# Virtuelle Maschinen auflisten (inkl. Status)
vm list

# Vorhandene ISO-Dateien ansehen
vm iso

# Automatischer Start der virtuellen Maschinen
vm_list="vm1 vm2"
vm_delay="5"

Hier geht es zum Video.

Kurztipp: bhyve auf FreeBSD mit vm-bhyve

Alle nutzen Jira. Ich hatte das seinerzeit mal bei der CGM nutzen müssen, wollte mir aber auch mal wieder die aktuelle Version ansehen, um wenigstens sagen zu können: ich kenne es (Pssst: Redmine gefällt mir von der Übersicht und Usability aber weitaus besser – Geschmackssache).

Da ich hier nur FreeBSD-Server rumstehen habe, dachte ich mir: Da gibt’s ja bhyve. Angesehen und aus Zeitgründen wieder verworfen, da ich mich nicht ewig mit der Bedienung auseinandersetzen wollte und konnte. Irgendwann stieß ich dann auf vm-bhyve, einem kleinen Konsolenprogramm, dass eine ähnliche Bedienung wie die anderen administrativen Programme unter FreeBSD bietet (geli, gstat, gpart…).

Auf meinem Server (Intel(R) Xeon(R) CPU E3-1220L V2 @ 2.30GHz) habe ich es dann auch direkt installiert und wollte Ubuntu virtualisieren, genauer: Ubuntu Server. Die Installation lief auch mit dem bei bhyve-vm mitglieferten Template durch, bootete aber nicht, sondern blieb im Grub hängen. Irgendwo in den Tiefen des Internet fand ich dann, dass man LVM bei der Installation weglassen sollte. Gemacht, funktionierte aber genauso schlecht.

Was dann aber funktionierte, und das absolut reibungslos, war die Installation von Debian. Das installierte sich problemlos und bootete durch. Jira und die geforderten Abhängigkeiten waren auch in ein paar Minuten installiert und liefen direkt, so dass ich mir Jira noch einmal genauer ansehen konnte.

Wer also mit FreeBSD (mit allen Features und Einschränkungen) als Hypervisor liebäugelt, dem sei angeraten, sich einmal vm-bhyve anszusehen.