buildbot:bhyve
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| buildbot:bhyve [2022/05/25 13:40] – [bhyve] msvoelker | buildbot:bhyve [2022/11/09 17:07] (current) – removed msvoelker | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== bhyve ====== | ||
| - | Als bhyve Host wird ein Dell R430 verwendet. Genutzt werden vier Netzwerkinterfaces: | ||
| - | |||
| - | * bge0 im roten Netz mit der IP Adresse 10.0.1.65, | ||
| - | * igb0 im roten, | ||
| - | * igb1 im grünen und | ||
| - | * igb2 im blauen 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 / | ||
| - | |||
| - | vmm_load=" | ||
| - | |||
| - | Um es direkt zu laden: kldload vmm | ||
| - | |||
| - | Für die VMs werden tap Netzwerkinterfaces verwendet, damit die automatisch aktiv werden, füge in / | ||
| - | |||
| - | 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 / | ||
| - | |||
| - | ifconfig_igb0=" | ||
| - | vm_enable=" | ||
| - | vm_dir=" | ||
| - | |||
| - | 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 | ||
| - | |||
| - | ===== 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/ | ||
| - | * vm poweroff <vm> - Schaltet VM hart aus, anstatt nur ein ACPI Shutdown zu senden | ||
| - | * 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). | ||
| - | |||
| - | ===== Erstelle VM ===== | ||
| - | |||
| - | Als Beispiel wird eine FreeBSD VM erstellt. | ||
| - | |||
| - | # vm create freebsd | ||
| - | |||
| - | Die Einstellungen werden standardmäßig aus / | ||
| - | |||
| - | # vm configure freebsd | ||
| - | |||
| - | Starte die VM mit einer ISO zur Installation. | ||
| - | |||
| - | # vm install freebsd / | ||
| - | |||
| - | Öffne für die Installation die tmux Konsole. | ||
| - | |||
| - | # vm console freebsd | ||
| - | | ||
| - | ==== Ubuntu Server 20.04 ==== | ||
| - | |||
| - | # vm create -s 64G ubuntu20 | ||
| - | # vm configure ubuntu20 | ||
| - | |||
| - | Setze loader auf uefi. | ||
| - | |||
| - | loader=" | ||
| - | cpu=2 | ||
| - | memory=2G | ||
| - | network0_type=" | ||
| - | network0_switch=" | ||
| - | disk0_type=" | ||
| - | disk0_name=" | ||
| - | |||
| - | Installation starten. | ||
| - | |||
| - | # vm install ubuntu20 / | ||
| - | # vm console ubuntu20 | ||
| - | |||
| - | Um die Installation über die Konsole verfolgen zu können, drücke e beim Boot-Prompt. Verändere | ||
| - | |||
| - | setparams ' | ||
| - | | ||
| - | | ||
| - | linux / | ||
| - | | ||
| - | |||
| - | zu | ||
| - | |||
| - | setparams ' | ||
| - | | ||
| - | | ||
| - | linux / | ||
| - | | ||
| - | |||
| - | ==== Windows 11 ==== | ||
| - | |||
| - | Verwende Windows config template. Muss eventl. vorher kopiert werden. | ||
| - | |||
| - | # cp / | ||
| - | # vm create -t windows -s 64G windows11 | ||
| - | # vm configure windows11 | ||
| - | |||
| - | Passe config leicht an. graphics ermöglicht die Nutzung von VNC für eine graphische Konsole. graphics_wait hält die VM solange an, bis ein VNC Client sich verbunden hat. | ||
| - | |||
| - | loader=" | ||
| - | graphics=" | ||
| - | graphics_wait=" | ||
| - | vnc_password=" | ||
| - | xhci_mouse=" | ||
| - | cpu=2 | ||
| - | memory=4G | ||
| - | ahci_device_limit=" | ||
| - | network0_type=" | ||
| - | network0_switch=" | ||
| - | disk0_type=" | ||
| - | disk0_name=" | ||
| - | utctime=" | ||
| - | |||
| - | Starte Installation. | ||
| - | |||
| - | # vm install windows11 / | ||
| - | # vm list | ||
| - | |||
| - | Die Liste der VMs zeigt den VNC Port (z. B. 5900). Starte VNC Client mit der IP-Adresse des bhyve Servers und dem angezeigten Port (z. B. 10.0.1.213: | ||
| - | |||
| - | Um die virtio verwenden zu können, lade die Treiber für Windows [[https:// | ||
| - | |||
| - | # vm configure windows11 | ||
| - | |||
| - | Kommentiere graphics_wait aus, verändere network0_type zu virtio-net. | ||
| - | |||
| - | loader=" | ||
| - | graphics=" | ||
| - | # | ||
| - | ... | ||
| - | network0_type=" | ||
| - | ... | ||
| - | |||
| - | ===== Links ===== | ||
| - | |||
| - | * [[https:// | ||
| - | * [[https:// | ||
buildbot/bhyve.1653486055.txt.gz · Last modified: by msvoelker
