Sie sind hier

Debian 4.0 DomU in CentOS 5.1 Dom0

Prinzipiell setze ich ja als Linux am Liebsten CentOS (oder auch RedHat Enterprise Linux) ein. Manchmal brauche ich aber auch ein Debian, vor allem, wenn ich mit m1k3 zusammenarbeite. Manche Pakete gibts eben schon sehr elegant vorgeconft für Debian, wo es für RedHat nicht mal rpms gibt. Deshalb ist es besonders interessant, einen meiner Root Server (vorerst noch immer gemietet) als Xen Maschine aufzusetzen und so die verschiedenen Distributionen zu virtualisieren.

Wenn man googlet, findet man zwar unzählige Anleitungen, um eine CentOS DomU in einer Debian Dom0 zu installieren, aber eigentlich nie umgekehrt. Man findet nur Hinweise, dass es nicht ganz trivial ist, so verschiedene Distributionen zu mischen. Vor allem haben die beiden völlig andere Ansätze des Erstellens des Gastsystems: CentOS ruft Anaconda, den Installer auf, während man einen Debian Gast "von aussen" aufsetzt und erst im Nachhinein zur Xen Maschine macht. Nach einigem Probieren, habe ich es nun geschafft. Meine Fehler schauen mir im Nachhinein betrachtet geradezu lächerlich aus, aber es war einiges an Aufwand für mich, mich da heranzutasten. Hier in Kürze (ausführlicheres HowTo folgt)

Man braucht dazu:
* Eine laufende Debian Maschine
* Eine laufende CentOS 5 Maschine, die für Xen konfiguriert ist und noch freien Platz in einem LVM hat.

Auf der Debian Maschine legt man erstmal das Image an:

xen-create-image --swap=256Mb --size=2Gb --hostname=[name des Gastes] --ip=[IP des Gastes] \\
--netmask=[Netmask] --gateway=[Gateway] --dir=/export/xen --fs=ext3 --image=full \\
--initrd=/boot/initrd.img-2.6.18-5-xen-686 --kernel=/boot/vmlinuz-2.6.18-5-xen-686 \\
--debootstrap

Davor müssen der aktuelle Xen Kernel und die xen-tools installiert sein. Die genauen Namen von initrd und vmlinuz sind natuerlich anzupassen.

Im angegebenen Verzeichnis (hier /export/xen) erscheinen dann 2 .img files. Swap kann man wegwerfen, aber disk.img kopiert man auf die CentOS Maschine. Ausserdem die angegebenen Kernel und Initrd.

Dort legt man ein Logical Volume mit LVM an, das die Grösse hat, die die Gastmaschine am Ende haben soll. (Das kann ruhig grösser sein, als die anfangs angegebenen 2GB). Kein Filesystem drauf und nicht mounten!

Mit

dd if=/tmp/disk.img of=/dev/xengroup/debtest

schreibt man das Diskimage in das neu angelegte Logical Volume (bei mir /dev/xengroup/debtest).

Danach

resize2fs /dev/xengroup/debtest

, um das Filesystem auf die gewünschte Grösse zu bringen.

Nun noch ein LV anlegen:

lvcreate -L256M -ndebswap xengroup

. Da kommt dann swap des Gastes rein.

Jetzt benötigt man ein Konfigurationsfile für die DomU:

[root@xentest auto]# cat debtest
ramdisk = "/xen/initrd.img-2.6.18-5-xen-686"
kernel = "/xen/vmlinuz-2.6.18-5-xen-686"
name = "debtest"
memory = "256"
disk = [ 'phy:/dev/xengroup/debtest,sda1,w','phy:/dev/xengroup/debswap,sda2,w', ]
root = "/dev/sda1 ro"
vif = [ 'mac=[MAC Adresse des Hosts], bridge=xenbr0', ]
vfb = ["type=vnc,vncunused=1"]
vcpus=2
on_reboot   = 'restart'
on_crash    = 'restart'

So erhält man eine Maschine mit 256MB Ram und 2 virtuellen CPUs.

Nun nur noch

xm create debtest

ausführen und es sollte funktionieren.

In der Maschine mit

mkswap /dev/sda2

den Swapbereich vorbereiten.

Viel Grlück!

Kommentare

Hallo,

vielen Dank für die Anleitung,
ich versuche das selbe hinzubekommen, centos 5.1 als dom0 und debian als domU.
Nur bei mir funktioniert das nicht.
Verwendest du für dom0 den standard centos kernel oder den von xen.org?
Und welchen Kernel für Debian, den centos Kernel oder den von xen.org?

mit den default centos-xen kernel für dom0 und domU bekomme ich eine Kernelpanik
(Kernel panic - not syncing: Attempted to kill init!)

Also unter CentOS habe ich den Xen Kernel nachinstalliert, der über yum verfügbar ist. Und bevor Du die Debian Maschine in das Image installieren lässt, musst Du auch dort den Xen Kernel installieren. Ganz so, als wolltest Du die Debian DomU auf dem Debian laufen lassen. Danach kopierst Du den Debian Kernel mit und verwendest den.

Ich hoffe, das hilft, sonst meld' Dich bitte nochmal, dann kann ichs etwas genauer ausformulieren.

Neuen Kommentar schreiben

Filtered HTML

  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <div> <span> <br>
  • Twitter: #hashtags sind verlinkt auf search.twitter.com.
  • Twitter-style @usernames are linked to their Twitter account pages.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
Mit dem Absenden dieses Formulars, akzeptieren Sie die Datenschutzrichtlinie von Mollom.
Nerd