Xen mit Linux als Dom0, Debian, eisXEN, QubesOS, Howto domU
(Link zu dieser Seite als [[QEMU-KVM-Buch/ Xen/ Linux als Dom0]])
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 /home/ als eigene Partition anzulegen. In Unterverzeichnissen in diesem Verzeichnis 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 zu erhöhen.
# /etc/modules # ... loop max_loop=64
Der Boot-Loader Grub muss 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 64
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 = /home/xen # 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 /home/xen
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
[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 /home/xen/domains/vm1.beispiel.de/disk.img Disk /home/xen/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 /home/xen/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:/home/xen/domains/vm1.beispiel.de/disk.img,xvda2,w',
'file:/home/xen/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 /home/iso-images/ Dom0 ~# cd /home/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 /home/xen/domains/reactos1.beispiel.de Dom0 ~# cd /home/xen/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:/home/xen/domains/reactos1.beispiel.de/disk.img,ioemu:hda,w',
'file:/home/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:/home/xen/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 /home/xen/domains/reactos1.beispiel.de/disk.img Disk /home/xen/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 /home/xen/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.