Xen ist ein Virtuelle-Maschinen-Monitor (VMM), der auf einem Hostsystem praktisch beliebig viele Domains (DomUs) paravirtualisiert. Dabei wird eine sehr hohe Performance erzielt, da die physikalische Hardware nicht emuliert, sondern mit einem sehr kleinen Overhead direkt zur Verfügung gestellt wird.
Xen setzt eine Ebene unter den normalen Betriebssystemkerneln an und zieht eine abstrahierende Schicht zwischen der Hardware und den Gastsystemen ein; es wacht als ein so genannter Hypervisor über die Verteilung der Ressourcen – wie CPU-Zeit, I/O-Zyklen u. a. – an die Gast-Systeme.
Die Installation erfolgt analog zu dieser Anleitung. Bevor man aber Xen installieren kann, benötigt man ein möglichst frisches Ubuntu-System der Version 8.04 (Hardy). Nur bei Hardy ist Xen im Package-Repository enthalten und ermöglich eine einfache Installation. Nachfolgend die Befehle für Copy/Paste.
# Vorbereitende Maßnahmen: sudo su - # root Rechte wenn nicht root /etc/init.d/apparmor stop # Apparmor stoppen und deinstallieren update-rc.d -f apparmor remove
Dann sollte man noch ein paar Standard Pakete installieren, die auf keinem Server fehlen sollten:
apt-get install iptables cron ntpdate wget screen vim vim-doc vim-scripts p7zip pbzip2 zip unzip
Weiter geht es mit der Xen Installation:
apt-get install ubuntu-xen-server mv /lib/tls /lib/tls.disabled # tls deaktivieren wegen Performance Problemen
Hat man bei der Grundinstallation einen anderen Benutzer als "Xen" angelegt, ist es ratsam, dies jetzt nachzuholen. Der Heimordner von xen /home/xen kann auch perfekt für die images der DomUs dienen. Außerdem sollte man den root-Zugang über ssh deaktivieren.
adduser xen # Xen User für die Anmeldung erstellen (Passwort einrichten!) adduser xen admin # Falls nicht bei der Installation angelegt vi /etc/ssh/sshd_config # PermitRootLogin suchen und auf no setzen sudo /etc/init.d/ssh restart # ssh neu starten
Nun müssen noch die Standard-Einstellungen für die Generierung von DomUs bearbeitet werden, bevor man den Server neu startet um den Xen-Kernel zu aktivieren:
vi /etc/xen-tools/xen-tools.conf # Standard Einstellungen (IPs usw.) der DomUs bearbeiten reboot
Nun läuft der Xen-Server und man kann auf einfache Art und Weise mit diesem Befehl eine Xen-DomU erstellen:
xen-create-image -hostname=host.domain.lan -ide -force -ip=192.168.1.1 -size=4G
Für weitere Details sollte man sich die man Seite anschauen:
man xen-create-image
xm create -c /path/to/config # eine virtuelle Maschine starten xm shutdown NAME # eine virtuelle Maschine stoppen xm destroy NAME # eine virtuelle Maschine sofort stoppen ohne sie runter zu fahren xm list # alle laufenden Systeme auflisten xm console NAME # sich auf einer virtuellen Maschine anmelden xm help # Liste aller Befehle
echo 1 > /proc/sys/xen/independent_wallclock # Uhr von der Dom0 unabhängig machen echo xen.independent_wallclock=1 >> /etc/sysctl.conf # Uhr von der Dom0 unabhängig machen (auch nach einem Reboot) ntpdate pool.ntp.org # Zeit mit Zeitserver abgleichenFalls ntpdate nicht installiert ist:
apt-get install ntpdateInstallieren als cronjob:
crontab -e #Setup NTPDATE @hourly /etc/network/if-up.d/ntpdate
#AllowUsers benutzer1 benutzer2 # Nur benutzer1 und benutzer2 haben Zugriff #AllowGroups gruppe1 gruppe2 # Nur Mitglieder dieser Gruppen haben Zugriff #DenyUsers benutzer3 benutzer4 # Diese Benutzer haben keinen Zugriff #DenyGroups gruppe3 gruppe4 # Mitglieder dieser Gruppen auch nichtEine Übersicht aller vorhandenen Benutzer erhält man mit
less /etc/passwd
apt-get install manpages-de doc-linux-de manpages-de-dev locale-gen de_DE.UTF-8 # Einfügen in /etc/environment LANGUAGE=de_DE.UTF-8 >> /etc/environment LC_ALL=de_DE.UTF-8 >> /etc/environment LANG=de_DE.UTF-8 >> /etc/environment
echo LANG="de_DE.UTF-8" >> /etc/default/locale chown root:root /etc/default/locale chmod 644 /etc/default/locale
vi /etc/init.d/xendomainsDie Zeile
rest=`echo "$1" | cut cut -d\ -f2-muss dann mit folgender Zeile ersetzt werden
rest=`echo "$1" | cut -d\ -f2-
mv /lib/tls /lib/tls.disabledAndernfalls kann es zu den verschiedensten Fehlermeldungen kommen...
Um einen X-Server zum Laufen zu bringen ohne die Schwergewichte KDE oder Gnome installiert man xorg ohne GUI:
apt-get install xorg x11-apps
Nach einem Reconnect (via PuTTY/SSH) kann mittels xeyes auf der Konsole nun überprüft werden, ob der X-Server läuft.
Um das Image einer DomU zu vergrößern geht man so vor:
cd /home/xen/domains/domU # domU vergrößern dd if=/dev/zero bs=1024k count=512 >> disk.img # Image um 512 MB vergrößern e2fsck -c disk.img resize2fs -f disk.img
Um das Image einer DomU zu mounten, um es z.B. zu bearbeite verwendet man:
mount -o loop,rw disk.img ../mount # Verzeichnis ../mount muss existieren # bearbeiten... umount ./mount