Changeset View
Changeset View
Standalone View
Standalone View
documentation/content/de/books/handbook/virtualization/_index.adoc
Show First 20 Lines • Show All 354 Lines • ▼ Show 20 Lines | |||||
[.programlisting] | [.programlisting] | ||||
.... | .... | ||||
Section "InputDevice" | Section "InputDevice" | ||||
Identifier "Mouse0" | Identifier "Mouse0" | ||||
Driver "vboxmouse" | Driver "vboxmouse" | ||||
EndSection | EndSection | ||||
.... | .... | ||||
Benutzer von HAL sollten die Datei [.filename]#/usr/local/etc/hal/fdi/policy/90-vboxguest.fdi# erstellen oder sie aus [.filename]#/usr/local/shared/hal/fdi/policy/10osvendor/90-vboxguest.fdi# kopieren: | Benutzer von HAL sollten die Datei [.filename]#/usr/local/etc/hal/fdi/policy/90-vboxguest.fdi# erstellen oder sie aus [.filename]#/usr/local/share/hal/fdi/policy/10osvendor/90-vboxguest.fdi# kopieren: | ||||
[.programlisting] | [.programlisting] | ||||
.... | .... | ||||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||
<!-- | <!-- | ||||
# Sun VirtualBox | # Sun VirtualBox | ||||
# Hal driver description for the vboxmouse driver | # Hal driver description for the vboxmouse driver | ||||
# $Id: chapter.xml,v 1.33 2012-03-17 04:53:52 eadler Exp $ | # $Id: chapter.xml,v 1.33 2012-03-17 04:53:52 eadler Exp $ | ||||
▲ Show 20 Lines • Show All 224 Lines • ▼ Show 20 Lines | |||||
# fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-bootonly.iso | # fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-bootonly.iso | ||||
FreeBSD-10.3-RELEASE-amd64-bootonly.iso 100% of 230 MB 570 kBps 06m17s | FreeBSD-10.3-RELEASE-amd64-bootonly.iso 100% of 230 MB 570 kBps 06m17s | ||||
.... | .... | ||||
FreeBSD enthält ein Beispielskript um eine virtuelle Maschine in bhyve auszuführen. Das Skript wird die virtuelle Maschine starten und sie in einer Schleife ausführen. Sollte die virtuelle Maschine abstürzen, wird sie vom Skript automatisch neu gestartet. Das Skript akzeptiert einige Optionen, um die Konfiguration der virtuellen Maschine zu kontrollieren: `-c` bestimmt die Anzahl der virtuellen CPUs, `-m` begrenzt den verfügbaren Speicher des Gastsystems, `-t` bestimmt das verwendete [.filename]#tap#-Gerät, `-d` gibt das zu benutzende Festplattenabbild an, `-i` sagt bhyve dass es von CD booten soll und `-I` bestimmt das CD-Abbild. Der letzte Parameter ist der Name der virtuellen Maschine. Dieses Beispiel startet die virtuelle Maschine im Installationsmodus: | FreeBSD enthält ein Beispielskript um eine virtuelle Maschine in bhyve auszuführen. Das Skript wird die virtuelle Maschine starten und sie in einer Schleife ausführen. Sollte die virtuelle Maschine abstürzen, wird sie vom Skript automatisch neu gestartet. Das Skript akzeptiert einige Optionen, um die Konfiguration der virtuellen Maschine zu kontrollieren: `-c` bestimmt die Anzahl der virtuellen CPUs, `-m` begrenzt den verfügbaren Speicher des Gastsystems, `-t` bestimmt das verwendete [.filename]#tap#-Gerät, `-d` gibt das zu benutzende Festplattenabbild an, `-i` sagt bhyve dass es von CD booten soll und `-I` bestimmt das CD-Abbild. Der letzte Parameter ist der Name der virtuellen Maschine. Dieses Beispiel startet die virtuelle Maschine im Installationsmodus: | ||||
[source,shell] | [source,shell] | ||||
.... | .... | ||||
# sh /usr/shared/examples/bhyve/vmrun.sh -c 1 -m 1024M -t tap0 -d guest.img -i -I FreeBSD-10.3-RELEASE-amd64-bootonly.iso guestname | # sh /usr/share/examples/bhyve/vmrun.sh -c 1 -m 1024M -t tap0 -d guest.img -i -I FreeBSD-10.3-RELEASE-amd64-bootonly.iso guestname | ||||
.... | .... | ||||
Die virtuelle Maschine wird starten und das Installationsprogramm ausführen. Nachdem das System in der virtuellen Maschine installiert ist, werden Sie gefragt, ob eine Shell gestartet werden soll. Wählen Sie btn:[Yes]. | Die virtuelle Maschine wird starten und das Installationsprogramm ausführen. Nachdem das System in der virtuellen Maschine installiert ist, werden Sie gefragt, ob eine Shell gestartet werden soll. Wählen Sie btn:[Yes]. | ||||
Starten Sie die virtuelle Maschine neu. Ein Neustart der virtuellen Maschine wird bhyve beenden, aber da das [.filename]#vmrun.sh#-Skript in einer Schleife läuft, wird bhyve automatisch neu gestartet. Wenn dies passiert, wählen Sie die Option `Reboot` im Bootloader-Menü, um die Schleife zu unterbrechen. Anschließend kann das Gastsystem von der virtuellen Festplatte gestartet werden: | Starten Sie die virtuelle Maschine neu. Ein Neustart der virtuellen Maschine wird bhyve beenden, aber da das [.filename]#vmrun.sh#-Skript in einer Schleife läuft, wird bhyve automatisch neu gestartet. Wenn dies passiert, wählen Sie die Option `Reboot` im Bootloader-Menü, um die Schleife zu unterbrechen. Anschließend kann das Gastsystem von der virtuellen Festplatte gestartet werden: | ||||
[source,shell] | [source,shell] | ||||
.... | .... | ||||
# sh /usr/shared/examples/bhyve/vmrun.sh -c 4 -m 1024M -t tap0 -d guest.img guestname | # sh /usr/share/examples/bhyve/vmrun.sh -c 4 -m 1024M -t tap0 -d guest.img guestname | ||||
.... | .... | ||||
[[virtualization-bhyve-linux]] | [[virtualization-bhyve-linux]] | ||||
=== Ein Linux(R)-Gastsystem erstellen | === Ein Linux(R)-Gastsystem erstellen | ||||
Um andere Betriebssysteme als FreeBSD zu booten, muss zunächst der Port package:sysutils/grub2-bhyve[] installiert werden. | Um andere Betriebssysteme als FreeBSD zu booten, muss zunächst der Port package:sysutils/grub2-bhyve[] installiert werden. | ||||
Als nächstes erzeugen Sie eine Datei, die das Gastsystem als virtuelle Festplatte verwenden kann: | Als nächstes erzeugen Sie eine Datei, die das Gastsystem als virtuelle Festplatte verwenden kann: | ||||
▲ Show 20 Lines • Show All 87 Lines • ▼ Show 20 Lines | |||||
Mit der Firmware an Ort und Stelle, fügen Sie die Option `-l bootrom,_/pfad/zur/firmware_` zur bhyve-Befehlszeile hinzu. Der eigentliche bhyve-Befehl könnte wie folgt lauten: | Mit der Firmware an Ort und Stelle, fügen Sie die Option `-l bootrom,_/pfad/zur/firmware_` zur bhyve-Befehlszeile hinzu. Der eigentliche bhyve-Befehl könnte wie folgt lauten: | ||||
[source,shell] | [source,shell] | ||||
.... | .... | ||||
# bhyve -AHP -s 0:0,hostbridge -s 1:0,lpc \ | # bhyve -AHP -s 0:0,hostbridge -s 1:0,lpc \ | ||||
-s 2:0,virtio-net,tap1 -s 3:0,virtio-blk,./disk.img \ | -s 2:0,virtio-net,tap1 -s 3:0,virtio-blk,./disk.img \ | ||||
-s 4:0,ahci-cd,./install.iso -c 4 -m 1024M \ | -s 4:0,ahci-cd,./install.iso -c 4 -m 1024M \ | ||||
-l bootrom,/usr/local/shared/uefi-firmware/BHYVE_UEFI.fd \ | -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \ | ||||
guest | guest | ||||
.... | .... | ||||
package:sysutils/bhyve-firmware[] enthält auch eine CSM-fähige Firmware, um Gastsysteme ohne UEFI-Unterstützung im alten BIOS-Modus zu booten: | package:sysutils/bhyve-firmware[] enthält auch eine CSM-fähige Firmware, um Gastsysteme ohne UEFI-Unterstützung im alten BIOS-Modus zu booten: | ||||
[source,shell] | [source,shell] | ||||
.... | .... | ||||
# bhyve -AHP -s 0:0,hostbridge -s 1:0,lpc \ | # bhyve -AHP -s 0:0,hostbridge -s 1:0,lpc \ | ||||
-s 2:0,virtio-net,tap1 -s 3:0,virtio-blk,./disk.img \ | -s 2:0,virtio-net,tap1 -s 3:0,virtio-blk,./disk.img \ | ||||
-s 4:0,ahci-cd,./install.iso -c 4 -m 1024M \ | -s 4:0,ahci-cd,./install.iso -c 4 -m 1024M \ | ||||
-l bootrom,/usr/local/shared/uefi-firmware/BHYVE_UEFI_CSM.fd \ | -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CSM.fd \ | ||||
guest | guest | ||||
.... | .... | ||||
[[virtualization-bhyve-framebuffer]] | [[virtualization-bhyve-framebuffer]] | ||||
=== Graphische Framebuffer für bhyve-Gastsysteme | === Graphische Framebuffer für bhyve-Gastsysteme | ||||
Die Unterstützung von UEFI-Firmware ist bei graphischen Betriebssystemen, wie Microsoft Windows(R), besonders nützlich. | Die Unterstützung von UEFI-Firmware ist bei graphischen Betriebssystemen, wie Microsoft Windows(R), besonders nützlich. | ||||
Unterstützung für den UEFI-GOP Framebuffer kann auch über die Option `-s 29,fbuf,tcp=_0.0.0.0:5900_` aktiviert werden. Die Framebuffer-Auflösung kann mit `w=_800_` und `h=_600_` konfiguriert werden. Mit der Option `wait` können Sie bhyve anweisen, auf eine VNC-Verbindung zu warten, bevor das Gastsystem gebootet wird. Vom Host oder aus dem Netzwerk kann über das VNC-Protokoll auf den Framebuffer zugegriffen werden. Zusätzlich kann `-s 30,xhci,tablet` hinzugefügt werden, um eine präzise Mauszeigersynchronisation mit dem Host zu gewährleisten. | Unterstützung für den UEFI-GOP Framebuffer kann auch über die Option `-s 29,fbuf,tcp=_0.0.0.0:5900_` aktiviert werden. Die Framebuffer-Auflösung kann mit `w=_800_` und `h=_600_` konfiguriert werden. Mit der Option `wait` können Sie bhyve anweisen, auf eine VNC-Verbindung zu warten, bevor das Gastsystem gebootet wird. Vom Host oder aus dem Netzwerk kann über das VNC-Protokoll auf den Framebuffer zugegriffen werden. Zusätzlich kann `-s 30,xhci,tablet` hinzugefügt werden, um eine präzise Mauszeigersynchronisation mit dem Host zu gewährleisten. | ||||
Der daraus resultierende Befehl würde so aussehen: | Der daraus resultierende Befehl würde so aussehen: | ||||
[source,shell] | [source,shell] | ||||
.... | .... | ||||
# bhyve -AHP -s 0:0,hostbridge -s 31:0,lpc \ | # bhyve -AHP -s 0:0,hostbridge -s 31:0,lpc \ | ||||
-s 2:0,virtio-net,tap1 -s 3:0,virtio-blk,./disk.img \ | -s 2:0,virtio-net,tap1 -s 3:0,virtio-blk,./disk.img \ | ||||
-s 4:0,ahci-cd,./install.iso -c 4 -m 1024M \ | -s 4:0,ahci-cd,./install.iso -c 4 -m 1024M \ | ||||
-s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait \ | -s 29,fbuf,tcp=0.0.0.0:5900,w=800,h=600,wait \ | ||||
-l bootrom,/usr/local/shared/uefi-firmware/BHYVE_UEFI.fd \ | -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \ | ||||
-s 30,xhci,tablet \ | -s 30,xhci,tablet \ | ||||
guest | guest | ||||
.... | .... | ||||
Beachten Sie, dass der Framebuffer im BIOS-Modus keine Befehle mehr empfängt, sobald die Steuerung von der Firmware an das Gastsystem übergeben wird. | Beachten Sie, dass der Framebuffer im BIOS-Modus keine Befehle mehr empfängt, sobald die Steuerung von der Firmware an das Gastsystem übergeben wird. | ||||
[[virtualization-bhyve-zfs]] | [[virtualization-bhyve-zfs]] | ||||
=== Verwendung von ZFS mit bhyve-Gastsystemen | === Verwendung von ZFS mit bhyve-Gastsystemen | ||||
▲ Show 20 Lines • Show All 310 Lines • ▼ Show 20 Lines | |||||
libxl: debug: libxl_device.c:397:libxl__device_disk_set_backend: Disk vdev=xvda spec.backend=unknown | libxl: debug: libxl_device.c:397:libxl__device_disk_set_backend: Disk vdev=xvda spec.backend=unknown | ||||
libxl: debug: libxl_device.c:432:libxl__device_disk_set_backend: Disk vdev=xvda, using backend phy | libxl: debug: libxl_device.c:432:libxl__device_disk_set_backend: Disk vdev=xvda, using backend phy | ||||
libxl: debug: libxl_create.c:1018:initiate_domain_create: Domain 1:running bootloader | libxl: debug: libxl_create.c:1018:initiate_domain_create: Domain 1:running bootloader | ||||
libxl: debug: libxl_bootloader.c:328:libxl__bootloader_run: Domain 1:not a PV/PVH domain, skipping bootloader | libxl: debug: libxl_bootloader.c:328:libxl__bootloader_run: Domain 1:not a PV/PVH domain, skipping bootloader | ||||
libxl: debug: libxl_event.c:689:libxl__ev_xswatch_deregister: watch w=0x800d96b98: deregister unregistered | libxl: debug: libxl_event.c:689:libxl__ev_xswatch_deregister: watch w=0x800d96b98: deregister unregistered | ||||
domainbuilder: detail: xc_dom_allocate: cmdline="", features="" | domainbuilder: detail: xc_dom_allocate: cmdline="", features="" | ||||
domainbuilder: detail: xc_dom_kernel_file: filename="/usr/local/lib/xen/boot/hvmloader" | domainbuilder: detail: xc_dom_kernel_file: filename="/usr/local/lib/xen/boot/hvmloader" | ||||
domainbuilder: detail: xc_dom_malloc_filemap : 326 kB | domainbuilder: detail: xc_dom_malloc_filemap : 326 kB | ||||
libxl: debug: libxl_dom.c:988:libxl__load_hvm_firmware_module: Loading BIOS: /usr/local/shared/seabios/bios.bin | libxl: debug: libxl_dom.c:988:libxl__load_hvm_firmware_module: Loading BIOS: /usr/local/share/seabios/bios.bin | ||||
... | ... | ||||
.... | .... | ||||
Wenn die ausführliche Ausgabe nicht bei der Diagnose des Problems hilft, gibt es auch noch die Protokolle des QEMU und Xen(TM) Toolstacks in [.filename]#/var/log/xen#. Beachten Sie, dass der Name der Domäne an den Protokollnamen angehängt wird. Wenn die Domäne also `freebsd` heißt, sollten Sie wahrscheinlich die Dateien [.filename]#/var/log/xen/xl-freebsd.log# und [.filename]#/var/log/xen/qemu-dm.freebsd.log# finden. Beide Dateien können nützliche Informationen zur Fehlerbehebung enthalten. Wenn nichts davon zur Lösung des Problems beiträgt, senden Sie bitte die Beschreibung des Problems und so viele Informationen wie möglich an mailto:freebsd-xen@FreeBSD.org[freebsd-xen@FreeBSD.org] und mailto:xen-devel@lists.xenproject.org[xen-devel@lists.xenproject.org], um Hilfe zu erhalten. | Wenn die ausführliche Ausgabe nicht bei der Diagnose des Problems hilft, gibt es auch noch die Protokolle des QEMU und Xen(TM) Toolstacks in [.filename]#/var/log/xen#. Beachten Sie, dass der Name der Domäne an den Protokollnamen angehängt wird. Wenn die Domäne also `freebsd` heißt, sollten Sie wahrscheinlich die Dateien [.filename]#/var/log/xen/xl-freebsd.log# und [.filename]#/var/log/xen/qemu-dm.freebsd.log# finden. Beide Dateien können nützliche Informationen zur Fehlerbehebung enthalten. Wenn nichts davon zur Lösung des Problems beiträgt, senden Sie bitte die Beschreibung des Problems und so viele Informationen wie möglich an mailto:freebsd-xen@FreeBSD.org[freebsd-xen@FreeBSD.org] und mailto:xen-devel@lists.xenproject.org[xen-devel@lists.xenproject.org], um Hilfe zu erhalten. |