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 --> + Benedict + Reuschling + + Xen Abschnitt beigetragen von + + + + + Oliver Peter Übersetzt von + + + Björn + Heidotting + + @@ -1475,19 +1490,356 @@ + - + + + &xen; Dom0 Control Domain Konfiguration + + Das Paket emulators/xen 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 net/tightvnc, zugreifen + können. + + Installieren Sie emulators/xen: + + &prompt.root; pkg install xen + + Die Konfigurationsdateien müssen angepasst werden, um den + Host für die Integration von Dom0 vorzubereiten. Ein Eintrag + in /etc/sysctl.conf deaktiviert die + Begrenzung für Speicherseiten. Andernfalls lassen sich DomU + VMs mit höheren Speicheranforderungen nicht ausführen. + + &prompt.root; sysrc -f /etc/sysctl.conf vm.max_wired=-1 + + Für eine andere speicherbezogene Einstellung muss in + /etc/login.conf die Option + memorylocked auf + unlimited gesetzt werden. Ansonsten kann + das Erstellen von DomU-Domänen mit der Meldung + Cannot allocate memory fehlschlagen. + Nachdem Sie die Änderung in + /etc/login.conf gemacht haben, müssen Sie + cap_mkdb ausführen um die Datenbank zu + aktualisieren. + enthält hierzu ausführliche Informationen. + + &prompt.root; sed -i '' -e 's/memorylocked=64K/memorylocked=unlimited/' /etc/login.conf +&prompt.root; cap_mkdb /etc/login.conf + + Fügen Sie einen Eintrag für die &xen; Konsole in + /etc/ttys ein: + + &prompt.root; echo 'xc0 "usr/libexec/getty Pc" xterm on secure' >> /etc/ttys + + Dom0 wird durch die Auswahl eines &xen;-Kernels in + /boot/loader.conf 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: + + &prompt.root; sysrc -f /boot/loader.conf hw.pci.mcfg=0 +&prompt.root; sysrc -f /boot/loader.conf xen_kernel="/boot/xen" +&prompt.root; 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" + + Protokolldateien, die &xen; für die Dom0- und DomU-VMs + erstellt, werden in /var/log/xen + gespeichert. Dieses Verzeichnis ist standardmäßig nicht + vorhanden und muss erstellt werden. + + &prompt.root; mkdir /var/log/xen +&prompt.root; chmod 644 /var/log/xen + + &xen; bietet ein Bootmenü zur Aktivierung und + Deaktivierung des Hypervisors in + /boot/menu.rc.local: + + &prompt.root; echo "try-include /boot/xen.4th" >> /boot/menu.rc.local + + Aktivieren Sie den xencommons Dienst während des + Systemstarts: + + &prompt.root; sysrc xencommons_enable=yes + + 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 + igb0 durch den Namen der + Netzwerkschnittstelle des Hosts. + + &prompt.root; sysrc autobridge_interfaces=bridge0 +&prompt.root; sysrc autobridge_bridge0=igb0 +&prompt.root; sysrc ifconfig_bridge0=SYNCDHCP + + Starten Sie den Host neu, um den &xen;-Kernel zu laden und + den Dom0 zu starten. + + &prompt.root; reboot + + Nach dem erfolgreichen Booten des &xen;-Kernels und der + Anmeldung am System wird das &xen;-Werkzeug + xl verwendet, um Informationen über die + Domänen anzuzeigen. + + &prompt.root; xl list +Name ID Mem VCPUs State Time(s) +Domain-0 0 8192 4 r----- 962.0 + + Die Ausgabe bestätigt, dass der Dom0 (auch Domain-0 + genannt) die ID 0 hat und ausgeführt wird. + Der vorher in /boot/loader.conf + definierte Speicher und die virtuellen CPUs sind ebenfalls + vorhanden. Weitere Informationen finden Sie in der + &xen; Dokumentation. Jetzt können DomU Gast-VMs + erstellt werden. + + + + &xen; DomU Gast-VM Konfiguration + + 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 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 freebsd.iso + gespeichert. + + &prompt.root; fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.3/FreeBSD-10.3-RELEASE-amd64-bootonly.iso -o freebsd.iso + + Ein ZFS Volume von 20 GB namens + xendisk0 wird erstellt und dient der VM + als Festplatte. + + &prompt.root; zfs create -V20G -o volmode=dev zroot/xendisk0 + + 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 + freebsd.cfg eine minimale + DomU-Konfiguration: + + &prompt.root; cat freebsd.cfg +builder = "hvm" +name = "freebsd" +memory = 1024 +vcpus = 2 +vif = [ 'mac=00:16:3E:74:34:32,bridge=bridge0' ] +disk = [ +'/dev/zvol/tank/xendisk0,raw,hda,rw', +'/root/freebsd.iso,raw,hdc:cdrom,r' +] +vnc = 1 +vnclisten = "0.0.0.0" +serial = "pty" +usbdevice = "tablet" + + Erklärung der einzelnen Zeilen: + + + + Dies definiert, welche Art von Virtualisierung + verwendet wird. hvm bezieht sich auf + hardwaregestützte Virtualisierung oder + Hardware Virtual Machine. + Gastbetriebssysteme können unverändert auf der CPU mit + Virtualisierungserweiterungen laufen und bieten nahezu die + gleiche Leistung wie auf physikalischer Hardware. + generic ist der voreingestellte Wert + und erstellt eine PV-Domain. + + + + Der Name dieser virtuellen Maschine. Er dient zur + Unterscheidung von anderen virtuellen Maschinen auf der + selben Dom0. Diese Angabe ist zwingend + erforderlich. + + + + 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. + + + + 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. + + + + Der virtuelle Netzwerkadapter. Dies ist die Brücke, + die mit der Netzwerkschnittstelle des Hosts verbunden ist. + Der Parameter mac definiert die + MAC-Adresse der virtuellen Schnittstelle. Dieser + Parameter ist optional. Falls keine MAC definiert ist, + wird &xen; eine zufällige MAC generieren. + + + + Der vollständige Pfad zur Festplatte, Datei, oder ZFS + Volume für den Plattenspeicher dieser VM. Optionen und + Festplattendefinitionen werden durch Kommata + getrennt. + + + + 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. + + + + 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. + keymap konfiguriert die + Tastaturbelegung, die in der Voreinstellung + english ist. + + + + Nachdem die Konfigurationsdatei mit allen notwendigen + Optionen erstellt wurde, wird die DomU erstellt, indem die + Datei als Parameter an xl übergeben + wird. + + &prompt.root; xl create freebsd.cfg + + + Jedes mal, wenn die Dom0 neu gestartet wird, muss die + Konfigurationsdatei nochmals an xl + ü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. + + + Die Ausgabe von xl list bestätigt, dass + die DomU erstellt wurde. + + &prompt.root; xl list +Name ID Mem VCPUs State Time(s) +Domain-0 0 8192 4 r----- 1653.4 +freebsd 1 1024 1 -b---- 663.9 + + 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 vnclisten in + freebsd.cfg konfiguriert wurde. Nachdem + das Betriebssystem installiert ist, fahren Sie die DomU + herunter und trennen den VNC-Viewer. Bearbeiten Sie dann + die freebsd.cfg, entfernen Sie die Zeile + mit der cdrom Definiton, oder kommentieren + Sie die Zeile mit # aus. Um diese neue + Konfiguration zu laden, ist es notwendig, die alte DomU mit + xl zu zerstören, indem Sie entweder den + Namen oder die ID als Parameter übergeben. Danach kann die + DomU mit der angepassten freebsd.cfg neu + erstellt werden. + + &prompt.root; xl destroy freebsd +&prompt.root; xl create freebsd.cfg + + 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. +