Difference between revisions of "UVMM Technische Details"

From Univention Wiki

Jump to: navigation, search
 
(42 intermediate revisions by 8 users not shown)
Line 1: Line 1:
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.
+
Dokumentation zu UVMM findet sich im [http://docs.univention.de/handbuch-3.2.html#uvmm:chapter UCS-Handbuch], in der [http://docs.univention.de/uvmm-3.2.html erweiterten UVMM-Dokumentation] und in den [[Cool Solutions]]
 
 
Informationen zu Test-Versionen von UVMM sind in dem folgenden Artikel zu finden [[UVMM_Testing]]
 
 
 
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 Instanz 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, müssen folgende Kommando als <tt>root</tt> auf dem Managementsystem ausgeführt werden:
 
<pre>cd /var/backups/univention-virtual-machine-manager-daemon
 
virsh -c &lt;URI-Virtuialisierungsserver&gt; define &lt;Sicherungsdatei&gt;</pre>
 
Die URI des Virtualisierungsserver ist bei Xen-Systemen durch
 
<pre>xen://&lt;FQDN des Servers&gt;/
 
</pre>
 
und bei KVM-Systemen durch
 
<pre>qemu://&lt;FQDN des Servers&gt;/system
 
</pre>
 
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:  
 
<pre>&lt;pool type='dir'&gt;
 
  &lt;name&gt;default&lt;/name&gt;
 
  &lt;source&gt;
 
  &lt;/source&gt;
 
  &lt;target&gt;
 
    &lt;path&gt;/var/lib/libvirt/images&lt;/path&gt;
 
    &lt;permissions&gt;
 
      &lt;mode&gt;0700&lt;/mode&gt;
 
      &lt;owner&gt;-1&lt;/owner&gt;
 
      &lt;group&gt;-1&lt;/group&gt;
 
    &lt;/permissions&gt;
 
  &lt;/target&gt;
 
&lt;/pool&gt;</pre>
 
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:
 
<pre>&lt;pool type='iscsi'&gt;
 
  &lt;name&gt;iscsi&lt;/name&gt;
 
  &lt;source&gt;
 
    &lt;host name='xen6.ucs.local'/&gt;
 
    &lt;device path='iqn.2010-08.local.ucs:sdb'/&gt;
 
  &lt;/source&gt;
 
  &lt;target&gt;
 
    &lt;path&gt;/dev/disk/by-path&lt;/path&gt;
 
    &lt;permissions&gt;
 
      &lt;mode&gt;0700&lt;/mode&gt;
 
      &lt;owner&gt;-1&lt;/owner&gt;
 
      &lt;group&gt;-1&lt;/group&gt;
 
    &lt;/permissions&gt;
 
  &lt;/target&gt;
 
&lt;/pool&gt;
 
</pre>
 
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)
 
<pre>virsh pool-define iscsi-pool.xml
 
virsh pool-start iscsi
 
virsh pool-autostart iscsi
 
</pre>
 
Damit der UVMM-Dienst diese neuen Informationen zum Speicherbereich einliest, muss dieser neu gestartet werden:
 
<pre>invoke-rc.d univention-virtual-machine-manager-daemon restart
 
</pre>
 
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 [https://forge.univention.org/bugzilla/show_bug.cgi?id=19804 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
 
<pre>virsh edit &lt;Instanzname&gt;</pre>
 
öffnen und bearbeiten. In der XML-Beschreibung befindet sich ein Abschnitt, der ungefähr wie folgt aussieht:
 
<pre>    &lt;disk type='file' device='disk'&gt;
 
      &lt;driver name='file'/&gt;
 
      &lt;source file='/dev/disk/by-path/ip-192.168.0.116:3260-iscsi-iqn.2010-08.local.ucs:sdb-lun-0'/&gt;
 
      &lt;target dev='hda' bus='ide'/&gt;
 
    &lt;/disk&gt;
 
</pre>
 
Dieser Abschnitt muss wie folgt angepasst werden:
 
<pre>    &lt;disk type='block' device='disk'&gt;
 
      &lt;driver name='phy'/&gt;
 
      &lt;source dev='/dev/disk/by-path/ip-192.168.0.116:3260-iscsi-iqn.2010-08.local.ucs:sdb-lun-0'/&gt;
 
      &lt;target dev='sda' bus='scsi'/&gt;
 
    &lt;/disk&gt;
 
</pre>
 
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 Sparse-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.
 
 
 
= UVMM auf standalone Memberserver =
 
 
 
Normalerweise nutzt UVMM den Univention Directory Manager, um auf Informationen im LDAP zuzugreifen bzw. dort zusätzliche Informationen zu den einzelnen Instanzen abzulegen. Wenn UVMM auch auf einem Memberserver verwendet werden soll, der nicht Teil einer Domäne ist, muß auf einen Teil der Funktionen von UVMM verzichtet werden.
 
 
 
Zunächst muß die Verwendung von LDAP mit der Option '''-b ""''' deaktiviert werden. Da im LDAP aber auch gespeichert wird, welche Virtualisierungsserver vom UVMM verwaltet werden sollen, müssen diese deshalb als zusätzliche Parameter explizit aufgeführt werden.
 
 
 
Diese Optionen lassen sich am einfachsten über die Variable '''DAEMON_OPTS''' in der standardmäßig nicht vorhandenen Datei ''/etc/default/uvmmd'' einstellen, die zusätzlich auch noch die Optionen '''-s 0.0.0.0 -d''' enthalten muß, mit denen UVMM normalerweise durch ''/etc/init.d/univention-virtual-machine-manager'' aufgerufen wird.
 
 
 
Der folgende Befehl erzeugt eine solche Datei, mit der UVMM dann nur die eigene Maschine als Virtualisierungsserver nutzt:
 
<pre>echo DAEMON_OPTS=\"-s 0.0.0.0 -d -b \'\' xen://$(hostname -f)/\" >>
 
/etc/default/uvmmd</pre>
 
  
 
[[Category:Virtualisierung]]
 
[[Category:Virtualisierung]]

Latest revision as of 11:44, 19 October 2016

Dokumentation zu UVMM findet sich im UCS-Handbuch, in der erweiterten UVMM-Dokumentation und in den Cool Solutions

Personal tools