UVMM Technische Details

From Univention Wiki

Revision as of 07:55, 10 September 2010 by Gulden (talk | contribs) (Typos behoben.)
Jump to: navigation, search

Auf dieser Seite werden weiterführende technische Details zu UVMM bereitgestellt die sich auf unterschiedliche Bereiche in der Verwaltung und Administration von Infrastrukturen mit Virtualisierungsserver beziehen. Dieser Artikel basiert auf dem Wissen, dass in dem UVMM Quickstart beschrieben ist, daher sollte dieser zuvor beachtet werden.

Bei den im folgenden dokumentierten administrativen Aufgaben wird das Kommandozeilenprogramm virsh verwendet, dass von libvirt mitgebracht wird. Weitere Informationen zu diesem Programm sind in der man-Page virsh(1) zu finden.

Verwaltung von virtuellen Instanzen

In diesem Abschnitt werden Hinweise gesammelt, die sich auf die Verwaltung der virtuellen Instanzen beziehen.

Paravirtualisierte Xen-Instanzen

Diese Art von Xen-Instanzen werden mittels des Bootloader pygrub gestartet. Dieser extrahiert den Kernel sowie die Initrd aus dem Festplatten-Image, um die virtuelle Instann zu booten. Damit dies funktioniert, müssen folgende Bedingungen erfüllt sein:

  • Die zu bootende Festplatte muss die erste in der Liste sein. Dies kann im UMC-Modul angepasst werden. Dafür kann in der Liste der Laufwerke einer Instanz auf die Schaltfläche 'Als Bootmedium setzen' geklickt werden.
  • Auf der Festplatte muss es entweder eine Partition geben, bei der das Boot-Flag gesetzt ist oder der Kernel muss auf der ersten Partition zu finden sein.

Wiederherstellung

Sollte eine virtuelle Instanz einmal durch einen Fehlerfall nicht mehr in UVMM angezeigt werden, dann kann diese aus einer Sicherung wiederhergestellt werden. Bei jeder Veränderung der Konfiguration einer virtuellen Instanz erzeugt UVMM in dem Verzeichnis /var/backups/univention-virtual-machine-manager-daemon/ eine Sicherung der letzten Version der Konfiguration. Die Dateien in dem Verzeichnis enthalten die XML-Beschreibung der virtuellen Instanzen und sind nach der UUID (einem eindeutigen Bezeichner) der Instanzen benannt. Um eine Instanz aus solch einer Sicherung wiederherzustellen, werden folgende Kommando als root auf dem Managementsystem ausgeführt werden:

cd /var/backups/univention-virtual-machine-manager-daemon 
virsh -c <URI-Virtuialisierungsserver> define <Sicherungsdatei>

Die URI des Virtualisierungsserver ist bei Xen-Systemen durch

xen://<FQDN des Servers>/

und bei KVM-Systemen durch

qemu://<FQDN des Servers>/system

zu ersetzen.

Hinweis: Sollte die Instanz zuvor gelöscht worden sein, dann funktioniert diese Wiederherstellung nur, wenn beim Löschen der Instanz die Festplatten-Images nicht mit entfernt worden sind.

Storageverwaltung

Univention Virtual Machine Manager verwaltet die Festplatten- und ISO-Images innerhalb sogenannter Speicherbereiche. In der Voreinstellung wird auf jedem Virtualisierungsserver ein Speicherbereich Lokales Verzeichnis angelegt, der auf der lokalen Festplatte liegt. UVMM unterstützt weitere Arten von Speicherbereichen, die beispielsweise auf einem iSCSI-Gerät oder auf LVM-Partitionen liegen können. Wie solche Speicherbereiche auf den Virtualisierungsservern verwaltet werden können, wird im folgenden erläuert.

Erstellen von iSCSI-Speicherbereichen

Um auf einem Virtualisierungsserver einen weiteren Speicherbereich zur Verfügung zu stellen, muss eine XML-Datei mit einer Beschreibung erstellt werden. Im folgenden Beispiel ist die Beschreibung zu dem Speicherbereich Lokales Verzeichnis zu sehen:

<pool type='dir'>
  <name>default</name>
  <source>
  </source>
  <target>
    <path>/var/lib/libvirt/images</path>
    <permissions>
      <mode>0700</mode>
      <owner>-1</owner>
      <group>-1</group>
    </permissions>
  </target>
