[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