Hello, I have just successfully configured most of Multipath on my system, which is: Fedora Core 3 Test 3 kernel 2.6.10-rc1, with latest udm patches (not kgdb) multipath v0.3.5 This CPU hosts a Qlogic 2200, which is attached to a Brocade Silkworm 2400 via one fiber. There is one target storage enclosure attached to the same Brocade via two controllers/fibers. The storage enclosure advertises the same 3 LUNs through each of those controllers. Thus there are two paths from the CPU to each LUN. This is reflected in the output from /sbin/multipath -v 2 below. Now, I'd like to alias the LUN devices to something like /dev/lun0, /dev/lun1, and /dev/lun2. Currently I only have default device mapper devices (/dev/dm-*, 5 of them, which I don't understand yet). I tried to do this aliasing in /etc/multipath.conf, included below. But the only impact I've seen from this is in the output from /sbin/multipath, below. I.e. Lines in the last section starting with 'reload:lun0:0 ...'. I have also added udev rules to create the lun[0-2] devices, next to the default ones provided by multipath. They don't seem to take. So, can anyone advise on how to make the aliases in /etc/multipath.conf appear in /dev somewhere? Thanks for everything, Vince Virgilio # --- cut --- begin output from /sbin/multipath -v 2 # # all paths : # 20080e5000011b784 (0 0 0 0) sda [ready ] [DACARMRB ] 20080e5000111b784 (0 0 0 1) sdb [ready ] [DACARMRB ] 20080e5000211b784 (0 0 0 2) sdc [ready ] [DACARMRB ] 20080e5000011b784 (0 0 1 0) sdd [ready ] [DACARMRB ] 20080e5000111b784 (0 0 1 1) sde [ready ] [DACARMRB ] 20080e5000211b784 (0 0 1 2) sdf [ready ] [DACARMRB ] # # all multipaths : # lun0 (20080e5000011b784) [DACARMRB ] \_(0 0 0 0) sda [ready ] \_(0 0 1 0) sdd [ready ] lun1 (20080e5000111b784) [DACARMRB ] \_(0 0 0 1) sdb [ready ] \_(0 0 1 1) sde [ready ] lun2 (20080e5000211b784) [DACARMRB ] \_(0 0 0 2) sdc [ready ] \_(0 0 1 2) sdf [ready ] # # device maps : # reload:lun0:0 699998208 multipath 1 round-robin 2 0 8:0 8:48 reload:lun1:0 699998208 multipath 1 round-robin 2 0 8:16 8:64 reload:lun2:0 1049997312 multipath 1 round-robin 2 0 8:32 8:80 # --- cut --- begin /etc/multipath.conf # # name : defaults # desc : multipath-tools default settings # defaults { # # name : multipath_tool # scope : multipathd # desc : the tool in charge of configuring the multipath device maps # default : "/sbin/multipath -v 0 -S" # multipath_tool "/sbin/multipath -v 0 -S" # # name : udev_dir # desc : directory where udev creates its device nodes # default : /udev # udev_dir /dev # # name : polling_interval # scope : multipathd # desc : interval between two path checks in seconds # default : 5 # polling_interval 10 # # name : default_selector # scope : multipath # desc : the default path selector algorithm to use # these algorithms are offered by the kernel multipath target # values : round-robin # default : round-robin # default_selector round-robin # # name : default_selector_args # scope : multipath # desc : the default path selector number of args # for the selected path selector algorithm # default : 0 # default_selector_args 0 # # name : default_path_grouping_policy # scope : multipath # desc : the default path grouping policy to apply to unspecified # multipaths # default : multibus # default_path_grouping_policy multibus # # name : default_getuid_callout # scope : multipath # desc : the default program and args to callout to obtain a unique # path identifier. Absolute path required # default : /sbin/scsi_id -g -u -s # default_getuid_callout "/sbin/scsi_id -g -u -s" # # name : default_prio_callout # scope : multipath # desc : the default program and args to callout to obtain a path # priority value. The ALUA bits in SPC-3 provide an # exploitable prio value for example # default : /bin/false # default_prio_callout "/bin/false" } # # name : devnode_blacklist # scope : multipath & multipathd # desc : list of device names to discard as not multipath candidates # default : cciss, fd, hd, md, dm, sr, scd, st, ram, raw, loop # 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 { # # name : wwid # scope : multipath & multipathd # desc : index of the container # wwid 3600508b4000156d700012000000b0000 # # name : alias # scope : multipath # desc : symbolic name for the multipath # alias yellow # # name : path_grouping_policy # scope : multipath # desc : path grouping policy to apply to this multipath # values : failover, multibus, group_by_serial # default : failover # path_grouping_policy multibus # # name : path_checker # scope : multipathd # desc : path checking alorithm to use to check path state # values : readsector0, tur # default : readsector0 # # path_checker readsector0 # # name : path_selector # desc : the path selector algorithm to use for this mpath # these algo are offered by the kernel mpath target # values : round-robin # default : round-robin # path_selector round-robin # # name : path_selector_args # desc : the defined path selector number of args # default : 0 # # path_selector_args 0 } multipath { wwid 1DEC_____321816758474 alias red } } # # 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 { # # name : vendor, product # scope : multipath & multipathd # desc : index for the block # vendor "COMPAQ " product "HSV110 (C)COMPAQ" # # name : path_grouping_policy # scope : multipath # desc : path grouping policy to apply to multipath hosted # by this storage controler # values : failover = 1 path per priority group # multibus = all valid paths in 1 priority # group # group_by_serial = 1 priority group per detected # serial number # default : failover # path_grouping_policy multibus # # name : getuid_callout # scope : multipath # desc : the program and args to callout to obtain a unique # path identifier. Absolute path required # default : /sbin/scsi_id -g -u -s # getuid_callout "/sbin/scsi_id -g -u -s" # # name : path_checker # scope : multipathd # desc : path checking alorithm to use to check path state # values : readsector0, tur # default : readsector0 # path_checker readsector0 # # name : path_selector # desc : the path selector algorithm to use for this mpath # these algo are offered by the kernel mpath target # values : round-robin # default : round-robin # path_selector round-robin } device { vendor "COMPAQ " product "MSA1000 " path_grouping_policy multibus path_checker tur } device { vendor "COMPAQ " product "MSA1000 VOLUME " path_grouping_policy multibus path_checker tur } device { vendor "DEC " product "HSG80 " path_grouping_policy multibus path_checker tur } device { vendor "HP " product "HSV100 " path_grouping_policy multibus path_checker tur } device { vendor "3PARdata" product "VV " path_grouping_policy multibus path_checker tur } device { vendor "DDN " product "SAN DataDirector" path_grouping_policy multibus path_checker tur } device { vendor "FSC " product "CentricStor " path_grouping_policy multibus path_checker tur } device { vendor "HITACHI " product "DF400 " path_grouping_policy multibus path_checker tur } device { vendor "HITACHI " product "DF500 " path_grouping_policy multibus path_checker tur } device { vendor "HITACHI " product "DF600 " path_grouping_policy multibus path_checker tur } device { vendor "IBM " product "ProFibre 4000R " path_grouping_policy multibus path_checker tur } device { vendor "SGI " product "TP9100 " vendor "COMPAQ " product "MSA1000 " path_grouping_policy multibus path_checker tur } device { vendor "SGI " product "TP9300 " path_grouping_policy multibus path_checker tur } device { vendor "SGI " product "TP9400 " path_grouping_policy multibus path_checker tur } device { vendor "SGI " product "TP9500 " path_grouping_policy multibus path_checker tur } device { # all paths active but with a switchover latency # LSI controlers vendor "STK " product "OPENstorage D280" path_grouping_policy group_by_serial path_checker tur } device { # assymmetric array vendor "SUN " product "StorEdge 3510 " path_grouping_policy multibus path_checker tur } device { # symmetric array vendor "SUN " product "T4 " path_grouping_policy multibus path_checker tur } } ************************************ This e-mail and any files transmitted with it are proprietary and intended solely for the use of the individual or entity to whom they are addressed. If you have received this e-mail in error please notify the sender. Please note that any views or opinions presented in this e-mail are solely those of the author and do not necessarily represent those of ITT Industries, Inc. The recipient should check this e-mail and any attachments for the presence of viruses. ITT Industries accepts no liability for any damage caused by any virus transmitted by this e-mail. ************************************