<?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>