User Tools

Site Tools


buildbot:bhyve

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
buildbot:bhyve [2022/05/25 13:40] – msvoelkerbuildbot: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 /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 
- 
-===== 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 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 /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 
-   
-==== Ubuntu Server 20.04 ==== 
- 
-  # vm create -s 64G ubuntu20 
-  # vm configure ubuntu20 
- 
-Setze loader auf uefi. 
- 
-  loader="uefi" 
-  cpu=2 
-  memory=2G 
-  network0_type="virtio-net" 
-  network0_switch="public" 
-  disk0_type="virtio-blk" 
-  disk0_name="disk0.img" 
- 
-Installation starten. 
- 
-  # vm install ubuntu20 /tmp/ubuntu-20.04.4-live-server-amd64.iso 
-  # vm console ubuntu20 
- 
-Um die Installation über die Konsole verfolgen zu können, drücke e beim Boot-Prompt. Verändere 
- 
-  setparams 'Install Ubuntu Server' 
-   
-       setgfxpayload=keep 
-       linux /casper/vmlinuz quiet --- 
-       initrd /casper/initrd 
- 
-zu 
- 
-  setparams 'Install Ubuntu Server' 
-   
-       setgfxpayload=keep 
-       linux /casper/vmlinuz vga=normal console=tty0 console=ttyS0,115200n8 --- 
-       initrd /casper/initrd 
- 
-==== Windows 11 ==== 
- 
-Verwende Windows config template. Muss eventl. vorher kopiert werden. 
- 
-  # cp /usr/local/share/examples/vm-bhyve/windows.conf /zroot/vm/.templates/ 
-  # 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="uefi" 
-  graphics="yes" 
-  graphics_wait="yes" 
-  vnc_password="irgendein Passwort" 
-  xhci_mouse="yes" 
-  cpu=2 
-  memory=4G 
-  ahci_device_limit="8" 
-  network0_type="e1000" 
-  network0_switch="public" 
-  disk0_type="ahci-hd" 
-  disk0_name="disk0.img" 
-  utctime="no" 
- 
-Starte Installation. 
- 
-  # vm install windows11 /tmp/Win11_English_x64v1.iso 
-  # 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:5900). Führe Windows Installation durch. 
- 
-Um die virtio verwenden zu können, lade die Treiber für Windows [[https://github.com/virtio-win/virtio-win-pkg-scripts/|hier]] über die Stable virtio-win ISO herunter. Binde die ISO durch Doppelklick ein und starte Installation durch öffnen der Datei virtio-win-gt-x64.msi. Wähle bei der Installation nur die virtio Treiber aus, nicht die qemu Treiber. Fahre Windows herunter. 
- 
-  # vm configure windows11 
- 
-Kommentiere graphics_wait aus, verändere network0_type zu virtio-net. 
- 
-  loader="uefi" 
-  graphics="yes" 
-  #graphics_wait="yes" 
-  ... 
-  network0_type="virtio-net" 
-  ... 
- 
-===== Links ===== 
- 
-  * [[https://docs.freebsd.org/en/books/handbook/virtualization/#virtualization-host-bhyve|FreeBSD Handbook]] 
-  * [[https://github.com/churchers/vm-bhyve|vm-bhyve]] 
buildbot/bhyve.1653486045.txt.gz · Last modified: by msvoelker