diff options
| author | Bjoern Heidotting <bhd@FreeBSD.org> | 2017-06-23 17:02:58 +0000 |
|---|---|---|
| committer | Bjoern Heidotting <bhd@FreeBSD.org> | 2017-06-23 17:02:58 +0000 |
| commit | af80308bff72bd8bea91601ffa08acb19af2942b (patch) | |
| tree | 992bbd3fda22a3c8e7b8df58bc9869d818f9a35f | |
| parent | 64f092ccd1096d10902e50d3c093ef35456ff1b9 (diff) | |
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
Notes
svn path=/head/; revision=50398
| -rw-r--r-- | de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml | 374 |
1 files changed, 363 insertions, 11 deletions
diff --git a/de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml b/de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml index 96cab17c23..89148a63f2 100644 --- a/de_DE.ISO8859-1/books/handbook/virtualization/chapter.xml +++ b/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 @@ ifconfig_bridge0="addm <replaceable>igb0</replaceable> addm <replaceable>tap0</r </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> + + <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; 8.0 gibt es Unterst�tzung f�r + &i386; und &amd; 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; 11.0 + unterst�tzt. Aus Performancegr�nden wurde in &os; 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> - <sect2 id="virtualization-other"> - <title>Andere Virtualisierungsm�glichkeiten</title> + <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> - <para>Zus�tzlich wird - daran gearbeitet, <application>&xen;</application> als - funktionierende Host-Umgebung (dom0) f�r &os; - verf�gbar zu machen.</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; 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 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 GB Volume verwendet. Eine VM wird mit dem + ZFS Volume erstellt, ein &os; ISO-Abbild, 1 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 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> |
