Citrix Xen Server

From Univention Wiki

Revision as of 07:46, 15 December 2011 by Steuwer (talk | contribs)
Jump to: navigation, search
Produktlogo UCS Version 2.4

Einführung

XenServer ist eine Virtualisierungslösung von Citrix. Sie basiert auf der Xen-Technologie und wird als eigenständiges System mit von einem ISO-Image installiert. Diese Informationen beziehen sich auf XenServer 5.5 (zur Installation unter XenServer 5.6 findet sich ein Beitrag im Univention Forum)

Die Administration der Instanzen erfolgt durch ein Windows-basiertes Frontend namens XenCenter.

Beim Download sollte neben der XenServer-Installations-CD auch die zusätzliche XenServer-Tools für Linux-CD heruntergeladen werden.

Die von XenServer verwendete Xen-Technologie bietet zwei Betriebsmodi für Gastinstanzen: Virtualisierungs-Server, deren CPUs die "Intel VT", bzw. "AMD-V"-Technik umsetzen können Gastsysteme ohne weitere Anpassungen virtualisieren. Dies wird als HVM-Modus bezeichnet.

Wird das Betriebssystem der virtualisierten Maschine auf Xen angepasst, kann die Performance des virtualisierten Systems noch deutlich gesteigert werden. Dies wird als Paravirtualisierung/PV bezeichnet.

Installation von UCS-Systemen im HVM-Modus

Im XenCenter kann unter New VM die Installation eines UCS-Systems eingeleitet werden. Als Template muss Other Install Media ausgewählt werden und in den folgenden Schritten die Installations-Parameter konfiguriert werden. Anschließend startet die VM automatisch und unter Console kann der Installations-Vorgang durchgeführt werden.

Die Installation erfolgt dabei im HVM-Modus. Im HVM-Modus ist der Einsatz der XenServer-Tools - die eine detaillierte Überwachung und Kontrolle der virtualisierten Umgebung ermöglichen - nicht möglich. Die Umwandlung eines HVM-Systems in ein paravirtualisiertes System ist im folgenden Absatz beschrieben.

Konvertierung einer Xen-Instanz auf Paravirtualisierung

Installation der XenServer-Tools und Citrix-Kernel

Die CD mit den XenServer-Tools kann im XenCenter im Reiter "Storage" für die UCS-Instanz verfügbar gemacht werden und mit mount /cdrom gemountet werden. Unter /cdrom/Linux finden sich die XenServer-Tools für Linux. Dort muss install.sh aufgerufen werden, dass die Tools installiert. Dabei werden auch angepasste Xen-Kernel-Module von Citrix installiert.

Die Installation richtet auch einen Eintrag unterhalb von /etc/apt/sources.list.d/ ein, der Updates von einem Citrix-Server bezieht. Diese können entfernt werden, ansonsten muss bei der Installation von Updates auch der im folgenden beschriebene Schritt für die Erzeugung der Initrd neu durchgeführt werden.

Hinweis: der XenServer-Kernel unterstützt kein "epoll", damit ist der LDAP-Server unter UCS auf 1024 Verbindungen limitiert. Siehe auch: SDB #1077

Umwandlung der Initial Ramdisk

Anschließend müssen die Kernel-Module des Citrix-Xen-Kernels in die Initial Ramdisk des UCS-System integriert werden. Dies geschieht automatisiert mit einem Skript, das von http://download.univention.de/download/addons/xen-server/univention-generate-initrd-for-xenserver-kernel bezogen werden kann. Das Skript muss beispielsweise mit univention-generate-initrd-for-xenserver-kernel /boot/initrd.img-2.6.26-ucs8-xen-686 /lib/modules/2.6.18.8.xs5.5.0 .13.442/ aufgerufen werden.

Die dabei erzeugte Datei initrd-xenserver.img muss nun nach /boot kopiert werden. Ausserdem sollte der Name des XenServer-Kernels unterhalb von /boot notiert werden (er beginnt mit "xenu" und enthält "xs" im Dateinamen).

Konfiguration des PV-Betriebs in der Xen-Console

Nun muss die UCS-Instanz von HVM-Betrieb auf PV-Betrieb umgestellt werden. Dies geschieht in der Xen Console auf dem XenServer (diese kann im Administrationsmenü unter Local Command Shell erreicht werden).

Zuerst muss der interne Bezeichner (die UUID) der Instanz ermittelt werden. Dies geschieht mit dem Befehl xe vm-list. Die UUID (bestehend auf fünf hexidezimalen Blöcken) wird in den folgenden Beispielen einfach als UUID bezeichnet.

Zuerst muss der HVM-Bootvorgang abgeschaltet werden:

xe vm-param-set uuid=UUID HVM-boot-policy=""

Nun muss der Bootloader gesetzt werden:

xe vm-param-set uuid=UUID PV-bootloader=pygrub 

Nun muss der zu startende Kernel unterhalb von /boot angegeben werden (wie im vorherigen Absatz notiert) und auf die umgewandelte Ramdisk verwiesen werden:

xe vm-param-set uuid=UUID PV-bootloader-args=" --kernel KERNEL --ramdisk initrd-xenserver.img"

Beispiel:

xe vm-param-set uuid=UUID PV-bootloader-args="--kernel /xenu-linux-2.6.18.8.xs5.5.0.13.442 --ramdisk initrd-xenserver.img"

Abschließend muss noch die Parameter für die Root-Partition übergeben werden (das Beispiel bezieht sich auf die Standardwerte einer UCS-Installation):

xe vm-param-set uuid=UUID PV-args="ro root2fstype=ext3 root=/dev/mapper/vg_ucs-rootfs"

Nun kann das System neu gestartet werden. Anschließend ist die Verwendung der XenServer-Tools möglich.

Startet die VM nach dem Wechsel vom HVM- in den PV-Modus nicht und im XenCenter Log erscheint die Fehlermeldung:"The bootloader for this VM returned an error -- did the VM installation succeed? Error from bootloader: no bootable disk" so muss das bootable-Flag für die VM explizit gesetzt werden. Dazu sucht man sich mit dem Befehl

xe vbd-list vm-uuid=UUID

die passende vbd-uuid zu der VM heraus (die UUID in der ersten Zeile der Ausgabe unter (uuid (RO)). Wird mehr als eine UUID angezeigt, muss darauf geachtet werden, dass die erste Boot-Partition angegeben wird und nicht das virtuelle DVD-ROM (erkennbar am Eintrag device: /dev/hdd). Anschließend setzt man mit

xe vbd-param-set uuid=VBDUUID bootable=true

das bootable-Flag. Der vbd Parameter "device" wird dadurch von "hda" auf "xvda" umgesetzt.

Personal tools