[dm-devel] multipath.conf aliases
Virgilio, Vincent
Vincent.Virgilio at itt.com
Thu Oct 28 18:17:46 UTC 2004
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.
************************************
More information about the dm-devel
mailing list