Page MenuHomeFreeBSD

D11276.diff
No OneTemporary

D11276.diff

Index: head/de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml
+++ head/de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml
@@ -5,7 +5,7 @@
$FreeBSD$
$FreeBSDde: de-docproj/books/handbook/virtualization/chapter.xml,v 1.14 2010/07/03 14:29:30 jkois Exp $
- basiert auf: r50094
+ basiert auf: r50292
-->
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
@@ -35,11 +35,26 @@
<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>
@@ -1475,19 +1490,356 @@
</step>
</procedure>
</sect2>
+ </sect1>
-<!--
- Note: There is no working/end-user ready Xen support for FreeBSD as of 07-2010.
- Hide all information regarding Xen under FreeBSD.
+ <sect1 xml:id="virtualization-host-xen">
+ <title>&os; als &xen;-Host</title>
- <sect2 id="virtualization-other">
- <title>Andere Virtualisierungsmöglichkeiten</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>Zusätzlich wird
- daran gearbeitet, <application>&xen;</application> als
- funktionierende Host-Umgebung (dom0) für &os;
- verfügbar zu machen.</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>

File Metadata

Mime Type
text/plain
Expires
Wed, Jul 1, 12:10 PM (7 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34559337
Default Alt Text
D11276.diff (18 KB)

Event Timeline