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