Lenny und XEN 4

Virtualisierung nimmt einen immer größeren Stellenwert in der IT ein. Die Vorzüge liegen auf der Hand. Anstatt viele einzelne Server in einem Unternehmen, gibt es nur noch wenige, auf denen gleichzeitig virtuell mehrere Betriebssysteme mit den benötigten Anwendungen laufen. Der Wartungsaufwand wird erheblich geringer und die virtuellen Systeme sind so von der Hardwarebasis fast unabhängig. Dazu kommt noch die Einsparung von Strom und die Verringerung der notwendigen Kühlung. Bei einer Störung eines solchen virtuellen Betriebssystems lässt sich die Verfügbarkeit innerhalb kürzester Zeit wieder herstellen. Weiterhin lassen sich diese VMs bei Bedarf einfach klonen und auf einer anderen Maschine integrieren.

Auch in kleineren Betrieben lässt sich so preisgünstig eine serverbasierte IT verwirklichen. Auch wir beschäftigen uns mit dieser Materie und bieten einen all-in-one-Server für Kleinbetriebe an. Prinzipiell lässt dieser sich flexibel an die Anfordernisse anpassen und erweitern.
Als Basis dient uns nach vielen Versuchen mit anderen Lösungen der Debian mit Xen. Auf dieser Basis realisieren wir eine Routerlösung mit IPfire, eine überaus flexible Telefonanlage auf Basis von Asterisk und Gemeinschaft, einem Dateiserver auf Opensolaris mit dem prämierten Dateisystem ZFS und einem Windows-Gast, welcher ein Desktopsystem oder aber auch ein Windows-Server sein könnte. Denkbar wäre auch in einer DMZ ein Webserver für den Zugriff von außen, aber auch viele andere Szenarien.

Interessantes:

Hilfreiche Tools

Die meisten Leute werden mit Windows auf ihrem Desktop arbeiten und per remote auf den Linux Server zugreifen. Hierzu gibt es ein paar kleine Helferlein, welche wir uns im Vorfeld bei Bedarf herunter laden und installieren:

  • WinSCP
    WinSCP erlaubt uns, auf dem Linux Server mit einer Explorer-ähnlichen Oberfläche zu navigieren.
  • Putty
    Putty ist das klassische Konsolentool für SSH-Verbindungen auf Linux Maschinen.
  • Notepad++

Putty am besten in den WinSCP Ordner kopieren und den Programmpfad in den WinSCP-Einstellungen angeben. So wird bei der Verbindung mit einem Linuxserver je nach Einstellung auch gleichzeitig eine Putty-Session gestartet.

nach oben

Installation Lenny netinstall

Die Installation beginnt mit dem download eines netinstall-Images von den Debian-Servern:
Debian Lenny stable Download
Hier muss man sich nun entscheiden, für welche Plattform man das Image laden möchte. Amd64 ist für alle 64-Bit Intel- und AMD-Plattformen, die i386 für ihre 32-Bit Pendants. Nach dem Download muss das ISO-Image auf eine CD gebrannt werden. Wenn die Hardware 64 Bit unterstützt, sollte man auch diese Version verwenden.

Nun kann Lenny installiert werden. Dazu die CD ins Laufwerk des PC legen, auf dem Lenny installiert werden soll. Im BIOS muss eingestellt sein, dass von CD gebootet wird. Nun dem Installationsassistenten folgen. Bei der Auswahl für die Software das Sternchen bei Desktop per Klick auf die Leertaste entfernen und den Assistenten weiter führen. Wir haben uns entschieden, LVM ohne Verschlüsselung, geführt zu verwenden und der Einfachheit halber nicht für getrennte Partitionen ausgewählt. Nach dem Neustart erscheint der Prompt von Lenny mit dem Standardkernel 2.6.26-2.

Nach dem obligatorischen apt-get update und folgendem apt-get upgrade installieren wir per apt-get install openssh-server einen SSH-Server, damit wir per Putty und WINscp Zugriff auf die Maschine bekommen.

Nun können wir beispielsweise von einem Laptop aus auf die Maschine zugreifen und die weiteren Schritte einleiten. Als Erstes installieren wir weitere notwendige Pakete:
apt-get install bcc bin86 bison binutils build-essential cpp flex g++ gawk gcc git-core gnupg grub iasl initramfs-tools zlib1g-dev python-dev bridge-utils udev xorg-dev libncurses5-dev m4 mercurial lvm2 python gettext uuid-dev libssl-dev texinfo apt-file

