[dm-devel] dm-multipath failover

Jims dm-devel at chaj.com
Wed Nov 24 22:10:44 UTC 2004


We have a Dell unit with 2 QLogic 23XX series cards which are providing
multipathing to 3 EMC volumes. We're looking to have a failover setup (with
/dev/sdc and /dev/sdf) so that if one of FC connects is pulled, multipathd
will reroute the path to the other card and also be able to reestablish the
connection when the Fiber is put back.

dmsetup is able to create the device in /udev (/udev/big01) and we're able to
mount it. When I pull an FC cable, the mount does indeed failover, however
when we put it back in and pull the other, we get a bunch of scsi errors and
the mount gets remounted in read-only mode. How can we remedy this? Any
similar experiences and/or suggestions? Thanks.

By the way, sda and sdb are the system drives. sdd,sde,sdg,sdh are other FC
drives that we're not working with right now.

our DMsetup table is as follows:

DMsetup table <<start>>
0 1885645370 multipath 2 round-robin 1 0 /dev/sdc round-robin 1 0 /dev/sdf
DMsetup table <<end>>

here is our multipath.conf:

multipath.conf <<start>>
defaults {
        multipath_tool  "/sbin/multipath -v 0 -S"
        udev_dir        /udev
        polling_interval 5
        default_selector        round-robin
        default_selector_args   0
        default_path_grouping_policy    failover
        default_getuid_callout  "/sbin/scsi_id -g -u -s"
        default_prio_callout    "/bin/false"
}

devnode_blacklist {
        devnode cciss
        devnode fd
        devnode hd
        devnode md
        devnode dm
        devnode sr
        devnode scd
        devnode st
        devnode ram
        devnode raw
        devnode loop
        devnode sda
        devnode sdb
}
multipaths {
        multipath {
                wwid    501566091000
                alias   big01
                path_grouping_policy    failover
                path_selector           round-robin
        }
}
devices {
        device {
                vendor                  "SEMC     "
                product                 "SYMMETRIX      "
                path_grouping_policy    failover
                getuid_callout          "/sbin/scsi_id -g -u -s"
                path_checker            readsector0
                path_selector           round-robin
        }
}
multipath.conf <<end>>

and finally output of multipath -v2

output <<start>>
#
# all paths :
#
SEMC_____SYMMETRIX______501566091000 (1 0 0 1) sdc [ready ] (8:32) [SYMMETRIX
]
SEMC_____SYMMETRIX______5015660D1000 (1 0 0 2) sdd [ready ] (8:48) [SYMMETRIX
]
SEMC_____SYMMETRIX______501566111000 (1 0 0 3) sde [ready ] (8:64) [SYMMETRIX
]
SEMC_____SYMMETRIX______501566091000 (2 0 0 1) sdf [ready ] (8:80) [SYMMETRIX
]
SEMC_____SYMMETRIX______5015660D1000 (2 0 0 2) sdg [ready ] (8:96) [SYMMETRIX
]
SEMC_____SYMMETRIX______501566111000 (2 0 0 3) sdh [ready ] (8:112) [SYMMETRIX
]
#
# all multipaths :
#
SEMC_____SYMMETRIX______501566091000 [SYMMETRIX       ]
 \_(1 0 0 1) sdc [ready ] (8:32)
 \_(2 0 0 1) sdf [ready ] (8:80)
SEMC_____SYMMETRIX______5015660D1000 [SYMMETRIX       ]
 \_(1 0 0 2) sdd [ready ] (8:48)
 \_(2 0 0 2) sdg [ready ] (8:96)
SEMC_____SYMMETRIX______501566111000 [SYMMETRIX       ]
 \_(1 0 0 3) sde [ready ] (8:64)
 \_(2 0 0 3) sdh [ready ] (8:112)
#
# device maps :
#
create:SEMC_____SYMMETRIX______501566091000:0 1885655040 multipath 2
round-robin 1 0 8:80 round-robin 1 0 8:32
create:SEMC_____SYMMETRIX______5015660D1000:0 1885655040 multipath 2
round-robin 1 0 8:96 round-robin 1 0 8:48
create:SEMC_____SYMMETRIX______501566111000:0 1885655040 multipath 2
round-robin 1 0 8:112 round-robin 1 0 8:64
output <<end>>

Help please.




More information about the dm-devel mailing list