Virtualisierung

Hosting beim hostblogger (Manitu)

Thursday, December 30th, 2010 | Administration | 1 Comment

Für einige Dienste auf Servern in einem Rechenzentrum suchten wir am Anfang des Jahres eine neue Heimat. Es handelt sich nicht um geschäftskritische Dienste, das heißt  eine Nichtverfügbarkeit für eine gewisse Zeit ist vertretbar.

Bei den geschäftskritischen Diensten sind höhere Anforderungen notwendig, als es die Standardlösungen der Firma manitu bieten. Die wichtigsten Kriterien sind hochwertige Serverhardware, redundante Netzteile mit getrennten Stromkreisen, redundante interne Kommunikation (Cross-Over-Kabel und Vlan). Ich spreche hier ausdrücklich von Standardlösungen, Lösungen von der Stange, bzw. Angebote die auf der Homepage zu finden sind. Wir suchten eine kostengünstige Lösung.

› Continue reading

Tags: , , , ,

Gemeinschaft / Debian Lenny paravirtualisiert unter Citrix XenServer

Friday, January 15th, 2010 | Administration, Linux | 8 Comments

Native Virtualisierung

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.

Paravirtualisierung

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.

  1. Für die Installation der VM muss “Other install media” als Template und der Gemeinschaft Installer als ISO-Image ausgewählt werden.
  2. 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*
  3. 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
  4. 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
  5. 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.

  1. Jeder VM ist einer UUID zugeordnet, diese kann mit dem Kommando xe vm-list herausgefunden werden.
  2. 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"
  3. 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:
    uuid ( RO) : <vb-uuid>
    vm-name-label ( RO): Other install media (1)
    userdevice ( RW): 0
    Aktivierung des Blockdevices:
    xe vbd-param-set uuid=<vb-uuid> bootable=true

Fertig! Viel Glück mit der Umsetzung.

Tags: , ,