Difference between revisions of "UVMM-iSCSI-Speicherbereiche"

From Univention Wiki

Jump to: navigation, search
(UCS-3.1-1)
Line 1: Line 1:
== Erstellen von iSCSI-Speicherbereichen ==
+
== Voraussetzungen ==
 +
# Auf der Virtualisierungsservern muß das Paket ''open-iscsi'' installiert werden.
 +
# Das iSCSI-Storage muß so konfiguriert werden, daß die Virtualisierungsserver darauf zugreifen können:
 +
## Als Initiator-Name verwenden die Server den Namen, der in der Datei ''/etc/iscsi/initiatorname.iscsi'' angegeben ist. Der Name muß ggf. noch automatisch generiert werden, was durch den einmaligen Aufruf von <source lang=bash>/etc/init.d/open-iscsi restart</source> bewerkstelligt wird.
 +
## ''libvirt'' unterstützt noch nicht die Authentifizierung. Wird CHAP verwendet, so muß die Datei ''/etc/iscsi/iscsid.conf'' derzeit von Hand angepasst werden.
  
UVMM unterstützt momentan noch nicht das Anlegen von Speicherbereichen für die Ablage von Festplatten-Images.
+
== Einbinden von iSCSI-Speicherbereichen  ==
 +
 
 +
UVMM unterstützt momentan noch nicht das Anlegen von Speicherbereichen für die Ablage von Festplatten-Images über die UMC.
 
Trotzdem wird mit UVMM bereits die Verwendung existierender Speicherbereiche von verschiedenen Typen unterstützt.
 
Trotzdem wird mit UVMM bereits die Verwendung existierender Speicherbereiche von verschiedenen Typen unterstützt.
 
Im folgenden wird das Anlegen von Speicherbereichen beschrieben.
 
Im folgenden wird das Anlegen von Speicherbereichen beschrieben.
  
 
Um auf einem Virtualisierungsserver einen weiteren Speicherbereich zur Verfügung zu stellen, muss eine XML-Datei mit einer Beschreibung erstellt werden.
 
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:
 
<source lang=xml><pool type='dir'>
 
  <name>default</name>
 
  <target>
 
    <path>/var/lib/libvirt/images</path>
 
    <permissions>
 
      <mode>0700</mode>
 
      <owner>-1</owner>
 
      <group>-1</group>
 
    </permissions>
 
  </target>
 
</pool></source>
 
 
 
Wie ein weiterer lokaler Speicherbereich definiert werden kann, wird bereits im [[UVMM Quickstart]] beschrieben.
 
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.
 
Im folgenden wird ein Speicherbereich definiert, der auf ein iSCSI-Storage zugreift.
Dafür muss einmal im Element ''pool'' das Attribute ''type'' auf den Wert ''iscsi'' gesetzt werden.
+
# Im Element ''pool'' muß das Attribute ''type'' auf den Wert ''iscsi'' gesetzt werden.
Anschließend müssen über das ''source''-Element der Quellserver und der iSCSI-Targetname festgelegt werden.
+
# Über ein ''source''-Element werden der Quellserver (iSCSI-Target) festgelegt.
Über das ''target''-Element wird der Pfad zu der Gerätedatei definiert.
+
# Über das ''target''-Element wird der Pfad zu den Gerätedateien definiert. Für stabile Namen sollte dort ''/dev/disk/by-path'' benutzt 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:
 
In dem folgenden Beispiel wird ein Speicherbereich definiert, der vom Server ''xen6.ucs.local'' das iSCSI-Target ''iqn.2010-08.local.ucs:sdb'' einbindet:
Line 29: Line 22:
 
   <name>iscsi</name>
 
   <name>iscsi</name>
 
   <source_>
 
   <source_>
     <host name='xen6.ucs.local'/>
+
     <host name='xen6.ucs.local' port='3260'/>
 
     <device path='iqn.2010-08.local.ucs:sdb'/>
 
     <device path='iqn.2010-08.local.ucs:sdb'/>
 
   </source_>
 
   </source_>
 
   <target>
 
   <target>
 
     <path>/dev/disk/by-path</path>
 
     <path>/dev/disk/by-path</path>
    <permissions>
 
      <mode>0700</mode>
 
      <owner>-1</owner>
 
      <group>-1</group>
 
    </permissions>
 
 
   </target>
 
   </target>
 
</pool>
 
</pool>
 
</source>
 
</source>
 +
 +
;Anmerkung: aus technischen Gründen wird in den obigen Angaben nach dem ''source''-Elementen ein Unterstich ''_'' angezeigt, der entfernt werden muß!
 +
 
Diese Beschreibung muß zuerst in einer Datei (beispielsweise in der Datei ''iscsi-pool.xml'') gespeichert werden.
 
Diese Beschreibung muß zuerst in einer Datei (beispielsweise in der Datei ''iscsi-pool.xml'') gespeichert werden.
Damit dieser Speicherbereich verwendet werden kann, müssen dann noch folgende Schritte durchgeführt werden:
+
Damit dieser Speicherbereich verwendet werden kann, müssen dann folgende Befehle ausgeführt werden:
  
 
<source lang=bash>
 
