Tuesday, April 21, 2009

Debian (Lenny) SAN Boot 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 0"
# default : "round-robin 0"
#
default_selector "round-robin 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 "/lib/udev/scsi_id -g -u --device=/dev/%n"

#
# 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 c0d
devnode c1d
devnode c2d
devnode ub
devnode nbd
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 0"
# default : "round-robin 0"
#
path_selector "round-robin 0"
}
multipath {
wwid 1DEC_____321816758474
alias red
}
multipath {
wwid 360a66666666666c535a4f6666666666
alias boot
}
# multipath {
# wwid ////
# alias dm2
# }
# multipath {
# wwid ////
# alias dm3
# }
}

#
# 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 "/lib/udev/scsi_id -g -u --device=/dev/%n"

#
# name : prio_callout
# scope : multipath
# desc : the program and args to callout to obtain a path
# weight. Weights are summed for each path group to
# determine the next PG to use case of failure.
# default : no callout, all paths equals
#
prio_callout "/sbin/pp_balance_units %d"

#
# 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 0"
# default : "round-robin 0"
#
path_selector "round-robin 0"
}

device {
vendor "NETAPP"
product "LUN"
path_grouping_policy group_by_prio
getuid_callout "/lib/udev/scsi_id -g -u --device=/dev/%n"
prio_callout "/opt/netapp/santools/mpath_prio_netapp /dev/%n"
features "1 queue_if_no_path"
path_checker tur
failback immediate
}
}

No comments:

Post a Comment