qemu, kvm, xen & libvirtHauptseite | Über | Hilfe | FAQ | Spezialseiten | Anmelden

Druckversion | Impressum | Datenschutz

Xen mit Linux als Dom0, Debian, eisXEN, QubesOS, Howto domU

(Link zu dieser Seite als [[QEMU-KVM-Buch/ Xen/ Linux als Dom0]])

<<<|###| >>> | English


Xen mit dem Gast-System ReactOS.
Xen mit dem Gast-System ReactOS.
Oracle VM.
Oracle VM.
Xen und libvirtDer Virt Manager.
Xen und libvirt
Der Virt Manager.
eisXEN-Installation Schritt 1.
eisXEN-Installation
Schritt 1.
eisXEN-Installation Schritt 2.
eisXEN-Installation
Schritt 2.
eisXEN-Installation Schritt 3.
eisXEN-Installation
Schritt 3.
eisXEN-Installation Schritt 4.
eisXEN-Installation
Schritt 4.
eisXEN-Installation Schritt 5.
eisXEN-Installation
Schritt 5.
eisXEN-Installation Schritt 6.
eisXEN-Installation
Schritt 6.
eisXEN-Installation Schritt 7.
eisXEN-Installation
Schritt 7.
eisXENAnlegen einer virtuellen MaschineSchritt 1.
eisXEN
Anlegen einer virtuellen Maschine
Schritt 1.
eisXENAnlegen einer virtuellen MaschineSchritt 2.
eisXEN
Anlegen einer virtuellen Maschine
Schritt 2.
eisXENAnlegen einer virtuellen MaschineSchritt 3.
eisXEN
Anlegen einer virtuellen Maschine
Schritt 3.

Inhaltsverzeichnis

[bearbeiten] Xen mit Linux als Dom0

[bearbeiten] Xen 4.0 mit Debian Squeeze (x86 64-Bit) als Dom0

Download: http://www.debian.org/distrib/

Debian GNU/Linux ist eine freie Linux-Distribution, die ausschließlich aus freier Software zusammengestellt ist. Debian ist ein zuverlässiges Server-Betriebssystem und dient auch als stabiler Unterbau für viele andere Linux-Distributionen, beispielsweise Ubuntu. Es ist zu empfehlen, das Verzeichnis /srv/ als eigene Partition anzulegen. Im Unterverzeichniss /srv/vms werden die Images der virtuellen Maschinen gespeichert. Die Installation eines 64-Bit-Linux ist natürlich nur bei 64-Bit-CPUs möglich. Eine 64-Bit-CPU erkennt man am Flag lm (Long Mode). Werden beim folgenden Befehl Zeilen mit lm ausgegeben, kann ein 64-Bit-Linux installiert werden.

Host ~# grep " lm " /proc/cpuinfo
...

Wie beschrieben unterstützt Xen sowohl die Paravirtualisierung als auch die Full Virtualization. Aktuelle Computer unterstützen meist die Full Virtualization. Die Unterstützung der Full Virtualization ist im BIOS meist deaktiviert. Dadurch werden Rootkits verhindert, die die Hardware-Virtualisierung verwenden. Es ist die Unterstützung der Hardware-Virtualisierung zu aktivieren (Beispiel):

Advanced
  CPU Configuration
    Virtualization Technology [Enabled]

Es wird die Unterstützung der Full Virtualization überprüft. Wurde Xen noch nicht installiert, sind diese Befehle anzuwenden.

Host ~# grep "vmx" /proc/cpuinfo

Werden Zeilen mit vmx ausgegeben, handelt es sich um Prozessoren vom Typ Intel VT.

Host ~# grep "svm" /proc/cpuinfo

Werden Zeilen mit svm ausgegeben, handelt es sich um Prozessoren vom Typ AMD-V. Erfolgt keine Ausgabe wird die Full Virtualization nicht unterstützt. Xen kann nur mit Paravirtualisierung betrieben werden.

[bearbeiten] Installation
[bearbeiten] Paravirtualisierung

Xen erfordert einen speziellen Kernel. Weiterhin werden Tools zur Verwaltung der Gast-Systeme benötigt.

Host ~# apt-get install xen-hypervisor xen-linux-system 
Host ~# apt-get install xen-utils xenstore-utils xenwatch xen-tools

Xen verwendet raw-Images, die über Loop-Devices als virtueller Datenträger eingebunden werden. In der Datei /etc/modules ist die Anzahl möglicher Loop-Devices bei Bedarf zu erhöhen. Alternativ lässt sich dies in der Datei /etc/default/grub mit GRUB_CMDLINE_LINUX="max_loop=128" konfigurieren.

