SLES10 SP2 mit EMC iSCSI AX4-5i Multipathing mit EMC PowerPath

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

Dieser Artikel beschreibt die Konfiguration von Multipathing mit EMC PowerPath unter SLES10SP2. Die notwendige Basiskonfiguration zeigt der Ariktel SLES10 SP2 mit EMC iSCSI AX4-5i Multipathing Basiskonfiguration.

Hinweis: Bei diesem Beispiel wird die Standard-iSCSI-Konfiguration verwendet (mit node.session.timeo.replacement_timeout von 120 Sekunden). Um eine schnellere Umschaltzeit bei einem Pfadausfall zu bekommen, kann dieser Wert verringert werden. Siehe dazu auch die weiteren Informationen im Artikel ISCSI Multipathing unter Linux.

Performance über einen Pfad ohne PowerPath

Wie im Artikel zur Basiskonfiguration gezeigt, stehen im Beispiel vier logische Pfade zur Verfügung. Davon sind zwei Pfade (jene die zum aktiven Controller für das logical drive gehen) aktiv nutzbar. Ein kurzer Performance-Test über einen dieser Pfade liefert knapp 87 MB/sec:

sles10sp2:~ # dd if=/dev/zero of=/dev/sdd bs=1G count=1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 12.4124 seconds, 86.5 MB/s
sles10sp2:~ # 

PowerPath installieren

PowerPath kann von EMC Kunden über PowerLink[1] heruntergeladen werden. Danach wird PowerPath installiert und gestartet:

sles10sp2:~ # rpm -ihv EMCpower.LINUX-5.3.0.00.00-185.sles10sp2.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:EMCpower.LINUX         ########################################### [100%]
All trademarks used herein are the property of their respective owners.
NOTE:License registration is not required to manage the CLARiiON AX series array.
sles10sp2:~ # /etc/init.d/PowerPath start
Starting PowerPath:                                                   done
sles10sp2:~ # powermt version
EMC powermt for PowerPath (c) Version 5.3 (build 185)
sles10sp2:~ # 

Hinweis: Um den PowerPath Management Daemon nutzen zu können ist der snmpd notwendig. Ansonsten kommt folgender Hinweis in /var/log/messages:

Jun  5 13:55:13 sles10sp2 root: PowerPath: Unable to start PowerPath Management Daemon. You must configure and start net-snmp snmpd

PowerPath Informationen

Das Kommando powermt display dev=all zeigt Informationen zu den verbundenen Devices:

sles10sp2:~ # powermt display dev=all
Pseudo name=emcpowera
CLARiiON ID=SL7E2080300038 [sles10sp2.thomas-krenn.com]
Logical device ID=600601609711200044E7CF4E0751DE11 [Virtual Disk 1]
state=alive; policy=CLAROpt; priority=0; queued-IOs=0
Owner: default=SP A, current=SP A	Array failover mode: 1
==============================================================================
---------------- Host ---------------   - Stor -   -- I/O Path -  -- Stats ---
###  HW Path                I/O Paths    Interf.   Mode    State  Q-IOs Errors
==============================================================================
   3 iSCSI Initiator over TCP/I sdb       SP B0     active  alive      0      0
   5 iSCSI Initiator over TCP/I sdc       SP B1     active  alive      0      0
   4 iSCSI Initiator over TCP/I sdd       SP A1     active  alive      0      0
   6 iSCSI Initiator over TCP/I sde       SP A0     active  alive      0      0



sles10sp2:~ # 

Performance mit PowerPath

Der Zugriff auf das logical drive erfolgt nun über das Device /dev/emcpowera. Der kurze Performance-Test hier ergibt nun 108 MB/sec:

sles10sp2:~ # dd if=/dev/zero of=/dev/emcpowera bs=1G count=1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 9.97066 seconds, 108 MB/s
sles10sp2:~ # 

Ausfall eines Pfades

Um einen Ausfall zu simulieren, wird das Netzwerkkabel vom Server zum ersten Switch abgesteckt. Gleichzeitig läuft wieder der obige Performance-Test damit das System während des Tests unter I/O Last steht. In /var/log/messages sind folgende Informationen zu sehen:

Jun  5 14:25:46 sles10sp2 kernel: e1000: eth1: e1000_watchdog_task: NIC Link is Down
Jun  5 14:25:52 sles10sp2 kernel: ping timeout of 5 secs expired, last rx 4296444002, last ping 4296445252, now 4296446502
Jun  5 14:25:52 sles10sp2 kernel:  connection1:0: iscsi: detected conn error (1011)
Jun  5 14:25:53 sles10sp2 iscsid: semop up failed 22
Jun  5 14:25:55 sles10sp2 kernel: ping timeout of 5 secs expired, last rx 4296444698, last ping 4296445948, now 4296447198
Jun  5 14:25:55 sles10sp2 kernel:  connection4:0: iscsi: detected conn error (1011)
Jun  5 14:25:55 sles10sp2 iscsid: semop up failed 22
Jun  5 14:26:22 sles10sp2 iscsid: semop up failed 22
[...]
Jun  5 14:27:48 sles10sp2 iscsid: semop up failed 22
Jun  5 14:27:53 sles10sp2 kernel:  session1: iscsi: session recovery timed out after 120 secs
Jun  5 14:27:53 sles10sp2 iscsid: semop up failed 22
Jun  5 14:27:54 sles10sp2 iscsid: semop up failed 22
Jun  5 14:27:55 sles10sp2 kernel:  session4: iscsi: session recovery timed out after 120 secs
Jun  5 14:27:55 sles10sp2 kernel: iscsi: cmd 0x2a is not queued (8)
[...]
Jun  5 14:27:57 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:27:57 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:27:57 sles10sp2 kernel: Error:Mpx:Path Bus 6 Tgt 0 Lun 0 to SL7E2080300038 is dead.
Jun  5 14:27:57 sles10sp2 kernel: Error:Mpx:Killing bus 6 to Clariion   SL7E2080300038 port SP A0.
Jun  5 14:27:57 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:27:57 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:27:57 sles10sp2 kernel: Error:Mpx:Path Bus 3 Tgt 0 Lun 0 to SL7E2080300038 is dead.
Jun  5 14:27:57 sles10sp2 kernel: Error:Mpx:Killing bus 3 to Clariion   SL7E2080300038 port SP B0.
Jun  5 14:27:59 sles10sp2 iscsid: semop up failed 22
Jun  5 14:28:00 sles10sp2 iscsid: semop up failed 22
Jun  5 14:28:05 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:28:05 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:28:05 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:28:05 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:28:05 sles10sp2 iscsid: semop up failed 22
Jun  5 14:28:06 sles10sp2 iscsid: semop up failed 22
[...]

Zum Zeitpunkt des Pfadausfalles bleibt der I/O für ca. knapp 2 Minuten stehen. Anschließend läuft der I/O wieder weiter. Auch Performance-Test läuft weiter und wird schließlich ohne Fehler (allerdings natürlich mit geringerer Performance) beendet.

powermt zeigt nun folgenden Status:

sles10sp2:~ # powermt display dev=all
Pseudo name=emcpowera
CLARiiON ID=SL7E2080300038 [sles10sp2.thomas-krenn.com]
Logical device ID=600601609711200044E7CF4E0751DE11 [Virtual Disk 1]
state=alive; policy=CLAROpt; priority=0; queued-IOs=129
Owner: default=SP A, current=SP A	Array failover mode: 1
==============================================================================
---------------- Host ---------------   - Stor -   -- I/O Path -  -- Stats ---
###  HW Path                I/O Paths    Interf.   Mode    State  Q-IOs Errors
==============================================================================
   3 iSCSI Initiator over TCP/I sdb       SP B0     active  dead       0      1
   5 iSCSI Initiator over TCP/I sdc       SP B1     active  alive      0      0
   4 iSCSI Initiator over TCP/I sdd       SP A1     active  alive    129      0
   6 iSCSI Initiator over TCP/I sde       SP A0     active  dead       0      1



sles10sp2:~ # 

weiterer Ausfall

Nun wird noch die Kabelverbindung vom Switch 2 zum Port SP A1 entfernt. Somit ist der aktive Controller SPA nicht mehr übers Netzwerk erreichbar. PowerPath erkennt dies und schaltet dazu das logical drive auf den Controller SPB. Auch dieser Test erfolgte wieder unter I/O Last. Hier der zugehörige Ausschnitt aus /var/log/messages:

Jun  5 14:37:30 sles10sp2 iscsid: semop up failed 22
Jun  5 14:37:31 sles10sp2 iscsid: semop up failed 22
Jun  5 14:37:33 sles10sp2 kernel: ping timeout of 5 secs expired, last rx 4296619217, last ping 4296616024, now 4296621717
Jun  5 14:37:33 sles10sp2 kernel:  connection2:0: iscsi: detected conn error (1011)
Jun  5 14:37:33 sles10sp2 iscsid: semop up failed 22
Jun  5 14:38:05 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:38:05 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:38:05 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:38:05 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:38:38 sles10sp2 iscsid: semop up failed 22
Jun  5 14:38:42 sles10sp2 iscsid: semop up failed 22
[...]
Jun  5 14:40:35 sles10sp2 iscsid: semop up failed 22
Jun  5 14:40:36 sles10sp2 iscsid: semop up failed 22
Jun  5 14:40:38 sles10sp2 kernel:  session2: iscsi: session recovery timed out after 120 secs
Jun  5 14:40:38 sles10sp2 kernel: iscsi: cmd 0x2a is not queued (8)
Jun  5 14:40:38 sles10sp2 kernel: iscsi: cmd 0x2a is not queued (8)
[...]
Jun  5 14:40:45 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:40:45 sles10sp2 kernel: Error:Mpx:Path Bus 4 Tgt 0 Lun 0 to SL7E2080300038 is dead.
Jun  5 14:40:45 sles10sp2 kernel: Error:Mpx:Killing bus 4 to Clariion   SL7E2080300038 port SP A1.
Jun  5 14:40:45 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:40:45 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:40:45 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:40:45 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:40:45 sles10sp2 kernel: Info:Mpx:Assigned volume 600601609711200044E7CF4E0751DE11 to SPB
Jun  5 14:40:46 sles10sp2 iscsid: semop up failed 22
Jun  5 14:40:47 sles10sp2 iscsid: semop up failed 22
Jun  5 14:40:48 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:40:48 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Jun  5 14:40:49 sles10sp2 iscsid: semop up failed 22
[...]

Auch in diesem Test läuft der I/O nach einer kurzen Unterbrechung wieder weiter.

Konfiguration sichern

Mittels

powermt save

kann die PowerPath Konfiguration gesichert werden.

weitere powermt Optionen

Das PowerPath Management Utility powermt bietet die folden Optionen und Parameter:

sles10sp2:~ # powermt --help
Usage:
  powermt <command> [class=all|clariion|ess|hitachi|hphsx|hpxp|invista|symm]

  powermt check [force] [hba=<hba#>|all] [dev=<device>|all]
  powermt check_registration
  powermt config
  powermt disable hba=<hba#> 
  powermt display nonvirtual {dev=<device>|all} [every=<#seconds>] [class=invista|all]
		[width=<#col>]
  powermt display [ports] [dev=<device>|all] [every=<#seconds>]
		[width=<#col>]
  powermt display hba_mode 
  powermt display latency [dev=<device>|all] [every=<#seconds>]
		[width=<#col>]
  powermt display options
  powermt display paths  [every=<#seconds>] [width=<#col>]
  powermt display port_mode 
  powermt display unmanaged
  powermt enable hba=<hba#> 
  powermt load [file=<filename>]
  powermt manage {dev=<device> | class=<storage array class>}
  powermt release
  powermt remove [force] hba=<hba#>|all | dev=<device>|all
  powermt restore [hba=<hba#>|all] [dev=<device>|all]
  powermt save [file=<filename>]
  powermt set mode=active|standby [hba=<hba#>|all] [dev=<device>|all]
  powermt set path_latency_monitor=on|off
  powermt set path_latency_threshold=<seconds>
  powermt set periodic_autorestore=on|off
  powermt set policy={ad|bf|co|lb|li|nr|re|rr|so|si} [dev=<device>|all]
  powermt set port_disable={true|false} dev=<device>
  powermt set priority=<priority> [dev=<device>|all]
  powermt unmanage {dev=<device> | class=<storage array class>}
  powermt update lun_names
  powermt version [format={verbose|legacy}]

sles10sp2:~ # 

Referenzen

  1. https://powerlink.emc.com/

Weitere Informationen

Weitere Informationen finden Sie in folgenden EMC Dokumenten:


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
Systemanalyse mit siga unter SLES
YaST verliert Default Gateway bei der Konfiguration weiterer NICs