</pool>

Wie ein weiterer lokaler Speicherbereich definiert werden kann, wird bereits im UVMM Quickstart beschrieben. Im folgenden wird ein Speicherbereich definiert, der auf ein iSCSI-Storage zugreift. Dafür muss einmal im Tag pool das Attribute type auf den Wert iscsi gesetzt werden. Anschließend müssen über das source Tag der Quellserver und der iSCSI-Targetname und über das target-Tag der Pfad zu der Gerätedatei definiert werden. In dem folgenden Beispiel wird ein Speicherbereich definiert, der vom Server xen6.ucs.local das iSCSI-Target iqn.2010-08.local.ucs:sdb einbindet:

<pool type='iscsi'>
  <name>iscsi</name>
  <source>
    <host name='xen6.ucs.local'/>
    <device path='iqn.2010-08.local.ucs:sdb'/>
  </source>
  <target>
    <path>/dev/disk/by-path</path>
    <permissions>
      <mode>0700</mode>
      <owner>-1</owner>
      <group>-1</group>
    </permissions>
  </target>
</pool>

Damit dieser Speicherbereich verwendet werden kann, müssen die folgenden Schritte durchgeführt werden. Dafür ist die Beschreibung zuerst in einer Datei zu speichern (beispielsweise in der Datei iscsi-pool.xml)

virsh pool-define iscsi-pool.xml
virsh pool-start iscsi
virsh pool-autostart iscsi

Damit der UVMM-Dienst diese neuen Informationen zum Speicherbereich einliest, muss dieser neu gestartet werden:

invoke-rc.d univention-virtual-machine-manager-daemon restart

Anschließend können im UMC-Modul Virtuelle Maschinen (UVMM) Festplatten in dem Speicherbereich angelegt werden. Dabei ist zu beachten, dass in einem iSCSI-Speicherbereich keine neuen Images angelegt, sondern nur vorhandene ausgewählt werden. Dabei werden die einzelnen LUNs als mögliche Images angeboten.

Achtung: Wird eine virtuelle Instanz angelegt, die eine Festplatte einbindet, die in einem iSCSI-Speicherbereich liegt, muss momentan die Konfiguration nachträglich noch über virsh angepasst werden. Die notwendige Erweiterung mit der dies nicht mehr notwendig ist, wird an Bug #19804 behandelt.

Wenn eine solche Festplatte angelegt wurde, muss mit virsh die Beschreibung der virtuellen Instanz angepasst werden. Diese kann man mit dem Kommando

virsh edit <Instanzname>

öffnen und bearbeiten. In der XML-Beschreibung befindet sich ein Abschnitt, der ungefähr wie folgt aussieht:

    <disk type='file' device='disk'>
      <driver name='file'/>
      <source file='/dev/disk/by-path/ip-192.168.0.116:3260-iscsi-iqn.2010-08.local.ucs:sdb-lun-0'/>
      <target dev='hda' bus='ide'/>
    </disk>

Dieser Abschnitt muss wie folgt angepasst werden:

    <disk type='block' device='disk'>
      <driver name='phy'/>
      <source dev='/dev/disk/by-path/ip-192.168.0.116:3260-iscsi-iqn.2010-08.local.ucs:sdb-lun-0'/>
      <target dev='sda' bus='scsi'/>
    </disk>

Anschließend kann die Konfiguration gespeichert und die virtuelle Instanz mit der neuen Konfiguration gestartet werden. Sollten sich weitere SCSI-Laufwerke in der virtuellen Instanz befinden, muss sda durch einen anderen Gerätenamen ersetzt werden.

Überwachung der Speicherbereiche

Die Festplatten-Images, die durch UVMM angelegt werden, sind sogenannte Spare-Dateien, d.h. diese Dateien belegen nach dem Anlegen nicht den kompletten Speicherbereich, der als Größe der Festplatte angegeben wurde, sondern wachsen erst bei Bedarf. Aus diesem Grund ist es sinnvoll, die Speicherbereich mit Nagios zu überwachen, so dass vor dem volllaufen eines Speicherbereiches vorzeitig etwas unternommen werden kann.

Personal tools