# /etc/modules
# ...
loop max_loop=128

Esl muss der Boot-Loader Grub angepasst werden, damit der Hypervisor Xen vor dem angepassten Betriebssystem für die privilegierte virtuelle Maschine geladen wird. Die Reihenfolge wird durch die Nummern der Dateien im Verzeichnis /etc/grub.d/ geregelt.

Host ~# mv /etc/grub.d/10_linux /etc/grub.d/50_linux
Host ~# update-grub2
Host ~# reboot

Nach dem Neustart überprüft man, ob der Xen-Kernel geladen und die Loop-Devices (/etc/modules) angelegt wurden.

Dom0 ~# uname -r
2.6.32-5-xen-amd64
Dom0 ~# ls -l /dev/loop* | wc -l
128

Man ist damit in der privilegierten virtuellen Maschine Dom0 eingeloggt. Hier lassen sich weitere virtuelle Maschinen anlegen und Xen steuern. Die Datei /etc/xen/xend-config.sxp ist anzupassen, damit die virtuellen Netzwerkschnittstellen über eine Bridge mit der echten Netzwerkkarte des Rechners verbunden werden (network-bridge). Mit antispoof=yes verhindert die Xen-Firewall, dass verbotene IP-Adressen von den Gast-Systemen verwendet werden. Dies betrifft zum Beispiel die IP-Adresse des Gateways. Weitere Informationen erhält man mit man xend-config.sxp.

# /etc/xen/xend-config.sxp
(network-script 'network-bridge antispoof=yes')
(vif-script vif-bridge)
(dom0-min-mem 196)
(enable-dom0-ballooning yes)
(total_available_memory 0) 
(dom0-cpus 0)

Der Xen-Dienst ist neu zu starten.

Dom0 ~# invoke-rc.d xend restart

Man überprüft den Xen-Dienst. Dazu lässt man sich mit dem Xen Management User Interface (xm) und dessen Befehl info Informationen über den Xen-Host anzeigen.

Dom0 ~# xm info
host                   : mein-pc
release                : 2.6.32-5-xen-amd64
version                : #1 SMP Tue Jun 14 12:46:30 UTC 2011
machine                : x86_64
nr_cpus                : 4
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 1
cpu_mhz                : 2404
hw_caps                : bfebfbff:20000800:00000000:00000940:0000e3bd:00000000:00000001:00000000
virt_caps              : hvm
total_memory           : 2047
free_memory            : 256
node_to_cpu            : node0:0-3
node_to_memory         : node0:256
node_to_dma32_mem      : node0:256
max_node_id            : 0
xen_major              : 4
xen_minor              : 0
xen_extra              : .1
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
xen_commandline        : placeholder
cc_compiler            : gcc version 4.4.5 (Debian 4.4.5-10) 
cc_compile_by          : waldi
cc_compile_domain      : debian.org
cc_compile_date        : Wed Jan 12 14:04:06 UTC 2011
xend_config_format     : 4

