etc-gentoo/multipath.conf

642 lines
20 KiB
Plaintext

##
## This is a template multipath-tools configuration file
## Uncomment the lines relevent to your environment
##
#
##
## name : defaults
## desc : multipath-tools default settings
##
#defaults {
# #
# # name : polling_interval
# # scope : multipathd
# # desc : interval between two path checks in seconds. For
# # properly functioning paths, the interval between checks
# # will gradually increase to (4 * polling_interval).
# # values : n > 0
# # default : 5
# #
# polling_interval 10
#
# #
# # name : path_selector
# # scope : multipath & multipathd
# # desc : the default path selector algorithm to use
# # these algorithms are offered by the kernel multipath target
# # values : "round-robin 0" = Loop through every path in the path group,
# # sending the same amount of IO to each.
# # "queue-length 0" = Send the next bunch of IO down the path
# # with the least amount of outstanding IO.
# # "service-time 0" = Choose the path for the next bunch of IO
# # based on the amount of outstanding IO to
# # the path and its relative throughput.
# # default : "service-time 0"
# #
# path_selector "service-time 0"
#
# #
# # name : path_grouping_policy
# # scope : multipath & multipathd
# # desc : the default path grouping policy to apply to unspecified
# # multipaths
# # 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
# # group_by_prio = 1 priority group per path priority
# # value
# # group_by_node_name = 1 priority group per target node name
# # default : failover
# #
# path_grouping_policy multibus
#
# #
# # name : uid_attribute
# # scope : multipath & multipathd
# # desc : the default udev attribute from which the path
# # identifier should be generated.
# # default : ID_SERIAL
# #
# uid_attribute "ID_SERIAL"
#
# #
# # name : getuid_callout
# # scope : multipath & multipathd
# # desc : the default program and args to callout to obtain a unique
# # path identifier. This parameter is deprecated.
# # This parameter is deprecated, superseded by uid_attribute
# # default : /lib/udev/scsi_id --whitelisted --device=/dev/%n
# #
# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
#
# #
# # name : prio
# # scope : multipath & multipathd
# # desc : the default function to call to obtain a path
# # priority value. The ALUA bits in SPC-3 provide an
# # exploitable prio value for example.
# # default : const
# #
# prio "alua"
#
# #
# # name : prio_args
# # scope : multipath & multipathd
# # desc : The arguments string passed to the prio function
# # Most prio functions do not need arguments. The
# # datacore prioritizer need one.
# # default : (null)
# #
# prio_args "timeout=1000 preferredsds=foo"
#
# #
# # name : features
# # scope : multipath & multipathd
# # desc : The default extra features of multipath devices.
# # Syntax is "num[ feature_0 feature_1 ...]", where `num' is the
# # number of features in the following (possibly empty) list of
# # features.
# # values : queue_if_no_path = Queue IO if no path is active; consider
# # using the `no_path_retry' keyword instead.
# # no_partitions = Disable automatic partitions generation via
# # kpartx.
# # default : "0"
# #
# features "0"
# features "1 queue_if_no_path"
# features "1 no_partitions"
# features "2 queue_if_no_path no_partitions"
#
# #
# # name : path_checker, checker
# # scope : multipath & multipathd
# # desc : the default method used to determine the paths' state
# # values : readsector0|tur|emc_clariion|hp_sw|directio|rdac|cciss_tur
# # default : directio
# #
# path_checker directio
#
# #
# # name : rr_min_io
# # scope : multipath & multipathd
# # desc : the number of IO to route to a path before switching
# # to the next in the same path group for the bio-based
# # multipath implementation. This parameter is used for
# # kernels version up to 2.6.31; newer kernel version
# # use the parameter rr_min_io_rq
# # default : 1000
# #
# rr_min_io 1000
#
# #
# # name : rr_min_io_rq
# # scope : multipath & multipathd
# # desc : the number of IO to route to a path before switching
# # to the next in the same path group for the request-based
# # multipath implementation. This parameter is used for
# # kernels versions later than 2.6.31.
# # default : 1
# #
# rr_min_io_rq 1
#
# #
# # name : flush_on_last_del
# # scope : multipathd
# # desc : If set to "yes", multipathd will disable queueing when the
# # last path to a device has been deleted.
# # values : yes|no
# # default : no
# #
# flush_on_last_del yes
#
# #
# # name : max_fds
# # scope : multipathd
# # desc : Sets the maximum number of open file descriptors for the
# # multipathd process.
# # values : max|n > 0
# # default : None
# #
# max_fds 8192
#
# #
# # name : rr_weight
# # scope : multipath & multipathd
# # desc : if set to priorities the multipath configurator will assign
# # path weights as "path prio * rr_min_io"
# # values : priorities|uniform
# # default : uniform
# #
# rr_weight priorities
#
# #
# # name : failback
# # scope : multipathd
# # desc : tell the daemon to manage path group failback, or not to.
# # 0 means immediate failback, values >0 means deffered
# # failback expressed in seconds.
# # values : manual|immediate|n > 0
# # default : manual
# #
# failback immediate
#
# #
# # name : no_path_retry
# # scope : multipath & multipathd
# # desc : tell the number of retries until disable queueing, or
# # "fail" means immediate failure (no queueing),
# # "queue" means never stop queueing
# # values : queue|fail|n (>0)
# # default : (null)
# #
# no_path_retry queue
#
# #
# # name : queue_without_daemon
# # scope : multipathd
# # desc : If set to "no", multipathd will disable queueing for all
# # devices when it is shut down.
# # values : yes|no
# # default : yes
# queue_without_daemon no
#
# #
# # name : user_friendly_names
# # scope : multipath & multipathd
# # desc : If set to "yes", using the bindings file
# # /etc/multipath/bindings to assign a persistent and
# # unique alias to the multipath, in the form of mpath<n>.
# # If set to "no" use the WWID as the alias. In either case
# # this be will be overriden by any specific aliases in this
# # file.
# # values : yes|no
# # default : no
# user_friendly_names no
#
# #
# # name : mode
# # scope : multipath & multipathd
# # desc : The mode to use for the multipath device nodes, in octal.
# # values : 0000 - 0777
# # default : determined by the process
# mode 0644
#
# #
# # name : uid
# # scope : multipath & multipathd
# # desc : The user id to use for the multipath device nodes. You
# # may use either the numeric or symbolic uid
# # values : <user_id>
# # default : determined by the process
# uid 0
#
# #
# # name : gid
# # scope : multipath & multipathd
# # desc : The group id to user for the multipath device nodes. You
# # may use either the numeric or symbolic gid
# # values : <group_id>
# # default : determined by the process
# gid disk
#
# #
# # name : checker_timeout
# # scope : multipath & multipathd
# # desc : The timeout to use for path checkers that issue scsi
# # commands with an explicit timeout, in seconds.
# # values : n > 0
# # default : taken from /sys/block/sd<x>/device/timeout
# checker_timeout 60
#
# #
# # name : fast_io_fail_tmo
# # scope : multipath & multipathd
# # desc : The number of seconds the scsi layer will wait after a
# # problem has been detected on a FC remote port before failing
# # IO to devices on that remote port.
# # values : off | n >= 0 (smaller than dev_loss_tmo)
# # default : determined by the OS
# fast_io_fail_tmo 5
#
# #
# # name : dev_loss_tmo
# # scope : multipath & multipathd
# # desc : The number of seconds the scsi layer will wait after a
# # problem has been detected on a FC remote port before
# # removing it from the system.
# # values : infinity | n > 0
# # default : determined by the OS
# dev_loss_tmo 600
#
# # name : bindings_file
# # scope : multipath
# # desc : The location of the bindings file that is used with
# # the user_friendly_names option.
# # values : <full_pathname>
# # default : "/var/lib/multipath/bindings"
# bindings_file "/etc/multipath/bindings"
#
# # name : wwids_file
# # scope : multipath
# # desc : The location of the wwids file multipath uses to
# # keep track of the created multipath devices.
# # values : <full_pathname>
# # default : "/var/lib/multipath/wwids"
# wwids_file "/etc/multipath/wwids"
#
# # name : reservation_key
# # scope : multipath
# # desc : Service action reservation key used by mpathpersist.
# # values : <key>
# # default : (null)
# reservation_key "mpathkey"
#
#}
#
##
## name : blacklist
## scope : multipath & multipathd
## desc : list of device names to discard as not multipath candidates
## Devices can be identified by their device node name "devnode",
## their WWID "wwid", or their vender and product strings
## "device"
## default : fd, hd, md, dm, sr, scd, st, ram, raw, loop, dcssblk
##
#blacklist {
# wwid 26353900f02796769
# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
# devnode "^hd[a-z]"
# devnode "^dcssblk[0-9]*"
# device {
# vendor DEC.*
# product MSA[15]00
# }
#}
##
## name : blacklist_exceptions
## scope : multipath & multipathd
## desc : list of device names to be treated as multipath candidates
## even if they are on the blacklist.
## Note: blacklist exceptions are only valid in the same class.
## It is not possible to blacklist devices using the devnode keyword
## and to exclude some devices of them using the wwid keyword.
## default : -
##
#blacklist_exceptions {
# devnode "^dasd[c-d]+[0-9]*"
# wwid "IBM.75000000092461.4d00.34"
# wwid "IBM.75000000092461.4d00.35"
# wwid "IBM.75000000092461.4d00.36"
#}
#
##
## 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 & multipathd
# # desc : symbolic name for the multipath. If you are using
# # user_friendly_names, do not set the alias to
# # mpath<n>. This may conflict with an automatically
# # assigned user friendly name, and give you
# # incorrect device node names.
# #
# alias yellow
#
# #
# # name : path_grouping_policy
# # scope : multipath & multipathd
# # desc : path grouping policy to apply to this multipath
# # values : failover, multibus, group_by_serial
# # 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
# # group_by_prio = 1 priority group per path
# # priority value
# # group_by_node_name = 1 priority group per target
# # node name
# #
# path_grouping_policy failover
#
# #
# # name : path_selector
# # scope : multipath & multipathd
# # desc : the path selector algorithm to use for this mpath
# # these algo are offered by the kernel mpath target
# # values : "round-robin 0"
# #
# path_selector "round-robin 0"
#
# #
# # name : failback
# # scope : multipathd
# # desc : tell the daemon to manage path group failback, or
# # not to. 0 means immediate failback, values >0 means
# # deffered failback expressed in seconds.
# # values : manual|immediate|n > 0
# #
# failback manual
#
# #
# # name : rr_weight
# # scope : multipath & multipathd
# # desc : if set to priorities the multipath configurator will
# # assign path weights as "path prio * rr_min_io"
# # values : priorities|uniform
# #
# rr_weight priorities
#
# #
# # name : no_path_retry
# # scope : multipath & multipathd
# # desc : tell the number of retries until disable queueing,
# # or "fail" means immediate failure (no queueing),
# # "queue" means never stop queueing
# # values : queue|fail|n (>0)
# #
# no_path_retry queue
#
# #
# # name : rr_min_io
# # scope : multipath & multipathd
# # desc : the number of IO to route to a path before switching
# # to the next in the same path group
# #
# rr_min_io 100
#
# #
# # name : flush_on_last_del
# # scope : multipathd
# # desc : If set to "yes", multipathd will disable queueing
# # when the last path to a device has been deleted.
# # values : yes|no
# # default : no
# #
# flush_on_last_del yes
#
# #
# # name : mode
# # scope : multipath & multipathd
# # desc : The mode to use for the multipath device nodes, in
# # octal.
# # values : 0000 - 0777
# # default : determined by the process
# mode 0644
#
# #
# # name : uid
# # scope : multipath & multipathd
# # desc : The user id to use for the multipath device nodes.
# # You may use either the numeric or symbolic uid
# # values : <user_id>
# # default : determined by the process
# uid 0
#
# #
# # name : gid
# # scope : multipath & multipathd
# # desc : The group id to user for the multipath device nodes.
# # You may use either the numeric or symbolic gid
# # values : <group_id>
# # default : determined by the process
# gid 0
#
# }
# multipath {
# wwid 1DEC_____321816758474
# alias red
# rr_weight priorities
# }
#}
#
##
## name : devices
## scope : multipath & multipathd
## desc : list of per storage controller 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 controller
# #
# device {
# #
# # name : vendor, product
# # scope : multipath & multipathd
# # desc : index for the block
# #
# vendor "COMPAQ "
# product "HSV110 (C)COMPAQ"
#
# #
# # name : path_grouping_policy
# # scope : multipath & multipathd
# # desc : path grouping policy to apply to this multipath
# # values : failover, multibus, group_by_serial
# # 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
# # group_by_prio = 1 priority group per path
# # priority value
# # group_by_node_name = 1 priority group per target
# # node name
# #
# path_grouping_policy failover
#
# #
# # name : getuid_callout
# # scope : multipath & multipathd
# # desc : the program and args to callout to obtain a unique
# # path identifier. Absolute path required
# #
# getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
#
# #
# # name : prio
# # scope : multipath & multipathd
# # desc : the function to call 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 "hp_sw"
#
# #
# # name : prio_args
# # scope : multipath & multipathd
# # desc : The arguments string passed to the prio function
# # Most prio functions do not need arguments. The
# # datacore prioritizer need one.
# # default : (null)
# #
# prio_args "timeout=1000 preferredsds=foo"
#
# # name : path_checker, checker
# # scope : multipathd & multipathd
# # desc : path checking algorithm to use to check path state
# # values : readsector0|tur|emc_clariion|hp_sw|directio|rdac|
# # cciss_tur
# #
# path_checker directio
#
# # as already described
# path_selector "service-time 0"
#
# # as already described
# features "0"
#
# #
# # name : hardware_handler
# # scope : multipath & multipathd
# # desc : If set, it specifies a module that will be used to
# # perform hardware specific actions when switching
# # path groups or handling IO errors
# # values : "0"|"1 emc"
# # default : "0"
# #
# hardware_handler "1 emc"
#
# #
# # name : failback
# # scope : multipathd
# # desc : tell the daemon to manage path group failback, or
# # not to. 0 means immediate failback, values >0 means
# # deffered failback expressed in seconds.
# # values : manual|immediate|n > 0
# #
# failback 30
#
# #
# # name : rr_weight
# # scope : multipath & multipathd
# # desc : if set to priorities the multipath configurator will
# # assign path weights as "path prio * rr_min_io"
# # values : priorities|uniform
# #
# rr_weight priorities
#
# #
# # name : no_path_retry
# # scope : multipath & multipathd
# # desc : tell the number of retries until disable queueing,
# # or "fail" means immediate failure (no queueing),
# # "queue" means never stop queueing
# # values : queue|fail|n (>0)
# #
# no_path_retry queue
#
# #
# # name : rr_min_io
# # scope : multipath & multipathd
# # desc : the number of IO to route to a path before switching
# # to the next in the same path group
# #
# rr_min_io 100
#
# #
# # name : flush_on_last_del
# # scope : multipathd
# # desc : If set to "yes", multipathd will disable queueing
# # when the last path to a device has been deleted.
# # values : yes|no
# #
# flush_on_last_del yes
#
# #
# # name : product_blacklist
# # scope : multipath & multipathd
# # desc : product strings to blacklist for this vendor
# #
# product_blacklist LUN_Z
#
# #
# # name : fast_io_fail_tmo
# # scope : multipath & multipathd
# # desc : The number of seconds the scsi layer will wait after
# # a problem has been detected on a FC remote port
# # before failing IO to devices on that remote port.
# # values : off | n >= 0 (smaller than dev_loss_tmo)
# fast_io_fail_tmo 5
#
# #
# # name : dev_loss_tmo
# # scope : multipath & multipathd
# # desc : The number of seconds the scsi layer will wait after
# # a problem has been detected on a FC remote port
# # before removing it from the system.
# # values : n > 0
# dev_loss_tmo 600
# }
# device {
# vendor "COMPAQ "
# product "MSA1000 "
# path_grouping_policy multibus
# path_checker tur
# rr_weight priorities
# }
#}