Damit der Server nun noch unter einer statischen Adresse erreichbar ist, sollte man die Datei interfaces noch bearbeiten. Mit dem Kommando ifconfig eth0 ermittelt man die dynamisch vergebene Adresse des Servers. Nun kann man auf seiner Windowsmaschine das Tool WINscp starten und mit der ermittelten IP, Port 22 und den bei der Installation von Lenny vergebenen Zugangsdaten von root zum Server connecten. Im Verzeichnis /etc/network/ findet man diese Datei interfaces. Diese kann man sich komfortabel per WinSCP auf den eigenen PC kopieren und mit Notepad++ bearbeiten und wieder zurück schieben. So entfällt das Gefrickel mit der Textbearbeitung unter Linux. Wer es dennoch direkt auf der Konsole machen will, kann sich per apt-get install joe einen der vielen Linux Editoren installieren.

Die Datei interfaces sollte dann in etwa so aussehen (anpassen an die eigenen Netzwerkdaten):
"# 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
auto eth0
iface eth0 inet static
address 192.168.5.31
netmask 255.255.255.0
network 192.168.5.0
broudcast 192.168.5.255
gateway 192.168.5.254"

Jetzt noch ein /etc/init.d/networking restart per Putty und der Server ist unter der neuen Adresse im Netz erreichbar.

Lenny ist nun bereit für die Installation des XEN 4 Hypervisors.

nach oben

XEN 4 Installation

Im ersten Schritt wechseln wir unter Putty in das USR-Verzeichnis: cd /usr/src. Nun laden wir uns die XEN-Sourcen aus dem Netz:
wget http://bits.xensource.com/oss-xen/release/4.0.0/xen-4.0.0.tar.gz.
Nach dem Download werden diese entpackt per tar xzf xen-4.0.0.tar.gz und anschließend wechseln wir in das entpackte Verzeichnis cd xen-4.0.0.

Nun wird ein make world ausgeführt, um die Umgebung zu bauen. Danach wird die Xen 4 Distribution installiert. Je nach Anzahl der im System vorhandenen CPUs kann hierbei noch das Make-Flag -j verwendet werden, in unserem Falle 2, da wir einen DualCore Prozessor eingebaut haben.
make -j2 world und folgendem make install. Jetzt ist Xen 4 kompiliert und installiert. Dazu gehören auch die Userspace-Utilities und der pvops-Kernel (aktuell 2.6.31.13).

Um den neuen Kernel auch starten zu können, muss das Initramfs neu gebaut und GRUB aktualisiert werden. Dies geschieht mit
mkinitramfs -o /boot/initrd.img-2.6.31.13 2.6.31.13 und update-grub

Die Datei menu.lst sollte nun einen ähnlichen Eintrag wie:
(...)
title Xen 4.0.0 / Debian GNU/Linux, kernel 2.6.31.13
root (hd0,1)
kernel /boot/xen-4.0.0.gz dom0_mem=512000
module /boot/vmlinuz-2.6.31.13 root=/dev/sda2 ro console=tty0
module /boot/initrd.img-2.6.31.13
(...)

aufweisen. Die 512.000 beschreiben hierbei den für die dom0 reservierten Arbeitsspeicher. Die Namen der Festplatten können ebenfalls variieren, da diese von den bei der Installation des Basissystems gewählten Einstellungen und der verwendeten Hardware abhängig sind.

Um den automatischen Start des Xen-Daemons und der Xen-Domains zu aktivieren, muss man noch folgende Kommandos eingeben:
update-rc.d xend defaults 20 21 und update-rc.d xendomains defaults 21 20
Nach einem Neustart sollte der Xen Kernel sowie Xend gestartet sein.
Das XEN 4 System ist nun fertig eingerichtet und die domUs können hinzu gefügt werden.

Auf der Homepage des Routerprojektes Ipfire gibt es inzwischen eine Anleitung für die Einrichtung von Xen4 auf Squeeze. Hier der Link:

Xen 4 installieren unter Debian Squeeze

nach oben

Letzte Überarbeitung: 17.06.2010


Diesen Artikel weiter empfehlen: