Das Perfekte Xen 3.1.0 Setup für Debian Etch (i386)

Version 1.0
Author: Falko Timme


Dieses Tutorial liefert eine Schritt-für-Schritt Anleitung zur Installation von Xen (Version 3.1.0) auf einem Debian Etch (4.0) System (i386).

Mit Xen kannst Du Gastbetriebssysteme erstellen (*nix Betriebssyteme wie Linux und FreeBSD), so genannte "virtuelle Maschinen" oder domUs, die unter einem Hauptbetriebssytem laufen (dom0). Mit Xen kannst Du Deine Anwendungen in verschiedene virtuelle Maschinen aufteilen, die voneinander völlig unabhängig sind, und trotzdem die gleiche Hardware verwenden (z. Bsp. eine virtuelle Maschine für den Mail Server, eine virtuelle Maschine für eine viel besuchte Webseite, eine andere Maschine, die Deine Kundenwebseiten bedient, eine virtueller Maschine für DNS etc.). Dies spart Geld aber was weitaus wichtiger ist: Es ist sicherer. Wenn die virtuelle Maschine Deines DNS Servers zerhackt wird, hat dies keinen Einfluss auf Deine anderen virtuellen Maschinen. Außerdem kannst Du virtuelle Maschinen von einem Xen Server zum nächsten schieben.

Ich werde Debian Etch (i386) sowohl für das Hauptbetriebssytem (dom0) als auch für das Gastbetriebssystem (domU) verwenden. Im Kapitel 5 werde ich die Installation von Xen aus einem Binärpaket und aus dem Quelltext beschreiben. In einem weiteren Abschnitt jeweils am Ende von Kapitel 4 und 5 werde ich außerdem zeigen, wie man ein virtuelles lokales Netzwerk mit virtuellen Maschinen erstellt, mit dom0 als Router. Kapitel 4 and 5 schließen einander aus .

Diese Anleitung soll ein praktischer Leitfaden sein; er umfasst kein theoretisches Hintergrundwissen. Dies wird in einer Vielzahl anderer Dokumente im Internet abgehandelt.

Dieses Dokument ist ohne jegliche Gewähr! Das heißt, dass diese Verfahrensweise nicht die einzige ist, mit der man dieses System einrichten kann. Es gibt mehrere Wege um ans Ziel zu kommen, dies ist meiner. Daher gewähre ich keinerlei Garantie, dass dieser Weg der richtige für Dich ist!

Eine Notiz für x86_64 systems: Ich habe versucht Xen 3.1.0 auch auf Debian Etch AMD64 zu installieren, aber ungeachtet der Methode (Xen Quelltextinstallation vs. Xen x86_64 binary Installation), konnte der Xen kernel nicht hochfahren (eine Fehlermeldung gab es nicht, allerdings war das Hochfahren sehr langsam und konnte nie beendet werden...).

1 Installation von Debian Etch Host System (dom0)

Du kannst pauschal diesen Anleitungen folgen, jedoch mit wenigen Veränderungen:
dom0's FQDN in diesem Beispiel wird server1.example.com sein, also gebe ich server1 as Hostname und example.com as Domain name ein. server1.example.com's IP Adresse wird in diesem Tutorial 192.168.0.100 sein.

Bei der Partitionierung, wähle ich Manual. Ich erstelle folgende Partitioinen:
  • /boot 150 MB (Primary) (Location for the new partition: Beginning) (ext3) (Bootable flag: on <-- important, otherwise your system will not boot!)
  • swap 1GB (Logical) (Location for the new partition: Beginning)
  • / 3GB (Logical) (Location for the new partition: Beginning) (ext3)
  • /vserver the rest (Logical) (Location for the new partition: Beginning) (ext3)
Wenn der Debian Installer Choose software to install fordert: Nichts anklicken und weiter machen (dom0 sollte so wenig Software wie möglich laufen lassen um keinen Attacken zum Opfer zu fallen. Der Außenwelt wird es nur über SSH zugänglich sein.).

2 Erstellung des Hauptbetriebssytems

Nachdem Du das Basissystem installiert, die Installations-CD entnommen und das Basissystem hochgefahen hast, solltest Du Folgendes laufen lassen

apt-get install ssh openssh-server vim-full

um einen SSH Server zu installieren, damit Du Dich mit einem SSH Klienten wie PuTTY ans System anschließen kannst. Das vim-full Packet stellt sicher, dass der vi Text Editor sich wie erwartet verhält (ohne vim-full kann es passieren, dass Du ein recht komisches Verhalten im vi Text Editor erlebst).

Da der Debian Etch Installer unser System konfiguriert hat um seine Netzwerk Settings via DHCP zu beziehen, müssen wir dies nun ändern, da ein Server eine statische IP Adresse haben sollte. Editiere /etc/network/interfaces und stimme es nach Bedarf ab (in diesem Beispiel-Setup verwende ich die IP Adresse 192.168.0.100):

vi /etc/network/interfaces


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface #allow-hotplug eth0 #iface eth0 inet dhcp auto eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
Lass Dein Netzwerk wieder anlaufen:

/etc/init.d/networking restart

Dann edit /etc/hosts. So soll es aussehen:

vi /etc/hosts


127.0.0.1       localhost.localdomain   localhost
192.168.0.100 server1.example.com server1 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Editiere /etc/resolv.conf und füge einige Nameserver hinzu:

vi /etc/resolv.conf


nameserver 213.191.92.84
nameserver 145.253.2.75 nameserver 193.174.32.18
Lass nun Folgendes laufen

echo server1.example.com > /etc/hostname

und fahre Dein System wieder hoch:

shutdown -r now

Danach lass Folgendes laufen

hostname
hostname -f

Beides sollte dies anzeigen server1.example.com.

Von jetzt an kannst Du einen SSH Klienten wie zum Beispiel PuTTY nutzen und ihn von Deiner Arbeitsstation mit dem Debian Etch Server verbinden. Folge den verbleibenden Schritten dieses Tutorials.

Editiere /etc/apt/sources.list. Kommentier die CD aus. So sollte dies aussehen:

vi /etc/apt/sources.list


#
# deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Binary-1 20070407-11:29]/ etch contrib main #deb cdrom:[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Binary-1 20070407-11:29]/ etch contrib main deb http://ftp2.de.debian.org/debian/ etch main deb-src http://ftp2.de.debian.org/debian/ etch main deb http://security.debian.org/ etch/updates main contrib deb-src http://security.debian.org/ etch/updates main contrib
Lass Folgendes laufen

apt-get update

um die apt Packetdatenbank zu aktualisieren und

apt-get upgrade

das neuste update zu installieren (falls es eines gibt).

3 Installation von Xen

Es gibt zwei Varianten Xen zu installieren: Installiere das Binärpaket von der Xen Website oder erstelle Xen und Xen kernels vom Quelltext.

Die erste Variante ist einfacher. In meinen letzteren Tutorials habe ich immer empfohlen, Xen aus dem Quelltext zu erstellen, da einige Features wie quota oder iptables im Binärpaket fehlten. Das hat sich geändert. Du wirst höchstwahrscheinlich alle Features im Binärpaket finden, die Du brauchst. Daher empfehle ich das Binärpaket für die Installation. Wenn Du allerdings volle Kontrolle über die Features im Xen kernel haben möchtest oder Du ein besoneres Feature brauchst, welches nicht im Binärpaket enthalten ist, solltest Du Xen vom Quelltext erstellen.

Im folgenden Kapitel 4 wird beschrieben, wie Du das Xen Binärpaket, welches für Anfänger eher geeignet ist, installieren kannst. Kapitl 5 beschäftigt sich mit dem Erstellen und Installieren von Xen aus dem Quelltext. Kapitel 4 und 5 schließen einander aus! Folge entweder Kapiel 4 oder 5!

1 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: sniffer3000

Hallo

Bei mir funktioniert bis auf eine (sehr wichtige:-) Kleinigkeit wirklich alles.
Sobald Xen installiert ist und der Rechner rebootet hat (noch vor "apt-get install xen-tools"), ist die Netzwerkverbindung absolut tot.

Wenn ich im GRUB das Debian ohne Xen auswähle, funktioniert alles einwandfrei. Aber sobald ich Debian als DomU (ich hoffe das ist der richtige Begriff) ausführe, kann ich nicht einmal mehr ne IP anoingen.

z.B. bei "ping 192.168.1.1" gibt er folgende Meldung aus:
"connect: Network is unreachable"

An was kann das liegen? Ich wäre wirklich sehr happy, wenn jemand einen Tip für mich hätte.
(Ich beschäftige mich noch nicht lang mit Linux)

Danke im Voraus