Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Jun 2017 17:02:58 +0000 (UTC)
From:      Bjoern Heidotting <bhd@FreeBSD.org>
To:        doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org
Subject:   svn commit: r50398 - head/de_DE.ISO8859-1/books/handbook/virtualization
Message-ID:  <201706231702.v5NH2w81027165@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bhd
Date: Fri Jun 23 17:02:58 2017
New Revision: 50398
URL: https://svnweb.freebsd.org/changeset/doc/50398

Log:
  Update to r50292:
  
  Add a new section about Xen to the virtualization chapter.
  It is based on the entries in the FreeBSD Wiki andi Xen's
  own instructions specific to FreeBSD.
  
  In particular, it describes how to configure the host machine,
  set up the Dom0, and add a DomU VM afterwards.
  
  Reviewed by:	bcr
  Differential Revision:	https://reviews.freebsd.org/D11276

Modified:
  head/de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml

Modified: head/de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml
==============================================================================
--- head/de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml	Fri Jun 23 12:37:23 2017	(r50397)
+++ head/de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml	Fri Jun 23 17:02:58 2017	(r50398)
@@ -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 @@ ifconfig_bridge0="addm <replaceable>igb0</replaceable>
 	</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>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706231702.v5NH2w81027165>