Virtualisierungsserver EisXen

Aus LinuxUser 06/2007

Virtualisierungsserver EisXen

Eisige Zeiten

Gerade Linux-Neulingen fällt der Umgang mit der Virtualisierungssoftware Xen schwer. Die auf Eisfair basierende Distribution EisXen erleichtert durch eine grafische Oberfläche den Einstieg.

Die Virtualisierungssoftware Xen gehört inzwischen zum Standardumfang jeder größeren Distribution und bietet gegenüber der Konkurrenz einige beachtliche Vorteile, beispielsweise die Paravirtualisierung.

Viele Anwender scheuen Xen jedoch wegen seiner schwierigen Administration und Konfiguration und greifen deswegen lieber zu Alternativen wie VMware oder Virtualbox. EisXen [1] basiert auf der schlanken Serverdistribution Eisfair [2] und hilft mit einem sehr einfach gehaltenen Konfigurationswerkzeug die größten Hürden bei der Arbeit mit Xen zu überwinden.

Die grafische Oberfläche der Distribution (Abbildung 1) führt Sie dabei Schritt für Schritt durch die Konfigurationsmenüs, ohne Sie mit unverständlichen Abfragen zu belasten. So fehlt beispielsweise die Auswahl an Softwarepaketen für die Installation der Domäne-0, also der privilegierten Managementdomäne. Für erfahrene Anwender vielleicht ein Nachteil, ist das Reduzieren aufs Wesentliche für den Einsteiger aber sicherlich hilfreich.

Abbildung 1: Die grafische Oberfläche von EisXen erlaubt es auch Einsteigern, beinahe im Handumdrehen eine virtuelle Xen-Maschine einzurichten.

Abbildung 1: Die grafische Oberfläche von EisXen erlaubt es auch Einsteigern, beinahe im Handumdrehen eine virtuelle Xen-Maschine einzurichten.

EisXen enthält von Haus aus ein Template zum Erzeugen virtueller Maschinen. Nach Bedarf fügen Sie dem System weitere Templates hinzu, die Ihnen bei der Auswahl der Gastmaschinen freie Distributionswahl gewähren. Allerdings ist das manuelle Erstellen solcher Templates nicht ganz einfach und bleibt daher eher erfahrenen Anwendern vorbehalten. Alternativ verwenden Sie fertige Xen-Images anderer Distributionen [3].

Installation

Zur Installation legen sie die Heft-CD in den vorgesehenen Rechner und starten ihn. Aktuell steht lediglich die Beta2 von EisXen zur Verfügung. Eine finale Version haben die Maintainer zwar angekündigt, sie lässt allerdings noch auf sich warten. Im Test gab es auch mit der Beta-Variante kaum Schwierigkeiten; lediglich die Installation einiger Applikationen vom EisXen-Server lief nicht immer ganz rund. Da EisXen auch in anderen virtuellen Umgebungen wie der von VMware startet, benötigen Sie für Tests keinen physikalischen Rechner.

Nach dem Booten der Heft-CD startet automatisch das textbasierte Setup von EisXen mit einer Abfrage der wichtigsten Eckdaten. Beachten Sie, dass EisXen beim Setup die amerikanische Tastaturbelegung verwendet. Nutzen Sie SCSI- oder SATA-Festplatten, wählen Sie aus der Liste den passenden Treiber. Danach schlägt Ihnen das Installationsskript ein Partitionierungsschema vor, das jedoch die komplette Festplatte in Anspruch nimmt und damit alle darauf enthaltenen Daten löscht. Abschließend legen Sie noch die Passwörter für die Benutzer root und eis fest.

Konfiguration

Das Managementsystem starten Sie nach dem Reboot mit dem Login als Benutzer eis. Damit Sie EisXen über das Netzwerk via SSH erreichen, wählen Sie unter System administration | Base configuration | Edit base configuration als erstes die korrekte Netzwerkkarte. Das setzt jedoch voraus, dass Sie wissen, welche Karte im Rechner verbaut ist. Im Zweifelsfall starten Sie über den Eintrag System administration | Hardware diagnostics die Hardwarediagnose des Systems. Nach der Auswahl des richtigen Treibers weisen Sie im gleichen Fenster der Karte Kontaktinformationen wie IP-Adresse, Netzmaske, DNS-Server und Standard-Gateway zu. Das automatische Laden der Netzwerkeinstellungen über einen DHCP-Server sieht EisXen nicht vor. Die vorgenommen Einstellungen speichern Sie mit [F10].

