config file cleanup and a defaults file
[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 -g -u -s
59 #       #
60 #       getuid_callout  "/lib/udev/scsi_id -g -u -d /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    : max_fds
103 #       # scope   : multipathd
104 #       # desc    : Sets the maximum number of open file descriptors for the
105 #       #           multipathd process.
106 #       # values  : unlimited|n > 0
107 #       # default : None
108 #       #
109 #       max_fds         8192
110 #
111 #       #
112 #       # name    : rr_weight
113 #       # scope   : multipath
114 #       # desc    : if set to priorities the multipath configurator will assign
115 #       #           path weights as "path prio * rr_min_io"
116 #       # values  : priorities|uniform
117 #       # default : uniform
118 #       #
119 #       rr_weight       priorities
120 #
121 #       #
122 #       # name    : failback
123 #       # scope   : multipathd
124 #       # desc    : tell the daemon to manage path group failback, or not to.
125 #       #           0 means immediate failback, values >0 means deffered
126 #       #           failback expressed in seconds.
127 #       # values  : manual|immediate|n > 0
128 #       # default : manual
129 #       #
130 #       failback        immediate
131 #
132 #       #
133 #       # name    : no_path_retry
134 #       # scope   : multipath & multipathd
135 #       # desc    : tell the number of retries until disable queueing, or
136 #       #           "fail" means immediate failure (no queueing),
137 #       #           "queue" means never stop queueing
138 #       # values  : queue|fail|n (>0)
139 #       # default : (null)
140 #       #
141 #       no_path_retry  queue
142 #
143 #       #
144 #       # name    : user_friendly_names
145 #       # scope   : multipath
146 #       # desc    : If set to "yes", using the bindings file
147 #       #           /var/lib/multipath/bindings to assign a persistent and
148 #       #           unique alias to the multipath, in the form of mpath<n>.
149 #       #           If set to "no" use the WWID as the alias. In either case
150 #       #           this be will be overriden by any specific aliases in this
151 #       #           file.
152 #       # values  : yes|no
153 #       # default : no
154 #       user_friendly_names no
155 #
156 #}
157 #       
158 ##
159 ## name    : blacklist
160 ## scope   : multipath & multipathd
161 ## desc    : list of device names to discard as not multipath candidates
162 ##           Devices can be identified by their device node name "devnode",
163 ##           their WWID "wwid", or their vender and product strings
164 ##           "device"
165 ## default : fd, hd, md, dm, sr, scd, st, ram, raw, loop, dcssblk
166 ##
167 #blacklist {
168 #       wwid 26353900f02796769
169 #       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
170 #       devnode "^hd[a-z]"
171 #       devnode "^dcssblk[0-9]*"
172 #       device {
173 #               vendor DEC.*
174 #               product MSA[15]00
175 #       }
176 #}
177 ##
178 ## name    : blacklist_exceptions
179 ## scope   : multipath & multipathd
180 ## desc    : list of device names to be treated as multipath candidates
181 ##           even if they are on the blacklist.
182 ##           Note: blacklist exceptions are only valid in the same class.
183 ##           It is not possible to blacklist devices using the devnode keyword
184 ##           and to exclude some devices of them using the wwid keyword.
185 ## default : -
186 ##
187 #blacklist_exceptions {
188 #       devnode "^dasd[c-d]+[0-9]*"
189 #       wwid    "IBM.75000000092461.4d00.34"
190 #       wwid    "IBM.75000000092461.4d00.35"
191 #       wwid    "IBM.75000000092461.4d00.36"
192 #}
193 #
194 ##
195 ## name    : multipaths
196 ## scope   : multipath & multipathd
197 ## desc    : list of multipaths finest-grained settings
198 ##
199 #multipaths {
200 #       #
201 #       # name  : multipath
202 #       # scope : multipath & multipathd
203 #       # desc  : container for settings that apply to one specific multipath
204 #       #
205 #       multipath {
206 #               #
207 #               # name  : wwid
208 #               # scope : multipath & multipathd
209 #               # desc  : index of the container
210 #               #
211 #               wwid                    3600508b4000156d700012000000b0000
212 #
213 #               #
214 #               # name    : alias
215 #               # scope   : multipath
216 #               # desc    : symbolic name for the multipath
217 #               #
218 #               alias                   yellow
219 #
220 #               #
221 #               # name    : path_grouping_policy
222 #               # scope   : multipath
223 #               # desc    : path grouping policy to apply to this multipath
224 #               # values  : failover, multibus, group_by_serial
225 #               # values  : failover           = 1 path per priority group
226 #               #           multibus           = all valid paths in 1 priority
227 #               #                                group
228 #               #           group_by_serial    = 1 priority group per detected
229 #               #                                serial number
230 #               #           group_by_prio      = 1 priority group per path
231 #               #                                priority value
232 #               #           group_by_node_name = 1 priority group per target
233 #               #                                node name
234 #               #
235 #               path_grouping_policy    failover
236 #
237 #               #
238 #               # name    : path_selector
239 #               # desc    : the path selector algorithm to use for this mpath
240 #               #           these algo are offered by the kernel mpath target
241 #               # values  : "round-robin 0"
242 #               #
243 #               path_selector           "round-robin 0"
244 #
245 #               #
246 #               # name    : failback
247 #               # scope   : multipathd
248 #               # desc    : tell the daemon to manage path group failback, or
249 #               #           not to. 0 means immediate failback, values >0 means
250 #               #           deffered failback expressed in seconds.
251 #               # values  : manual|immediate|n > 0
252 #               #
253 #               failback                manual
254 #
255 #               #
256 #               # name    : rr_weight
257 #               # scope   : multipath
258 #               # desc    : if set to priorities the multipath configurator will
259 #               #           assign path weights as "path prio * rr_min_io"
260 #               # values  : priorities|uniform
261 #               #
262 #               rr_weight       priorities
263 #
264 #               #
265 #               # name    : no_path_retry
266 #               # scope   : multipath & multipathd
267 #               # desc    : tell the number of retries until disable queueing,
268 #               #           or "fail" means immediate failure (no queueing),
269 #               #           "queue" means never stop queueing
270 #               # values  : queue|fail|n (>0)
271 #               #
272 #               no_path_retry  queue
273 #
274 #               #
275 #               # name    : rr_min_io
276 #               # scope   : multipath
277 #               # desc    : the number of IO to route to a path before switching
278 #               #           to the next in the same path group
279 #               #
280 #               rr_min_io       100
281 #       }
282 #       multipath {
283 #               wwid    1DEC_____321816758474
284 #               alias   red
285 #               rr_weight               priorities
286 #       }
287 #}
288 #
289 ##
290 ## name  : devices
291 ## scope : multipath & multipathd
292 ## desc  : list of per storage controller settings
293 ##        overrides default settings (device_maps block)
294 ##         overriden by per multipath settings (multipaths block)
295 ##
296 #devices {
297 #       #
298 #       # name  : device
299 #       # scope : multipath & multipathd
300 #       # desc  : settings for this specific storage controller
301 #       #
302 #       device {
303 #               #
304 #               # name  : vendor, product
305 #               # scope : multipath & multipathd
306 #               # desc  : index for the block
307 #               #
308 #               vendor                  "COMPAQ  "
309 #               product                 "HSV110 (C)COMPAQ"
310 #
311 #               #
312 #               # name    : path_grouping_policy
313 #               # scope   : multipath
314 #               # desc    : path grouping policy to apply to this multipath
315 #               # values  : failover, multibus, group_by_serial
316 #               # values  : failover           = 1 path per priority group
317 #               #           multibus           = all valid paths in 1 priority
318 #               #                                group
319 #               #           group_by_serial    = 1 priority group per detected
320 #               #                                serial number
321 #               #           group_by_prio      = 1 priority group per path
322 #               #                                priority value
323 #               #           group_by_node_name = 1 priority group per target
324 #               #                                node name
325 #               #
326 #               path_grouping_policy    failover
327 #
328 #               #
329 #               # name    : getuid_callout
330 #               # scope   : multipath
331 #               # desc    : the program and args to callout to obtain a unique 
332 #               #           path identifier. Absolute path required
333 #               #
334 #               getuid_callout          "/lib/udev/scsi_id -g -u -d /dev/%n"
335 #
336 #               #
337 #               # name    : prio
338 #               # scope   : multipath
339 #               # desc    : the function to call to obtain a path 
340 #               #           weight. Weights are summed for each path group to
341 #               #           determine the next PG to use case of failure.
342 #               # default : no callout, all paths equals
343 #               #
344 #               prio          "hp_sw"
345 #
346 #               #
347 #               # name    : path_checker, checker
348 #               # scope   : multipathd
349 #               # desc    : path checking alorithm to use to check path state
350 #               # values  : readsector0|tur|emc_clariion|hp_sw|directio|rdac|
351 #               #           cciss_tur
352 #               #
353 #               path_checker            directio
354 #
355 #               #
356 #               # name    : path_selector
357 #               # desc    : the path selector algorithm to use for this mpath
358 #               #           these algo are offered by the kernel mpath target
359 #               # values  : "round-robin 0"
360 #               #
361 #               path_selector           "round-robin 0"
362 #
363 #               #
364 #               # name    : features
365 #               # scope   : multipath
366 #               # desc    : The extra features of multipath devices. The only
367 #               #           existing feature currently is queue_if_no_path,
368 #               #           which is the same as setting no_path_retry to queue.
369 #               # values  : "1 queue_if_no_path"
370 #               #
371 #               features        "1 queue_if_no_path"
372 #
373 #               #
374 #               # name    : hardware_handler
375 #               # scope   : multipath
376 #               # desc    : If set, it specifies a module that will be used to
377 #               #           perform hardware specific actions when switching
378 #               #           path groups or handling IO errors
379 #               # values  : "0"|"1 emc"
380 #               # default : "0"
381 #               #
382 #               hardware_handler "1 emc"
383 #
384 #               #
385 #               # name    : failback
386 #               # scope   : multipathd
387 #               # desc    : tell the daemon to manage path group failback, or
388 #               #           not to. 0 means immediate failback, values >0 means
389 #               #           deffered failback expressed in seconds.
390 #               # values  : manual|immediate|n > 0
391 #               #
392 #               failback                30
393 #
394 #               #
395 #               # name    : rr_weight
396 #               # scope   : multipath
397 #               # desc    : if set to priorities the multipath configurator will
398 #               #           assign path weights as "path prio * rr_min_io"
399 #               # values  : priorities|uniform
400 #               #
401 #               rr_weight       priorities
402 #
403 #               #
404 #               # name    : no_path_retry
405 #               # scope   : multipath & multipathd
406 #               # desc    : tell the number of retries until disable queueing,
407 #               #           or "fail" means immediate failure (no queueing),
408 #               #           "queue" means never stop queueing
409 #               # values  : queue|fail|n (>0)
410 #               #
411 #               no_path_retry  queue
412 #
413 #               #
414 #               # name    : rr_min_io
415 #               # scope   : multipath
416 #               # desc    : the number of IO to route to a path before switching
417 #               #           to the next in the same path group
418 #               #
419 #               rr_min_io       100
420 #
421 #               #
422 #               # name    : product_blacklist
423 #               # scope   : multipath & multipathd
424 #               # desc    : product strings to blacklist for this vendor
425 #               #
426 #               product_blacklist       LUN_Z
427 #       }
428 #       device {
429 #               vendor                  "COMPAQ  "
430 #               product                 "MSA1000         "
431 #               path_grouping_policy    multibus
432 #               path_checker            tur
433 #               rr_weight               priorities
434 #       }
435 #}