65326222595239a01a330a096c5f1062e0c2d183
[multipath-tools/.git] / multipath.conf.annotated
1 ##
2 ## This is a template multipath-tools configuration file
3 ## Uncomment the lines relevent to your environment
4 ##
5 #
6 ##
7 ## name  : defaults
8 ## desc  : multipath-tools default settings
9 ##
10 #defaults {
11 #       #
12 #       # name    : udev_dir
13 #       # desc    : directory where udev creates its device nodes
14 #       # default : /dev
15 #       #
16 #       udev_dir        /dev
17 #
18 #       #
19 #       # name    : polling_interval
20 #       # scope   : multipathd
21 #       # desc    : interval between two path checks in seconds. For
22 #       #           properly functioning paths, the interval between checks
23 #       #           will gradually increase to (4 * polling_interval).
24 #       # values  : n > 0
25 #       # default : 5
26 #       #
27 #       polling_interval 10
28 #
29 #       #
30 #       # name    : selector
31 #       # scope   : multipath
32 #       # desc    : the default path selector algorithm to use
33 #       #           these algorithms are offered by the kernel multipath target
34 #       # values  : "round-robin 0"
35 #       # default : "round-robin 0"
36 #       #
37 #       selector        "round-robin 0"
38 #
39 #       #
40 #       # name    : path_grouping_policy
41 #       # scope   : multipath
42 #       # desc    : the default path grouping policy to apply to unspecified
43 #       #           multipaths
44 #       # values  : failover           = 1 path per priority group
45 #       #           multibus           = all valid paths in 1 priority group
46 #       #           group_by_serial    = 1 priority group per detected serial
47 #       #                                number
48 #       #           group_by_prio      = 1 priority group per path priority
49 #       #                                value
50 #       #           group_by_node_name = 1 priority group per target node name
51 #       # default : failover
52 #       #
53 #       path_grouping_policy    multibus
54 #
55 #       #
56 #       # name    : getuid_callout
57 #       # scope   : multipath
58 #       # desc    : the default program and args to callout to obtain a unique 
59 #       #           path identifier. Absolute path required
60 #       # default : /lib/udev/scsi_id --whitelisted --device=/dev/%n
61 #       #
62 #       getuid_callout  "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
63 #
64 #       #
65 #       # name    : prio
66 #       # scope   : multipath
67 #       # desc    : the default function to call to obtain a path 
68 #       #           priority value. The ALUA bits in SPC-3 provide an
69 #       #           exploitable prio value for example.
70 #       # default : (null)
71 #       #
72 #       prio    "alua"
73 #
74 #       #
75 #       # name    : features
76 #       # scope   : multipath
77 #       # desc    : The default extra features of multipath devices. The
78 #       #           only existing feature currently is queue_if_no_path, which
79 #       #           is the same as setting no_path_retry to queue.
80 #       # values  : "1 queue_if_no_path"
81 #       # default : (null)
82 #       #
83 #       features        "1 queue_if_no_path"
84 #
85 #       #
86 #       # name    : path_checker, checker
87 #       # scope   : multipath & multipathd
88 #       # desc    : the default method used to determine the paths' state
89 #       # values  : readsector0|tur|emc_clariion|hp_sw|directio|rdac|cciss_tur
90 #       # default : directio
91 #       #
92 #       path_checker    directio
93 #
94 #       #
95 #       # name    : rr_min_io
96 #       # scope   : multipath
97 #       # desc    : the number of IO to route to a path before switching
98 #       #           to the next in the same path group
99 #       # default : 1000
100 #       #
101 #       rr_min_io       100
102 #
103 #       #
104 #       # name    : flush_on_last_del
105 #       # scope   : multipathd
106 #       # desc    : If set to "yes", multipathd will disable queueing when the
107 #       #           last path to a device has been deleted.
108 #       # values  : yes|no
109 #       # default : no
110 #       #
111 #       flush_on_last_del       yes
112 #
113 #       #
114 #       # name    : max_fds
115 #       # scope   : multipathd
116 #       # desc    : Sets the maximum number of open file descriptors for the
117 #       #           multipathd process.
118 #       # values  : max|n > 0
119 #       # default : None
120 #       #
121 #       max_fds         8192
122 #
123 #       #
124 #       # name    : rr_weight
125 #       # scope   : multipath
126 #       # desc    : if set to priorities the multipath configurator will assign
127 #       #           path weights as "path prio * rr_min_io"
128 #       # values  : priorities|uniform
129 #       # default : uniform
130 #       #
131 #       rr_weight       priorities
132 #
133 #       #
134 #       # name    : failback
135 #       # scope   : multipathd
136 #       # desc    : tell the daemon to manage path group failback, or not to.
137 #       #           0 means immediate failback, values >0 means deffered
138 #       #           failback expressed in seconds.
139 #       # values  : manual|immediate|n > 0
140 #       # default : manual
141 #       #
142 #       failback        immediate
143 #
144 #       #
145 #       # name    : no_path_retry
146 #       # scope   : multipath & multipathd
147 #       # desc    : tell the number of retries until disable queueing, or
148 #       #           "fail" means immediate failure (no queueing),
149 #       #           "queue" means never stop queueing
150 #       # values  : queue|fail|n (>0)
151 #       # default : (null)
152 #       #
153 #       no_path_retry  queue
154 #
155 #       #
156 #       # name    : queue_without_daemon
157 #       # scope   : multipathd
158 #       # desc    : If set to "no", multipathd will disable queueing for all
159 #       #           devices when it is shut down.
160 #       # values  : yes|no
161 #       # default : yes
162 #       queue_without_daemon    no
163 #
164 #       #
165 #       # name    : user_friendly_names
166 #       # scope   : multipath
167 #       # desc    : If set to "yes", using the bindings file
168 #       #           /var/lib/multipath/bindings to assign a persistent and
169 #       #           unique alias to the multipath, in the form of mpath<n>.
170 #       #           If set to "no" use the WWID as the alias. In either case
171 #       #           this be will be overriden by any specific aliases in this
172 #       #           file.
173 #       # values  : yes|no
174 #       # default : no
175 #       user_friendly_names no
176 #
177 #       #
178 #       # name    : mode
179 #       # scope   : multipath
180 #       # desc    : The mode to use for the multipath device nodes, in octal.
181 #       # values  : 0000 - 0777
182 #       # default : determined by the process
183 #       mode 0644
184 #
185 #       #
186 #       # name    : uid
187 #       # scope   : multipath
188 #       # desc    : The user id to use for the multipath device nodes. You
189 #       #           may use either the numeric or symbolic uid
190 #       # values  : <user_id>
191 #       # default : determined by the process
192 #       uid 0
193 #
194 #       #
195 #       # name    : gid
196 #       # scope   : multipath
197 #       # desc    : The group id to user for the multipath device nodes. You
198 #       #           may use either the numeric or symbolic gid
199 #       # values  : <group_id>
200 #       # default : determined by the process
201 #       gid disk
202 #
203 #       #
204 #       # name    : fast_io_fail_tmo
205 #       # scope   : multipath & multipathd
206 #       # desc    : The number of seconds the scsi layer will wait after a
207 #       #           problem has been detected on a FC remote port before failing
208 #       #           IO to devices on that remote port.
209 #       # values  : off | n >= 0 (smaller than dev_loss_tmo)
210 #       # default : determined by the OS
211 #       fast_io_fail_tmo 5
212 #
213 #       #
214 #       # name    : dev_loss_tmo
215 #       # scope   : multipath & multipathd
216 #       # desc    : The number of seconds the scsi layer will wait after a
217 #       #           problem has been detected on a FC remote port before
218 #       #           removing it from the system.
219 #       # values  : n > 0
220 #       # default : determined by the OS
221 #       dev_loss_tmo 600
222 #}
223 #       
224 ##
225 ## name    : blacklist
226 ## scope   : multipath & multipathd
227 ## desc    : list of device names to discard as not multipath candidates
228 ##           Devices can be identified by their device node name "devnode",
229 ##           their WWID "wwid", or their vender and product strings
230 ##           "device"
231 ## default : fd, hd, md, dm, sr, scd, st, ram, raw, loop, dcssblk
232 ##
233 #blacklist {
234 #       wwid 26353900f02796769
235 #       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
236 #       devnode "^hd[a-z]"
237 #       devnode "^dcssblk[0-9]*"
238 #       device {
239 #               vendor DEC.*
240 #               product MSA[15]00
241 #       }
242 #}
243 ##
244 ## name    : blacklist_exceptions
245 ## scope   : multipath & multipathd
246 ## desc    : list of device names to be treated as multipath candidates
247 ##           even if they are on the blacklist.
248 ##           Note: blacklist exceptions are only valid in the same class.
249 ##           It is not possible to blacklist devices using the devnode keyword
250 ##           and to exclude some devices of them using the wwid keyword.
251 ## default : -
252 ##
253 #blacklist_exceptions {
254 #       devnode "^dasd[c-d]+[0-9]*"
255 #       wwid    "IBM.75000000092461.4d00.34"
256 #       wwid    "IBM.75000000092461.4d00.35"
257 #       wwid    "IBM.75000000092461.4d00.36"
258 #}
259 #
260 ##
261 ## name    : multipaths
262 ## scope   : multipath & multipathd
263 ## desc    : list of multipaths finest-grained settings
264 ##
265 #multipaths {
266 #       #
267 #       # name  : multipath
268 #       # scope : multipath & multipathd
269 #       # desc  : container for settings that apply to one specific multipath
270 #       #
271 #       multipath {
272 #               #
273 #               # name  : wwid
274 #               # scope : multipath & multipathd
275 #               # desc  : index of the container
276 #               #
277 #               wwid                    3600508b4000156d700012000000b0000
278 #
279 #               #
280 #               # name    : alias
281 #               # scope   : multipath
282 #               # desc    : symbolic name for the multipath. If you are using
283 #               #           user_friendly_names, do not set the alias to
284 #               #           mpath<n>. This may conflict with an automatically
285 #               #           assigned user friendly name, and give you
286 #               #           incorrect device node names.
287 #               #
288 #               alias                   yellow
289 #
290 #               #
291 #               # name    : path_grouping_policy
292 #               # scope   : multipath
293 #               # desc    : path grouping policy to apply to this multipath
294 #               # values  : failover, multibus, group_by_serial
295 #               # values  : failover           = 1 path per priority group
296 #               #           multibus           = all valid paths in 1 priority
297 #               #                                group
298 #               #           group_by_serial    = 1 priority group per detected
299 #               #                                serial number
300 #               #           group_by_prio      = 1 priority group per path
301 #               #                                priority value
302 #               #           group_by_node_name = 1 priority group per target
303 #               #                                node name
304 #               #
305 #               path_grouping_policy    failover
306 #
307 #               #
308 #               # name    : path_selector
309 #               # desc    : the path selector algorithm to use for this mpath
310 #               #           these algo are offered by the kernel mpath target
311 #               # values  : "round-robin 0"
312 #               #
313 #               path_selector           "round-robin 0"
314 #
315 #               #
316 #               # name    : failback
317 #               # scope   : multipathd
318 #               # desc    : tell the daemon to manage path group failback, or
319 #               #           not to. 0 means immediate failback, values >0 means
320 #               #           deffered failback expressed in seconds.
321 #               # values  : manual|immediate|n > 0
322 #               #
323 #               failback                manual
324 #
325 #               #
326 #               # name    : rr_weight
327 #               # scope   : multipath
328 #               # desc    : if set to priorities the multipath configurator will
329 #               #           assign path weights as "path prio * rr_min_io"
330 #               # values  : priorities|uniform
331 #               #
332 #               rr_weight       priorities
333 #
334 #               #
335 #               # name    : no_path_retry
336 #               # scope   : multipath & multipathd
337 #               # desc    : tell the number of retries until disable queueing,
338 #               #           or "fail" means immediate failure (no queueing),
339 #               #           "queue" means never stop queueing
340 #               # values  : queue|fail|n (>0)
341 #               #
342 #               no_path_retry  queue
343 #
344 #               #
345 #               # name    : rr_min_io
346 #               # scope   : multipath
347 #               # desc    : the number of IO to route to a path before switching
348 #               #           to the next in the same path group
349 #               #
350 #               rr_min_io       100
351 #
352 #               #
353 #               # name    : flush_on_last_del
354 #               # scope   : multipathd
355 #               # desc    : If set to "yes", multipathd will disable queueing
356 #               #           when the last path to a device has been deleted.
357 #               # values  : yes|no
358 #               # default : no
359 #               #
360 #               flush_on_last_del       yes
361 #
362 #               #
363 #               # name    : mode
364 #               # scope   : multipath
365 #               # desc    : The mode to use for the multipath device nodes, in
366 #               #           octal.
367 #               # values  : 0000 - 0777
368 #               # default : determined by the process
369 #               mode 0644
370 #
371 #               #
372 #               # name    : uid
373 #               # scope   : multipath
374 #               # desc    : The user id to use for the multipath device nodes.
375 #               #           You may use either the numeric or symbolic uid
376 #               # values  : <user_id>
377 #               # default : determined by the process
378 #               uid 0
379 #
380 #               #
381 #               # name    : gid
382 #               # scope   : multipath
383 #               # desc    : The group id to user for the multipath device nodes.
384 #               #           You may use either the numeric or symbolic gid
385 #               # values  : <group_id>
386 #               # default : determined by the process
387 #               gid 0
388 #
389 #       }
390 #       multipath {
391 #               wwid    1DEC_____321816758474
392 #               alias   red
393 #               rr_weight               priorities
394 #       }
395 #}
396 #
397 ##
398 ## name  : devices
399 ## scope : multipath & multipathd
400 ## desc  : list of per storage controller settings
401 ##        overrides default settings (device_maps block)
402 ##         overriden by per multipath settings (multipaths block)
403 ##
404 #devices {
405 #       #
406 #       # name  : device
407 #       # scope : multipath & multipathd
408 #       # desc  : settings for this specific storage controller
409 #       #
410 #       device {
411 #               #
412 #               # name  : vendor, product
413 #               # scope : multipath & multipathd
414 #               # desc  : index for the block
415 #               #
416 #               vendor                  "COMPAQ  "
417 #               product                 "HSV110 (C)COMPAQ"
418 #
419 #               #
420 #               # name    : path_grouping_policy
421 #               # scope   : multipath
422 #               # desc    : path grouping policy to apply to this multipath
423 #               # values  : failover, multibus, group_by_serial
424 #               # values  : failover           = 1 path per priority group
425 #               #           multibus           = all valid paths in 1 priority
426 #               #                                group
427 #               #           group_by_serial    = 1 priority group per detected
428 #               #                                serial number
429 #               #           group_by_prio      = 1 priority group per path
430 #               #                                priority value
431 #               #           group_by_node_name = 1 priority group per target
432 #               #                                node name
433 #               #
434 #               path_grouping_policy    failover
435 #
436 #               #
437 #               # name    : getuid_callout
438 #               # scope   : multipath
439 #               # desc    : the program and args to callout to obtain a unique 
440 #               #           path identifier. Absolute path required
441 #               #
442 #               getuid_callout          "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
443 #
444 #               #
445 #               # name    : prio
446 #               # scope   : multipath
447 #               # desc    : the function to call to obtain a path 
448 #               #           weight. Weights are summed for each path group to
449 #               #           determine the next PG to use case of failure.
450 #               # default : no callout, all paths equals
451 #               #
452 #               prio          "hp_sw"
453 #
454 #               #
455 #               # name    : path_checker, checker
456 #               # scope   : multipathd
457 #               # desc    : path checking alorithm to use to check path state
458 #               # values  : readsector0|tur|emc_clariion|hp_sw|directio|rdac|
459 #               #           cciss_tur
460 #               #
461 #               path_checker            directio
462 #
463 #               #
464 #               # name    : path_selector
465 #               # desc    : the path selector algorithm to use for this mpath
466 #               #           these algo are offered by the kernel mpath target
467 #               # values  : "round-robin 0"
468 #               #
469 #               path_selector           "round-robin 0"
470 #
471 #               #
472 #               # name    : features
473 #               # scope   : multipath
474 #               # desc    : The extra features of multipath devices. The only
475 #               #           existing feature currently is queue_if_no_path,
476 #               #           which is the same as setting no_path_retry to queue.
477 #               # values  : "1 queue_if_no_path"
478 #               #
479 #               features        "1 queue_if_no_path"
480 #
481 #               #
482 #               # name    : hardware_handler
483 #               # scope   : multipath
484 #               # desc    : If set, it specifies a module that will be used to
485 #               #           perform hardware specific actions when switching
486 #               #           path groups or handling IO errors
487 #               # values  : "0"|"1 emc"
488 #               # default : "0"
489 #               #
490 #               hardware_handler "1 emc"
491 #
492 #               #
493 #               # name    : failback
494 #               # scope   : multipathd
495 #               # desc    : tell the daemon to manage path group failback, or
496 #               #           not to. 0 means immediate failback, values >0 means
497 #               #           deffered failback expressed in seconds.
498 #               # values  : manual|immediate|n > 0
499 #               #
500 #               failback                30
501 #
502 #               #
503 #               # name    : rr_weight
504 #               # scope   : multipath
505 #               # desc    : if set to priorities the multipath configurator will
506 #               #           assign path weights as "path prio * rr_min_io"
507 #               # values  : priorities|uniform
508 #               #
509 #               rr_weight       priorities
510 #
511 #               #
512 #               # name    : no_path_retry
513 #               # scope   : multipath & multipathd
514 #               # desc    : tell the number of retries until disable queueing,
515 #               #           or "fail" means immediate failure (no queueing),
516 #               #           "queue" means never stop queueing
517 #               # values  : queue|fail|n (>0)
518 #               #
519 #               no_path_retry  queue
520 #
521 #               #
522 #               # name    : rr_min_io
523 #               # scope   : multipath
524 #               # desc    : the number of IO to route to a path before switching
525 #               #           to the next in the same path group
526 #               #
527 #               rr_min_io       100
528 #
529 #               #
530 #               # name    : flush_on_last_del
531 #               # scope   : multipathd
532 #               # desc    : If set to "yes", multipathd will disable queueing
533 #               #           when the last path to a device has been deleted.
534 #               # values  : yes|no
535 #               #
536 #               flush_on_last_del       yes
537 #
538 #               #
539 #               # name    : product_blacklist
540 #               # scope   : multipath & multipathd
541 #               # desc    : product strings to blacklist for this vendor
542 #               #
543 #               product_blacklist       LUN_Z
544 #
545 #               #
546 #               # name    : fast_io_fail_tmo
547 #               # scope   : multipath & multipathd
548 #               # desc    : The number of seconds the scsi layer will wait after
549 #               #           a problem has been detected on a FC remote port
550 #               #           before failing IO to devices on that remote port.
551 #               # values  : off | n >= 0 (smaller than dev_loss_tmo)
552 #               fast_io_fail_tmo 5
553 #
554 #               #
555 #               # name    : dev_loss_tmo
556 #               # scope   : multipath & multipathd
557 #               # desc    : The number of seconds the scsi layer will wait after
558 #               #           a problem has been detected on a FC remote port
559 #               #           before removing it from the system.
560 #               # values  : n > 0
561 #               dev_loss_tmo 600
562 #       }
563 #       device {
564 #               vendor                  "COMPAQ  "
565 #               product                 "MSA1000         "
566 #               path_grouping_policy    multibus
567 #               path_checker            tur
568 #               rr_weight               priorities
569 #       }
570 #}