Citrix XenServer 5.5 mit EMC iSCSI AX4-5i Multipathing Konfiguration

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

Dieser Artikel zeigt den Einsatz von Citrix XenServer 5.5 mit einem EMC iSCSI AX4-5i Storage.

Beispielsetup

Folgende Komponenten kommen zum Einsatz:

  • EMC AX4-5i (iSCSI Storage mit redundanten Controllern)
  • SR2500 Server
  • 2 dedizierte GBit-Ethernet-Switche für iSCSI Traffic

Die Konfiguration basiert auf der EMC Anleitung AX4 Planning Your AX-Series Storage-System Configuration[1].

Hier die Darstellung des schematischen Aufbaus: EMC AX4 iSCSI Multipathing Beipsiel.png

IP-Konfiguration Netzwerk 1 (Switch 1)

Port IP Adresse Subnetz Maske Gateway
AX4-5i Storage processor A iSCSI port 0 (A0) 172.31.1.150 255.255.255.0 0.0.0.0
AX4-5i Storage processor B iSCSI port 0 (B0) 172.31.1.151 255.255.255.0 0.0.0.0
SLES10 SP2 iSCSI NIC 1 172.31.1.101 255.255.255.0 0.0.0.0

IP-Konfiguration Netzwerk 2 (Switch 2)

Port IP Adresse Subnetz Maske Gateway
AX4-5i Storage processor A iSCSI port 1 (A1) 172.31.2.150 255.255.255.0 0.0.0.0
AX4-5i Storage processor B iSCSI port 1 (B1) 172.31.2.151 255.255.255.0 0.0.0.0
SLES10 SP2 Server iSCSI NIC 2 172.31.2.101 255.255.255.0 0.0.0.0

Storage Konfiguration

Am EMC Storage wird eine Virtual Disk erstellt. Weiters wird für den XenServer ein Eintrag in Navisphere Express (der Verwaltungssoftware des EMC Storages) mit dessen IQN erstellt. Die Virtual Disk wird abschließend dem XenServer in Navisphere Express zugewiesen. Im Video zur Multipathing Konfiguration mit SLES10 sind diese Schritte grundsätzlich auch ersichtlich.

XenServer Konfiguration

Die gezeigte Konfiguration basiert auf den Informationen aus dem Citrix Knowledge Center[2]. Einige Schritte sind angepasst, damit die Konfiguration mit dem EMC Storage funktioniert. Der verwendete XenServer 5.5 ist neu installiert und es sind noch keine VMs oder zusätzlichen Storage Repositories konfiguriert.

Netzwerk konfigurieren

Zuerst werden die beiden Netzwerk-Interfaces für die iSCSI-Anbindung konfiguriert. Dazu wählt man im XenCenter den Menüpunkt Server -> Management Interfaces. Dort ist im Moment ein Netzwerk mit dem Namen Primary vorhanden:

XenServer55-iSCSI-01.png

Mittels Klicken auf New Interface können die beiden NICs für die iSCSI Anbindung konfiguriert werden:

XenServer55-iSCSI-02.png XenServer55-iSCSI-03.png

Nun werden bei beiden NICs jeweils die Netzwerk Eigenschaften ausgewählt und die Option 'Automatically add this network to new virtual machines.' entfernt:

XenServer55-iSCSI-04.png XenServer55-iSCSI-05.png XenServer55-iSCSI-06.png

Multpathing aktivieren

Nun wird in den Server Eigenschaften Multipathing aktiviert (XenServer muss dazu zuvor in den Maintenance Mode gebracht werden):

XenServer55-iSCSI-08.png

Anschließend wird der Maintenance Mode wieder verlassen.

Storage hinzufügen

Nun wird der iSCSI Storage hinzugefügt:

XenServer55-iSCSI-09.png XenServer55-iSCSI-10.png XenServer55-iSCSI-11.png XenServer55-iSCSI-12.png XenServer55-iSCSI-13.png

Danach ist ein Pfad zum iSCSI Storage in Verwendung:

XenServer55-iSCSI-14.png

Dies ist auch auf der Konsole ersichtlich:

[root@xenserver-550-1 ~]# cat /proc/scsi/scsi 
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: TEAC     Model: DW-224E-C        Rev: 1.8B
  Type:   CD-ROM                           ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: WDC WD1600YS-01S Rev: 20.0
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 16 Lun: 00
  Vendor: Areca    Model: RAID controller  Rev: R001
  Type:   Processor                        ANSI SCSI revision: ffffffff
Host: scsi5 Channel: 00 Id: 00 Lun: 00
  Vendor: DGC      Model: RAID 10          Rev: 0223
  Type:   Direct-Access                    ANSI SCSI revision: 04
[root@xenserver-550-1 ~]# multipath -l
3600601609711200044e7cf4e0751de11dm-0 DGC,RAID 10
[size=10G][features=1 queue_if_no_path][hwhandler=1 emc]
\_ round-robin 0 [prio=0][active]
 \_ 5:0:0:0 sdb 8:16  [active][undef]
[root@xenserver-550-1 ~]# 

Pfade manuell ergänzen

Da die drei restlichen Pfade nicht automatisch erkannt werden (You might experience an issue where only one path becomes active. Other paths are not connected. To resolve this issue, log on to each path manually on the boot as follows.[2]), werden diese nun manuell ergänzt.

Die in der Citrix KB beschriebene Methode mit iscsi_discovery hat in unseren Tests mit der AX4 nicht funktioniert (das hat dazu geführt, dass die eine vorhandene iSCSI Verbindung auf der Konsole nicht mehr ersichtlich war). Folgende Schritte haben im Test funktioniert:

Zuerst werden die derzeit vorhandene Verbindung mittels iscsiadm -m session und die möglichen Pfade mittels iscsiadm -m node abgefragt:

[root@xenserver-550-1 ~]# iscsiadm -m session
tcp: [1] 172.31.1.150:3260,4 iqn.1992-04.com.emc:cx.sl7e2080300038.a0
[root@xenserver-550-1 ~]# iscsiadm -m node
172.31.2.150:3260,2 iqn.1992-04.com.emc:cx.sl7e2080300038.a1
172.31.1.151:3260,1 iqn.1992-04.com.emc:cx.sl7e2080300038.b0
172.31.1.150:3260,4 iqn.1992-04.com.emc:cx.sl7e2080300038.a0
172.31.2.151:3260,3 iqn.1992-04.com.emc:cx.sl7e2080300038.b1
[root@xenserver-550-1 ~]# 

Danach werden die Verbindungen zu den drei noch nicht verbundenen Targets erstellt:

[root@xenserver-550-1 ~]# iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.a1 -p 172.31.2.150 -l
Login session [iface: default, target: iqn.1992-04.com.emc:cx.sl7e2080300038.a1, portal: 172.31.2.150,3260]
[root@xenserver-550-1 ~]# iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.b0 -p 172.31.1.151 -l
Login session [iface: default, target: iqn.1992-04.com.emc:cx.sl7e2080300038.b0, portal: 172.31.1.151,3260]
[root@xenserver-550-1 ~]# iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.b1 -p 172.31.2.151 -l
Login session [iface: default, target: iqn.1992-04.com.emc:cx.sl7e2080300038.b1, portal: 172.31.2.151,3260]
[root@xenserver-550-1 ~]# 

Damit die neuen Pfade von multipathd erkannt werden ist ein Reload erforderlich:

[root@xenserver-550-1 ~]# multipath -l
3600601609711200044e7cf4e0751de11dm-0 DGC,RAID 10
[size=10G][features=1 queue_if_no_path][hwhandler=1 emc]
\_ round-robin 0 [prio=0][active]
 \_ 5:0:0:0 sdb 8:16  [active][undef]
[root@xenserver-550-1 ~]# /etc/init.d/multipathd reload
Reloading multipathd:                                      [  OK  ]
[root@xenserver-550-1 ~]# multipath -l
3600601609711200044e7cf4e0751de11dm-0 DGC,RAID 10
[size=10G][features=1 queue_if_no_path][hwhandler=1 emc]
\_ round-robin 0 [prio=0][enabled]
 \_ 5:0:0:0 sdb 8:16  [active][undef]
 \_ 6:0:0:0 sdc 8:32  [active][undef]
\_ round-robin 0 [prio=0][enabled]
 \_ 7:0:0:0 sdd 8:48  [active][undef]
 \_ 8:0:0:0 sde 8:64  [active][undef]
[root@xenserver-550-1 ~]# 

Damit stehen nun alle vier Pfade zur Verfügung. Im XenCenter wird allerdings weiterhin nur ein Pfad angezeigt:

XenServer55-iSCSI-14.png

Bei einem Ausfall von Pfaden (im Beispiel wird dazu ein Netzwerkkabel vom Server zum ersten Switch entfernt - zwei der vier Pfade fallen dadurch aus) zeigt dies XenCenter allerdings dann korrekt:

XenServer55-iSCSI-15.png XenServer55-iSCSI-16.png

Wird das Kabel wieder angesteckt, so werden alle vier Pfade als verfügbar angezeigt. Nach Bestätigung der Warnung verschwindet auch der Hinweis auf System Alerts rechts oben:

XenServer55-iSCSI-17.png XenServer55-iSCSI-18.png XenServer55-iSCSI-19.png

Anpassung /etc/rc.local

Damit die drei Zusatz-Pfade nach einem Reboot auch wieder verwendet werden, muss /etc/rc.local wie folgt ergänzt werden[2]. Zusätzlich zu den iscsiadm Logins laut der Citrix KB ist ein Reload des multipathd ebenfalls wieder erorderlich:

[root@xenserver-550-1 ~]# tail -n 4 /etc/rc.local 
iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.a1 -p 172.31.2.150 -l
iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.b0 -p 172.31.1.151 -l
iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.b1 -p 172.31.2.151 -l
/etc/init.d/multipathd reload
[root@xenserver-550-1 ~]# 

Im XenCenter wird zuerst wieder nur ein Pfad angezeigt. Es stehen aber bereits alle vier Pfade zur Verfügung.

Alternative zur Anpassung der /etc/rc.local

Neben der oben getesteten Anpassung der /etc/rc.local könnte auch folgendes Kommando helfen (diese Information wurde nach unseren Tests ergänzt, wir haben dies daher nicht getestet):

iscsiadm -m node -T <targetname> -p <ip address of iscsi target>:<listening port> --op update -n node.conn[0].startup -v automatic

Referenzen

  1. AX4 Planning Your AX-Series Storage-System Configuration (customized document)
  2. 2,0 2,1 2,2 Multipathing Overview for XenServer 5.0


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer, tätig im Bereich Communications / Knowledge Transfer bei Thomas-Krenn, hat sein Studium zu Computer- und Mediensicherheit an der FH Hagenberg abgeschlossen. Er ist regelmäßig Autor in Fachzeitschriften und Speaker bei Konferenzen wie LinuxCon, OSDC, OSMC, LinuxTag u.v.m. Seine Freizeit gestaltet er sehr abwechslungsreich. In einem Moment absolviert er seinen Abschluss im Klavierspielen, im anderen läuft er beim Linzmarathon in der Staffel mit oder interessiert sich für OpenStreetMap.


Das könnte Sie auch interessieren

SLES10 SP2 mit EMC iSCSI AX4-5i Multipathing mit DM-MPIO
SLES10 SP2 mit EMC iSCSI AX4-5i Multipathing mit EMC PowerPath
XenServer 5.6 reagiert nicht auf Systemen mit Nehalem und Westmere CPUs