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"
280 # # name : wwids_file
281 # # scope : multipath
282 # # desc : The location of the wwids file multipath uses to
283 # # keep track of the created multipath devices.
284 # # values : <full_pathname>
285 # # default : "/var/lib/multipath/wwids"
286 # wwids_file "/etc/multipath/wwids"
288 # # name : reservation_key
289 # # scope : multipath
290 # # desc : Service action reservation key used by mpathpersist.
293 # reservation_key "mpathkey"
299 ## scope : multipath & multipathd
300 ## desc : list of device names to discard as not multipath candidates
301 ## Devices can be identified by their device node name "devnode",
302 ## their WWID "wwid", or their vender and product strings
304 ## default : fd, hd, md, dm, sr, scd, st, ram, raw, loop, dcssblk
307 # wwid 26353900f02796769
308 # devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
310 # devnode "^dcssblk[0-9]*"
317 ## name : blacklist_exceptions
318 ## scope : multipath & multipathd
319 ## desc : list of device names to be treated as multipath candidates
320 ## even if they are on the blacklist.
321 ## Note: blacklist exceptions are only valid in the same class.
322 ## It is not possible to blacklist devices using the devnode keyword
323 ## and to exclude some devices of them using the wwid keyword.
326 #blacklist_exceptions {
327 # devnode "^dasd[c-d]+[0-9]*"
328 # wwid "IBM.75000000092461.4d00.34"
329 # wwid "IBM.75000000092461.4d00.35"
330 # wwid "IBM.75000000092461.4d00.36"
335 ## scope : multipath & multipathd
336 ## desc : list of multipaths finest-grained settings
341 # # scope : multipath & multipathd
342 # # desc : container for settings that apply to one specific multipath
347 # # scope : multipath & multipathd
348 # # desc : index of the container
350 # wwid 3600508b4000156d700012000000b0000
354 # # scope : multipath & multipathd
355 # # desc : symbolic name for the multipath. If you are using
356 # # user_friendly_names, do not set the alias to
357 # # mpath<n>. This may conflict with an automatically
358 # # assigned user friendly name, and give you
359 # # incorrect device node names.
364 # # name : path_grouping_policy
365 # # scope : multipath & multipathd
366 # # desc : path grouping policy to apply to this multipath
367 # # values : failover, multibus, group_by_serial
368 # # values : failover = 1 path per priority group
369 # # multibus = all valid paths in 1 priority
371 # # group_by_serial = 1 priority group per detected
373 # # group_by_prio = 1 priority group per path
375 # # group_by_node_name = 1 priority group per target
378 # path_grouping_policy failover
381 # # name : path_selector
382 # # scope : multipath & multipathd
383 # # desc : the path selector algorithm to use for this mpath
384 # # these algo are offered by the kernel mpath target
385 # # values : "round-robin 0"
387 # path_selector "round-robin 0"
391 # # scope : multipathd
392 # # desc : tell the daemon to manage path group failback, or
393 # # not to. 0 means immediate failback, values >0 means
394 # # deffered failback expressed in seconds.
395 # # values : manual|immediate|n > 0
401 # # scope : multipath & multipathd
402 # # desc : if set to priorities the multipath configurator will
403 # # assign path weights as "path prio * rr_min_io"
404 # # values : priorities|uniform
406 # rr_weight priorities
409 # # name : no_path_retry
410 # # scope : multipath & multipathd
411 # # desc : tell the number of retries until disable queueing,
412 # # or "fail" means immediate failure (no queueing),
413 # # "queue" means never stop queueing
414 # # values : queue|fail|n (>0)
416 # no_path_retry queue
420 # # scope : multipath & multipathd
421 # # desc : the number of IO to route to a path before switching
422 # # to the next in the same path group
427 # # name : flush_on_last_del
428 # # scope : multipathd
429 # # desc : If set to "yes", multipathd will disable queueing
430 # # when the last path to a device has been deleted.
434 # flush_on_last_del yes
438 # # scope : multipath & multipathd
439 # # desc : The mode to use for the multipath device nodes, in
441 # # values : 0000 - 0777
442 # # default : determined by the process
447 # # scope : multipath & multipathd
448 # # desc : The user id to use for the multipath device nodes.
449 # # You may use either the numeric or symbolic uid
450 # # values : <user_id>
451 # # default : determined by the process
456 # # scope : multipath & multipathd
457 # # desc : The group id to user for the multipath device nodes.
458 # # You may use either the numeric or symbolic gid
459 # # values : <group_id>
460 # # default : determined by the process
465 # wwid 1DEC_____321816758474
467 # rr_weight priorities
473 ## scope : multipath & multipathd
474 ## desc : list of per storage controller settings
475 ## overrides default settings (device_maps block)
476 ## overriden by per multipath settings (multipaths block)
481 # # scope : multipath & multipathd
482 # # desc : settings for this specific storage controller
486 # # name : vendor, product
487 # # scope : multipath & multipathd
488 # # desc : index for the block
491 # product "HSV110 (C)COMPAQ"
494 # # name : path_grouping_policy
495 # # scope : multipath & multipathd
496 # # desc : path grouping policy to apply to this multipath
497 # # values : failover, multibus, group_by_serial
498 # # values : failover = 1 path per priority group
499 # # multibus = all valid paths in 1 priority
501 # # group_by_serial = 1 priority group per detected
503 # # group_by_prio = 1 priority group per path
505 # # group_by_node_name = 1 priority group per target
508 # path_grouping_policy failover
511 # # name : getuid_callout
512 # # scope : multipath & multipathd
513 # # desc : the program and args to callout to obtain a unique
514 # # path identifier. Absolute path required
516 # getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
520 # # scope : multipath & multipathd
521 # # desc : the function to call to obtain a path
522 # # weight. Weights are summed for each path group to
523 # # determine the next PG to use case of failure.
524 # # default : no callout, all paths equals
530 # # scope : multipath & multipathd
531 # # desc : The arguments string passed to the prio function
532 # # Most prio functions do not need arguments. The
533 # # datacore prioritizer need one.
536 # prio_args "timeout=1000 preferredsds=foo"
538 # # name : path_checker, checker
539 # # scope : multipathd & multipathd
540 # # desc : path checking algorithm to use to check path state
541 # # values : readsector0|tur|emc_clariion|hp_sw|directio|rdac|
544 # path_checker directio
546 # # as already described
547 # path_selector "service-time 0"
549 # # as already described
553 # # name : hardware_handler
554 # # scope : multipath & multipathd
555 # # desc : If set, it specifies a module that will be used to
556 # # perform hardware specific actions when switching
557 # # path groups or handling IO errors
558 # # values : "0"|"1 emc"
561 # hardware_handler "1 emc"
565 # # scope : multipathd
566 # # desc : tell the daemon to manage path group failback, or
567 # # not to. 0 means immediate failback, values >0 means
568 # # deffered failback expressed in seconds.
569 # # values : manual|immediate|n > 0
575 # # scope : multipath & multipathd
576 # # desc : if set to priorities the multipath configurator will
577 # # assign path weights as "path prio * rr_min_io"
578 # # values : priorities|uniform
580 # rr_weight priorities
583 # # name : no_path_retry
584 # # scope : multipath & multipathd
585 # # desc : tell the number of retries until disable queueing,
586 # # or "fail" means immediate failure (no queueing),
587 # # "queue" means never stop queueing
588 # # values : queue|fail|n (>0)
590 # no_path_retry queue
594 # # scope : multipath & multipathd
595 # # desc : the number of IO to route to a path before switching
596 # # to the next in the same path group
601 # # name : flush_on_last_del
602 # # scope : multipathd
603 # # desc : If set to "yes", multipathd will disable queueing
604 # # when the last path to a device has been deleted.
607 # flush_on_last_del yes
610 # # name : product_blacklist
611 # # scope : multipath & multipathd
612 # # desc : product strings to blacklist for this vendor
614 # product_blacklist LUN_Z
617 # # name : fast_io_fail_tmo
618 # # scope : multipath & multipathd
619 # # desc : The number of seconds the scsi layer will wait after
620 # # a problem has been detected on a FC remote port
621 # # before failing IO to devices on that remote port.
622 # # values : off | n >= 0 (smaller than dev_loss_tmo)
626 # # name : dev_loss_tmo
627 # # scope : multipath & multipathd
628 # # desc : The number of seconds the scsi layer will wait after
629 # # a problem has been detected on a FC remote port
630 # # before removing it from the system.
637 # path_grouping_policy multibus
639 # rr_weight priorities