Xen Verwaltung · 4 min read · Oct 23, 2025
Xen mit Xen-Tools, Xen-Shell und Argo verwalten
Xen mit Xen-Tools, Xen-Shell und Argo verwalten
Version 1.0
Autor: Falko Timme
Dieser Leitfaden beschreibt, wie man xen-tools, xen-shell und Argo auf einem Debian-System installiert und verwendet. Alle drei Pakete bieten nützliche Werkzeuge zur Verwaltung virtueller Xen-Maschinen. Xen-tools ist eine Sammlung von Perl-Skripten, die es Ihnen ermöglichen, Xen-Gastdomänen einfach zu erstellen, zu aktualisieren und zu löschen. Die xen-shell bietet eine Befehlszeilenschnittstelle für Besitzer von Xen-Domänen, damit sie ihre Xen-Domänen ohne Hilfe des Serveradministrators verwalten können. Mit Argo können Sie Xen-Domänen über eine Weboberfläche oder über ein Menü in der Befehlszeile steuern. Alle drei Pakete wurden für Debian-Systeme entwickelt, könnten aber auch auf anderen Distributionen funktionieren.
Ich möchte zuerst sagen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen, aber dies ist der Weg, den ich wähle. Ich gebe keine Garantie, dass dies für Sie funktioniert!
1 Vorbemerkung
Ich gehe davon aus, dass Sie bereits Xen 3 auf Ihrem Debian-System installiert haben (es funktioniert nicht mit Xen 2!), zum Beispiel aus den Quellen, wie in Kapitel 4 dieses Tutorials gezeigt: https://www.howtoforge.com/debian_sarge_xen_3.0.3. Ich konnte xen-tools nicht mit der binären Xen-Installation zum Laufen bringen (wie in Kapitel 5 gezeigt), aber es könnte bei Ihnen funktionieren. Aber xen-tools funktionieren bei mir hervorragend mit einer Xen-Installation aus den Quellen.
Der Hostname meiner Xen dom0-Domäne ist server1.example.com in diesem Tutorial, seine IP-Adresse ist 192.168.0.100, und das Gateway ist 192.168.0.1. Ich möchte meine Gastdomänen im Verzeichnis /vserver/images speichern. Diese Werte könnten bei Ihnen anders sein.
Bitte stellen Sie sicher, dass Sie eine Zeile wie diese in /etc/hosts haben:
vi /etc/hosts| [...] 192.168.0.100 server1.example.com server1 [...] |
2 Xen-Tools
Obwohl es Debian-Pakete für xen-tools und xen-shell auf http://www.steve.org.uk/apt/ gibt, habe ich mich entschieden, xen-tools und xen-shell aus den Quellen zu installieren, da das Debian-Paket von xen-tools ungültige Xen-Konfigurationsdateien für mich geschrieben hat, was nicht passierte, als ich die Quellen verwendete.
Zuerst installieren wir einige Voraussetzungen für xen-tools:
apt-get install libtext-template-perl perl-docDann installieren wir xen-tools so:
cd /tmp
wget http://xen-tools.org/software/xen-tools/xen-tools-2.7.tar.gz
tar xvfz xen-tools-2.7.tar.gz
cd xen-tools-2.7
make installAls nächstes bearbeiten wir /etc/xen-tools/xen-tools.conf. Diese Datei enthält die Standardwerte, die vom Skript xen-create-image verwendet werden, es sei denn, Sie geben andere Werte in der Befehlszeile an. Ich habe die folgenden Werte geändert und den Rest unverändert gelassen:
vi /etc/xen-tools/xen-tools.conf| [...] gateway = 192.168.0.1 netmask = 255.255.255.0 passwd = 1 kernel = /boot/vmlinuz-2.6-xenU #initrd = /boot/initrd.img-2.6.16-2-xen-686 mirror = http://ftp2.de.debian.org/debian/ [...] |
Die Zeile passwd = 1 ermöglicht es Ihnen, ein Root-Passwort anzugeben, wenn Sie eine neue Gastdomäne erstellen. In der Kernel-Zeile müssen Sie den domU-Kernel angeben, den Sie für Ihre Gastdomänen verwenden möchten. Wenn Ihre Gastdomänen keinen Ramdisk zum Booten benötigen, kommentieren Sie die initrd-Zeile aus (ich musste dies bei meiner Installation tun), andernfalls geben Sie die korrekte Ramdisk an. In der Mirror-Zeile geben Sie einen Debian-Mirror in Ihrer Nähe an.
Stellen Sie sicher, dass Sie ein Gateway und eine Netzmaske angeben. Wenn Sie dies nicht tun und kein Gateway und keine Netzmaske in der Befehlszeile angeben, wenn Sie xen-create-image verwenden, haben Ihre Gastdomänen keine Netzwerkverbindung, selbst wenn Sie eine IP-Adresse angegeben haben!
Jetzt erstellen wir unsere erste Gastdomäne, vm03.example.com, mit der IP-Adresse 192.168.0.103:
xen-create-image --hostname=vm03.example.com --ip=192.168.0.103 \
--netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \
--dist=sarge --debootstrapDie –netmask- und –gateway-Schalter sind hier nicht notwendig, da wir dieselben Details in /etc/xen-tools/xen-tools.conf angegeben haben, aber es zeigt, dass Sie die gewünschten Einstellungen entweder in der Befehlszeile oder in /etc/xen-tools/xen-tools.conf angeben können.
Dieser Befehl erstellt nun die Gastdomäne vm03.example.com mit Debian Sarge darin, indem das debootstrap-Tool von Debian verwendet wird. Dies wird einige Minuten dauern, also haben Sie Geduld. In der Zwischenzeit können Sie ein weiteres Shell-Fenster öffnen und ausführen
tail -f /var/log/xen-tools/vm03.example.com.logum zu sehen, was im Hintergrund passiert.
Nachdem die neue Gastdomäne erstellt wurde, überprüfen Sie /etc/xen/vm03.example.com.cfg. Es sollte jetzt so aussehen (ich habe die Kommentare hier entfernt):
vi /etc/xen/vm03.example.com.cfg| kernel = '/boot/vmlinuz-2.6-xenU' memory = '128' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm03.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm03.example.com/swap.img,sda2,w' ] name = 'vm03.example.com' vif = [ 'ip=192.168.0.103' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |
Wir können unsere neue virtuelle Maschine so starten:
xm create -c /etc/xen/vm03.example.com.cfgMit dem Befehl xen-create-image können Sie fast alle Einstellungen in der Befehlszeile angeben. Werfen Sie einen Blick auf
man xen-create-imageum mehr zu erfahren. Hier ist ein weiteres Beispiel:
xen-create-image --size=2Gb --swap=128Mb --hostname=vm04.example.com \
--ip=192.168.0.104 --netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \
--dist=sarge --debootstrap --fs=ext3 --kernel=/boot/vmlinuz-2.6-xenU --memory=32Mb \
--image=sparse --mirror=http://ftp2.de.debian.org/debian/ --passwdDies wird die virtuelle Domäne vm04.example.com erstellen. /etc/xen/vm04.example.com.cfg sollte danach so aussehen (wieder habe ich die Kommentare entfernt):
vi /etc/xen/vm04.example.com.cfg| kernel = '/boot/vmlinuz-2.6-xenU' memory = '32' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm04.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm04.example.com/swap.img,sda2,w' ] name = 'vm04.example.com' vif = [ 'ip=192.168.0.104' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |
Sie können die neue virtuelle Maschine so starten:
xm create -c /etc/xen/vm04.example.com.cfgEs gibt auch drei andere Skripte, die mit xen-tools geliefert werden:
xen-update-image ermöglicht es Ihnen, die Pakete in Gastdomänen zu aktualisieren, z.B. so:
xen-update-image --dir=/vserver/images vm03.example.comxen-list-images zeigt alle Gastdomänen an, die mit xen-create-image erstellt wurden:
xen-list-imagesDie Ausgabe sieht so aus:
server1:~# xen-list-images
Name: vm03.example.com
Memory: 128
IP: 192.168.0.103Name: vm04.example.com
Memory: 32
IP: 192.168.0.104Mit xen-delete-image können Sie Gastdomänen entfernen, die mit xen-create-image erstellt wurden:
xen-delete-image --dir=/vserver/images vm03.example.comErhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.