[dm-devel] Multi-Path on SuSe

Diare, Aboubacar aboubacar.diare at hp.com
Tue Dec 14 17:48:45 UTC 2004


> it works (as far as I got it during the time I had) only
> basically if configured with dmsetup manually. I.e. it fails 
> over once if the primary path fails. How far did you get it working?

Well here is what I have:

1 DL585 running SLES 9 with kernel 2.6.5-7.111.5.  Two Qlogic HBAs using
the 8.00.00 driver. Each HBA is connected to a Fibre Channel switch
(Total of two switches).  Each switch also has a port from the target I
am using connected to it.  I am using HP arrays, XP128 and the XP12000,
two ports on each arrays.  

After installing the OS and kernel.  I dowloaded and installed udev-046
and tested that it worked by creating random rules and that works fine.
However udevd is not started by default at system boot time.  I had to
manually start it.
 
I then installed hotplug-2004-09-23.tar.gz

I installed device-mapper 1.00.19

I installed multipath-tools-0.3.9

I created the following /etc/multipath.conf file:

defaults {
        multipath_tool  "/sbin/multipath -v 0 -S"
        udev_dir        /dev
        polling_interval 10
        default_selector        "round-robin 0"
        default_path_grouping_policy    multibus
#       default_getuid_callout  "/sbin/scsi_id -g -u -s /block/%n"
        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
}

#
# name    : multipaths
# scope   : multipath & multipathd
# desc    : list of multipaths finest-grained settings
#
multipaths {
        #
        # name  : multipath
        # scope : multipath & multipathd
        # desc  : container for settings that apply to one specific
multipath
        #
        multipath {
                wwid
360060e800427f600000027f600000302
                alias                   Lun0
                path_grouping_policy    multibus
                path_checker            readsector0
                path_selector           "round-robin 0"
        }

 multipath {
                wwid
360060e800427f600000027f600000303
                alias                   Lun1
                path_grouping_policy    multibus
                path_checker          readsector0
                path_selector           "round-robin 0"
        }

}

# name  : devices
# scope : multipath & multipathd
# desc  : list of per storage controler settings
#         overrides default settings (device_maps block)
#         overriden by per multipath settings (multipaths block)
#
devices {
        #
        # name  : device
        # scope : multipath & multipathd
        # desc  : settings for this specific storage controler
        #
        device {
                #
                vendor                  "HP"
                product                 "OPEN-"
                path_grouping_policy    multibus
                getuid_callout          "/sbin/scsi_id -g -u -s
/block/%n"
                prio_callout          "/sbin/pp_balance_units %d"
                path_checker            readsector0
                path_selector           "round-robin 0"
        }

I started the udev daemon

I started the Multipathd daemon

And I get the following:

Dec 13 21:10:08 netsrv83 multipathd: --------start up-------- 
Dec 13 21:10:08 netsrv83 multipathd: start DM events thread 
Dec 13 21:10:08 netsrv83 multipathd: initial reconfigure multipath maps 
Dec 13 21:10:08 netsrv83 multipathd: no devmap found 
Dec 13 21:10:08 netsrv83 multipathd: path checkers start up 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 65:160 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 65:176 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 65:192 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 65:208 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 65:224 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 65:240 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 66:0 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 66:16 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 66:32 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 66:48 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 66:64 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 66:80 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 66:96 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 66:112 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 66:128 
Dec 13 21:10:08 netsrv83 multipathd: path checker startup : 66:144
 ...................... (more the the rest of the Luns)

Followed by the following after a little while:

Dec 13 21:12:40 netsrv83 multipathd: 67:64 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 67:80 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 67:96 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 67:112 : readsector0 checker
reports path is down 
Dec 13 21:12:40 netsrv83 multipathd: 67:128 : readsector0 checker
reports path is down 
Dec 13 21:12:40 netsrv83 multipathd: 67:144 : readsector0 checker
reports path is down 
Dec 13 21:12:40 netsrv83 multipathd: 67:160 : readsector0 checker
reports path is down 
Dec 13 21:12:40 netsrv83 multipathd: 67:176 : readsector0 checker
reports path is down 
Dec 13 21:12:40 netsrv83 multipathd: 67:192 : readsector0 checker
reports path is down 
Dec 13 21:12:40 netsrv83 multipathd: 67:208 : readsector0 checker
reports path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:16 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:32 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:48 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:64 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:80 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:96 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:112 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:128 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:144 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:160 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:176 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:192 : readsector0 checker reports
path is down 
Dec 13 21:12:40 netsrv83 multipathd: 8:208 : readsector0 checker reports
path is down


What I am trying to do is setup Multipathing just for Lun zero and Lun
one on the second storage device. My storage devices as seen by the HBA
are as follows:

SCSI Device Information: scsi-qla0-adapter-node=200000e08b177dc5;
scsi-qla0-adapter-port=210000e08b177dc5;
scsi-qla0-target-0=50060e8003c3de14;   <-- Target 1
scsi-qla0-target-1=50060e800427f611;    <-- Target 2


Running the command multipath -v 2 doesn't yield any output and /dev had
no dm device created.



> I didn't have time to figure out yet how it does the mapping
> setup via  
> /etc/udev.d/block/ as suggested by Christophe on 11/26. 
> It might depend on the SCSI-Devices you have, I get valid 
> WWIDs only with "/sbin/scsi_id -g -p 0x80 -s" but that 
> doesn't solve the problem 
> of autodetecting yet. 
>

SuSE does not have /etc/udev.d  it's /etc/udev instead but there is no
block folder under that path and I am not sure what you mean by setting
up the mapping via /etc/udev/block.   I get valid wwid with the default
scsi_id usage:
/sbin/scsi_id -g -u -s


> I got some beta packages from the upcomming SLES9-SP1 from 
> SuSE-Support (multipath-tools-0.3.6, device-mapper-1.00.19 + 
> appropriate kernel) but will/might have the opportunity to 
> test it not earlier than next week. 
> Novell/SuSE probably doesn't like publishing links of their 
> beta packages but I assume they like that their packages are 
> well tested- so you might call the helpful RSchmidt from SuSE 
> Support or refer to ftp.suse.com/pub/people/  - and give some 
> feedback.


I'll look into this.


Thanks.

Aboubacar.




More information about the dm-devel mailing list