Login
Newsletter
Werbung

Mo, 28. Mai 2007, 00:00

Projekt »Virtueller hochverfügbarer Linux-Server«, Teil 5

DRBD, Xen und Heartbeat

Einrichtung einer Xen-VM

Zunächst müssen wir das Dateisystem der VM mit Leben füllen. Das kann auf verschiedene Arten geschehen. Die Möglichkeit, einfach eine Installations-CD seiner favorisierten Distribution einzulegen und in das Verzeichnis zu installieren, scheidet jedoch aus. Hierin unterscheidet sich Xen von diversen Desktop-Virtualisierungssystemen. Möglichkeiten, die in Frage kommen, sind unter anderem das Kopieren des Dateisystems eines vorhandenen Rechners, spezialisierte Installationsmethoden, die manche Distributionen bereits anbieten, das Beziehen eines (evtl. minimalen) Xen-Images oder die Migration von OpenVZ.

Das Dateisystem eines existierenden Rechners kann selbstverständlich in eine Xen-VM kopiert werden. Auch wenn der »existierende Rechner« eine VM von VMWare, Parallels, VirtualBox oder was auch immer ist, kann man so vorgehen. Dabei muss die Architektur aber zusammenpassen - ob man ein 32-Bit-System unter einer 64-Bit-Dom0 laufen lassen kann oder umgekehrt, ist zweifelhaft. Zumindest könnte es möglich sein, ein 32-Bit-Gastsystem auf einer 64-Bit-Dom0 laufen zu lassen. Das wäre analog zum Installieren eines 32-Bit-Systems auf einem 64-Bit-Rechner.

Neben der Migration von OpenVZ will ich in diesem Artikel nur eine weitere Möglichkeit vorstellen, die Verwendung von xen-create-image unter Debian. Für alle Distributionen, die Xen integriert haben, gibt es Anleitungen im Internet, unter denen sich wahrscheinlich eine für jede Bedürfnisse findet.

Installation eines neuen Systems unter Debian

Eine der einfachsten Arten, unter Debian eine Debian-VM einzurichten, dürfte die Verwendung von xen-create-image aus den xen-tools sein. Das Programm ist mit einer Manpage dokumentiert und soll einem so viel Arbeit wie möglich abnehmen. Die Vielzahl der Optionen kann aber trotzdem dazu führen, dass man erst einmal ins Straucheln kommt. Auch ich schaffte es nicht auf Anhieb. Der größte Stolperstein war dabei, dass in der Konfigurationsdatei /etc/xen-tools/xen-tools.conf die Variable dist=sarge gesetzt war. Nun ist mein Rechner 64 Bit, doch es gibt noch keine AMD64-Architektur in Sarge, und so scheiterte das Ganze mit irreführenden Fehlermeldungen. Ich musste diesen Eintrag in dist=etch ändern.

Es stellte sich ferner heraus, dass das Skript nicht für eine so komplexe Installation wie meine geeignet war, da es entweder ein Dateisystem-Image als Datei (was ich nicht wollte) oder eine neue LVM-Partition anlegt (was bei mir dazu geführt hätte, dass die VM nur auf einer Platte statt auf einem RAID0 über alle drei Platten installiert worden wäre). Daher ist das nachfolgende Kommando nur als Beispiel gedacht, wie man im einfachsten Fall eine VM erstellen kann.

xen-create-image \
 --hostname=vm01.hjbaader.home \
 --lvm=vg-sda --size=2Gb --fs=xfs \
 --swap=128Mb --memory=256Mb \
 --ip=192.168.4.200 \
 --gateway=192.168.4.1 \
 --netmask=255.255.255.0 \
 --kernel=/boot/vmlinuz-2.6.18-4-xen-amd64 \
 --initrd /boot/initrd.img-2.6.18-4-xen-amd64 \
 --debootstrap \
 --mirror http://ftp.de.debian.org/debian/ \
 --force

Die Optionen sind eigentlich klar:

OptionWirkung
--hostname Hostname, den die VM erhält. Sollte immer mit Domainnamen angegeben werden
--lvm Die Datenpartition wird in der angegebenen Volume Group von LVM angelegt
--size Größe der Dateisystem-Partition
--fs Dateisystem, das verwendet werden soll
--swap Größe der Swap-Partition
--memory Speichermenge, die die VM zugewiesen bekommt
--ip IP-Adresse der VM. Diese sollte im gleichen Adressbereich wie die der Dom0 liegen, da Dom0 und DomU über eine Bridge vernetzt sind. Es ist mehr als eine Adresse erlaubt. Statt --ip kann man auch --dhcp verwenden, um die Adresse per DHCP zu beziehen
--gateway IP-Adresse des Gateways
--netmask Die Netzmaske der VM
--kernel Pfad zum zu verwendenden Linux-Kernel. Das ist der Pfad auf dem Host, also aus der Sicht von Dom0
--initrd Pfad zum zu verwendenden Initial Ramdisk-Image. Das ist der Pfad auf dem Host, also aus der Sicht von Dom0. Die Verwendung eines Images ist natürlich nicht Pflicht
--debootstrap Mit dieser Option wird ein Debian-System installiert. Alternativ kann man mit --rpmstrap ein RPM-basiertes System installieren, mit --tar eine tar-Datei auspacken oder mit --copy ein Verzeichnis kopieren
--mirror Auswahl des Mirror-Servers, von dem die Distribution geholt wird (nur bei --debootstrap)
--force Überschreiben einer bestehenden Partition. Kann nötig sein, wenn ein vorangegangener Installationsversuch fehlgeschlagen ist

Wegen debootstrap dauert die Installation geraume Zeit. Das Programm hat noch einige weitere Optionen und Features, Näheres findet man in der Manpage.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung