SLES10 SP2 mit EMC iSCSI AX4-5i Multipathing mit DM-MPIO
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird. Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar. |
---|
Dieser Artikel beschreibt die Konfiguration von Multipathing mit dem Linux Device Mapper MPIO (Multipath I/O) 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 DM-MPIO
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 ca. 85 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.6143 seconds, 85.1 MB/s sles10sp2:~ #
DM-MPIO einrichten
Dazu wird im ersten Schritt der multipathd einfach gestartet:
sles10sp2:~ # /etc/init.d/multipathd start Starting multipathd done sles10sp2:~ #
DM-MPIO Informationen
Informationen zu den vorhanden Pfaden können mit multipath -ll
angezeigt werden:
sles10sp2:~ # multipath -ll 3600601609711200044e7cf4e0751de11 dm-0 DGC,RAID 10 [size=10G][features=1 queue_if_no_path][hwhandler=1 emc] \_ round-robin 0 [prio=2][active] \_ 4:0:0:0 sde 8:64 [active][ready] \_ 6:0:0:0 sdd 8:48 [active][ready] \_ round-robin 0 [prio=0][enabled] \_ 3:0:0:0 sdb 8:16 [active][ready] \_ 5:0:0:0 sdc 8:32 [active][ready] sles10sp2:~ # cat /proc/partitions major minor #blocks name 8 0 160836480 sda 8 1 104391 sda1 8 2 2104515 sda2 8 3 10490445 sda3 8 32 10485760 sdc 8 16 10485760 sdb 8 48 10485760 sdd 8 64 10485760 sde 253 0 10485760 dm-0 sles10sp2:~ #
Performance mit DM-MPIO
Der Zugriff auf das logical drive erfolgt nun über das Device /dev/dm-0. Der kurze Performance-Test hier ergibt nun rund 90 MB/sec:
sles10sp2:~ # dd if=/dev/zero of=/dev/dm-0 bs=1G count=1 oflag=direct 1+0 records in 1+0 records out 1073741824 bytes (1.1 GB) copied, 11.9175 seconds, 90.1 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 10 15:16:40 sles10sp2 kernel: e1000: eth2: e1000_watchdog_task: NIC Link is Down Jun 10 15:16:45 sles10sp2 kernel: ping timeout of 5 secs expired, last rx 4296229615, last ping 4296230865, now 4296232115 Jun 10 15:16:45 sles10sp2 kernel: connection3:0: iscsi: detected conn error (1011) Jun 10 15:16:45 sles10sp2 iscsid: Kernel reported iSCSI connection 3:0 error (1011) state (3) Jun 10 15:16:50 sles10sp2 kernel: ping timeout of 5 secs expired, last rx 4296230793, last ping 4296225843, now 4296233293 Jun 10 15:16:50 sles10sp2 kernel: connection2:0: iscsi: detected conn error (1011) Jun 10 15:16:50 sles10sp2 iscsid: Kernel reported iSCSI connection 2:0 error (1011) state (3) Jun 10 15:17:55 sles10sp2 kernel: sd 4:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:17:55 sles10sp2 kernel: end_request: I/O error, dev sde, sector 2509824 Jun 10 15:17:55 sles10sp2 kernel: device-mapper: multipath: Failing path 8:64. Jun 10 15:17:55 sles10sp2 kernel: sd 4:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:17:55 sles10sp2 kernel: end_request: I/O error, dev sde, sector 2510848 Jun 10 15:17:55 sles10sp2 kernel: sd 4:0:0:0: SCSI error: return code = 0x00020000 [...] Jun 10 15:18:43 sles10sp2 iscsid: connect failed (113) Jun 10 15:18:45 sles10sp2 iscsid: connect failed (113) Jun 10 15:18:45 sles10sp2 kernel: session3: iscsi: session recovery timed out after 120 secs Jun 10 15:18:49 sles10sp2 iscsid: connect failed (113) Jun 10 15:18:51 sles10sp2 iscsid: connect failed (113) [...] Jun 10 15:19:46 sles10sp2 iscsid: connect failed (113) Jun 10 15:19:51 sles10sp2 iscsid: connect failed (113) Jun 10 15:19:52 sles10sp2 iscsid: connect failed (113) Jun 10 15:19:55 sles10sp2 kernel: session2: iscsi: session recovery timed out after 120 secs Jun 10 15:19:55 sles10sp2 kernel: iscsi: cmd 0x2a is not queued (8) Jun 10 15:19:55 sles10sp2 kernel: iscsi: cmd 0x2a is not queued (8) [...] Jun 10 15:20:00 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8) Jun 10 15:20:00 sles10sp2 kernel: sd 4:0:0:0: SCSI error: return code = 0x00010000 Jun 10 15:20:00 sles10sp2 kernel: end_request: I/O error, dev sde, sector 2588672 Jun 10 15:20:00 sles10sp2 kernel: iscsi: cmd 0x2a is not queued (8) Jun 10 15:20:00 sles10sp2 multipathd: sdc: emc_clariion_checker: query command indicates error Jun 10 15:20:00 sles10sp2 kernel: sd 4:0:0:0: SCSI error: return code = 0x00010000 Jun 10 15:20:00 sles10sp2 multipathd: checker failed path 8:32 in map 3600601609711200044e7cf4e0751de11 Jun 10 15:20:00 sles10sp2 kernel: end_request: I/O error, dev sde, sector 2589696 Jun 10 15:20:00 sles10sp2 kernel: sd 4:0:0:0: SCSI error: return code = 0x00010000 [...] Jun 10 15:20:01 sles10sp2 kernel: end_request: I/O error, dev sde, sector 2619392 Jun 10 15:20:01 sles10sp2 kernel: sd 4:0:0:0: SCSI error: return code = 0x00010000 Jun 10 15:20:01 sles10sp2 kernel: end_request: I/O error, dev sde, sector 2620416 Jun 10 15:20:01 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8) Jun 10 15:20:01 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8) Jun 10 15:20:01 sles10sp2 kernel: device-mapper: multipath: Failing path 8:32. Jun 10 15:20:03 sles10sp2 iscsid: connect failed (113) Jun 10 15:20:04 sles10sp2 iscsid: connect failed (113)
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.
multipath zeigt nun folgenden Status:
sles10sp2:~ # multipath -ll sde: emc prio: query command indicates error sdc: emc prio: query command indicates error 3600601609711200044e7cf4e0751de11 dm-0 DGC,RAID 10 [size=10G][features=1 queue_if_no_path][hwhandler=1 emc] \_ round-robin 0 [prio=1][active] \_ 4:0:0:0 sde 8:64 [failed][faulty] \_ 6:0:0:0 sdd 8:48 [active][ready] \_ round-robin 0 [prio=0][enabled] \_ 3:0:0:0 sdb 8:16 [active][ready] \_ 5:0:0:0 sdc 8:32 [failed][faulty] 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. DM-MPIO 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 10 15:23:02 sles10sp2 kernel: ping timeout of 5 secs expired, last rx 4296323991, last ping 4296325241, now 4296326491 Jun 10 15:23:02 sles10sp2 kernel: connection4:0: iscsi: detected conn error (1011) Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:23:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1083392 Jun 10 15:23:03 sles10sp2 kernel: device-mapper: multipath: Failing path 8:48. Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:23:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1076224 Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:23:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1068032 [...] Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:23:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1061888 Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:23:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1062912 Jun 10 15:23:03 sles10sp2 iscsid: Kernel reported iSCSI connection 4:0 error (1011) state (3) Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:23:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1089536 Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:23:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1090560 [...] Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: rejecting I/O to blocked device Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: rejecting I/O to blocked device Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:23:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1063936 Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:23:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1064960 [...] Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:23:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1087488 Jun 10 15:23:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00020000 Jun 10 15:23:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1067008 Jun 10 15:23:03 sles10sp2 kernel: device-mapper: multipath emc: emc_pg_init: sending switch-over command Jun 10 15:23:07 sles10sp2 iscsid: connect failed (113) Jun 10 15:23:09 sles10sp2 iscsid: connect failed (113) [...] Jun 10 15:25:02 sles10sp2 iscsid: connect failed (113) Jun 10 15:25:03 sles10sp2 kernel: session4: iscsi: session recovery timed out after 120 secs Jun 10 15:25:03 sles10sp2 kernel: iscsi: cmd 0x2a is not queued (8) Jun 10 15:25:03 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8) Jun 10 15:25:03 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8) Jun 10 15:25:03 sles10sp2 kernel: iscsi: cmd 0x2a is not queued (8) Jun 10 15:25:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00010000 Jun 10 15:25:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1094656 Jun 10 15:25:03 sles10sp2 kernel: sd 6:0:0:0: SCSI error: return code = 0x00010000 Jun 10 15:25:03 sles10sp2 kernel: end_request: I/O error, dev sdd, sector 1211392 Jun 10 15:25:03 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8) Jun 10 15:25:03 sles10sp2 multipathd: sdd: emc_clariion_checker: query command indicates error Jun 10 15:25:03 sles10sp2 multipathd: checker failed path 8:48 in map 3600601609711200044e7cf4e0751de11 Jun 10 15:25:03 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8) Jun 10 15:25:03 sles10sp2 kernel: iscsi: cmd 0x12 is not queued (8)
Auch in diesem Test läuft der I/O nach einer kurzen Unterbrechung wieder weiter.
Der Status wird nun wie folgt angezeigt:
sles10sp2:~ # multipath -ll sde: emc prio: query command indicates error sdd: emc prio: query command indicates error sdc: emc prio: query command indicates error 3600601609711200044e7cf4e0751de11 dm-0 DGC,RAID 10 [size=10G][features=1 queue_if_no_path][hwhandler=1 emc] \_ round-robin 0 [prio=0][enabled] \_ 4:0:0:0 sde 8:64 [failed][faulty] \_ 6:0:0:0 sdd 8:48 [failed][faulty] \_ round-robin 0 [prio=0][active] \_ 3:0:0:0 sdb 8:16 [active][ready] \_ 5:0:0:0 sdc 8:32 [failed][faulty] sles10sp2:~ #
Weitere Informationen
Weitere Informationen finden Sie in folgenden EMC Dokumenten, die für registrierte EMC Kunden über PowerLink abgerufen werden können:
- 300-003-575.pdf (Native Multipath Failover Based on DM-MPIO for v2.6.x Linux Kernel and EMC® Storage Arrays)
Autor: Werner Fischer Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.
|