Abbildung 2: Vor dem Kontakt ins Netz gilt es, EisXen die richtige Netzwerkkarte und Verbindungsdaten mitzuteilen.

Abbildung 2: Vor dem Kontakt ins Netz gilt es, EisXen die richtige Netzwerkkarte und Verbindungsdaten mitzuteilen.

Danach geht es an die Installation des ersten virtuellen Systems mit dem vorinstallierten Template von Eisfair. Wählen Sie dazu im Setup-Tool den Punkt Service administration | XEN Daemon | Create new XEN domain from template, um alle vorhanden Templates anzuzeigen – zu diesem Zeitpunkt also nur die Datei eisfair.tar.gz. Nach Auswahl der Vorlage beantworten Sie einige zur Installation notwendige Fragen, wie etwa den Namen der Domäne, die Größe der Imagedatei für das neue System sowie die Größe des Arbeitsspeichers. EisXen installiert danach das neue System und legt das erzeugte Image im Order /data/xen/images/ ab. Die Installation geht sehr zügig vonstatten, da das Installationsprogramm lediglich das Template kopiert. Abschließend setzen Sie für die Benutzer root, eis, reboot und halt die Benutzerpasswörter.

Über den Menüpunkt Service administration | Start XEN domain wählen Sie die zuvor installierte Eisfair-Distribution aus und starten sie. Danach baut das Programm direkt eine Konsolenverbindung zur virtuellen Maschine auf, in der Sie den Startvorgang beobachten und eventuell auftretende Fehler sofort erkennen. Hat der Bootvorgang geklappt, melden Sie sich als Benutzer eis an, um die Maschine weiter zu konfigurieren. Auch Eisfair startet damit automatisch das Setup-Tool, mit dessen Hilfe Sie, wie in Domäne-0, die Netzwerkeinstellungen der virtuellen Maschine anpassen. Über den Menüpunkt Package administration | Install new package im Setup-Tool installieren Sie neue Softwarepakete.

Dazu baut das Programm eine Verbindung zum Eisfair-Server auf, von dem es zunächst die Paketliste herunterlädt. Das klappt natürlich nur bei einer korrekten Netzwerkkonfiguration. Danach wählen Sie alle Pakete aus, die Sie in der virtuellen Maschine installiert möchten, wobei Sie nun idealerweise pro virtueller Maschine nur einen Netzwerkdienst einrichten, um so die einzelnen Anwendungen besser voneinander abzuschotten. Beispielsweise installieren Sie auf dem ersten Gast einen Webserver, der auf eine Datenbank im zweiten Gastsystem zugreift. Das ist gerade dann sinnvoll, wenn Sie aus dem Internet erreichbare Netzwerkdienste betreiben möchten. Sollte es einem Angreifer gelingen, ein System zu kompromittieren, sind somit nicht auch andere Dienste gefährdet, da diese auf anderen Gastsystemen laufen.

Eigene Templates erstellen

Möchten Sie andere Linux-Distributionen als virtuelle Gäste auf dem EisXen-Server installieren, laden Sie entweder ein fertiges Template von der EisXen-Homepage herunter oder erstellen selbst eine Vorlage. Das ist besonders dann interessant, wenn Sie bereits installierte Rechner haben, die Sie jetzt als virtuelle Gastmaschinen betrieben möchten.

Um ein bereits installiertes System umzuziehen, erzeugen Sie zunächst ein Tar-Archiv davon der Festplatte, das Sie anschließend als Template auf den EisXen-Server kopieren. Um das Archiv zu erstellen, fahren Sie Ihr System in den Runlevel 1 (init 1), um die Anzahl aktiver Prozesse zu minimieren. Erstellen Sie als ersten Schritt mit mkdir /rootfsein Verzeichnis, in welches Sie später die Archivdatei kopieren. Darin erstellen Sie eine Textdatei, die alle Verzeichnisse enthält, die nicht in das Archiv gehören:

cat > /rootfs/exclude.txt
boot
rootfs
sys
proc
etc/mtab

Anschließend erzeugen Sie das Archiv mit dem Aufruf tar cvzf /rootfs/mysystem.tar.gz --exclude-from=/rootfs/exclude.txt --numeric-owner /. Wurde das Archiv fehlerfrei erzeugt, was bei großen Filesystemen durchaus einige Zeit dauern kann, kopieren Sie die Datei mittels Scp auf den EisXen-Server. Um die notwendige Netzwerkunterstützung zu aktivieren, bringen Sie Ihre Maschine in den Runlevel 3 oder 5 (init 3 oder init 5). Mit dem Kommando

scp /rootfs/mysystem.tar.gz root@IP-Adresse_von_EisXen:/data/xen/templates/

übertragen Sie das Archiv auf den EisXen-Rechner. Dort gilt es das Archiv anzupassen, bevor es sich als Template für eine virtuelle Maschine verwenden lässt. Beispielsweise müssen Sie noch Kernel-Module der Domäne-0 mit in das Template integrieren. Führen Sie hierfür als Benutzer root folgende Befehle auf dem EisXen-Server aus:

cd /data/xen/templates
mkdir MySystem
cd MySystem
tar -xvfz ../mysystem.tar.gz
mkdir -p proc sys
cp -au /lib/modules/2.6.16-xen lib/modules

Da EisXen beim Installieren des Systems lediglich 2 Partitionen erzeugt, passen Sie die Datei /etc/fstab aus dem übertragenen Archiv an. Die Partition /dev/hda1 hängen Sie als Root-Filesystem ein, /dev/hda2 dient als Swap-Partition. Anschließend komprimieren Sie das Archivverzeichnis mit dem Befehl tar -cvfz ../mysystem.tar.gz --numeric-owner * wieder und löschen es eine Verzeichnisebene höher mit rm -rf MySystem/.

Das so erstellte Archiv dient nun als Vorlage und erscheint im Setup-Tool der Domäne-0 als neues Template, die eine Art virtuelle Kopie der Maschine darstellt. Auch wenn die beschriebene Vorgehensweise gerade für den Anfänger sehr kompliziert erscheint, so ist es doch eine recht elegante Methode, um bestehende Systeme zu virtualisieren. In der Fach-Terminologie spricht man hier auch von einem P2V (“physical-to-virtual”).

Erfahrenen Benutzern bietet EisXen mit einem Root-Login auf der Domäne-0 die Möglichkeit, das System über die Kommandozeile zu administrieren. Hier steht Ihnen auch das bekannte Tool xm zur Verfügung, mit dem Sie die virtuellen Maschinen verwalten. Über die Konfigurationsdatei /etc/xen/xend-config.sxp verändern Sie die Netzwerkeigenschaften des Xen-Daemons. In der Standardeinstellung hängt Xen alle Gastmaschinen an eine Bridge und klemmt auf der anderen Seite die Netzwerkkarte aus der Managementdomäne an. Die Konfiguration der Bridge zeigt der Befehl brctl show br0 an, den Sie als administrativer Benutzer in der Domäne-0 ausführten. Für größere Setups bietet richten Sie statt der Bridge ein Routing/NAT ein. In der genannten Konfigurationsdatei ersetzten Sie hierfür den Aufruf des Bridge-Skriptes durch das NAT-Skript. Eine detaillierte Anleitung finden Sie auf den Seiten des Xen-Projekts [4].

Fazit

Mit EisXen steht eine Linux-Distribution zur Verfügung, die gerade Anfängern den Einstieg in die Xen-Welt erheblich erleichtert. Das Installieren von Gastsystemen gelingt in wenigen Minuten, solange Sie auf fertige Templates zurückgreifen. Um bestehende Systeme zu virtualisieren benötigen Sie allerdings tiefer gehende Linux-Kenntnisse. Auch das Aufsetzen virtueller Windows-Maschinen, das ein eigenes Howto [5] näher beschreibt, oder das Setup von komplexen virtuellen Netzwerken klappt nur mit guten Linux-Kentnissen.

Glossar

Paravirtualisierung

Eine Virtualisierungstechnik, die ohne einen Software-Layer direkt auf die Hardware des Wirtsrechners zugreift und damit eine beinahe native Performance der Gastsysteme gestattet.

Domäne-0

Privilegierte Ausführungsschicht von Xen, die Gast-Domänen (also die einzelnen virtuellen Maschinen) steuert.

Infos

[1] EisXen-Homepage: http://www.eisxen.org

[2] Eisfair-Homepage: http://www.eisfar.org

[3] Fertige Images: http://www.eisxen.org/7.html

[4] Xen Networking Howto: http://wiki.xensource.com/xenwiki/XenNetworking

[5] Windows unter EisXen installieren: http://www.eisxen.org/howto_windows.html

LinuxUser 06/2007 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben