Gemeinschaft / Debian Lenny paravirtualisiert unter Citrix XenServer
Friday, January 15th, 2010 | Administration, Linux
Gemeinschaft ist eine Asterisk Distribution der Firma Amooma GmbH. Die Virtualisierung eines Asterisk-Servers bietet sich durch die typischerweise geringe Hardwareanforderung und das Bedürfnis nach hoher Verfügbarkeit geradezu an. Zumindest wenn man davon ausgeht, dass man ein Mediagateway für die Umsetzung IP <> ISDN verwendet. Die Virtualisierung einer PCI-Karte ist keine wünschenswerte Aufgabe, das macht keinen Spaß!
Citrix XenServer ist in einer kostenlosen Version auch für den kommerziellen Einsatz nutzbar. Mit der Software erhält man eine ausgereifte Virtualisierungslösung out of the box.
In diesem Artikel wird erklärt, wie man eine vollständig virtualisierte Linux Distribution in ein paravirtualisiertes System überführt. Gemeinschaft nutzt ein Debian Lenny; die Vorgehensweise unterscheidet sich nicht grundlegend zu anderen Distributionen.
- Für die Installation der VM muss “Other install media” als Template und der Gemeinschaft Installer als ISO-Image ausgewählt werden.
- Nach der Installation werden die XenServer Tools und der XenServer Kernel installiert. Dazu die CD mounten oder den Inhalt über scp auf die VM kopieren:
dpkg -i Linux/xe-guest-utilities_5.5.0-458_i386.deb
dpkg -i Linux/debian-generic/linux-image-2.6*
- Mit der Paravirtualisierung wird sich das Blockdevice der Festplatte von hda in xvda ändern. In /etc/fstab und /boot/grub/menu.lst die entsprechenden Vorkommnisse ändern. Die Datei /etc/fstab ist selbsterklärend, in menu.lst an der folgende Stelle:
title Debian GNU/Linux, kernel 2.6.29-xs5.5.0.14
root (hd0,0)
kernel /boot/vmlinuz-2.6.29-xs5.5.0.14 root=/dev/xvda1 ro quiet
initrd /boot/initrd.img-2.6.29-xs5.5.0.14
- Wahrscheinlich wird im XenCenter der login prompt nicht mehr erscheinen, in der Datei /etc/inittab tty1 durch hvc0 ersetzen:
# Format:
# :::
#
# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 hvc0
- Die VM mit poweroff herunterfahren.
Unter der Konsole des XenServers wird die eigentliche Virtualisierungsmethode umgestellt. Das muss übrigens nicht zwingend auf dem Pool Master durchgeführt werden.
- Jeder VM ist einer UUID zugeordnet, diese kann mit dem Kommando xe vm-list herausgefunden werden.
- Jetzt folgt die eigentliche Umstellung der Virtualisierungsmethode:
xe vm-param-set uuid=<uuid> HVM-boot-policy=""
xe vm-param-set uuid=<uuid>PV-bootloader=pygrub
xe vm-param-set uuid=<uuid>PV-args="-- quiet console=hvc0"
- Die virtuelle Festplatte ist noch nicht zum Booten bereiten. Für die Aktivierung wird die VBD-UUID benötigt, das Kommando xe vm-disk-list uuid=<uuid> liefert eine Liste der Blockdevices:
Disk 0 VBD:Aktivierung des Blockdevices:
uuid ( RO) : <vb-uuid>
vm-name-label ( RO): Other install media (1)
userdevice ( RW): 0
xe vbd-param-set uuid=<vb-uuid> bootable=true
Fertig! Viel Glück mit der Umsetzung.
8 Kommentare to Gemeinschaft / Debian Lenny paravirtualisiert unter Citrix XenServer
moin, welche CD meinst du in punkt 2).
Auf der Citrix-installation-CD sowie auf der Linux-tools-Cd befinden sich keine Linux Ordner
mfg
yamac
March 11, 2010
Ich meine xs-tools.iso. Einfach über die Console dem DVD Drive zuordnen.
Gruß
Martin
March 23, 2010
Hallo,
meine fstab:
# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
/dev/mapper/gemeinschaft-root / ext3 errors=remount-ro 0 1
/dev/xvda /boot ext2 defaults 0 2
/dev/mapper/gemeinschaft-swap_1 none swap sw 0 0
/dev/hdd /media/cdrom0 udf,iso9660 user,noauto 0 0
Beim Start gibts einen Fehler, dass xvda nicht vorhanden sei.
meine inittab:
1:2345:respawn:/sbin/getty 38400 hvc0
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
die Schritte unter Punkt 5. gingen ohne Fehler.
Das Resultat beim Neustart:
0.108102] PCI: Fatal: No config space access function found
[ 0.283483] isapnp: Write Data Register 0xa79 already used
[ 0.293835] i8042.c: No controller found.
[ 0.294800] IO APIC resources could be not be allocated.
Was mache ich falsch?
Gruß Uwe
March 23, 2010
Bist du sicher, dass der Xen Kernel ausgeführt wird?
Bei mir ist es der folgende Kernel, inzwischen nutze ich XenServer 5.5 Update 2:
[ 0.000000] Linux version 2.6.29-xs5.5.0.15 (root@chocky-2) (gcc version 4.3.
2 (Debian 4.3.2-1.1) ) #1 SMP Wed Nov 11 12:18:17 UTC 2009
Gruß
Martin
March 23, 2010
Ich nutze auch die neueste Version. Nach dem installieren der Tools, startet laut Anzeige der Konsole der von Dir gepostete Kernel. Das jedoch bereits ohne mein Zutun, sprich Eintrag in die menu.lst. Das Script scheint das selbst zu bewerkstelligen.
Uwe
March 23, 2010
Ja der Kernel ändert die grub.conf.
Kannst du mal die komplette menu.lst posten?
Interessant wäre auch ein Screenshot von der Fehlermeldung beim Booten, kannst Mr das auch per Mail schicken.
Gruß
Martin
March 25, 2010
Ich habe eine Mail an die Adresse im Impressum geschickt.
Gruß
Uwe
June 9, 2010
Hallo,
macht denn der Asterisk unter Xen keine Timing-Probleme? In der Vergangenheit liefen virtualisiert ja teilweise die Ansagen in falschen Tempo ab.
Gruß
Phil



March 10, 2010