2 ## This is a template multipath-tools configuration file
3 ## Uncomment the lines relevent to your environment
8 ## desc : multipath-tools default settings
12 # # name : polling_interval
13 # # scope : multipathd
14 # # desc : interval between two path checks in seconds. For
15 # # properly functioning paths, the interval between checks
16 # # will gradually increase to (4 * polling_interval).
23 # # name : path_selector
24 # # scope : multipath & multipathd
25 # # desc : the default path selector algorithm to use
26 # # these algorithms are offered by the kernel multipath target
27 # # values : "round-robin 0" = Loop through every path in the path group,
28 # # sending the same amount of IO to each.
29 # # "queue-length 0" = Send the next bunch of IO down the path
30 # # with the least amount of outstanding IO.
31 # # "service-time 0" = Choose the path for the next bunch of IO
32 # # based on the amount of outstanding IO to
33 # # the path and its relative throughput.
34 # # default : "service-time 0"
36 # path_selector "service-time 0"
39 # # name : path_grouping_policy
40 # # scope : multipath & multipathd
41 # # desc : the default path grouping policy to apply to unspecified
43 # # values : failover = 1 path per priority group
44 # # multibus = all valid paths in 1 priority group
45 # # group_by_serial = 1 priority group per detected serial
47 # # group_by_prio = 1 priority group per path priority
49 # # group_by_node_name = 1 priority group per target node name
50 # # default : failover
52 # path_grouping_policy multibus
55 # # name : uid_attribute
56 # # scope : multipath & multipathd
57 # # desc : the default udev attribute from which the path
58 # # identifier should be generated.
59 # # default : ID_SERIAL
61 # uid_attribute "ID_SERIAL"
64 # # name : getuid_callout
65 # # scope : multipath & multipathd
66 # # desc : the default program and args to callout to obtain a unique
67 # # path identifier. This parameter is deprecated.
68 # # This parameter is deprecated, superseded by uid_attribute
69 # # default : /lib/udev/scsi_id --whitelisted --device=/dev/%n
71 # getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
75 # # scope : multipath & multipathd
76 # # desc : the default function to call to obtain a path
77 # # priority value. The ALUA bits in SPC-3 provide an
78 # # exploitable prio value for example.
85 # # scope : multipath & multipathd
86 # # desc : The arguments string passed to the prio function
87 # # Most prio functions do not need arguments. The
88 # # datacore prioritizer need one.
91 # prio_args "timeout=1000 preferredsds=foo"
95 # # scope : multipath & multipathd
96 # # desc : The default extra features of multipath devices.
97 # # Syntax is "num[ feature_0 feature_1 ...]", where `num' is the
98 # # number of features in the following (possibly empty) list of
100 # # values : queue_if_no_path = Queue IO if no path is active; consider
101 # # using the `no_path_retry' keyword instead.
102 # # no_partitions = Disable automatic partitions generation via
107 # features "1 queue_if_no_path"
108 # features "1 no_partitions"
109 # features "2 queue_if_no_path no_partitions"
112 # # name : path_checker, checker
113 # # scope : multipath & multipathd
114 # # desc : the default method used to determine the paths' state
115 # # values : readsector0|tur|emc_clariion|hp_sw|directio|rdac|cciss_tur
116 # # default : directio
118 # path_checker directio
122 # # scope : multipath & multipathd
123 # # desc : the number of IO to route to a path before switching
124 # # to the next in the same path group for the bio-based
125 # # multipath implementation. This parameter is used for
126 # # kernels version up to 2.6.31; newer kernel version
127 # # use the parameter rr_min_io_rq
133 # # name : rr_min_io_rq
134 # # scope : multipath & multipathd
135 # # desc : the number of IO to route to a path before switching
136 # # to the next in the same path group for the request-based
137 # # multipath implementation. This parameter is used for
138 # # kernels versions later than 2.6.31.
144 # # name : flush_on_last_del
145 # # scope : multipathd
146 # # desc : If set to "yes", multipathd will disable queueing when the
147 # # last path to a device has been deleted.
151 # flush_on_last_del yes
155 # # scope : multipathd
156 # # desc : Sets the maximum number of open file descriptors for the
157 # # multipathd process.
158 # # values : max|n > 0
165 # # scope : multipath & multipathd
166 # # desc : if set to priorities the multipath configurator will assign
167 # # path weights as "path prio * rr_min_io"
168 # # values : priorities|uniform
169 # # default : uniform
171 # rr_weight priorities
175 # # scope : multipathd
176 # # desc : tell the daemon to manage path group failback, or not to.
177 # # 0 means immediate failback, values >0 means deffered
178 # # failback expressed in seconds.
179 # # values : manual|immediate|n > 0
185 # # name : no_path_retry
186 # # scope : multipath & multipathd
187 # # desc : tell the number of retries until disable queueing, or
188 # # "fail" means immediate failure (no queueing),
189 # # "queue" means never stop queueing
190 # # values : queue|fail|n (>0)
193 # no_path_retry queue
196 # # name : queue_without_daemon
197 # # scope : multipathd
198 # # desc : If set to "no", multipathd will disable queueing for all
199 # # devices when it is shut down.
202 # queue_without_daemon no
205 # # name : user_friendly_names
206 # # scope : multipath & multipathd
207 # # desc : If set to "yes", using the bindings file
208 # # /etc/multipath/bindings to assign a persistent and
209 # # unique alias to the multipath, in the form of mpath<n>.
210 # # If set to "no" use the WWID as the alias. In either case
211 # # this be will be overriden by any specific aliases in this
215 # user_friendly_names no
219 # # scope : multipath & multipathd
220 # # desc : The mode to use for the multipath device nodes, in octal.
221 # # values : 0000 - 0777
222 # # default : determined by the process
227 # # scope : multipath & multipathd
228 # # desc : The user id to use for the multipath device nodes. You
229 # # may use either the numeric or symbolic uid
230 # # values : <user_id>
231 # # default : determined by the process
236 # # scope : multipath & multipathd
237 # # desc : The group id to user for the multipath device nodes. You
238 # # may use either the numeric or symbolic gid
239 # # values : <group_id>
240 # # default : determined by the process
244 # # name : checker_timeout
245 # # scope : multipath & multipathd
246 # # desc : The timeout to use for path checkers that issue scsi
247 # # commands with an explicit timeout, in seconds.
249 # # default : taken from /sys/block/sd<x>/device/timeout
253 # # name : fast_io_fail_tmo
254 # # scope : multipath & multipathd
255 # # desc : The number of seconds the scsi layer will wait after a
256 # # problem has been detected on a FC remote port before failing
257 # # IO to devices on that remote port.
258 # # values : off | n >= 0 (smaller than dev_loss_tmo)
259 # # default : determined by the OS
263 # # name : dev_loss_tmo
264 # # scope : multipath & multipathd
265 # # desc : The number of seconds the scsi layer will wait after a
266 # # problem has been detected on a FC remote port before
267 # # removing it from the system.
268 # # values : infinity | n > 0
269 # # default : determined by the OS
272 # # name : bindings_file
273 # # scope : multipath
274 # # desc : The location of the bindings file that is used with
275 # # the user_friendly_names option.
276 # # values : <full_pathname>
277 # # default : "/var/lib/multipath/bindings"
278 # bindings_file "/etc/multipath_bindings"
284 ## scope : multipath & multipathd
285 ## desc : list of device names to discard as not multipath candidates
286 ## Devices can be identified by their device node name "devnode",
287 ## their WWID "wwid", or their vender and product strings
289 ## default : fd, hd, md, dm, sr, scd, st, ram, raw, loop, dcssblk
292 # wwid 26353900f02796769
293 # devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
295 # devnode "^dcssblk[0-9]*"
302 ## name : blacklist_exceptions
303 ## scope : multipath & multipathd
304 ## desc : list of device names to be treated as multipath candidates
305 ## even if they are on the blacklist.
306 ## Note: blacklist exceptions are only valid in the same class.
307 ## It is not possible to blacklist devices using the devnode keyword
308 ## and to exclude some devices of them using the wwid keyword.
311 #blacklist_exceptions {
312 # devnode "^dasd[c-d]+[0-9]*"
313 # wwid "IBM.75000000092461.4d00.34"
314 # wwid "IBM.75000000092461.4d00.35"
315 # wwid "IBM.75000000092461.4d00.36"
320 ## scope : multipath & multipathd
321 ## desc : list of multipaths finest-grained settings
326 # # scope : multipath & multipathd
327 # # desc : container for settings that apply to one specific multipath
332 # # scope : multipath & multipathd
333 # # desc : index of the container
335 # wwid 3600508b4000156d700012000000b0000
339 # # scope : multipath & multipathd
340 # # desc : symbolic name for the multipath. If you are using
341 # # user_friendly_names, do not set the alias to
342 # # mpath<n>. This may conflict with an automatically
343 # # assigned user friendly name, and give you
344 # # incorrect device node names.
349 # # name : path_grouping_policy
350 # # scope : multipath & multipathd
351 # # desc : path grouping policy to apply to this multipath
352 # # values : failover, multibus, group_by_serial
353 # # values : failover = 1 path per priority group
354 # # multibus = all valid paths in 1 priority
356 # # group_by_serial = 1 priority group per detected
358 # # group_by_prio = 1 priority group per path
360 # # group_by_node_name = 1 priority group per target
363 # path_grouping_policy failover
366 # # name : path_selector
367 # # scope : multipath & multipathd
368 # # desc : the path selector algorithm to use for this mpath
369 # # these algo are offered by the kernel mpath target
370 # # values : "round-robin 0"
372 # path_selector "round-robin 0"
376 # # scope : multipathd
377 # # desc : tell the daemon to manage path group failback, or
378 # # not to. 0 means immediate failback, values >0 means
379 # # deffered failback expressed in seconds.
380 # # values : manual|immediate|n > 0
386 # # scope : multipath & multipathd
387 # # desc : if set to priorities the multipath configurator will
388 # # assign path weights as "path prio * rr_min_io"
389 # # values : priorities|uniform
391 # rr_weight priorities
394 # # name : no_path_retry
395 # # scope : multipath & multipathd
396 # # desc : tell the number of retries until disable queueing,
397 # # or "fail" means immediate failure (no queueing),
398 # # "queue" means never stop queueing
399 # # values : queue|fail|n (>0)
401 # no_path_retry queue
405 # # scope : multipath & multipathd
406 # # desc : the number of IO to route to a path before switching
407 # # to the next in the same path group
412 # # name : flush_on_last_del
413 # # scope : multipathd
414 # # desc : If set to "yes", multipathd will disable queueing
415 # # when the last path to a device has been deleted.
419 # flush_on_last_del yes
423 # # scope : multipath & multipathd
424 # # desc : The mode to use for the multipath device nodes, in
426 # # values : 0000 - 0777
427 # # default : determined by the process
432 # # scope : multipath & multipathd
433 # # desc : The user id to use for the multipath device nodes.
434 # # You may use either the numeric or symbolic uid
435 # # values : <user_id>
436 # # default : determined by the process
441 # # scope : multipath & multipathd
442 # # desc : The group id to user for the multipath device nodes.
443 # # You may use either the numeric or symbolic gid
444 # # values : <group_id>
445 # # default : determined by the process
450 # wwid 1DEC_____321816758474
452 # rr_weight priorities
458 ## scope : multipath & multipathd
459 ## desc : list of per storage controller settings
460 ## overrides default settings (device_maps block)
461 ## overriden by per multipath settings (multipaths block)
466 # # scope : multipath & multipathd
467 # # desc : settings for this specific storage controller
471 # # name : vendor, product
472 # # scope : multipath & multipathd
473 # # desc : index for the block
476 # product "HSV110 (C)COMPAQ"
479 # # name : path_grouping_policy
480 # # scope : multipath & multipathd
481 # # desc : path grouping policy to apply to this multipath
482 # # values : failover, multibus, group_by_serial
483 # # values : failover = 1 path per priority group
484 # # multibus = all valid paths in 1 priority
486 # # group_by_serial = 1 priority group per detected
488 # # group_by_prio = 1 priority group per path
490 # # group_by_node_name = 1 priority group per target
493 # path_grouping_policy failover
496 # # name : getuid_callout
497 # # scope : multipath & multipathd
498 # # desc : the program and args to callout to obtain a unique
499 # # path identifier. Absolute path required
501 # getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
505 # # scope : multipath & multipathd
506 # # desc : the function to call to obtain a path
507 # # weight. Weights are summed for each path group to
508 # # determine the next PG to use case of failure.
509 # # default : no callout, all paths equals
515 # # scope : multipath & multipathd
516 # # desc : The arguments string passed to the prio function
517 # # Most prio functions do not need arguments. The
518 # # datacore prioritizer need one.
521 # prio_args "timeout=1000 preferredsds=foo"
523 # # name : path_checker, checker
524 # # scope : multipathd & multipathd
525 # # desc : path checking algorithm to use to check path state
526 # # values : readsector0|tur|emc_clariion|hp_sw|directio|rdac|
529 # path_checker directio
531 # # as already described
532 # path_selector "service-time 0"
534 # # as already described
538 # # name : hardware_handler
539 # # scope : multipath & multipathd
540 # # desc : If set, it specifies a module that will be used to
541 # # perform hardware specific actions when switching
542 # # path groups or handling IO errors
543 # # values : "0"|"1 emc"
546 # hardware_handler "1 emc"
550 # # scope : multipathd
551 # # desc : tell the daemon to manage path group failback, or
552 # # not to. 0 means immediate failback, values >0 means
553 # # deffered failback expressed in seconds.
554 # # values : manual|immediate|n > 0
560 # # scope : multipath & multipathd
561 # # desc : if set to priorities the multipath configurator will
562 # # assign path weights as "path prio * rr_min_io"
563 # # values : priorities|uniform
565 # rr_weight priorities
568 # # name : no_path_retry
569 # # scope : multipath & multipathd
570 # # desc : tell the number of retries until disable queueing,
571 # # or "fail" means immediate failure (no queueing),
572 # # "queue" means never stop queueing
573 # # values : queue|fail|n (>0)
575 # no_path_retry queue
579 # # scope : multipath & multipathd
580 # # desc : the number of IO to route to a path before switching
581 # # to the next in the same path group
586 # # name : flush_on_last_del
587 # # scope : multipathd
588 # # desc : If set to "yes", multipathd will disable queueing
589 # # when the last path to a device has been deleted.
592 # flush_on_last_del yes
595 # # name : product_blacklist
596 # # scope : multipath & multipathd
597 # # desc : product strings to blacklist for this vendor
599 # product_blacklist LUN_Z
602 # # name : fast_io_fail_tmo
603 # # scope : multipath & multipathd
604 # # desc : The number of seconds the scsi layer will wait after
605 # # a problem has been detected on a FC remote port
606 # # before failing IO to devices on that remote port.
607 # # values : off | n >= 0 (smaller than dev_loss_tmo)
611 # # name : dev_loss_tmo
612 # # scope : multipath & multipathd
613 # # desc : The number of seconds the scsi layer will wait after
614 # # a problem has been detected on a FC remote port
615 # # before removing it from the system.
622 # path_grouping_policy multibus
624 # rr_weight priorities