User Tools

Site Tools


bhyve

This is an old revision of the document!


bhyve

Als bhyve Host wird derzeit bsd13 verwendet. bsd13 nutzt zwei Netzwerkinterfaces:

  • bge0 im roten Netz mit der IP Adresse 10.0.1.213
  • igb0 im grünen Netz ohne IP Adresse für die VMs

Die angegebenen Befehle müssen alle mit root-Rechten (z. B. mit sudo) ausgeführt werden.

Installation

Installiere FreeBSD mit ZFS Dateisystem.

Um bhyve Kernelmodul beim Start zu laden, füge in /boot/loader.conf hinzu:

vmm_load="YES"

Um es direkt zu laden: kldload vmm

Für die VMs werden tap Netzwerkinterfaces verwendet, damit die automatisch aktiv werden, füge in /etc/sysctl.conf hinzu:

net.link.tap.up_on_open=1

Um es direkt zu setzen: sysctl net.link.tap.up_on_open=1

Installiere benötigte Software.

# pkg install vm-bhyve grub2-bhyve bhyve-firmware tmux sudo

Erstelle ZFS dataset für die VMs.

# zfs create zroot/vm

Füge in /etc/rc.conf hinzu:

ifconfig_igb0="up"
vm_enable="YES"
vm_dir="zfs:zroot/vm"

Initialiere vm-bhyve.

# vm init

Erstelle einen virtuellen Switch, der igb0 mit den Netzwerkinterfaces der VMs verbindet.

# vm switch create public
# vm switch add public igb0
# vm switch list

Setze console auf tmux. Damit wird für jede VM eine eigene tmux Session gestartet.

# vm set console=tmux

Erstelle VM

Als Beispiel wird eine FreeBSD VM erstellt.

# vm create freebsd

Die Einstellungen werden standardmäßig aus /usr/local/share/examples/vm-bhyve/default.conf übernommen und können angepasst werden.

# vm configure freebsd

Starte die VM mit einer ISO zur Installation.

# vm install freebsd /tmp/FreeBSD-13.0-RELEASE-amd64.iso

Öffne für die Installation die tmux Konsole.

# vm console freebsd

VM Verwaltung

Befehle zur VM Verwaltung:

  • vm list - Listet alle VMs auf.
  • vm info <vm> - Zeigt Infos zu einer spezifischen VM.
  • vm start/stop <vm> - Startet/stoppt die VM.
  • vm configure <vm> - Öffnet die Datei mit den Einstellungen der VM.
  • vm console <vm> - Öffnet (attach) die tmux Konsole der VM (detach mit ctrl-b + d).
bhyve.1647938128.txt.gz · Last modified: by msvoelker