Make params variable local
[platform/upstream/multipath-tools.git] / multipath.conf.annotated
index b23fa7e..19bdd48 100644 (file)
 #      #
 #      # name    : udev_dir
 #      # desc    : directory where udev creates its device nodes
-#      # default : /udev
+#      # default : /dev
 #      #
 #      udev_dir        /dev
 #
 #      #
 #      # name    : polling_interval
 #      # scope   : multipathd
-#      # desc    : interval between two path checks in seconds
+#      # 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    : selector
-#      # scope   : multipath
+#      # 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"
 #      # default : "round-robin 0"
 #      #
-#      selector        "round-robin 0"
+#      path_selector   "round-robin 0"
 #
 #      #
 #      # name    : path_grouping_policy
-#      # scope   : multipath
+#      # scope   : multipath & multipathd
 #      # desc    : the default path grouping policy to apply to unspecified
 #      #           multipaths
-#      # default : multibus
+#      # 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    : getuid_callout
-#      # scope   : multipath
+#      # scope   : multipath & multipathd
 #      # 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 : /lib/udev/scsi_id --whitelisted --device=/dev/%n
 #      #
-#      getuid_callout  "/sbin/scsi_id -g -u -s /block/%n"
+#      getuid_callout  "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
 #
 #      #
-#      # name    : prio_callout
-#      # scope   : multipath
-#      # desc    : the default program and args to callout to obtain a path 
+#      # 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. "none" is a valid value
+#      #           exploitable prio value for example.
+#      # default : (null)
+#      #
+#      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. The
+#      #           only existing feature currently is queue_if_no_path, which
+#      #           is the same as setting no_path_retry to queue.
+#      # values  : "1 queue_if_no_path"
 #      # default : (null)
 #      #
-#      #prio_callout   "/bin/true"
+#      features        "1 queue_if_no_path"
 #
 #      #
-#      # name    : path_checker
+#      # 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
-#      # default : readsector0
+#      # values  : readsector0|tur|emc_clariion|hp_sw|directio|rdac|cciss_tur
+#      # default : directio
 #      #
-#      #path_checker   readsector0
+#      path_checker    directio
 #
 #      #
 #      # name    : rr_min_io
-#      # scope   : multipath
+#      # scope   : multipath & multipathd
 #      # desc    : the number of IO to route to a path before switching
 #      #           to the next in the same path group
 #      # default : 1000
 #      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    : 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
+#      # scope   : multipath & multipathd
 #      # desc    : if set to priorities the multipath configurator will assign
 #      #           path weights as "path prio * rr_min_io"
 #      # values  : priorities|uniform
 #      # 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.
+#      #           0 means immediate failback, values >0 means deffered
+#      #           failback expressed in seconds.
 #      # values  : manual|immediate|n > 0
-#      # default : immediate
+#      # default : manual
 #      #
-#      failback        manual
+#      failback        immediate
 #
 #      #
 #      # name    : no_path_retry
 #      # values  : queue|fail|n (>0)
 #      # default : (null)
 #      #
-#      #no_path_retry  queue
+#      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
+#      # scope   : multipath & multipathd
 #      # desc    : If set to "yes", using the bindings file
-#      #           /var/lib/multipath/bindings to assign a persistent and
+#      #           /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
 #      # 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  : n > 0
+#      # default : determined by the OS
+#      dev_loss_tmo 600
 #}
 #      
 ##
 ## name    : 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
+##           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][[0-9]*]"
-#      devnode "^cciss!c[0-9]d[0-9]*[p[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
 #
 #              #
 #              # name    : alias
-#              # scope   : multipath
-#              # desc    : symbolic name for the multipath
+#              # 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
+#              # scope   : multipath & multipathd
 #              # desc    : path grouping policy to apply to this multipath
 #              # values  : failover, multibus, group_by_serial
-#              # default : failover
-#              #
-#              path_grouping_policy    multibus
+#              # 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_checker
-#              # scope   : multipathd
-#              # desc    : path checking alorithm to use to check path state
-#              # values  : readsector0, tur
-#              # default : readsector0
-#              #
-#              # path_checker          readsector0
-#              
-#              #
 #              # 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"
-#              # default : "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.
+#              # 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 : immediate
 #              #
 #              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),
+#              # 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
+#              no_path_retry  queue
 #
 #              #
 #              # name    : rr_min_io
-#              # scope   : multipath
+#              # scope   : multipath & multipathd
 #              # desc    : the number of IO to route to a path before switching
 #              #           to the next in the same path group
-#              # default : 1000
 #              #
 #              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
 ##
 ## name  : devices
 ## scope : multipath & multipathd
-## desc  : list of per storage controler settings
+## desc  : list of per storage controller settings
 ##       overrides default settings (device_maps block)
 ##         overriden by per multipath settings (multipaths block)
 ##
 #      #
 #      # name  : device
 #      # scope : multipath & multipathd
-#      # desc  : settings for this specific storage controler
+#      # desc  : settings for this specific storage controller
 #      #
 #      device {
 #              #
 #
 #              #
 #              # 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
+#              # 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
+#              # scope   : multipath & multipathd
 #              # 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 /block/%n"
+#              getuid_callout          "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
 #
 #              #
-#              # name    : prio_callout
-#              # scope   : multipath
-#              # desc    : the program and args to callout to obtain a path 
+#              # 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.
-#              #           "none" is a valid value.
 #              # default : no callout, all paths equals
 #              #
-#              prio_callout          "/sbin/mpath_prio_balance_units %d"
+#              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)
 #              #
-#              # name    : path_checker
-#              # scope   : multipathd
+#              prio_args       "timeout=1000 preferredsds=foo"
+##
+#              # name    : path_checker, checker
+#              # scope   : multipathd & multipathd
 #              # desc    : path checking alorithm to use to check path state
-#              # values  : readsector0, tur
-#              # default : readsector0
+#              # values  : readsector0|tur|emc_clariion|hp_sw|directio|rdac|
+#              #           cciss_tur
 #              #
-#              path_checker            readsector0
+#              path_checker            directio
 #
 #              #
 #              # name    : path_selector
+#              # scope   : multipathd & multipathd
 #              # 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"
 #
 #              #
+#              # name    : features
+#              # scope   : multipath & multipathd
+#              # desc    : The extra features of multipath devices. The only
+#              #           existing feature currently is queue_if_no_path,
+#              #           which is the same as setting no_path_retry to queue.
+#              # values  : "1 queue_if_no_path"
+#              #
+#              features        "1 queue_if_no_path"
+#
+#              #
+#              # 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.
+#              # 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 : immediate
 #              #
 #              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
+#              # scope   : multipath & multipathd
 #              # desc    : the number of IO to route to a path before switching
 #              #           to the next in the same path group
-#              # default : 1000
 #              #
 #              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  "