Ubuntu 7.10 (Gutsy Gibbon) für Hetzner Root Server

Dieser Artikel beschreibt die Schritte, die nötig sind, um Ubuntu 7.10 auf einem Hetzner Root Server zu installieren. Dabei möchte ich nur auf die Punkte eingehen, die bei meiner Installation problematisch waren. Im Netz gibt es bereits eine gute Installationsanleitung von Falko Timme, die die nötigen Schritte gut zusammenfasst. Hetzner unterstützt für die Netzwerkkonfiguration leider nicht das bridged Setup, so daß man sich mit den Alternativen auseinandersetzen sollte. Eine Einführung gibt es z.B. hier.

Bevor man mit der Installation beginnt muß man über die Support Seiten die IPs für das zusätzliche Subnetz beantragen. Die nötigen Daten werden dann innerhalb kurzer Zeit per Mail zugeschickt. Dabei sollte man natürlich die mitgelieferten Hinweise beachten. Entgegen der Anleitung habe ich das bei mir jedoch umgesetzt, indem ich ein zusätzliches Netzwerkinterface (eth0:1) mit einer IP aus dem Subnetz angelegt habe. Diese IP wird von den domU Instanzen später als Gateway vewendet.

Im Gegensatz zu Falko verwende ich LVM für die XEN Images. Die Schritte, die nötig waren, um die Grundinstallation vorzunehmen unterscheiden sich nur minimal von denen in der Anleitung.

xen-create-image
 --hostname=<hostname>
 --size=10Gb --swap=2048Mb --memory=1024Mb
 --ip=<ip>
 --netmask=<Maske>
 --gateway=<gw ip>
 --force --lvm=images --fs=xfs
 --arch=i386
 --kernel=/boot/vmlinuz-2.6.22-14-xen
 --initrd=/boot/initrd.img-2.6.22-14-xen
 --debootstrap
 --dist=gutsy
 --mirror=http://de.archive.ubuntu.com/ubuntu/
 --passwd

Im Aufruf ersetzt man hostname durch den späteren Hostnamen des Rechners, ip durch die IP (also eine IP aus dem zusätzlichen Subnetz), Maske durch die Netzmaske (vermutlich 255.255.255.248) und gw durch das Gateway (also der IP aus dem Subnetz, die man in dom0 für eth0:1 konfiguriert hat). Die Anweisung--ide war bei meiner Installation nicht nötig.

Nachdem die Konfiguration erstellt wurde, editiert man diese in einem Texteditor. Damit das System überhaupt bootet, muß folgende Zeile eingefügt werden:

extra = ‚xencons=tty1‘

Zusätzlich habe ich für den ersten Start das virtuelle Netzwerkinterface auskommentiert:

vif=[]

In der Datei /etc/xen/xend-config.sxp muss folgende Netzwerkkonfiguration gewählt sein:

(network-script ’network-route netdev=eth0:1′)
(vif-script vif-route)

War zuvor eine andere Netzwerkkonfiguration aktiv, muß xend neu gestartet werden.

Vermutlich wurde xen-create-image nie mit Gutsy in der Praxis getestet. Die erzeugte Linux Installation hängt nämlich auch nach obigen Änderungen schon beim Booten an zwei Stellen. Beide haben anscheinend mit dem Stellen der Hardware Systemuhr zu tun. Um die Probleme zu beseitigen, mountet man das Root Filesystem der domU nach /mnt und löscht folgende Dateien:

/mnt/etc/init.d/hwclockfirst.sh
/mnt/etc/init.d/hwclock.sh
/mnt/lib/udev/set_hwclock

Danach sollte die domU Instanz so weit hochfahren, daß man sich einloggen kann. Ist dies geschafft, muß nur noch das Netzwerk aktiviert werden. Dafür fährt man die virtuelle Installation wieder herunter und paßt die Konfiguration an.

Dazu erweitert man die Zeile für das virtuelle Interface wie folgt (natürlich mit der eigenen IP):

vif=[‚ip=<ip>]

Danach kann man die virtuelle Maschine wieder hochfahren. XEN wird dabei eine MAC Adresse automatisch generieren und dem Interface zuweisen. Damit dies nicht bei jedem Start passiert, sollte man diese nach dem ersten Start in der Konfigurationsdatei eintragen:

vif=[‚mac=<mac>,ip=<ip>]

Man beachte dabei, daß mac durch die automatisch generierte MAC Adresse und ip wieder durch die IP Adresse der domU Instanz ersetzt werden muss. Wichtig dabei ist auch das Komma als Trennzeichen der Parameter. XEN gibt keine Fehlermeldungen aus, wenn man hier einen Fehler macht!

Ubuntu 7.10 weist die Namen der Netzwerkkarten automatisch anhand der MAC Adresse zu. Dabei wird die erste Karte mit eth0 bezeichnet, die zweite mit eth1, usw. Da XEN die MAC Adressen jedoch automatisch generiert, erscheint dies für die domU Intanz so, als ob bei jedem Start eine neue Netzwerkkarte eingebaut ist. Dadurch paßt dann die Konfiguration in /etc/network/interfaces für eth0 nicht mehr zum aktuellen Interface-Namen. Um diese Probleme zu vermeiden, sollte man sicherstellen, daß in der Datei /etc/udev/rules.d/70-persistent-net.rules nur ein Eintrag der Form

SUBSYSTEM==“net“, DRIVERS==“?*“, ATTRS{address}==“<mac>“, NAME=“eth0

existiert. Die dort aufgeführte MAC Adresse muß mit der in der Konfigurationsdatei für die Instanz festgelegten MAC Adresse übereinstimmen.

Ich hoffe, daß ich mit diesem Artikel weiterhelfen konnte. Mich haben diese Schritte, die nötig sind um XEN zum Laufen zu bringen insgesamt mehrere Tage gekostet. Nachdem zumindest die Probleme mit dem Skript für die Systemuhr und der Konsole schon seit längerem bekannt sind, läßt mich das doch etwas am Qualitätsmanagement von Ubuntu zweifeln…

Update 03.03.2008

In der Zwischenzeit hat sich gezeigt, daß die Netzwerk-Performance der XEN domU absolut unbrauchbar ist. Betroffen ist anscheinend nur die Senderichtung: es werden durchschnittlich nur ca. 10KByte/sec übertragen.

Um einen normalen Netzwerkdurchsatz zu erreichen, muß man das „TX Checksumming“ in der domU abschalten:

ethtool -K eth0 tx off

Die aktuellen Einstellungen kann man übrigens mit

ethtool -k eth0

in Erfahrung bringen.

3 Gedanken zu „Ubuntu 7.10 (Gutsy Gibbon) für Hetzner Root Server“

Kommentare sind geschlossen.