[dm-devel] failover does not work with rdac device handler

Chandra Seetharaman sekharan at us.ibm.com
Fri Jun 26 00:56:29 UTC 2009


On Wed, 2009-06-24 at 18:09 +0200, Mario Mech wrote:
> Hi,
> 
> I need help with a similar or even the same issue as in the thread mentioned in the Subject 
> (https://www.redhat.com/archives/dm-devel/2008-October/msg00130.html).

My bad. I had some issues during debug and never got back to it.

Will send couple of patches by tomorrow to fix this problem.
 
> 
> On two PowerEdge 2970 with CentOS 5.3 connected to a MD3000i I get the following messages in /var/log/messages
> 
> Jun 24 17:57:49 ninja multipathd: dm-3: add map (uevent)
> Jun 24 17:57:49 ninja kernel: end_request: I/O error, dev sdc, sector 530184
> Jun 24 17:57:49 ninja kernel: device-mapper: multipath: Failing path 8:32.
> Jun 24 17:57:49 ninja multipathd: dm-3: devmap already registered
> Jun 24 17:57:49 ninja multipathd: 8:32: mark as failed
> Jun 24 17:57:49 ninja multipathd: mpath8: remaining active paths: 3
> Jun 24 17:57:49 ninja multipathd: dm-3: add map (uevent)
> Jun 24 17:57:49 ninja kernel: end_request: I/O error, dev sdd, sector 530184
> Jun 24 17:57:49 ninja kernel: device-mapper: multipath: Failing path 8:48.
> Jun 24 17:57:49 ninja kernel: device-mapper: multipath: Cannot failover device because scsi_dh_rdac was not loaded.
> Jun 24 17:57:49 ninja kernel: device-mapper: multipath: Failing path 8:80.
> Jun 24 17:57:49 ninja kernel: device-mapper: multipath: Could not failover device. Error 15.
> Jun 24 17:57:49 ninja kernel: device-mapper: multipath: Cannot failover device because scsi_dh_rdac was not loaded.
> Jun 24 17:57:49 ninja kernel: device-mapper: multipath: Failing path 8:64.
> Jun 24 17:57:49 ninja kernel: device-mapper: multipath: Could not failover device. Error 15.
> Jun 24 17:57:49 ninja kernel: GFS2: fsid=ninjo_cluster:gfsfs.0: gfs2_quotad: statfs error -5
> Jun 24 17:57:49 ninja multipathd: dm-3: devmap already registered
> Jun 24 17:57:50 ninja multipathd: dm-3: add map (uevent)
> Jun 24 17:57:50 ninja multipathd: dm-3: devmap already registered
> Jun 24 17:57:50 ninja multipathd: dm-3: add map (uevent)
> Jun 24 17:57:50 ninja multipathd: dm-3: devmap already registered
> Jun 24 17:57:50 ninja multipathd: 8:48: mark as failed
> Jun 24 17:57:50 ninja multipathd: mpath8: remaining active paths: 2
> Jun 24 17:57:50 ninja multipathd: 8:64: mark as failed
> Jun 24 17:57:50 ninja multipathd: mpath8: remaining active paths: 1
> Jun 24 17:57:50 ninja multipathd: 8:80: mark as failed
> Jun 24 17:57:50 ninja multipathd: mpath8: remaining active paths: 0
> Jun 24 17:57:54 ninja multipathd: 8:32: reinstated
> Jun 24 17:57:54 ninja multipathd: mpath8: remaining active paths: 1
> Jun 24 17:57:54 ninja multipathd: dm-3: add map (uevent)
> Jun 24 17:57:54 ninja multipathd: dm-3: devmap already registered
> Jun 24 17:57:55 ninja multipathd: 8:64: reinstated
> Jun 24 17:57:55 ninja multipathd: mpath8: remaining active paths: 2
> Jun 24 17:57:55 ninja multipathd: 8:80: reinstated
> Jun 24 17:57:55 ninja multipathd: mpath8: remaining active paths: 3
> Jun 24 17:57:55 ninja multipathd: 8:48: reinstated
> Jun 24 17:57:55 ninja multipathd: mpath8: remaining active paths: 4
> Jun 24 17:57:55 ninja multipathd: dm-3: add map (uevent)
> Jun 24 17:57:55 ninja multipathd: dm-3: devmap already registered
> Jun 24 17:57:55 ninja multipathd: dm-3: add map (uevent)
> Jun 24 17:57:55 ninja multipathd: dm-3: devmap already registered
> Jun 24 17:57:55 ninja multipathd: dm-3: add map (uevent)
> Jun 24 17:57:55 ninja multipathd: dm-3: devmap already registered
> 
> The following additional information can I provide.
> 
> [root at ninja redhat]# lsmod | egrep 'rdac|multi'
> scsi_dh_rdac           40897  1
> dm_multipath           55257  2 dm_round_robin
> scsi_dh                41665  2 scsi_dh_rdac,dm_multipath
> dm_mod                100369  18 dm_multipath,dm_raid45,dm_snapshot,dm_zero,dm_mirror,dm_log
> scsi_mod              196569  10 scsi_dh_rdac,ib_iser,iscsi_tcp,libiscsi,scsi_transport_iscsi,scsi_dh,sg,libata,megaraid_sas,sd_mod
> 
> [root at ninja redhat]# multipath -ll
> mpath8 (360024e80004ec0de000010324a373eeb) dm-3 DELL,MD3000i
> [size=7.5T][features=0][hwhandler=1 rdac][rw]
> \_ round-robin 0 [prio=200][enabled]
>   \_ 7:0:0:0  sde 8:64  [active][ghost]
>   \_ 5:0:0:0  sdf 8:80  [active][ghost]
> \_ round-robin 0 [prio=0][enabled]
>   \_ 8:0:0:0  sdd 8:48  [active][ready]
>   \_ 6:0:0:0  sdc 8:32  [active][ready]
> 
> The multipath version shipped with CentOS 5.3 is multipath-tools v0.4.7 (03/12, 2006).
> 
> As I've seen in the mentioned thread something like
> 
> echo rdac > /sys/block/sd?/device/dh_state
> 
> should fix at least the failover problem.
> 
> But I do not see any dh_state in /sys/block/sd?/device/ and I'm not allowed (even as root) to do anything like:
> 
> for i in c d e f; do echo rdac > /sys/block/sd$i/device/dh_state; done
> 
> At the moment I'd like to avoid building the multipath package by myself with the patch provided in the afore mentioned thread.

The changes are in kernel code.
> 
> Do you have any ideas? Or is a different problem I have.

It is the same problem and I am afraid that you do not have a way out.

May be next version of RHEL might add your device to rdac_dev_list (if
you could do that that would fix the problem).

> 
> Every help is appreciated.
> 
> All best
> 
> Mario
> 




More information about the dm-devel mailing list