Hello list, 

we use linux software raid (md) to do host based mirroring of 2 SAN storage 
systems. We also use clustering for high availability. We use DMMP for 
multipathing. This enables us to build fully redundant disaster recovery 
solutions. Our setup look like this (logical view):

-----------------------------
|        filesystem (xfs)   |
----------------------------
|         lvm lv            |
-----------------------------
|         lvm vg            |
-----------------------------
|    md device  (/dev/mdY)  |
-----------------------------
| dmmp device | dmmp device |
| (/dev/dm-X) | (/dev/dm-Y) |
-----------------------------
|  sda | sdb  |  sdc | sdd  |
-----------------------------
| Storage LUN | Storage LUN |
| (Storage 1) | (Storage 2) |
-----------------------------

However, we did some testing of our setup and one test was pulling all fibre 
channel cables from a server. During the test we used a broken Mirror (only one 
DMMP device active in the mirror). The remaining disk was a DMMP Device: 
/dev/dm-X. DMMP is configured to report I/O errors up the stack if all path's 
are dead (no_path_retry=fail). When we pulled all the cables, DMMP detects the 
path failures after aprox. 60 seconds. Because all path's are dead, the DMMP 
device is declared dead. I/O to the DMMP device fails.

  mdadm -E /dev/dm-X returns "Could not read md superblock on device"

  dd if=/dev/dm-X of=/dev/null bs=1M count=1

also returns I/O errors.

The problem is that all I/O to the md device is queued and retried forever. The 
/var/log/messages file shows: 

SCSI ERROR .. Return code = 0x10000
[... Many times ...]
SCSI ERROR .. Return code = 0x10000
raid1: dm-12 resheduling sector 0

This returns in an endless loop until I shut down the machine. 

This does not allow our cluster to do a clean failover of the device, because 
it can not deactivate lv logical volumes on top of the md device. The "lvchange 
-an" call hangs forever. I think this issue is no DMMP sepcific and should be 
the same for all devices. 

The kernel we use is SLES9 SP3 kernel on IA64. 

Is there a config option or a later version of the MD kernel code / tools that 
report I/O errors up the stack if the last disk in a md device fails ? 

If there is a later version, we may be able to get the patch back to the SLES9 
kernel by our SuSE support agreement. 

Regards, 
Robert 

------------------------------------------------------------------------
COMPUTER CONCEPT 
CC Computersysteme und Kommunikationstechnik GmbH 
Robert Heinzmann
Wiener Str. 114 - 116           Email:  [EMAIL PROTECTED]
01219 Dresden                   Telefon:        +49 (351) 8 76 92-0
                                        Telefax:        +49 (351) 8 76 92-99
                                        Internet:       http://www.cc-dresden.de
Handelregister Dresden, HRB 214
Geschäftsführer: Gerd Jelinek
------------------------------------------------------------------------ 
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to