Zur Administration der virtuellen Maschinen dienen die xen-tools (http://xen-tools.org/software/xen-tools/). Die Konfiguration erfolgt mit der Datei /etc/xen-tools/xen-tools.conf. Darin werden Default-Werte für die virtuellen Maschinen vorgegeben. In diesem Beispiel werden die Gast-Systeme mit Debian Squeeze installiert. Als Installationsmethode wird debootstrap angewendet (siehe http://qemu-buch.de/d/Anhang/_Weitere_Virtualisierer_und_Emulatoren/_chroot). Die Vorgabe disk_device = xvda bewirkt, dass in den Gast-Systemen die virtuellen Festplatten mit /dev/xvda1, /dev/xvda2 und so weiter bezeichnet werden. Gast-Systeme mit Ubuntu, vor allem mit einem Nicht-Xen-Kernel, booten mit diesen Einstellungen nicht. Zur Vermeidung dieses Problems verwendet man den Befehl xen-create-image mit der Option --scsi (siehe unten). In diesem Fall werden die virtuellen Festplatten mit /dev/sda1, /dev/sda2 und so weiter bezeichnet.

# /etc/xen-tools/xen-tools.conf
dir              = /srv/vms                             # Hauptverzeichnis der virtuellen Maschinen. 
install-method   = debootstrap                           # Die Installation erfolgt mit debootstrap. 
size             = 4Gb                                   # Größe der Image-Datei.
memory           = 128Mb                                 # Größe des Arbeitsspeichers.
swap             = 128Mb                                 # Größe des Swap.
fs               = ext3                                  # Es wird EXT3 als Datei-System verwendet. 
dist             = `xt-guess-suite-and-mirror --suite`   # Zu installierende Debian-/Ubuntu-Distribution.
image            = sparse                                # Es werden Sparse-Dateien angelegt. 
gateway          = 172.16.1.1                            # Netzwerk-Einstellungen.
netmask          = 255.255.0.0
broadcast        = 172.16.255.255
passwd           = 1                                     # Abfrage eines Passwortes während der Installation. 
kernel           = /boot/vmlinuz-`uname -r`              # Angaben zum Kernel.
initrd           = /boot/initrd.img-`uname -r`
mirror           = `xt-guess-suite-and-mirror --mirror`  # Mirror-Server
ext3_options     = noatime,nodiratime,errors=remount-ro  # Optionen für die Datei-Systeme. 
ext2_options     = noatime,nodiratime,errors=remount-ro
xfs_options      = defaults
reiserfs_options = defaults
btrfs_options    = defaults
serial_device    = hvc0                                  # Die Angabe der seriellen Schnittstelle. 
disk_device      = xvda                                  # Prefix für die Namen der virtuellen Festplatten.

Es ist das Verzeichnis für die virtuellen Maschinen anzulegen. Für jede virtuelle Maschine wird dort ein Unterverzeichnis generiert.

Dom0 ~# mkdir -p /srv/vms

Die Vorgaben für die zu installierende Distribution und dem Mirror-Server werden hier mit xt-guess-suite-and-mirror ermittelt.

Dom0 ~# xt-guess-suite-and-mirror --suite
squeeze
Dom0 ~# xt-guess-suite-and-mirror --mirror
http://ftp.de.debian.org/debian/

Die Distribution kann explizit vorgegeben werden. Weitere Informationen findet man in der Dokumentation.

Dom0 ~# zcat /usr/share/doc/xen-tools/README.gz
[bearbeiten] Full Virtualization (HVM)

Damit unmodifizierte Gast-Systeme verwendet werden können, ist die Full Virtualization notwendig (siehe oben). Wurde Xen bereits installiert, erfolgt die Überprüfung mit dem Befehl xm dmesg. In diesem Beispiel handelt es sich um Prozessoren vom Typ Intel VT.

Dom0 ~# xm dmesg | grep -i hvm
(XEN) HVM: VMX enabled

Zusätzlich zu der Installationsanleitung zur Paravirtualisierung wird das Paket xen-qemu-dm mit dem an Xen angepassten QEMU benötigt.

Dom0 ~# apt-get install xen-qemu-dm-4.0

Die Installation wird überprüft.

Dom0 ~# /usr/lib/xen-4.0/bin/qemu-dm --help | head -2
QEMU PC emulator version 0.10.2, Copyright (c) 2003-2008 Fabrice Bellard
usage: qemu [options] [disk_image]

Die angepasste QEMU-Version qemu-dm unterstützt folgende Maschinen-Typen (siehe http://qemu-buch.de/d/Virtuelle_Hardware/_Prozessoren).

Dom0 ~# /usr/lib/xen-4.0/bin/qemu-dm -M ?
Supported machines are:
xenfv      Xen Fully-virtualized PC (default)
xenpv      Xen Para-virtualized PC

Damit der Pfad unabhängig von der Xen-Version ist, wendet man folgenden Befehl an:

Dom0 ~# ln -s /usr/lib/xen-4.0 /usr/lib/xen


[bearbeiten] Anlegen von paravirtualisierten Gast-Systemen
[bearbeiten] Debian Squeeze (64-Bit) als DomU

Ein Gast-System legt man mit dem Tool xen-create-image an. Zwingend ist die Angabe für den Hostnamen. Es ist eine IP-Adresse anzugeben. Weitere Angaben überschreiben die Vorgaben in der Datei /etc/xen-tools/xen-tools.conf.

Dom0 ~# xen-create-image --hostname=vm1.beispiel.de --ip=172.16.1.100 \
        --size=4Gb --swap=256Mb --memory=256Mb --arch=amd64 --role=udev 
Setting up root password
Enter new UNIX password: *****
Retype new UNIX password: *****
passwd: password updated successfully
All done

Logfile produced at:
	 /var/log/xen-tools/vm1.beispiel.de.log

Installation Summary
---------------------
Hostname        :  vm1.beispiel.de
Distribution    :  squeeze
IP-Address(es)  :  172.16.1.100 
RSA Fingerprint :  12:b8:ba:d4:53:6d:87:26:0e:bb:98:f9:4c:f7:d4:f4
Root Password   :  N/A

Übrigens enthalten die Xen-Images bei der Paravirtualisierung keine virtuelle Festplatte, sondern nur eine Partition.

Dom0 ~# fdisk -lu /srv/vms/domains/vm1.beispiel.de/disk.img
Disk /srv/vms/domains/vm1.beispiel.de/disk.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /srv/vms/domains/vm1.beispiel.de/disk.img doesn't contain a valid partition table

Die Konfigurationsdatei für diese virtuelle Maschine hat folgenden Inhalt. Eine ausführliche Dokumentation liefert man xmdomain.cfg.

# /etc/xen/vm1.beispiel.de.cfg
kernel      = '/boot/vmlinuz-2.6.32-5-xen-amd64'
ramdisk     = '/boot/initrd.img-2.6.32-5-xen-amd64'
vcpus       = '1'
memory      = '256'
root        = '/dev/xvda2 ro'
disk        = [
                'file:/srv/vms/domains/vm1.beispiel.de/disk.img,xvda2,w',
                'file:/srv/vms/domains/vm1.beispiel.de/swap.img,xvda1,w',
              ]
name        = 'vm1.beispiel.de'
vif         = [ 'ip=172.16.1.100,mac=00:16:3E:7F:6F:90' ]
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

Zum Start der virtuellen Maschine muss man mit xm create eine Domain anlegen.

Dom0 ~# xm create /etc/xen/vm1.beispiel.de.cfg
Using config file "/etc/xen/vm1.beispiel.de.cfg".
Started domain vm1.beispiel.de (id=1)

Mit dem Befehl xm console loggt man sich in die Domain ein. Mit der Tasten-Kombination [Strg][5] gelangt man wieder zur Dom0 zurück.

Dom0 ~# xm console vm1.beispiel.de
vm1 login: 
[Strg][5]

Ist das Gast-System hochgefahren und das Netzwerk funktioniert, kann man sich per ssh direkt im Gast-System einloggen. Auflisten lassen sich die Domains mit xm list.

Dom0 ~# xm list 
Name                     ID   Mem VCPUs      State   Time(s)
Dom0                      0  1765     4     r-----    176.5
vm1.beispiel.de           1   256     1     -b----      1.8

Zum ordentlichen Herunterfahren des Betriebssystems in einer paravirtualisierten Domain wird xm shutdown angewendet.

Dom0 ~# xm shutdown vm1.beispiel.de 
Dom0 ~# xm list 
Name                     ID   Mem VCPUs      State   Time(s)
Dom0                      0  1765     4     r-----    176.9

Damit eine Domain nach dem Booten des Host-Systems automatisch gestartet wird, sind diese Befehle anzuwenden.

Dom0 ~# mkdir -p /etc/xen/auto
Dom0 ~# ln -s /etc/xen/vm1.beispiel.de.cfg /etc/xen/auto

Eine Liste aller mit xen-create-image generierten Maschinen erhält man mit xen-list-images.

Dom0 ~# xen-list-images
Name: vm1.beispiel.de
Memory: 256
IP: 172.16.1.100

Eine virtuelle Maschine löscht man mit dem Befehl xen-delete-image.

Dom0 ~# xen-delete-image --hostname=vm1.beispiel.de
[bearbeiten] Anlegen von vollvirtualisierten Gast-Systemen (HVM)
[bearbeiten] ReactOS als DomU

Für dieses Beispiel wurde das Betriebssystem ReactOS (http://www.reactos.org/de/) als Gast­-System ausgewählt. Mit diesen Schritten lassen sich auch MS Windows-Versionen und andere Betriebssysteme installieren. Im ersten Schritt wird ein Verzeichnis für die ISO-Images angelegt. Von der ReactOS-Website ist das Image der Installations-CD herunterzuladen und zu entpacken.

Dom0 ~# mkdir -p /srv/iso-images/
Dom0 ~# cd /srv/iso-images/
Dom0 ~# unzip ReactOS*-iso.zip

Für die virtuelle Maschine ist ein Verzeichnis anzulegen. In diesem Verzeichnis ist eine virtuelle Festplatte zu generieren.

Dom0 ~# mkdir -p /srv/vms/domains/reactos1.beispiel.de
Dom0 ~# cd /srv/vms/domains/reactos1.beispiel.de
Dom0 ~# dd if=/dev/zero of=disk.img bs=1M count=4096

Die Konfigurationsdatei /etc/xen/reactos1.beispiel.de.cfg wird mit folgendem Inhalt angelegt.

# /etc/xen/reactos1.beispiel.de.cfg
kernel       = '/usr/lib/xen-4.0/boot/hvmloader' 
builder      = 'hvm'
memory       = '256'
device_model = '/usr/lib/xen-4.0/bin/qemu-dm'
disk         = [ 
                 'file:/srv/vms/domains/reactos1.beispiel.de/disk.img,ioemu:hda,w',
                 'file:/srv/iso-images/ReactOS.iso,ioemu:hdc:cdrom,r' 
               ]
name         = 'reactos1.beispiel.de'
vif          = ['type=ioemu,mac=00:16:3E:7F:6F:91,bridge=eth0']
boot         = 'd'
sdl          = 1

Zum Start der virtuellen Maschine muss man mit xm create eine Domain anlegen.

Dom0 ~# xm create /etc/xen/reactos1.beispiel.de.cfg

Bei Problemen hilft die Ausgabe des Befehls xm dmesg weiter. Bedingt durch die Zeile sdl = 1 startet der virtuelle PC in einem Fenster. Dieses Fenster fängt den Maus-Kursor. Mit der Tastenkombination [Strg]+[Alt] löst sich der Maus-Zeiger wieder. Die Installation von ReactOS wird durch Klicken in das Fenster und das Betätigen einer beliebigen Taste begonnen. Zuerst wird die deutsche Tastatur ausgewählt. Danach wird die virtuelle Festplatte partitioniert und formatiert. Das Zielverzeichnis für die Installation der ReactOS-Dateien braucht nicht geändert zu werden. Im Anschluss wird der Bootloader installiert, wobei die vorgegebene Option Install bootloader on the harddisk (mbr) gilt. Danach muss die virtuelle Maschine neu gestartet werden und die Installation wird grafisch weitergeführt. Um eine CD/DVD zu entfernen oder auszutauschen, wechselt man mit der Tastenkombination [Strg]+[Alt]+[2] in den QEMU-Monitor (http://qemu-buch.de/d/Der_QEMU-Monitor). Dies funktioniert nur im SDL-Fenster und nicht unter VNC. Zunächst ist der Name des CD/DVD-Laufwerkes zu ermitteln.

(qemu) info block
hdc: type=cdrom removable=1 locked=0 file=os2-warp ro=0 drv=raw

In diesem Beispiel wird das CD/DVD-Laufwerk mit hdc bezeichnet. Eine CD/DVD gibt der Befehl eject frei.

(qemu) eject hdc

Eine CD/DVD wechselt man mit dem Befehl change. In diesem Beispiel wird eine reale CD unter Linux ausgetauscht.

(qemu) change hdc /dev/cdrom

Mit [Strg]+[Alt]+[1] gelangt man wieder zum Gast-System zurück und setzt die Installation fort. Nach der Installation ist die virtuelle CD aus der Konfigurationsdatei zu entfernen.

# /etc/xen/reactos1.beispiel.de.cfg
kernel       = '/usr/lib/xen-4.0/boot/hvmloader'
builder      = 'hvm'
memory       = '256'
device_model = '/usr/lib/xen-4.0/bin/qemu-dm'
disk         = [ 
                 'file:/srv/vms/domains/reactos1.beispiel.de/disk.img,ioemu:hda,w'
               ]
name         = 'reactos1.beispiel.de'
vif          = ['type=ioemu,mac=00:16:3E:7F:6F:91,bridge=eth0']
sdl          = 1

Zu beachten ist, dass bei der Full Virtualization der Befehl xm shutdown das Gast-System nicht sauber herunter fahren kann. Zum Herunterfahren muss man sich also im Gast-System einloggen und dort den Shutdown einleiten. Ist das Gast-System heruntergefahren, ist der Befehl xm shutdown anzuwenden.

Damit ein Zugriff von einem anderen Rechner erfolgen kann, ist sdl zu deaktivieren und mit vnc=1 der in QEMU integrierte VNC-Server zu aktivieren (siehe http://qemu-buch.de/d/Netzwerkoptionen/_Netzwerkdienste#VNC).

# /etc/xen/reactos1.beispiel.de.cfg
...
sdl          = 0
vnc          = 1
vncdisplay   = 5
vnclisten    = '0.0.0.0'
vncpasswd    = 'geheim'

Die Verbindung erfolgt mit einem VNC-Client, zum Beispiel virt-viewer, vinagre oder xtightvncviewer. Die VNC-Adresse ergibt sich aus der IP-Adresse der Dom0, einem Doppelpunkt und dem Wert von vncdisplay. Mit vnclisten = '0.0.0.0' erlaubt man Verbindungen von allen IP-Adressen. Ein geringe Sicherheit bietet ein Passwort (vncpasswd). Sicherer ist die Verwendung von Zertifikaten. In diesem Beispiel hat die Dom0 die IP-Adresse 172.16.1.10.

Host ~$ sudo apt-get install vinagre
Host ~$ vinagre 172.16.1.10:5

Ist das Gast-System hochgefahren und das Netzwerk funktioniert, kann man sich mit den Verbindungsprotokollen, die vom Gast-System unterstützt werden, direkt einloggen. Zum Beispiel mit rdesktop bei MS Windows und ssh bei Unix/Linux.

Bei der Full Virtualization enthalten die Images, wie bei QEMU üblich, eine komplette virtuelle Festplatte mit Partitionierungstabelle.

Dom0 ~# fdisk -lu /srv/vms/domains/reactos1.beispiel.de/disk.img
Disk /srv/vms/domains/reactos1.beispiel.de/disk.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9b0d26e7
Device Boot      Start         End      Blocks   Id  System
disk.img1   *          63     8385929     4192933+   b  W95 FAT32

Diese Images lassen sich auch von dem originalen QEMU verwenden (siehe http://qemu-buch.de/d/Installation).

Dom0 ~# qemu -hda /srv/vms/domains/reactos1.beispiel.de/disk.img

[bearbeiten] libvirt

Wie bei der Kernel-based Virtual Machine wird auch bei Xen oft die Bibliothek libvirt als Grundlage für das Verwalten von virtuellen Maschinen verwendet. Hier eine Einführung. Es ist das Paket libvirt-bin zu instrallileren.

Dom0 ~# apt-get install libvirt-bin

In der Datei /etc/xen/xend-config.sxp ist die Zeile (xend-unix-server yes) anzufügen. Dadurch wird der Xen-Treiber aktiviert (http://libvirt.org/drvxen.html).

# /etc/xen/xend-config.sxp
...
(xend-unix-server yes)

Anschließend ist der Rechner neu zu starten.

Dom0 ~# reboot

Getestet wird die Installation mit folgenden Befehl.

Dom0 ~# virsh version
Compiled against library: libvir 0.8.3
Using library: libvir 0.8.3
Using API: Xen 3.0.1
Running hypervisor: Xen 4.0.0

Das Programm virsh dient zum Managen von virtuellen Maschinen auf der Kommandozeile. Es ist Bestandteil des Pakets libvirt-bin. Mit der Option -c wird der Hypervisor angegeben, zu dem man sich verbinden möchte. In diesem Beispiel verbindet man sich zum xend auf der lokalen Maschine und lässt sich die laufenden virtuellen Maschinen auflisten.

Dom0 ~# virsh -c xen:///
virsh # list
Id Name                 State
----------------------------------
 0 Domain-0             running
 2 reactos1.beispiel.de idle
virsh # quit

Aufbauend auf der Bibliothek libvirt gibt es zahlreiche Managementtools. Diese müssen nicht unbedingt auf den Host mit dem Hypervisor installiert sein. Ein Beispiel für ein auf libvirt aufbauendes GUI ist der Virt Manager (http://virt-manager.org).

Dom0 ~# apt-get install virt-manager

Beim Start des Virt Managers ist der Verbindungstyp anzugeben.

Dom0 ~# virt-manager -c xen:///

Eine ausführliche Beschreibung findet man unter der URL http://qemu-buch.de/d/Managementtools/_libvirt-Tools. Eine Befehlsübersicht ist unter der URL http://qemu-buch.de/d/Anhang/_libvirt aufgelistet.

[bearbeiten] Weiteres

In xend ist ein Webserver integriert, der eine einfache Admin-GUI bereitstellt. Aktiviert wird dieser mit drei zusätzllichen Zeilen in der Datei /etc/xen/xend-config.sxp. Die Aktivierung des Webservers stellt ein Sicherheitsrisiko dar.

# /etc/xen/xend-config.sxp
...
(xend-http-server yes)
(xend-port        8000)
(xend-address     )

Der Xen-Dienst ist neu zu starten.

Dom0 ~# invoke-rc.d xend restart

Im Browser gibt man als URL die IP-Adresse oder den DNS-Namen der Dom0, einem Doppelpunkt und als Port 8000 ein. In diesem Beispiel hat die Dom0 die IP-Adresse 172.16.1.10.

http://172.16.1.10:8000/xend/

[bearbeiten] Oracle VM 3.0 x86 64 bit

Download: https://edelivery.oracle.com/oraclevm (nach Registrierung)

Die Firma Oracle verteibt die auf Xen basierende Virtualisierungslösung Oracle VM. Man brennt eine CD mit dem ISO-Image und bootet diese. Es ist ein Rechner mit Unterstützung der Full Virtualization notwendig. Die Installation erfolgt bereits unter Xen. Es folgen die üblichen Fragen nach der Sprache, Land und Partitionierung. Es werden die Passwörter für die Benutzer ovs-agent und root abgefragt. Nach dem Neustart ist die CD zu entfernen. Man loggt sich als Benutzer root ein. Die Xen-Konfiguration befinden sich im Verzeichnis /etc/xen/. Man überprüft den Xen-Dienst. Dazu lässt man sich mit dem Xen Management User Interface (xm) und dessen Befehl info Informationen über den Xen-Host anzeigen.

Dom0 ~# xm info

Es ist das Verzeichnis für die virtuellen Maschinen anzulegen.

Dom0 ~# mkdir -p /OVS/running_pool/
Dom0 ~# cd /OVS/running_pool/

Virtuelle Maschinen lassen sich wie oben beschrieben mit dem Xen Management User Interface (xm) anlegen. Von der Download-URL lassen sich Oracle VM Templates mit installierten und konfigurierten Gast-Systemen herunterladen

[bearbeiten] QubesOS

Website: http://qubes-os.org

Auf Basis von Xen wird QubesOS entwickelt. QubesOS ist ein auf Sicherheit optimiertes Desktop-Betriebssystem, bei dem Applikationen mit unterschiedlichen Sicherheitsanforderungen in unterschiedlichen virtuellen Maschinen betrieben werden. Man brennt eine DVD mit dem ISO-Image von der Website und bootet diese. Es ist ein Rechner mit Unterstützung der Full Virtualization notwendig. Die grafische Installation erfolgt bereits unter Xen. Es folgen die üblichen Fragen nach der Sprache, Land und Partitionierung. Es ist eine Passphrase für die verschlüsselten Devices anzugeben. Nach dem Neustart ist die DVD zu entfernen, die Passphrase einzugeben und es ist ein Nutzer einzurichten. Bei der Frage nach den anzulegenen virtuellen Maschinen ist die Default-Einstellung zu übernehmen. Nach dem Einloggen erscheint ein spartanischer KDE-Desktop. Im Menü K sind die Applikationen entsprechend den Sicherheitsvorgaben in farblich gekennzeichnete Bereiche eingeteilt. Die Farben stellen virtuelle Maschinen dar, die mit den Applikationen gestartet werden. Weitere Informationen sind den Dokumentationen zu entnehmen (http://qubes-os.org/files/doc/).

[bearbeiten] eisXEN

Website: http://www.eisxen.org
Download: http://www.eisfair.org/home/download/

Die komplizierte Konfiguration von Xen ist bei eisXen nicht notwendig. Auf Basis der erprobten eisfair Linux Minimal Distribution installiert man einen Xen-Server binnen Minuten und virtuelle Maschinen lassen sich einfach einrichten. Die Linux-Distribution eisfair (Easy Internet Server - http://www.eisfair.org/home/was-ist-eisfair/) dient hier als privilegierte virtuelle Maschine. EisXEN kann auch auf alter Hardware eingesetzt werden.

[bearbeiten] Installation

eisXEN kann auch unter QEMU oder der Kernel-based Virtual Machine getestet werden (siehe http://qemu-buch.de/d/Gast-Systeme/_x86-Architektur/_Hypervisor). Man bootet den Rechner mit der Installations-CD. Zuerst wird gefragt, ob die komplette Festplatte hda verwendet werden soll.

Use hda for installation (y/n) [yes]:           [Enter]

Für den Testbetrieb ist keine extra Partition für die Daten notwendig.

Create extra data partition /data (y/n)?         n 
Create partitions as listed above (y/n)          y

Nach der Sicherheitsabfrage beginnt die Installation. Am Ende wird nach den Passwörtern für die Benutzer root und eis gefragt. Der Benutzer eis dient zur Konfiguration des Systems mit Hilfe von Menüs.

Setting password for user root:
Enter new UNIX password: *****
Setting password for user eis:
Enter new UNIX password: *****

In diesem Beispiel erfolgt die Netzwerkkonfiguration per DHCP.

Use DHCP for network card? (y/n) [yes]:         [Enter]

Nach der Installation wird die Maschine ohne CD neu gestartet. Zur Konfiguration des Systems loggt man sich als Benutzer eis ein. Es startet automatisch das Konfigurationsprogramm.

[bearbeiten] Anlegen von virtuellen Maschinen (DomU)

Unter eisXen können Gast-Systeme komfortabel aus Templates generiert werden. Zum Anlegen eines Gast-Systems aus diesem Template wählt man den Menüpunkt Xen Administration, domU Administration, Create new domain from template. Im Lieferumfang befinden sich Templates für die Linux-Distribution eisfair. Für den ersten Test übernimmt man die Vorgaben:

eisfair1.tar.bz2
Name of domain [eisfair1]:                   [Enter]
Disk size in MB [512]:                       [Enter]
Memory size in MB [64]:                      [Enter]
Swap space in MB (0 = no swap) [128]:        [Enter]
Power on when Domain-0 boots (y/n) [yes]?    [Enter]

Es ist das Template auszuwählen (eisfair1.tar.bz2). Danach ist ein Name für das Gast-System zu vergeben. Weitere Angaben sind die Größe der virtuellen Festplatte, der Arbeitsspeicher und die Größe des Swap-Bereichs. eisXen installiert das neue System und legt das generierte Image im Ordner /data/xen/images/ ab. Anschließend wird das Netzwerk konfiguriert.

Please enter a Hostname [eisfair1]?          Horst
Please enter an IP-Address?                  10.0.2.20
Please enter the Subnetmask [255.255.255.0]? [Enter]]
Please enter the default gateway?            10.0.2.2 
Please enter the Doamin [lan.home]?          [Enter]]
Please enter the DNS?                        10.0.2.3

Für das Gast-System werden die Zugangsdaten für den Benutzer root erfragt. Gast-Systeme werden über den Menüpunkt Xen Administration, domU Administration, Manage domains verwaltet. Dazu ist das Gast-System (domain) auszuwählen.

List Xen domains:
 no. order booted name
  1  - 50  no     horst
Enter command ([1] to manage the domain, Enter=Return): 1

Es wird das Gast-System gestartet.

Please enter command:
  [b]oot,
 b[o]ot & connect,
  [n]ew boot order
  [d]elete
Enter=Return: o

Das Gast-System bootet und es erscheint dessen Login-Maske. Verlassen wird diese Konsole mit der Tastenkombination [Strg]+[]]. Für das Betriebssystem eisfair lassen sich per Menü zahlreiche Software-Pakete installieren (siehe http://www.pack-eis.de). Es ist möglich, weitere Gast-Systeme mit dem vorhandenen Templates zu generieren. Weiterhin lassen sich eigene Templates anlegen. Anleitungen finden sich auf der Website von eisXen. Ein QEMU-Image mit eisXen und einem Template zum Generieren von virtuellen Maschinen mit Ubuntu 6.06 LTS Server kann unter der URL http://www.oszoo.org/wiki/index.php/EisXEN-beta2a-with-ubuntu-6.06.1-server-template heruntergeladen werden.

<<<|###| >>>

Von „http://qemu-buch.de/de/index.php?title=QEMU-KVM-Buch/_Xen/_Linux_als_Dom0

Diese Seite wurde bisher 17.983 mal abgerufen. Diese Seite wurde zuletzt am 6. Juni 2012 um 05:14 Uhr geändert. Inhalt ist verfügbar unter der GNU Free Documentation License 1.2.


Finden

Blättern

News

Deutsch
Weitersagen
Tipps für Autoren
Autoren
Impressum


English
Recommendation
The Authors
Contact



Letzte Änderungen


Ändern
Seite bearbeiten
Bearbeitungshilfe
Seitenoptionen
Diskussion
Kommentar hinzufügen
Druckversion
Seitendaten
Versionen
Links auf diese Seite
Änderungen an verlinkten Seiten
Meine Seiten
Anmelden
Spezialseiten
Neue Seiten
Dateiliste
Statistik
Kontakt
Mehr …