<source lang=bash>
Line 51: Line 42:
 
</source>
 
</source>
  
Der UVMM-Dienst wirde diesen neuen Speicherbereich nach einiger Zeit selbständig erkennen.
+
Der UVMM-Dienst wird diesen neuen Speicherbereich nach einiger Zeit selbständig erkennen.
 
Alternativ kann der Dienst auch einmalig neu gestartet werden, damit diese neuen Informationen zum Speicherbereich sofort neu eingelesen werden:
 
Alternativ kann der Dienst auch einmalig neu gestartet werden, damit diese neuen Informationen zum Speicherbereich sofort neu eingelesen werden:
 
<source lang=bash>
 
<source lang=bash>
Line 63: Line 54:
 
Dabei werden die einzelnen LUNs als mögliche Images angeboten.
 
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.
+
Werden neue iSCSI-LUNs eingerichtet, so ist derzeit ein manuelles Neueinlesen des iSCSI-Speicherbereits erforderlich.
 
+
Dies kann über den Befehl <source lang=bash>virsh pool-refresh "$pool_name"</source> erfolgen, für das obige Beispiel also <source lang=bash>virsh pool-refresh iscsi</source>.
Wenn eine solche Festplatte angelegt wurde, muss mit virsh die Beschreibung der virtuellen Instanz angepasst werden.
 
Diese kann man mit dem Kommando
 
<source lang=bash>
 
virsh edit <Instanzname>
 
</source>
 
öffnen und bearbeiten.
 
In der XML-Beschreibung befindet sich ein Abschnitt, der ungefähr wie folgt aussieht:
 
<source lang=xml>   <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>
 
</source>
 
Dieser Abschnitt muss wie folgt angepasst werden:
 
<source lang=xml>    <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>
 
</source>
 
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.
 
  
 
[[Category:Virtualisierung]]
 
[[Category:Virtualisierung]]

Revision as of 14:53, 21 March 2013

Voraussetzungen

  1. Auf der Virtualisierungsservern muß das Paket open-iscsi installiert werden.
  2. Das iSCSI-Storage muß so konfiguriert werden, daß die Virtualisierungsserver darauf zugreifen können:
    1. Als Initiator-Name verwenden die Server den Namen, der in der Datei /etc/iscsi/initiatorname.iscsi angegeben ist. Der Name muß ggf. noch automatisch generiert werden, was durch den einmaligen Aufruf von
      /etc/init.d/open-iscsi restart
      
      bewerkstelligt wird.
    2. libvirt unterstützt noch nicht die Authentifizierung. Wird CHAP verwendet, so muß die Datei /etc/iscsi/iscsid.conf derzeit von Hand angepasst werden.

Einbinden von iSCSI-Speicherbereichen

UVMM unterstützt momentan noch nicht das Anlegen von Speicherbereichen für die Ablage von Festplatten-Images über die UMC. Trotzdem wird mit UVMM bereits die Verwendung existierender Speicherbereiche von verschiedenen Typen unterstützt. Im folgenden wird das Anlegen von Speicherbereichen beschrieben.

Um auf einem Virtualisierungsserver einen weiteren Speicherbereich zur Verfügung zu stellen, muss eine XML-Datei mit einer Beschreibung erstellt werden. 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.

  1. Im Element pool muß das Attribute type auf den Wert iscsi gesetzt werden.
  2. Über ein source-Element werden der Quellserver (iSCSI-Target) festgelegt.
  3. Über das target-Element wird der Pfad zu den Gerätedateien definiert. Für stabile Namen sollte dort /dev/disk/by-path benutzt 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' port='3260'/>
    <device path='iqn.2010-08.local.ucs:sdb'/>
  </source_>
  <target>
    <path>/dev/disk/by-path</path>
  </target>
</pool>
Anmerkung
aus technischen Gründen wird in den obigen Angaben nach dem source-Elementen ein Unterstich _ angezeigt, der entfernt werden muß!

Diese Beschreibung muß zuerst in einer Datei (beispielsweise in der Datei iscsi-pool.xml) gespeichert werden. Damit dieser Speicherbereich verwendet werden kann, müssen dann folgende Befehle ausgeführt werden:

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

Der UVMM-Dienst wird diesen neuen Speicherbereich nach einiger Zeit selbständig erkennen. Alternativ kann der Dienst auch einmalig neu gestartet werden, damit diese neuen Informationen zum Speicherbereich sofort neu eingelesen werden:

/etc/init.d/univention-virtual-machine-manager-daemon restart

Verwenden von iSCSI-Speicherbereichen

Anschließend können im UMC-Modul Virtuelle Maschinen (UVMM) Festplatten in aus dem Speicherbereich verwendet 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.

Werden neue iSCSI-LUNs eingerichtet, so ist derzeit ein manuelles Neueinlesen des iSCSI-Speicherbereits erforderlich.

Dies kann über den Befehl

virsh pool-refresh "$pool_name"

erfolgen, für das obige Beispiel also

virsh pool-refresh iscsi

.

Personal tools