doc/de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml
Bjoern Heidotting a897047641 Update to r50685:
Add missing <userinput> tag.
2018-05-20 20:57:28 +00:00

1859 lines
73 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
The FreeBSD German Documentation Project
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/virtualization/chapter.xml,v 1.14 2010/07/03 14:29:30 jkois Exp $
basiert auf: r50685
-->
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="virtualization">
<info>
<title>Virtualisierung</title>
<authorgroup>
<author>
<personname>
<firstname>Murray</firstname>
<surname>Stokely</surname>
</personname>
<contrib>Beigetragen von </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<personname>
<firstname>Allan</firstname>
<surname>Jude</surname>
</personname>
<contrib>bhyve Abschnitt beigetragen von </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<personname>
<firstname>Benedict</firstname>
<surname>Reuschling</surname>
</personname>
<contrib>Xen Abschnitt beigetragen von </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<personname>
<firstname>Oliver</firstname>
<surname>Peter</surname>
</personname>
<contrib>Übersetzt von </contrib>
</author>
<author>
<personname>
<firstname>Björn</firstname>
<surname>Heidotting</surname>
</personname>
</author>
</authorgroup>
</info>
<sect1 xml:id="virtualization-synopsis">
<title>Übersicht</title>
<para>Virtualisierungssoftware erlaubt es, mehrere Betriebssysteme
gleichzeitig auf dem selben Computer laufen zu lassen.
Derartige Softwaresysteme für <acronym>PC</acronym>s setzen in
der Regel ein Host-Betriebssystem voraus, auf dem die
Virtualisierungssoftware läuft und unterstützen eine nahezu
beliebige Anzahl von Gast-Betriebssystemen.</para>
<para>Nachdem Sie dieses Kapitel gelesen haben,</para>
<itemizedlist>
<listitem>
<para>Kennen Sie den Unterscheid zwischen einem
Host-Betriebssystem und einem Gast-Betriebssystem.</para>
</listitem>
<listitem>
<para>Können Sie &os; auf einem &intel;-basierenden
&apple; &mac; installieren.</para>
</listitem>
<listitem>
<para>Können Sie &os; unter &microsoft.windows; und
<application>Virtual PC</application> installieren.</para>
</listitem>
<listitem>
<para>Wissen Sie, wie man ein virtualisiertes &os;-System
für optimale Leistung konfiguriert.</para>
</listitem>
</itemizedlist>
<para>Bevor Sie dieses Kapitel lesen, sollten Sie</para>
<itemizedlist>
<listitem>
<para>Die <link linkend="basics">Grundlagen von &unix; und
&os;</link> verstehen.</para>
</listitem>
<listitem>
<para>Wissen, wie Sie <link linkend="bsdinstall">&os;
installieren</link> können.</para>
</listitem>
<listitem>
<para>Wissen, wie Sie eine <link
linkend="advanced-networking">Netzwerkverbindung
konfigurieren</link>.</para>
</listitem>
<listitem>
<para>Wissen, wie Sie <link linkend="ports">zusätzliche
Software installieren</link> können.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 xml:id="virtualization-guest-parallels">
<title>&os; als Gast-Betriebssystem unter
<application>Parallels</application> für &macos; X</title>
<para><application>Parallels Desktop</application> für &mac;
ist ein kommerzielles Softwareprodukt, welches für
&intel;-basierende &apple; &mac;-Computer mit
&macos;&nbsp;X&nbsp;10.4.6 oder höher verfügbar ist. &os; wird
von diesem Softwarepaket als Gast-Betriebssystem vollständig
unterstützt. Nach der Installation von
<application>Parallels</application> auf &macos;&nbsp;X
konfigurieren Sie als erstes eine virtuelle Maschine, in der Sie
danach das gewünschte Gast-Betriebssystem (in diesem Fall &os;)
installieren.</para>
<sect2 xml:id="virtualization-guest-parallels-install">
<title>Installation von &os; unter
Parallels/&macos;&nbsp;X</title>
<para>Der erste Schritt bei der Installation von &os; unter
<application>Parallels</application> ist es, eine virtuelle
Maschine zu konfigurieren, in der Sie &os; installieren
können. Dazu wählen Sie bei der Frage nach dem
<guimenu>Guest OS Type</guimenu>
<guimenuitem>&os;</guimenuitem> aus:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd1"/>
</imageobject>
</mediaobject>
<para>Legen Sie geeignete Größen für Festplatten- und
Arbeitsspeicher für die zu erstellende &os;-Instanz fest.
4&nbsp;GB Plattenplatz sowie 512&nbsp;MB RAM sind in der Regel
für die Arbeit unter <application>Parallels</application>
ausreichend:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd2"/>
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd3"/>
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd4"/>
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd5"/>
</imageobject>
</mediaobject>
<para>Wählen Sie den gewünschten Netzwerktyp aus und
konfigurieren Sie die Netzwerkverbindung:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd6"/>
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd7"/>
</imageobject>
</mediaobject>
<para>Speichern Sie Ihre Eingaben, um die Konfiguration
abzuschließen:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd8"/>
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd9"/>
</imageobject>
</mediaobject>
<para>Nachdem Sie die virtuelle Maschine erstellt haben,
installieren Sie im nächsten Schritt &os; in dieser virtuellen
Maschine. Dazu verwenden Sie am besten eine offizielle
&os;-<acronym>CD</acronym>/<acronym>DVD</acronym> oder Sie
laden von einem offiziellen <acronym>FTP</acronym>-Server ein
<acronym>ISO</acronym>-Abbild auf Ihren &mac; herunter.
Danach klicken Sie auf das Laufwerksymbol in der rechten
unteren Ecke des
<application>Parallels</application>-Fensters, um das
virtuelles Laufwerk mit dem <acronym>ISO</acronym>-Abbild oder
mit dem physikalischen <acronym>CD-ROM</acronym>-Laufwerk des
Computers zu verknüpfen.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd11"/>
</imageobject>
</mediaobject>
<para>Nachdem Sie diese Verknüpfung hergestellt haben,
starten sie die virtuelle &os;-Maschine neu, indem Sie
auf das Symbol <quote>Neustarten</quote> klicken.
<application>Parallels</application> startet nun ein
Spezial-<acronym>BIOS</acronym>, das zuerst prüft, ob eine
<acronym>CD-ROM</acronym> eingelegt wurde.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd10"/>
</imageobject>
</mediaobject>
<para>In diesem Fall findet das <acronym>BIOS</acronym> ein
&os;-Installationsmedium und beginnt eine normale
Installation. Versuchen Sie jetzt noch nicht
<application>&xorg;</application> zu konfigurieren.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd12"/>
</imageobject>
</mediaobject>
<para>Nachdem die Installation abgeschlossen ist, können Sie die
virtuelle &os;-Maschine starten.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/parallels-freebsd13"/>
</imageobject>
</mediaobject>
</sect2>
<sect2 xml:id="virtualization-guest-parallels-configure">
<title>&os; für den Einsatz unter
<application>Parallels</application> konfigurieren</title>
<para>Nachdem &os; erfolgreich unter &macos;&nbsp;X mit
<application>Parallels</application> installiert wurde,
sollten Sie das virtuelle &os;-System für virtualisierte
Operationen optimieren:</para>
<procedure>
<step>
<title>Setzen der Bootloader-Variablen</title>
<para>Die wichtigste Änderung ist es, die Variable
<option>kern.hz</option> zu verkleinern, um so die
CPU-Auslastung in der
<application>Parallels</application>-Umgebung zu
verringern.</para>
<programlisting>kern.hz=100</programlisting>
<para>Ohne diese Einstellung kann ein unbeschäftigtes &os;
unter <application>Parallels</application> trotzdem rund
15 Prozent der CPU-Leistung eines Single Prozessor
&imac;'s verbrauchen. Nach dieser Änderung reduziert
sich dieser Wert auf etwa 5 Prozent.</para>
</step>
<step>
<title>Erstellen einer neuen
Kernelkonfigurationsdatei</title>
<para>Sie können alle SCSI-, FireWire- und
USB-Laufwerks-Treiber entfernen.
<application>Parallels</application> stellt einen
virtuellen Netzwerkadapter bereit, der den
&man.ed.4;-Treiber verwendet. Daher können alle
Netzwerkgeräte bis auf &man.ed.4; und &man.miibus.4; aus
dem Kernel entfernt werden.</para>
</step>
<step>
<title>Netzwerkbetrieb einrichten</title>
<para>Die einfachste Netzwerkkonfiguration ist der Einsatz
von DHCP, um die virtuelle Maschine mit dem gleichen
lokalen Netzwerk, in dem sich der Host-&mac; befindet, zu
verbinden. Dazu fügen Sie die Zeile
<literal>ifconfig_ed0="DHCP"</literal> in
<filename>/etc/rc.conf</filename> ein. Weitere
Informationen zur Konfiguration des Netzwerks unter &os;
finden Sie im
<xref linkend="advanced-networking"/>.</para>
</step>
</procedure>
</sect2>
</sect1>
<sect1 xml:id="virtualization-guest-virtualpc">
<info>
<title>&os; als Gast-Betriebssystem unter
<application>Virtual PC</application> für &windows;</title>
<authorgroup>
<author>
<personname>
<firstname>Johann</firstname>
<surname>Kois</surname>
</personname>
<contrib>Übersetzt von </contrib>
</author>
</authorgroup>
</info>
<para><application>Virtual PC</application> für &windows; wird von
&microsoft; kostenlos zum Download angeboten. Die
Systemanforderungen für dieses Programm finden Sie <link
xlink:href="http://www.microsoft.com/windows/downloads/virtualpc/sysreq.mspx">
hier</link>. Nachdem <application>Virtual PC</application>
unter &microsoft.windows; installiert wurde, muss eine virtuelle
Maschine konfiguriert und das gewünschte Betriebssystem
installiert werden.</para>
<sect2 xml:id="virtualization-guest-virtualpc-install">
<title>&os; in <application>Virtual PC</application>
installieren</title>
<para>Der erste Schritt zur Installation von &os; in
<application>Virtual PC</application> ist es, eine neue
virtuelle Maschine zu erstellen, in die Sie &os; installieren
können. Dazu wählen Sie die Option
<guimenuitem>Create a virtual machine</guimenuitem>, wenn Sie
danach gefragt werden:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd1"/>
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd2"/>
</imageobject>
</mediaobject>
<para>Bei der Frage nach dem
<guimenuitem>Operating system</guimenuitem> wählen Sie
<guimenuitem>Other</guimenuitem>:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd3"/>
</imageobject>
</mediaobject>
<para>Danach müssen Sie den gewünschten Plattenplatz sowie die
Größe des Hauptspeichers angeben. 4&nbsp;GB Plattenplatz
sowie 512&nbsp;MB RAM sollten für die Installation von &os; in
<application>Virtual PC</application> ausreichend sein:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd4"/>
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd5"/>
</imageobject>
</mediaobject>
<para>Speichern Sie die Eingaben und beenden Sie die
Konfiguration:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd6"/>
</imageobject>
</mediaobject>
<para>Wählen Sie nun die für &os; erstellte virtuelle Maschine
aus und klicken Sie auf <guimenu>Settings</guimenu>, um das
Netzwerk zu konfigurieren:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd7"/>
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd8"/>
</imageobject>
</mediaobject>
<para>Nachdem die virtuelle Maschine erstellt wurde, können Sie
&os; installieren. Dazu verwenden Sie am besten eine
offizielle &os;-<acronym>CD</acronym>/<acronym>DVD</acronym>
oder ein <acronym>ISO</acronym>-Image, das Sie von einem
offiziellen &os;-<acronym>FTP</acronym>-Server heruntergeladen
haben. Wenn Sie ein <acronym>ISO</acronym>-Image auf der
Festplatte gespeichert haben, oder
eine &os;-<acronym>CD</acronym>/<acronym>DVD</acronym> in das
Laufwerk eingelegt haben, doppelklicken Sie auf die virtuelle
Maschine, die Sie für &os; angelegt haben. Danach klicken Sie
auf <guimenu>CD</guimenu> und wählen die Option
<guimenu>Capture ISO Image...</guimenu> im
<application>Virtual PC</application>-Fenster. Danach können
Sie im folgenden Fenster das <acronym>CD</acronym>-Laufwerk
mit dem physikalischen <acronym>CD</acronym>-Laufwerk oder mit
dem <acronym>ISO</acronym>-Image verknüpfen.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd9"/>
</imageobject>
</mediaobject>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd10"/>
</imageobject>
</mediaobject>
<para>Danach starten Sie die virtuelle Maschine neu, indem Sie
zuerst auf <guimenu>Action</guimenu> und danach auf
<guimenu>Reset</guimenu> klicken.
<application>Virtual PC</application> startet die virtuelle
Maschine nun neu und prüft zuerst, ob die virtuelle Maschine
über ein <acronym>CD</acronym>-Laufwerk verfügt.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd11"/>
</imageobject>
</mediaobject>
<para>Da dies hier der Fall ist, beginnt nun eine normale
&os;-Installation. Sie können &os; nun installieren, aber
verzichten Sie an dieser Stelle unbedingt auf die
<application>&xorg;</application>-Konfiguration.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd12"/>
</imageobject>
</mediaobject>
<para>Nachdem die Installation abgeschlossen ist, entfernen Sie
die <acronym>CD</acronym>/<acronym>DVD</acronym> aus dem
Laufwerk (oder lösen die Verknüpfung zum
<acronym>ISO</acronym>-Image). Danach starten Sie die
virtuelle Maschine neu, um &os; zu starten.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/virtualpc-freebsd13"/>
</imageobject>
</mediaobject>
</sect2>
<sect2 xml:id="virtualization-guest-virtualpc-configure">
<title>&os; in <application>Virtual PC</application>
konfigurieren</title>
<para>Nachdem &os; auf &microsoft.windows; mit
<application>Virtual PC</application> erfolgreich installiert
wurde, sollten Sie das virtuelle &os; noch anpassen, um eine
optimale Funktion zu gewährleisten.</para>
<procedure>
<step>
<title>Setzen der Bootloader-Variablen</title>
<para>Die wichtigste Änderung ist es, die Variable
<option>kern.hz</option> zu verkleinern, um so die
CPU-Auslastung in der
<application>Virtual PC</application>-Umgebung zu
verringern. Dazu fügen Sie die folgende Zeile in
<filename>/boot/loader.conf</filename> ein:</para>
<programlisting>kern.hz=100</programlisting>
<para>Ohne diese Einstellung kann ein unbeschäftigtes
&os; unter <application>Virutal PC</application>
trotzdem rund 40 Prozent der CPU-Leistung eines
Ein-Prozessor-Systems verbrauchen. Nach dieser
Änderung reduziert sich dieser Wert auf etwa
3 Prozent.</para>
</step>
<step>
<title>Erstellen einer neuen
Kernelkonfigurationsdatei</title>
<para>Alle SCSI-, FireWire- und USB-Laufwerks-Treiber
können aus der Kernelkonfigurationsdatei entfernt
werden. <application>Virtual PC</application> stellt
einen virtuellen Netzwerkadapter bereit, der den
&man.de.4;-Treiber verwendet. Daher können alle
Netzwerkgeräte bis auf &man.de.4; und
&man.miibus.4; aus dem Kernel entfernt werden.</para>
</step>
<step>
<title>Das Netzwerk einrichten</title>
<para>Die einfachste Netzwerkkonfiguration nutzt von DHCP,
um die virtuelle Maschine mit dem gleichen lokalen
Netzwerk, in dem sich der Host-&microsoft.windows;
befindet, zu verbinden. Dazu fügen Sie die Zeile
<literal>ifconfig_de0="DHCP"</literal> in
<filename>/etc/rc.conf</filename> ein. Weitere
Informationen zur Konfiguration des Netzwerks unter &os;
finden Sie in <xref
linkend="advanced-networking"/>.</para>
</step>
</procedure>
</sect2>
</sect1>
<sect1 xml:id="virtualization-guest-vmware">
<info>
<title>&os; als Gast-Betriebssystem unter
<application>VMware Fusion</application> für &macos;</title>
<authorgroup>
<author>
<personname>
<firstname>Johann</firstname>
<surname>Kois</surname>
</personname>
<contrib>Übersetzt von </contrib>
</author>
</authorgroup>
</info>
<para><application>VMware Fusion</application> für &mac; ist ein
kommerzielles Programm, das für &intel; basierte &apple;
&mac;-Computer mit &macos; 10.4.9 oder neuer erhältlich ist.
&os; wird von diesem Produkt vollständig als Gast-Betriebssystem
unterstützt. Nachdem Sie
<application>VMware Fusion</application> unter &macos; X
installiert haben, können Sie eine virtuelle Maschine
konfigurieren und das gewünschte Gastbetriebssystem
installieren.</para>
<sect2 xml:id="virtualization-guest-vmware-install">
<title>&os; in <application>VMware Fusion</application>
installieren</title>
<para>Zuerst müssen Sie <application>VMware Fusion</application>
starten, um eine virtuelle Maschine zu erstellen. Dazu wählen
Sie die Option <guimenuitem>New</guimenuitem>:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd01"/>
</imageobject>
</mediaobject>
<para>Dadurch wird ein Assistent gestartet, der bei der
Erzeugung einer neuen virtuellen Maschine behilflich ist.
Klicken Sie auf <guimenuitem>Continue</guimenuitem>, um den
Prozess zu starten:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd02"/>
</imageobject>
</mediaobject>
<para>Wählen Sie <guimenuitem>Other</guimenuitem> als das
<guimenuitem>Operating System</guimenuitem>, danach
<guimenuitem>&os;</guimenuitem> oder
<guimenuitem>&os; 64-bit</guimenuitem>, je nach dem, welche
Version Sie installieren wollen, wenn Sie nach der zu
installierenden <guimenu>Version</guimenu> gefragt
werden:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd03"/>
</imageobject>
</mediaobject>
<para>Vergeben Sie einen Namen für die virtuelle Maschine und
legen Sie den Speicherort fest:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd04"/>
</imageobject>
</mediaobject>
<para>Legen Sie die Größe der virtuellen Festplatte für die
virtuelle Maschine fest:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd05"/>
</imageobject>
</mediaobject>
<para>Wählen Sie die Installationsmethode für die virtuelle
Maschine. Entweder von einem <acronym>ISO</acronym>-Abbild
oder von einer
<acronym>CD</acronym>/<acronym>DVD</acronym>:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd06"/>
</imageobject>
</mediaobject>
<para>Nachdem Sie auf <guimenuitem>Finish</guimenuitem> geklickt
haben, wird die virtuelle Maschine gestartet:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd07"/>
</imageobject>
</mediaobject>
<para>Nun können Sie &os; wie gewohnt installieren:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd08"/>
</imageobject>
</mediaobject>
<para>Nachdem die Installation abgeschlossen ist, können noch
verschiedene Parameter der virtuellen Maschine, wie etwa der
Speicherverbrauch, konfiguriert werden:</para>
<note>
<para>Die Hardware der virtuellen Maschine kann nicht
geändert werden, solange die virtuelle Maschine
läuft.</para>
</note>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd09"/>
</imageobject>
</mediaobject>
<para>Die Anzahl der CPUs der virtuellen Maschine:</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd10"/>
</imageobject>
</mediaobject>
<para>Den Status des <acronym>CD</acronym>-Laufwerks. Sie
können die
<acronym>CD</acronym>/<acronym>DVD</acronym>/<acronym>ISO</acronym>
von der virtuellen Maschine lösen, wenn Sie es nicht
benötigen.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd11"/>
</imageobject>
</mediaobject>
<para>Zuletzt sollten Sie noch festlegen, wie sich die virtuelle
Maschine mit dem Netzwerk verbinden soll. Sollen neben dem
Gastsystem auch andere Rechner auf die virtuelle Maschine
zugreifen können, muss die Option
<guimenuitem>Connect directly to the physical network (Bridged)</guimenuitem>
gewählt werden. Ist dies nicht der Fall, sollte die Option
<guimenuitem>Share the host's internet connection (NAT)</guimenuitem>
gewählt werden. In dieser Einstellung kann die virtuelle
Maschine zwar auf das Internet zugreifen, andere Rechner
dürfen aber nicht auf die virtuelle Maschine zugreifen.</para>
<mediaobject>
<imageobject>
<imagedata fileref="virtualization/vmware-freebsd12"/>
</imageobject>
</mediaobject>
<para>Nachdem die Konfiguration abgeschlossen ist, kann &os;
gestartet werden.</para>
</sect2>
<sect2 xml:id="virtualization-guest-vmware-configure">
<title>&os; unter <application>VMware Fusion</application>
konfigurieren</title>
<para>Nachdem Sie &os; erfolgreich unter
<application>VMware Fusion</application> installiert haben,
sollten Sie das virtuelle &os; noch anpassen, um eine
optimale Funktion zu gewährleisten.</para>
<procedure>
<step>
<para>Die wichtigste Änderung ist es, die Variable
<option>kern.hz</option> zu verkleinern, um so die
CPU-Auslastung in der
<application>VMware Fusion</application>-Umgebung zu
verringern.</para>
<programlisting>kern.hz=100</programlisting>
<para>Ohne diese Einstellung kann ein unbeschäftigtes &os;
unter <application>VMware Fusion</application> trotzdem
rund 15 Prozent der CPU-Leistung eines Single Prozessor
&imac;'s verbrauchen. Nach dieser Änderung reduziert
sich dieser Wert auf etwa 5 Prozent.</para>
</step>
<step>
<title>Erstellen einer neuen
Kernelkonfigurationsdatei</title>
<para>Alle FireWire- und USB-Laufwerks-Treiber können aus
der Kernelkonfigurationsdatei entfernt werden.
<application>VMware Fusion</application> stellt einen
virtuellen Netzwerkadapter bereit, der den
&man.em.4;-Treiber verwendet. Daher können alle
Netzwerkgeräte bis auf &man.em.4; und
&man.miibus.4; aus dem Kernel entfernt werden.</para>
</step>
<step>
<title>Netzwerkbetrieb einrichten</title>
<para>Die einfachste Netzwerkkonfiguration verwendet DHCP,
um die virtuelle Maschine mit dem gleichen lokalen
Netzwerk, in dem sich der Host-&mac; befindet, zu
verbinden. Dazu fügen Sie die Zeile
<literal>ifconfig_em0="DHCP"</literal> in
<filename>/etc/rc.conf</filename> ein. Weitere
Informationen zur Konfiguration des Netzwerks unter
&os; finden Sie im <xref
linkend="advanced-networking"/>.</para>
</step>
</procedure>
</sect2>
</sect1>
<sect1 xml:id="virtualization-guest-virtualbox-guest-additions">
<title>&virtualbox; Gasterweiterungen auf einem &os; Gast</title>
<para>&os; funktioniert einwandfrei als Gast-Betriebssystem unter
&virtualbox;. Die Virtualisierungs-Software steht für die
meisten Betriebssysteme zur Verfügung, einschließlich
&os;.</para>
<para>Die &virtualbox; Gasterweiterungen bieten Unterstützung
für:</para>
<itemizedlist>
<listitem>
<para>Gemeinsame Zwischenablage.</para>
</listitem>
<listitem>
<para>Mauszeiger-Integration.</para>
</listitem>
<listitem>
<para>Zeitsynchronisation mit dem Host.</para>
</listitem>
<listitem>
<para>Skalierung von Fenstern.</para>
</listitem>
<listitem>
<para>Nahtloser Modus.</para>
</listitem>
</itemizedlist>
<note>
<para>Diese Kommandos werden im &os; Gastsystem
ausgeführt.</para>
</note>
<para>Installieren Sie das Paket oder den Port
<package>emulators/virtualbox-ose-additions</package> in das
&os; Gastsystem. Dieses Beispiel installiert den Port:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/emulators/virtualbox-ose-additions</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>Fügen Sie folgende Einträge in
<filename>/etc/rc.conf</filename> hinzu:</para>
<programlisting>vboxguest_enable="YES"
vboxservice_enable="YES"</programlisting>
<para>Wenn &man.ntpd.8; oder &man.ntpdate.8; verwendet wird um
die Uhrzeit zu synchronisieren, dann deaktivieren Sie die
Synchronisierung mit dem Host:</para>
<programlisting>vboxservice_flags"--disable-timesync"</programlisting>
<para><application>Xorg</application> wird den
<literal>vboxvideo</literal>-Treiber automatisch erkennen.
Alternativ kann auch manuell ein entsprechender Eintrag in
<filename>/etc/X11/xorg.conf</filename> hinzugefügt
werden:</para>
<programlisting>Section "Device"
Identifier "Card0"
Driver "vboxvideo"
VendorName "InnoTek Systemberatung GmbH"
BoardName "VirtualBox Graphics Adapter"
EndSection</programlisting>
<para>Um den <literal>vboxmouse_drv</literal>-Treiber zu
verwenden, muss <filename>/etc/X11/xorg.conf</filename>
ebenfalls angepasst werden:</para>
<programlisting>Section "InputDevice"
Identifier "Mouse0"
Driver "vboxmouse"
EndSection</programlisting>
<para>Benutzer von <acronym>HAL</acronym> sollten die Datei
<filename>/usr/local/etc/hal/fdi/policy/90-vboxguest.fdi</filename>
erstellen oder sie aus
<filename>/usr/local/share/hal/fdi/policy/10osvendor/90-vboxguest.fdi</filename>
kopieren:</para>
<programlisting>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;!--
# Sun VirtualBox
# Hal driver description for the vboxmouse driver
# $Id: chapter.xml,v 1.33 2012-03-17 04:53:52 eadler Exp $
Copyright (C) 2008-2009 Sun Microsystems, Inc.
This file is part of VirtualBox Open Source Edition (OSE, as
available from http://www.virtualbox.org. This file is free software;
you can redistribute it and/or modify it under the terms of the GNU
General Public License (GPL) as published by the Free Software
Foundation, in version 2 as it comes in the "COPYING" file of the
VirtualBox OSE distribution. VirtualBox OSE is distributed in the
hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
Clara, CA 95054 USA or visit http://www.sun.com if you need
additional information or have any questions.
--&gt;
&lt;deviceinfo version="0.2"&gt;
&lt;device&gt;
&lt;match key="info.subsystem" string="pci"&gt;
&lt;match key="info.product" string="VirtualBox guest Service"&gt;
&lt;append key="info.capabilities" type="strlist"&gt;input&lt;/append&gt;
&lt;append key="info.capabilities" type="strlist"&gt;input.mouse&lt;/append&gt;
&lt;merge key="input.x11_driver" type="string"&gt;vboxmouse&lt;/merge&gt;
&lt;merge key="input.device" type="string"&gt;/dev/vboxguest&lt;/merge&gt;
&lt;/match&gt;
&lt;/match&gt;
&lt;/device&gt;
&lt;/deviceinfo&gt;</programlisting>
</sect1>
<sect1 xml:id="virtualization-host-virtualbox">
<info>
<title>&os; als Host mit
<application>Virtualbox</application></title>
<authorgroup>
<author>
<personname>
<firstname>Benedict</firstname>
<surname>Reuschling</surname>
</personname>
<contrib>Übersetzt von </contrib>
</author>
<author>
<personname>
<firstname>Christoph</firstname>
<surname>Sold</surname>
</personname>
</author>
</authorgroup>
</info>
<para><application>&virtualbox;</application> ist ein
vollständigesVirtualisierungspaket, das aktiv weiterentwickelt
wird und für die meisten Betriebssysteme einschließlich
&windows;, &macos;, &linux; und &os; zur Verfügung steht. Es
kann sowohl &windows; als auch &unix;-ähnliche Gastsysteme
betreiben. Es wird als Open Source Software veröffentlicht,
jedoch mit Closed-Source-Komponenten in einem separaten
Erweiterungspaket. Zu diesen Komponenten gehört Unterstützung
für <acronym>USB</acronym>&nbsp;2.0-Geräte. Weitere
Informationen finden Sie auf der <link
xlink:href="http://www.virtualbox.org/wiki/Downloads">
<quote>Downloads</quote>-Seite im
<application>&virtualbox;</application> Wiki</link>. Derzeit
sind diese Erweiterungen für &os; nicht verfügbar.</para>
<sect2 xml:id="virtualization-virtualbox-install">
<title>&virtualbox; installieren</title>
<para><application>&virtualbox;</application> steht als
Paket oder Port in <package>emulators/virtualbox-ose</package>
bereit. Der Port kann mit folgendem Kommando installiert
werden:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/emulators/virtualbox-ose</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>
<para>Eine nützliche Option im Konfigurationsdialog ist die
<literal>GuestAdditions</literal>-Programmsammlung. Diese
stellen eine Reihe von nützlichen Eigenschaften in den
Gastbetriebssystemen zur Verfügung, wie beispielsweise
Mauszeigerintegration (was es ermöglicht, die Maus zwischen
dem Host und dem Gast zu teilen ohne eine spezielle
Tastenkombination für diesen Wechsel zu drücken), sowie
schnelleres Rendern von Videos, besonders in &windows; Gästen.
Diese Gastzusätze sind im <guimenu>Devices</guimenu>-Menü zu
finden, nachdem die Installation des Gastbetriebssystem
abgeschlossen ist.</para>
<para>Ein paar Konfigurationsänderungen sind notwendig, bevor
<application>&virtualbox;</application> das erste Mal
gestartet wird. Der Port installiert ein Kernelmodul in
<filename>/boot/modules</filename>, das in den laufenden
Kernel geladen werden muss:</para>
<screen>&prompt.root; <userinput>kldload vboxdrv</userinput></screen>
<para>Um sicherzustellen, dass das Modul immer nach einem
Neustart geladen wird, fügen Sie die folgende Zeile in
<filename>/boot/loader.conf</filename> ein:</para>
<programlisting>vboxdrv_load="YES"</programlisting>
<para>Um die Kernelmodule für die Unterstützung von
Netzwerkbrücken oder
<foreignphrase>Host-Only</foreignphrase>
Netzwerken zu laden, fügen Sie folgendes in
<filename>/etc/rc.conf</filename> ein und starten Sie den
Computer neu:</para>
<programlisting>vboxnet_enable="YES"</programlisting>
<para>Die Gruppe <systemitem
class="groupname">vboxusers</systemitem> wird während der
Installation von <application>&virtualbox;</application>
angelegt. Alle Benutzer, die Zugriff auf
<application>&virtualbox;</application> haben sollen, müssen
in diese Gruppe aufgenommen werden. <command>pw</command>
kann benutzt werden, um neue Mitglieder hinzuzufügen:</para>
<screen>&prompt.root; <userinput>pw groupmod vboxusers -m <replaceable>yourusername</replaceable></userinput></screen>
<para>Damit Netzwerkbrücken funktionieren, müssen die in der
Voreinstellung eingeschränkten Berechtigungen für
<filename>/dev/vboxnetctl</filename> angepasst werden:</para>
<screen>&prompt.root; <userinput>chown root:vboxusers /dev/vboxnetctl</userinput>
&prompt.root; <userinput>chmod 0600 /dev/vboxnetctl</userinput></screen>
<para>Um diese Berechtigungen dauerhaft zu speichern, fügen Sie
folgende Einträge in <filename>/etc/devfs.conf</filename>
hinzu:</para>
<programlisting>own vboxnetctl root:vboxusers
perm vboxnetctl 0600</programlisting>
<para>Um <application>&virtualbox;</application> zu starten,
geben Sie folgenden Befehl in der
<application>&xorg;</application>-Sitzung ein:</para>
<screen>&prompt.user; <userinput>VirtualBox</userinput></screen>
<para>Besuchen Sie die offizielle Webseite von
<application>&virtualbox;</application> unter <uri
xlink:href="http://www.virtualbox.org">
http://www.virtualbox.org</uri>, um weitere Informationen
zur Konfiguration und Verwendung zu erhalten.
&os;-spezifische Informationen und Anleitungen zur
Fehlerbehebung finden Sie auf der entsprechenden Seite im
&os;-Wiki unter <uri
xlink:href="http://wiki.FreeBSD.org/VirtualBox">
http://wiki.FreeBSD.org/VirtualBox</uri>.</para>
</sect2>
<sect2 xml:id="virtualization-virtualbox-usb-support">
<title>USB Unterstützung für &virtualbox;</title>
<para>Sie können <application>&virtualbox;</application> so
konfigurieren, dass <acronym>USB</acronym>-Geräte an das
Gastsystem weitergeleitet werden. So lange das
Erweiterungspaket für <acronym>USB</acronym> 2.0 und 3.0 auf
&os; nicht verfügbar ist, ist der Host-Controller der
OSE-Version auf die Emulation von <acronym>USB</acronym>
1.1-Geräten beschränkt.</para>
<para>Damit <application>&virtualbox;</application>
angeschlossene <acronym>USB</acronym>-Geräte am Rechner
erkennt, muss der Benutzer Mitglied der Gruppe <systemitem
class="groupname">operator</systemitem> sein.</para>
<screen>&prompt.root; <userinput>pw groupmod operator -m <replaceable>ihrbenutzername</replaceable></userinput></screen>
<para>Sie müssen die Anmeldesitzung und
<application>&virtualbox;</application> neu starten, damit die
Änderungen wirksam werden. Danach können Sie nach Bedarf neue
<acronym>USB</acronym>-Filter erstellen.</para>
</sect2>
<sect2 xml:id="virtualbox-virtualization-host-dvd-cd-access">
<title>Host <acronym>CD</acronym>/<acronym>DVD</acronym>-Zugriff
in &virtualbox;</title>
<para>Ein Gastsystem kann auf die
<acronym>DVD</acronym>/<acronym>CD</acronym>-Laufwerke des
Hosts zugreifen. Der Zugriff für die virtuellen Maschinen
wird in den Einstellungen von &virtualbox; konfiguriert.
Falls erforderlich, erstellen Sie zunächst ein leeres
<acronym>IDE</acronym>
<acronym>DVD</acronym>/<acronym>CD</acronym>-Gerät und wählen
Sie dann ein entsprechendes Medium für dieses Laufwerk aus.
Das Kontrollkästchen <literal>Passthrough</literal> besagt,
dass die virtuelle Maschine die Hardware direkt verwenden
kann. Audio-<acronym>CD</acronym>s und Brenner funktionieren
nur, wenn diese Option ausgewählt ist.</para>
<para>Damit die
<acronym>CD</acronym>/<acronym>DVD</acronym>-Funktionen von
&virtualbox; funktionieren, muss <acronym>HAL</acronym> in
<filename>/etc/rc.conf</filename> aktiviert und anschließend
gestartet werden:</para>
<programlisting>hald_enable="YES"</programlisting>
<screen>&prompt.root; <userinput>service hald start</userinput></screen>
<para>Damit die
<acronym>CD</acronym>/<acronym>DVD</acronym>-Funktionen von
Benutzern verwendet werden können, benötigen diese Zugriff auf
<filename>/dev/xpt0</filename>,
<filename>/dev/cd<replaceable>N</replaceable></filename> und
<filename>/dev/pass<replaceable>N</replaceable></filename>.
Dies wird in der Regel dadurch erreicht, den Benutzer zum
Mitglied der Gruppe <systemitem
class="groupname">operator</systemitem> zu machen. Die
Berechtigungen für diese Geräte werden mit folgenden Zeilen
in <filename>/etc/devfs.conf</filename> konfiguriert:</para>
<programlisting>perm cd* 0660
perm xpt0 0660
perm pass* 0660</programlisting>
<screen>&prompt.root; <userinput>service devfs restart</userinput></screen>
</sect2>
</sect1>
<sect1 xml:id="virtualization-host-bhyve">
<info>
<title>&os; als Host mit
<application>bhyve</application></title>
<authorgroup>
<author>
<personname>
<firstname>Björn</firstname>
<surname>Heidotting</surname>
</personname>
<contrib>Übersetzt von </contrib>
</author>
</authorgroup>
</info>
<para>Beginnend mit &os; 10.0-RELEASE ist
<application>bhyve</application>, ein
<acronym>BSD</acronym>-lizensierter Hypervisor, Teil des
Basissystems. Dieser Hypervisor unterstützt eine Reihe von
Gastbetriebssystemen, darunter &os;, OpenBSD und viele &linux;
Distributionen. In der Voreinstellung unterstützt
<application>bhyve</application> eine serielle Konsole,
graphische Konsolen werden nicht emuliert.
<application>bhyve</application> verwendet Offload-Funktionen
von neueren <acronym>CPU</acronym>s, um manuelle
Speicherzuordnungen und Anweisungen zu vermeiden.</para>
<para>Das Design von <application>bhyve</application> erfordert
einen Prozessor, der &intel; Extended Page Tables
(<acronym>EPT</acronym>), &amd; Rapid Vitualization
Indexing (<acronym>RVI</acronym>) oder Nested Page Tables
(<acronym>NPT</acronym>) unterstützt. &os;- oder
&linux;-Gastsysteme mit mehr als einer <acronym>vCPU</acronym>
benötigen <acronym>VMX</acronym> unrestricted mode support
(<acronym>UG</acronym>). Die meisten neueren Prozessoren,
speziell &intel;&nbsp;&core; i3/i5/i7 und &intel;&nbsp;&xeon;
E3/E5/E7, unterstützen diese Funktionen. Unterstützung für
<acronym>UG</acronym> wurde mit Intel's Westmere
Mikroarchitektur eingeführt. Eine vollständige Liste der
&intel;-Prozessoren mit <acronym>EPT</acronym>-Unterstützung
finden Sie unter <link
xlink:href="http://ark.intel.com/search/advanced?s=t&amp;ExtendedPageTables=true"/>.
<acronym>RVI</acronym> wird seit der dritten Generation der
&amd.opteron;-Prozessoren (Barcelona) unterstützt. Um zu sehen
ob der Prozessor <application>bhyve</application> unterstützt,
prüfen Sie die Ausgabe von <command>dmesg</command> oder
<filename>/var/run/dmesg.boot</filename>. Für &amd;-Prozessoren
suchen Sie in der Zeile <literal>Features2</literal> nach
<literal>POPCNT</literal>. Für &intel;-Prozessoren suchen Sie
in der Zeile <literal>VT-x</literal> nach <literal>EPT</literal>
und <literal>UG</literal>.</para>
<sect2 xml:id="virtualization-bhyve-prep">
<title>Vorbereitung des Hosts</title>
<para>Der erste Schritt bei der Erstellung einer virtuellen
Maschine in <application>bhyve</application> ist die
Konfiguration des Host-Systems. Laden Sie zunächst das
<application>bhyve</application> Kernelmodul:</para>
<screen>&prompt.root; <userinput>kldload vmm</userinput></screen>
<para>Erstellen Sie ein <filename>tap</filename>-Gerät, um
dieses mit der Netzwerk-Schnittstelle der virtuellen Maschine
zu verbinden. Damit sich die Schnittstelle mit dem
Netzwerk verbinden kann, müssen Sie zusätzlich eine
Bridge-Schnittstelle erzeugen, bestehend aus dem
<filename>tap</filename>-Gerät und der physikalischen
Schnittstelle. In diesem Beispiel wird die physikalische
Schnittstelle <filename>igb0</filename> verwendet:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>tap0</replaceable> create</userinput>
&prompt.root; <userinput>sysctl net.link.tap.up_on_open=1</userinput>
net.link.tap.up_on_open: 0 -> 1
&prompt.root; <userinput>ifconfig <replaceable>bridge0</replaceable> create</userinput>
&prompt.root; <userinput>ifconfig <replaceable>bridge0</replaceable> addm <replaceable>igb0</replaceable> addm <replaceable>tap0</replaceable></userinput>
&prompt.root; <userinput>ifconfig <replaceable>bridge0</replaceable> up</userinput></screen>
</sect2>
<sect2 xml:id="virtualization-bhyve-freebsd">
<title>Ein &os;-Gastsystem erstellen</title>
<para>Erzeugen Sie eine Datei, die als virtuelle Festplatte
für das Gastsystem verwendet wird. Geben Sie die Größe und
den Namen der virtuellen Festplatte an:</para>
<screen>&prompt.root; <userinput>truncate -s <replaceable>16G</replaceable> <replaceable>guest.img</replaceable></userinput></screen>
<para>Laden Sie ein Installationsabbild von &os;:</para>
<screen>&prompt.root; <userinput>fetch <replaceable>ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-bootonly.iso</replaceable></userinput>
FreeBSD-10.3-RELEASE-amd64-bootonly.iso 100% of 230 MB 570 kBps 06m17s</screen>
<para>&os; enthält ein Beispielskript um eine virtuelle Maschine
in <application>bhyve</application> 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: <option>-c</option> bestimmt die Anzahl der
virtuellen <acronym>CPU</acronym>s, <option>-m</option>
begrenzt den verfügbaren Speicher des Gastsystems,
<option>-t</option> bestimmt das verwendete
<filename>tap</filename>-Gerät, <option>-d</option> gibt das
zu benutzende Festplattenabbild an, <option>-i</option> sagt
<application>bhyve</application> dass es von
<acronym>CD</acronym> booten soll und <option>-I</option>
bestimmt das <acronym>CD</acronym>-Abbild. Der letzte
Parameter ist der Name der virtuellen Maschine. Dieses
Beispiel startet die virtuelle Maschine im
Installationsmodus:</para>
<screen>&prompt.root; <userinput>sh /usr/share/examples/bhyve/vmrun.sh -c <replaceable>1</replaceable> -m <replaceable>1024M</replaceable> -t <replaceable>tap0</replaceable> -d <replaceable>guest.img</replaceable> -i -I <replaceable>FreeBSD-10.3-RELEASE-amd64-bootonly.iso</replaceable> <replaceable>guestname</replaceable></userinput></screen>
<para>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
<guibutton>Yes</guibutton>. Es muss noch eine kleine Änderung
vorgenommen werden, damit das System mit einer seriellen
Konsole startet. Bearbeiten Sie
<filename>/etc/ttys</filename> und ersetzen Sie die vorhandene
<literal>ttyu0</literal>-Zeile durch:</para>
<programlisting>ttyu0 "/usr/libexec/getty 3wire" xterm on secure</programlisting>
<note>
<para>Beginnend mit &os;&nbsp;9.3-RELEASE und 10.1-RELEASE
wird die Konsole automatisch konfiguriert.</para>
</note>
<para>Starten Sie die virtuelle Maschine neu. Ein Neustart der
virtuellen Maschine wird <application>bhyve</application>
beenden, aber da das <filename>vmrun.sh</filename>-Skript in
einer Schleife läuft, wird <application>bhyve</application>
automatisch neu gestartet. Wenn dies passiert, wählen Sie die
Option <literal>Reboot</literal> im Bootloader-Menü, um die
Schleife zu unterbrechen. Anschließend kann das Gastsystem
von der virtuellen Festplatte gestartet werden:</para>
<screen>&prompt.root; <userinput>sh /usr/share/examples/bhyve/vmrun.sh -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> -t <replaceable>tap0</replaceable> -d <replaceable>guest.img</replaceable> <replaceable>guestname</replaceable></userinput></screen>
</sect2>
<sect2 xml:id="virtualization-bhyve-linux">
<title>Ein &linux;-Gastsystem erstellen</title>
<para>Um andere Betriebssysteme als &os; zu booten, muss
zunächst der Port <package>sysutils/grub2-bhyve</package>
installiert werden.</para>
<para>Als nächstes erzeugen Sie eine Datei, die das Gastsystem
als virtuelle Festplatte verwenden kann:</para>
<screen>&prompt.root; <userinput>truncate -s <replaceable>16G</replaceable> <replaceable>linux.img</replaceable></userinput></screen>
<para>Der Start einer virtuellen Maschine mit
<application>bhyve</application> ist ein zweistufiger Prozess.
Zuerst muss ein Kernel geladen werden, dann kann das
Gastsystem gestartet werden. Der &linux;-Kernel wird mit
<package>sysutils/grub2-bhyve</package> geladen. Erstellen
Sie eine <filename>device.map</filename>, damit
<application>grub</application> die virtuellen Geräte den
Dateien auf dem Hostsystem zuordnen kann:</para>
<programlisting>(hd0) ./linux.img
(cd0) ./somelinux.iso</programlisting>
<para>Benutzen Sie <package>sysutils/grub2-bhyve</package> um
den &linux;-Kernel vom <acronym>ISO</acronym>-Abbild zu
laden:</para>
<screen>&prompt.root; <userinput>grub-bhyve -m device.map -r cd0 -M <replaceable>1024M</replaceable> <replaceable>linuxguest</replaceable></userinput></screen>
<para>Damit wird <application>grub</application> gestartet.
Wenn die Installations-<acronym>CD</acronym> eine Datei namens
<filename>grub.cfg</filename> enthält, wird ein Menü
angezeigt. Wenn nicht, müssen die Dateien
<filename>vmlinuz</filename> und <filename>initrd</filename>
manuell geladen werden:</para>
<screen>grub> <userinput>ls</userinput>
(hd0) (cd0) (cd0,msdos1) (host)
grub> <userinput>ls (cd0)/isolinux</userinput>
boot.cat boot.msg grub.conf initrd.img isolinux.bin isolinux.cfg memtest
splash.jpg TRANS.TBL vesamenu.c32 vmlinuz
grub> <userinput>linux (cd0)/isolinux/vmlinuz</userinput>
grub> <userinput>initrd (cd0)/isolinux/initrd.img</userinput>
grub> <userinput>boot</userinput></screen>
<para>Nun, da der &linux;-Kernel geladen ist, kann das
Gastsystem gestartet werden:</para>
<screen>&prompt.root; <userinput>bhyve -A -H -P -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,<replaceable>tap0</replaceable> -s 3:0,virtio-blk,<replaceable>./linux.img</replaceable> \
-s 4:0,ahci-cd,<replaceable>./somelinux.iso</replaceable> -l com1,stdio -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> <replaceable>linuxguest</replaceable></userinput></screen>
<para>Das System wird booten und das Installtionsprogramm
starten. Starten Sie die virtuelle Maschine nach der
Installation des Betriebssystems neu. Dies führt auch dazu,
dass <application>bhyve</application> beendet wird. Die
Instanz der virtuellen Maschine muss zerstört werden, bevor
sie erneut in Betrieb genommen werden kann:</para>
<screen>&prompt.root; <userinput>bhyvectl --destroy --vm=<replaceable>linuxguest</replaceable></userinput></screen>
<para>Nun kann das Gastsystem direkt von der virtuellen
Festplatte gestartet werden. Laden Sie den Kernel:</para>
<screen>&prompt.root; <userinput>grub-bhyve -m device.map -r hd0,msdos1 -M <replaceable>1024M</replaceable> <replaceable>linuxguest</replaceable></userinput>
grub> <userinput>ls</userinput>
(hd0) (hd0,msdos2) (hd0,msdos1) (cd0) (cd0,msdos1) (host)
(lvm/VolGroup-lv_swap) (lvm/VolGroup-lv_root)
grub> <userinput>ls (hd0,msdos1)/</userinput>
lost+found/ grub/ efi/ System.map-2.6.32-431.el6.x86_64 config-2.6.32-431.el6.x
86_64 symvers-2.6.32-431.el6.x86_64.gz vmlinuz-2.6.32-431.el6.x86_64
initramfs-2.6.32-431.el6.x86_64.img
grub> <userinput>linux (hd0,msdos1)/vmlinuz-2.6.32-431.el6.x86_64 root=/dev/mapper/VolGroup-lv_root</userinput>
grub> <userinput>initrd (hd0,msdos1)/initramfs-2.6.32-431.el6.x86_64.img</userinput>
grub> <userinput>boot</userinput></screen>
<para>Starten Sie die virtuelle Maschine:</para>
<screen>&prompt.root; <userinput>bhyve -A -H -P -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,<replaceable>tap0</replaceable> \$ -s 3:0,virtio-blk,<replaceable>./linux.img</replaceable> -l com1,stdio -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> <replaceable>linuxguest</replaceable></userinput></screen>
<para>&linux; wird jetzt in der virtuellen Maschine gestartet
und präsentiert Ihnen vielleicht einen Anmeldeprompt. Sie
können sich anmelden und die virtuelle Maschine benutzen.
Wenn Sie fertig sind, starten Sie die virtuelle Maschine neu,
um <application>bhyve</application> zu verlassen.
Anschließend zerstören Sie die Instanz der virtuellen
Maschine:</para>
<screen>&prompt.root; <userinput>bhyvectl --destroy --vm=<replaceable>linuxguest</replaceable></userinput></screen>
</sect2>
<sect2 xml:id="virtualization-bhyve-uefi">
<title><application>bhyve</application> virtuelle Maschinen mit
<acronym>UEFI</acronym> Firmware booten</title>
<para>Neben <application>bhyveload</application> und
<application>grub-bhyve</application> kann der
<application>bhyve</application> Hypervisor virtuelle
Maschinen auch über die
<acronym>UEFI</acronym>-Userspace-Firmware booten. Mit dieser
Option werden Gastsysteme unterstützt, die von anderen
Bootloadern nicht unterstützt werden.</para>
<para>Um die <acronym>UEFI</acronym>-Unterstützung in
<application>bhyve</application> nutzen zu können, benötigen
Sie zuerst die Abbilder der <acronym>UEFI</acronym>-Firmware.
Dazu können Sie den Port oder das Paket
<package>sysutils/bhyve-firmware</package>
installieren.</para>
<para>Mit der Firmware an Ort und Stelle, fügen Sie die Option
<option>-l bootrom,<replaceable>/pfad/zur/firmware</replaceable></option>
zur <application>bhyve</application>-Befehlszeile hinzu. Der
eigentliche <application>bhyve</application>-Befehl könnte wie
folgt lauten:</para>
<screen>&prompt.root; <userinput>bhyve -AHP -s 0:0,hostbridge -s 1:0,lpc \
-s 2:0,virtio-net,<replaceable>tap1</replaceable> -s 3:0,virtio-blk,<replaceable>./disk.img</replaceable> \
-s 4:0,ahci-cd,<replaceable>./install.iso</replaceable> -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> \
-l bootrom,<replaceable>/usr/local/share/uefi-firmware/BHYVE_UEFI.fd</replaceable> \
<replaceable>guest</replaceable></userinput></screen>
<para><package>sysutils/bhyve-firmware</package> enthält auch
eine <acronym>CSM</acronym>-fähige Firmware, um Gastsysteme
ohne <acronym>UEFI</acronym>-Unterstützung im alten
<acronym>BIOS</acronym>-Modus zu booten:</para>
<screen>&prompt.root; <userinput>bhyve -AHP -s 0:0,hostbridge -s 1:0,lpc \
-s 2:0,virtio-net,<replaceable>tap1</replaceable> -s 3:0,virtio-blk,<replaceable>./disk.img</replaceable> \
-s 4:0,ahci-cd,<replaceable>./install.iso</replaceable> -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> \
-l bootrom,<replaceable>/usr/local/share/uefi-firmware/BHYVE_UEFI_CSM.fd</replaceable> \
<replaceable>guest</replaceable></userinput></screen>
</sect2>
<sect2 xml:id="virtualization-bhyve-framebuffer">
<title>Graphische Framebuffer für
<application>bhyve</application>-Gastsysteme</title>
<para>Die Unterstützung von <acronym>UEFI</acronym>-Firmware
ist bei graphischen Betriebssystemen, wie Microsoft &windows;,
besonders nützlich.</para>
<para>Unterstützung für den UEFI-GOP Framebuffer kann auch über
die Option
<option>-s 29,fbuf,tcp=<replaceable>0.0.0.0:5900</replaceable></option>
aktiviert werden. Die Framebuffer-Auflösung kann mit
<option>w=<replaceable>800</replaceable></option> und
<option>h=<replaceable>600</replaceable></option> konfiguriert
werden. Mit der Option <option>wait</option> können Sie
<application>bhyve</application> anweisen, auf eine
<acronym>VNC</acronym>-Verbindung zu warten, bevor das
Gastsystem gebootet wird. Vom Host oder aus dem Netzwerk kann
über das <acronym>VNC</acronym>-Protokoll auf den Framebuffer
zugegriffen werden.</para>
<para>Der daraus resultierende Befehl würde so aussehen:</para>
<screen>&prompt.root; <userinput>bhyve -AHP -s 0:0,hostbridge -s 31:0,lpc \
-s 2:0,virtio-net,<replaceable>tap1</replaceable> -s 3:0,virtio-blk,<replaceable>./disk.img</replaceable> \
-s 4:0,ahci-cd,<replaceable>./install.iso</replaceable> -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> \
-s 29,fbuf,tcp=<replaceable>0.0.0.0:5900</replaceable>,w=<replaceable>800</replaceable>,h=<replaceable>600</replaceable>,wait \
-l bootrom,<replaceable>/usr/local/share/uefi-firmware/BHYVE_UEFI.fd</replaceable> \
<replaceable>guest</replaceable></userinput></screen>
<para>Beachten Sie, dass der Framebuffer im BIOS-Modus keine
Befehle mehr empfängt, sobald die Steuerung von der Firmware
an das Gastsystem übergeben wird.</para>
</sect2>
<sect2 xml:id="virtualization-bhyve-zfs">
<title>Verwendung von <acronym>ZFS</acronym> mit
<application>bhyve</application>-Gastsystemen</title>
<para>Wenn auf dem Host-Rechner <acronym>ZFS</acronym>
eingerichtet ist, können Sie <acronym>ZFS</acronym>-Volumes
anstelle eines Festplattenabbilds verwenden. Dies kann
erhebliche Leistungsvorteile für das Gastsystem mit sich
bringen. Ein <acronym>ZFS</acronym>-Volume kann wie folgt
erstellt werden:</para>
<screen>&prompt.root; <userinput>zfs create -V<replaceable>16G</replaceable> -o volmode=dev <replaceable>zroot/linuxdisk0</replaceable></userinput></screen>
<para>Geben Sie das <acronym>ZFS</acronym>-Volume beim Start
der virtuellen Maschine an:</para>
<screen>&prompt.root; <userinput>bhyve -A -H -P -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,<replaceable>tap0</replaceable> -s3:0,virtio-blk,<replaceable>/dev/zvol/zroot/linuxdisk0</replaceable> \
-l com1,<replaceable>stdio</replaceable> -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> <replaceable>linuxguest</replaceable></userinput></screen>
</sect2>
<sect2 xml:id="virtualization-bhyve-nmdm">
<title>Konsolen in der virtuellen Maschine</title>
<para>Es ist vorteilhaft, die
<application>bhyve</application>-Konsole mit einem Werkzeug
wie <package>sysutils/tmux</package> oder
<package>sysutils/screen</package> zu bedienen. Damit ist es
leicht, die Konsole zu verbinden oder zu trennen. Es ist auch
möglich, die Konsole als Nullmodem-Gerät zu nutzen, auf das
Sie mit <command>cu</command> zugreifen können. Laden Sie
dazu das <filename>nmdm</filename> Kernelmodul und ersetzen
Sie <option>-l com1,stdio</option> mit <option>-l
com1,/dev/nmdm0A</option>. Die
<filename>/dev/nmdm</filename>-Geräte werden bei Bedarf
automatisch erstellt, jeweils paarweise, entsprechend den
beiden Enden eines Nullmodemkabels
(<filename>/dev/nmdm0A</filename> und
<filename>/dev/nmdm0B</filename>). Weitere Informationen
finden Sie in &man.nmdm.4;.</para>
<screen>&prompt.root; <userinput>kldload nmdm</userinput>
&prompt.root; <userinput>bhyve -A -H -P -s 0:0,hostbridge -s 1:0,lpc -s 2:0,virtio-net,<replaceable>tap0</replaceable> -s 3:0,virtio-blk,<replaceable>./linux.img</replaceable> \
-l com1,<replaceable>/dev/nmdm0A</replaceable> -c <replaceable>4</replaceable> -m <replaceable>1024M</replaceable> <replaceable>linuxguest</replaceable></userinput>
&prompt.root; <userinput>cu -l <replaceable>/dev/nmdm0B</replaceable></userinput>
Connected
Ubuntu 13.10 handbook ttyS0
handbook login:</screen>
</sect2>
<sect2 xml:id="virtualization-bhyve-managing">
<title>Virtuelle Maschinen verwalten</title>
<para>Für jede virtuelle Maschine wird unterhalb von
<filename>/dev/vmm</filename> ein Gerätename erzeugt.
Dadurch kann der Administrator einfach feststellen, welche
virtuellen Maschinen zur Zeit ausgeführt werden:</para>
<screen>&prompt.root; <userinput>ls -al /dev/vmm</userinput>
total 1
dr-xr-xr-x 2 root wheel 512 Mar 17 12:19 ./
dr-xr-xr-x 14 root wheel 512 Mar 17 06:38 ../
crw------- 1 root wheel 0x1a2 Mar 17 12:20 guestname
crw------- 1 root wheel 0x19f Mar 17 12:19 linuxguest
crw------- 1 root wheel 0x1a1 Mar 17 12:19 otherguest</screen>
<para>Mit Hilfe von <command>bhyvectl</command> kann eine
virtuelle Maschine zerstört werden:</para>
<screen>&prompt.root; <userinput>bhyvectl --destroy --vm=<replaceable>guestname</replaceable></userinput></screen>
</sect2>
<sect2 xml:id="virtualization-bhyve-onboot">
<title>Persistente Konfiguration</title>
<para>Um das System so zu konfigurieren, dass
<application>bhyve</application>-Gastsysteme beim Booten
gestartet werden, müssen die folgenden Konfigurationen in den
jeweiligen Dateien vorgenommen werden:</para>
<procedure>
<step>
<title><filename>/etc/sysctl.conf</filename></title>
<programlisting>net.link.tap.up_on_open=1</programlisting>
</step>
<step>
<title><filename>/boot/loader.conf</filename></title>
<programlisting>vmm_load="YES"
nmdm_load="YES"
if_bridge_load="YES"
if_tap_load="YES"</programlisting>
</step>
<step>
<title><filename>/etc/rc.conf</filename></title>
<programlisting>cloned_interfaces="<replaceable>bridge0</replaceable> <replaceable>tap0</replaceable>"
ifconfig_bridge0="addm <replaceable>igb0</replaceable> addm <replaceable>tap0</replaceable>"</programlisting>
</step>
</procedure>
</sect2>
</sect1>
<sect1 xml:id="virtualization-host-xen">
<title>&os; als &xen;-Host</title>
<para><application>Xen</application> ist ein
GPLv2-lizensierter <link
xlink:href="https://de.wikipedia.org/wiki/Hypervisor#Klassifizierung">
Typ-1-Hypervisor</link> für &intel; und &arm;
Architekturen. Seit &os;&nbsp;8.0 gibt es Unterstützung für
&i386; und &amd;&nbsp;64-Bit <link
xlink:href="https://wiki.xenproject.org/wiki/DomU">DomU</link>
sowie <link
xlink:href="https://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud">Amazon
EC2</link> unpriviligierte Domänen (virtuelle Maschinen).
Dom0 priviligierte Domänen (Host) wird seit &os;&nbsp;11.0
unterstützt. Aus Performancegründen wurde in &os;&nbsp;11 die
Unterstützung für paravirtualisierte Domänen (PV) zugunsten von
Hardware virtualisierten Domänen (HVM) entfernt.</para>
<para>&xen; ist ein Bare-Metal-Hypervisor, was bedeutet, dass es
das erste Programm ist, welches nach dem <acronym>BIOS</acronym>
geladen wird. Anschließend wird ein spezieller priviligierter
Gast namens Domain-0 (kurz <literal>Dom0</literal>) gestartet.
Dom0 nutzt seine speziellen Privilegien, um direkt auf die
zugrunde liegende Hardware zuzugreifen, was es zu einer sehr
leistungsstarken Lösung macht. Es ist in der Lage, direkt auf
Festplattencontroller und Netzwerkadapter zuzugreifen. Die
&xen; Werkzeuge zum Verwalten und Steuern des &xen; Hypervisors
werden auch von Dom0 zum Erstellen, Auflisten und Zerstören von
VMs verwendet. Dom0 stellt virtuelle Festplatten und
Netzwerkfunktionalität für unpriviligierte Domänen bereit, die
oft als DomU bezeichnet werden. Dom0 kann mit der
Servicekonsole anderer Hypervisor verglichen werden, wohingegen
DomU die einzelnen Gast-VMs ausführt.</para>
<para>&xen; kann VMs zwischen verschiedenen &xen; Servern
migrieren. Wenn beide Xen-Hosts denselben zugrundeliegenden
Speicher teilen, kann die Migration durchgeführt werden, ohne
dass die VM zuerst heruntergefahren werden muss. Stattdessen
wird die Migration live durchgeführt, während die DomU läuft.
Sie brauchen daher keinen Neustart oder Ausfallzeit einplanen.
Dies ist bei Wartungsarbeiten und Upgrade-Fenstern sinnvoll, um
sicherzustellen, dass die von der DomU bereitgestellten Dienste
weiterhin zur Verfügung stehen. Viele weitere Funktionen von
&xen; finden Sie im <link
xlink:href="https://wiki.xenproject.org/wiki/Category:Overview">
Xen Wiki</link>. Sie sollten jedoch beachten, dass derzeit
noch nicht alle Funktionen von &os; unterstützt werden.</para>
<sect2 xml:id="virtualization-host-xen-requirements">
<title>Hardwareanforderungen für &xen; Dom0</title>
<para>Um den &xen; Hypervisor auf einem Host auszuführen, ist
eine bestimmte Hardwarefunktionalität erforderlich.
Hardware-virtualisierte Domänen benötigen Unterstützung für
Extended Page Table (<link
xlink:href="https://de.wikipedia.org/wiki/Extended_Page_Table">
EPT</link>) und Input/Output Memory Management Unit
(<link xlink:href="https://de.wikipedia.org/wiki/IOMMU">IOMMU</link>)
im Host-Prozessor.</para>
</sect2>
<sect2 xml:id="virtualization-host-xen-dom0-setup">
<title>&xen; Dom0 Control Domain Konfiguration</title>
<para>Das Paket <package>emulators/xen</package> verwendet
binäre Schnappschüsse von &os;&nbsp;11 amd64 oder
äquivalenten, aus den Quellen übersetzte Systeme. Für dieses
Beispiel benötigen die nichtpriviligierten Domänen eine
VNC-Ausgabe, auf die Sie von einem anderen System aus, mit
einem Werkzeug wie <package>net/tightvnc</package>, zugreifen
können.</para>
<para>Installieren Sie <package>emulators/xen</package>:</para>
<screen>&prompt.root; <userinput>pkg install xen</userinput></screen>
<para>Die Konfigurationsdateien müssen angepasst werden, um den
Host für die Integration von Dom0 vorzubereiten. Ein Eintrag
in <filename>/etc/sysctl.conf</filename> deaktiviert die
Begrenzung für Speicherseiten. Andernfalls lassen sich DomU
VMs mit höheren Speicheranforderungen nicht ausführen.</para>
<screen>&prompt.root; <userinput>sysrc -f /etc/sysctl.conf vm.max_wired=-1</userinput></screen>
<para>Für eine andere speicherbezogene Einstellung muss in
<filename>/etc/login.conf</filename> die Option
<literal>memorylocked</literal> auf
<literal>unlimited</literal> gesetzt werden. Ansonsten kann
das Erstellen von DomU-Domänen mit der Meldung
<errorname>Cannot allocate memory</errorname> fehlschlagen.
Nachdem Sie die Änderung in
<filename>/etc/login.conf</filename> gemacht haben, müssen Sie
<command>cap_mkdb</command> ausführen um die Datenbank zu
aktualisieren. <xref linkend="security-resourcelimits"/>
enthält hierzu ausführliche Informationen.</para>
<screen>&prompt.root; <userinput>sed -i '' -e 's/memorylocked=64K/memorylocked=unlimited/' /etc/login.conf</userinput>
&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
<para>Fügen Sie einen Eintrag für die &xen; Konsole in
<filename>/etc/ttys</filename> ein:</para>
<screen>&prompt.root; <userinput>echo 'xc0 "usr/libexec/getty Pc" xterm on secure' >> /etc/ttys</userinput></screen>
<para>Dom0 wird durch die Auswahl eines &xen;-Kernels in
<filename>/boot/loader.conf</filename> aktiviert. &xen;
benötigt von dem Hostsystem auch Ressourcen wie CPU und
Speicher, sowohl für sich selbst als auch für andere
DomU Domains. Wie viele Ressourcen benötigt werden, hängt
von den individuellen Anforderungen und der eingesetzten
Hardware ab. In diesem Beispiel werden der Dom0 8&nbsp;GB
Speicher und 4 virtuelle CPUs zur Verfügung gestellt. Die
serielle Konsole und Protokollierung wird ebenfalls
aktiviert:</para>
<screen>&prompt.root; <userinput>sysrc -f /boot/loader.conf hw.pci.mcfg=0</userinput>
&prompt.root; <userinput>sysrc -f /boot/loader.conf xen_kernel="/boot/xen"</userinput>
&prompt.root; <userinput>sysrc -f /boot/loader.conf xen_cmdline="dom0_mem=8192M dom0_max_vcpus=4 dom0pvh=1 console=com1,vga com1=115200,8n1 guest_loglvl=all loglvl=all"</userinput></screen>
<para>Protokolldateien, die &xen; für die Dom0- und DomU-VMs
erstellt, werden in <filename>/var/log/xen</filename>
gespeichert. Dieses Verzeichnis ist standardmäßig nicht
vorhanden und muss erstellt werden.</para>
<screen>&prompt.root; <userinput>mkdir /var/log/xen</userinput>
&prompt.root; <userinput>chmod 644 /var/log/xen</userinput></screen>
<para>&xen; bietet ein Bootmenü zur Aktivierung und
Deaktivierung des Hypervisors in
<filename>/boot/menu.rc.local</filename>:</para>
<screen>&prompt.root; <userinput>echo "try-include /boot/xen.4th" >> /boot/menu.rc.local</userinput></screen>
<para>Aktivieren Sie den xencommons Dienst während des
Systemstarts:</para>
<screen>&prompt.root; <userinput>sysrc xencommons_enable=yes</userinput></screen>
<para>Diese Einstellungen reichen zwar aus, um ein Dom0-fähiges
System zu starten, allerdings fehlt es dann an
Netzwerkfunktionalität für die DomU-Rechner. Um dies zu
beheben, können Sie eine Netzwerkbrücke über die
Netzwerkschnittstelle des Hosts herstellen, die die DomU-VMs
für die Verbindung zum Netzwerk benutzen können. Ersetzen Sie
<replaceable>igb0</replaceable> durch den Namen der
Netzwerkschnittstelle des Hosts.</para>
<screen>&prompt.root; <userinput>sysrc autobridge_interfaces=bridge0</userinput>
&prompt.root; <userinput>sysrc autobridge_bridge0=<replaceable>igb0</replaceable></userinput>
&prompt.root; <userinput>sysrc ifconfig_bridge0=SYNCDHCP</userinput></screen>
<para>Starten Sie den Host neu, um den &xen;-Kernel zu laden und
den Dom0 zu starten.</para>
<screen>&prompt.root; <userinput>reboot</userinput></screen>
<para>Nach dem erfolgreichen Booten des &xen;-Kernels und der
Anmeldung am System wird das &xen;-Werkzeug
<command>xl</command> verwendet, um Informationen über die
Domänen anzuzeigen.</para>
<screen>&prompt.root; <userinput>xl list</userinput>
Name ID Mem VCPUs State Time(s)
Domain-0 0 8192 4 r----- 962.0</screen>
<para>Die Ausgabe bestätigt, dass der Dom0 (auch Domain-0
genannt) die ID <literal>0</literal> hat und ausgeführt wird.
Der vorher in <filename>/boot/loader.conf</filename>
definierte Speicher und die virtuellen CPUs sind ebenfalls
vorhanden. Weitere Informationen finden Sie in der <link
xlink:href="https://www.xenproject.org/help/documentation.html">
&xen; Dokumentation</link>. Jetzt können DomU Gast-VMs
erstellt werden.</para>
</sect2>
<sect2 xml:id="virtualization-host-xen-domu-setup">
<title>&xen; DomU Gast-VM Konfiguration</title>
<para>Unpriviligierte Domänen bestehen aus einer
Konfigurationsdatei und virtuellen oder physikalischen
Festplatten. Der virtuelle Plattenspeicher für die DomU kann
aus Dateien bestehen, die mit &man.truncate.1; erstellt
wurden, oder ZFS Volumes wie in <xref
linkend="zfs-zfs-volume"/> beschrieben. In diesem Beispiel
wird ein 20&nbsp;GB Volume verwendet. Eine VM wird mit dem
ZFS Volume erstellt, ein &os; ISO-Abbild, 1&nbsp;GB RAM und
zwei virtuelle CPUs. Das ISO-Abbild mit den
Installationsdateien wird mit &man.fetch.1; heruntergeladen
und lokal in der Datei <filename>freebsd.iso</filename>
gespeichert.</para>
<screen>&prompt.root; <userinput>fetch <replaceable>ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-bootonly.iso</replaceable> -o <replaceable>freebsd.iso</replaceable></userinput></screen>
<para>Ein ZFS Volume von 20&nbsp;GB namens
<filename>xendisk0</filename> wird erstellt und dient der VM
als Festplatte.</para>
<screen>&prompt.root; <userinput>zfs create -V20G -o volmode=dev zroot/xendisk0</userinput></screen>
<para>Die neue DomU Gast-VM wird in einer Datei definiert.
Einige spezifische Einstellungen wie Name, Tastaturbelegung
und VNC-Verbindungsdetails werden ebenfalls konfiguriert.
Für dieses Beispiel enthält die folgende
<filename>freebsd.cfg</filename> eine minimale
DomU-Konfiguration:</para>
<screen>&prompt.root; <userinput>cat freebsd.cfg</userinput>
builder = "hvm" <co xml:id="co-xen-builder"/>
name = "freebsd" <co xml:id="co-xen-name"/>
memory = 1024 <co xml:id="co-xen-memory"/>
vcpus = 2 <co xml:id="co-xen-vcpus"/>
vif = [ 'mac=00:16:3E:74:34:32,bridge=bridge0' ] <co xml:id="co-xen-vif"/>
disk = [
'/dev/zvol/tank/xendisk0,raw,hda,rw', <co xml:id="co-xen-disk"/>
'/root/freebsd.iso,raw,hdc:cdrom,r' <co xml:id="co-xen-cdrom"/>
]
vnc = 1 <co xml:id="co-xen-vnc"/>
vnclisten = "0.0.0.0"
serial = "pty"
usbdevice = "tablet"</screen>
<para>Erklärung der einzelnen Zeilen:</para>
<calloutlist>
<callout arearefs="co-xen-builder">
<para>Dies definiert, welche Art von Virtualisierung
verwendet wird. <literal>hvm</literal> bezieht sich auf
hardwaregestützte Virtualisierung oder
<foreignphrase>Hardware Virtual Machine</foreignphrase>.
Gastbetriebssysteme können unverändert auf der CPU mit
Virtualisierungserweiterungen laufen und bieten nahezu die
gleiche Leistung wie auf physikalischer Hardware.
<literal>generic</literal> ist der voreingestellte Wert
und erstellt eine PV-Domain.</para>
</callout>
<callout arearefs="co-xen-name">
<para>Der Name dieser virtuellen Maschine. Er dient zur
Unterscheidung von anderen virtuellen Maschinen auf der
selben Dom0. Diese Angabe ist zwingend
erforderlich.</para>
</callout>
<callout arearefs="co-xen-memory">
<para>Die Größe an RAM in Megabytes, die der VM zur
Verfügung steht. Die Größe wird vom verfügbaren Speicher
des Hypervisors subtrahiert, nicht vom Speicher der
Dom0.</para>
</callout>
<callout arearefs="co-xen-vcpus">
<para>Die Anzahl der virtuellen CPUs, die dem Gast zur
Verfügung stehen. Für die beste Leistung sollten Sie
dem Gast nicht mehr CPUs zuteilen, als die Anzahl der
CPUs auf dem physikalischen Host.</para>
</callout>
<callout arearefs="co-xen-vif">
<para>Der virtuelle Netzwerkadapter. Dies ist die Brücke,
die mit der Netzwerkschnittstelle des Hosts verbunden ist.
Der Parameter <literal>mac</literal> definiert die
MAC-Adresse der virtuellen Schnittstelle. Dieser
Parameter ist optional. Falls keine MAC definiert ist,
wird &xen; eine zufällige MAC generieren.</para>
</callout>
<callout arearefs="co-xen-disk">
<para>Der vollständige Pfad zur Festplatte, Datei, oder ZFS
Volume für den Plattenspeicher dieser VM. Optionen und
Festplattendefinitionen werden durch Kommata
getrennt.</para>
</callout>
<callout arearefs="co-xen-cdrom">
<para>Das Boot-Medium, aus dem das initiale Betriebssystem
installiert wird. In diesem Beispiel wird das zuvor
heruntergeladene ISO-Abbild benutzt. Andere Geräte und
weitere Optionen sind in der &xen; Dokumentation
beschrieben.</para>
</callout>
<callout arearefs="co-xen-vnc">
<para>Optionen, die die VNC-Konnektivität der seriellen
Konsole der DomU steuern. Dabei handelt es sich um die
aktive VNC-Unterstützung, die verwendete IP-Adresse, der
Gerätename der seriellen Konsole und die Eingabemethoden
für Maus, Tastatur und andere Geräte.
<literal>keymap</literal> konfiguriert die
Tastaturbelegung, die in der Voreinstellung
<literal>english</literal> ist.</para>
</callout>
</calloutlist>
<para>Nachdem die Konfigurationsdatei mit allen notwendigen
Optionen erstellt wurde, wird die DomU erstellt, indem die
Datei als Parameter an <command>xl</command> übergeben
wird.</para>
<screen>&prompt.root; <userinput>xl create freebsd.cfg</userinput></screen>
<note>
<para>Jedes mal, wenn die Dom0 neu gestartet wird, muss die
Konfigurationsdatei nochmals an <command>xl</command>
übergeben werden, um die DomU neu zu erstellen. In der
Voreinstellung wird nur die Dom0 nach einem Neustart
angelegt, nicht die einzelnen VMs. Die VMs können dort
fortfahren, wo sie aufgehört haben, weil sie das
Betriebssystem auf der virtuellen Festplatte gespeichert
haben. Die Konfiguration der virtuellen Maschine kann sich
mit der Zeit ändern (bspw. beim Hinzufügen von mehr
Arbeitsspeicher). Die Konfigurationsdateien der virtuellen
Maschinen müssen ordnungsgemäß gesichert und vorgehalten
werden, um die Gast-VM bei Bedarf neu erstellen zu
können.</para>
</note>
<para>Die Ausgabe von <command>xl list</command> bestätigt, dass
die DomU erstellt wurde.</para>
<screen>&prompt.root; <userinput>xl list</userinput>
Name ID Mem VCPUs State Time(s)
Domain-0 0 8192 4 r----- 1653.4
freebsd 1 1024 1 -b---- 663.9</screen>
<para>Um die Installation des Basis-Betriebssystems zu beginnen,
starten Sie den VNC-Client und verbinden Sie sich mit
Netzwerkadresse des Hosts oder mit der IP-Adresse, die auf der
Zeile <literal>vnclisten</literal> in
<filename>freebsd.cfg</filename> konfiguriert wurde. Nachdem
das Betriebssystem installiert ist, fahren Sie die DomU
herunter und trennen den VNC-Viewer. Bearbeiten Sie dann
die <filename>freebsd.cfg</filename>, entfernen Sie die Zeile
mit der <literal>cdrom</literal> Definiton, oder kommentieren
Sie die Zeile mit <literal>#</literal> aus. Um diese neue
Konfiguration zu laden, ist es notwendig, die alte DomU mit
<command>xl</command> zu zerstören, indem Sie entweder den
Namen oder die ID als Parameter übergeben. Danach kann die
DomU mit der angepassten <filename>freebsd.cfg</filename> neu
erstellt werden.</para>
<screen>&prompt.root; <userinput>xl destroy freebsd</userinput>
&prompt.root; <userinput>xl create freebsd.cfg</userinput></screen>
<para>Auf die Maschine kann jetzt wieder mit dem VNC-Viewer
zugegriffen werden. Dieses mal wird sie von einer virtuellen
Festplatte booten, auf der das Betriebssystem installiert
wurde. Die virtuelle Maschine kann nun verwendet
werden.</para>
</sect2>
</sect1>
</chapter>