summaryrefslogtreecommitdiff
path: root/multipath/multipath.conf.5
blob: 165982ec34eb7ee978035ada45f7d328f519fc27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
.TH MULTIPATH.CONF 5 "30 November 2006"
.SH NAME
multipath.conf \- multipath daemon configuration file
.SH DESCRIPTION
.B "multipath.conf"
is the configuration file for the multipath daemon. It is used to
overwrite the built-in configuration table of \fBmultipathd\fP.
Any line whose first non-white-space character is a '#' is considered
a comment line. Empty lines are ignored.
.SH SYNTAX
The configuration file contains entries of the form:
.RS
.nf
.ft B
.sp
<section> {
.RS
.ft B
<attribute> <value>
.I "..."
.ft B
<subsection> {
.RS
.ft B
<attribute> <value>
.I "..."
.RE
}
.RE
}
.ft R
.fi
.RE
.LP
Each \fIsection\fP contains one or more attributes or subsections. The
recognized keywords for attributes or subsections depend on the
section in which they occor.
.LP
The following \fIsection\fP keywords are recognized:
.TP 17
.B defaults
This section defines default values for attributes which are used
whenever no specific setting is given.
.TP
.B blacklist
This section defines which devices should be excluded from the
multipath topology discovery.
.TP
.B blacklist_exceptions
This section defines which devices should be included in the
multipath topology discovery, despite being listed in the
.I blacklist
section.
.TP
.B multipaths
This section defines the multipath topologies. They are indexed by a
\fIWorld Wide Identifier\fR(wwid), which is the result of the
\fIgetuid_callout\fR program.
.TP
.B devices
This section defines the device-specific settings.
.RE
.LP
.SH "defaults section"
The
.B defaults
section recognizes the following keywords:
.TP 17
.B polling_interval
interval between two path checks in seconds For properly functioning paths,
the interval between checks will gradually increase to (4 * polling_interval);
default is
.I 5
.TP
.B udev_dir
directory where udev creates its device nodes; default is
.I /dev
.TP
.B verbosity
default verbosity. Higher values increase the verbosity level. Valid
levels are between 0 and 6; default is
.I 2
.TP
.B selector
The default path selector algorithm to use; they are offered by the
kernel multipath target. The only currently implemented is
.I "round-robin 0"
.TP
.B path_grouping_policy
The default path grouping policy to apply to unspecified
multipaths. Possible values are
.RS
.TP 12
.B failover
1 path per priority group
.TP
.B multibus
all paths in 1 priority group
.TP
.B group_by_serial
1 priority group per serial number
.TP
.B group_by_prio
1 priority group per priority value. Priorities are determined by
callout programs specified as a global, per-controller or
per-multipath option in the configuration file.
.TP
.B group_by_node_name
1 priority group per target node name. Target node names are fetched
in /sys/class/fc_transport/target*/node_name.
.TP
Default value is \fImultibus\fR.
.RE
.TP
.B getuid_callout
The default program and args to callout to obtain a unique path
identifier. Should be specified with an absolute path. Default value
is
.I /lib/udev/scsi_id --whitelisted --device=/dev/%n
.TP
.B prio_callout
The default program and args to callout to obtain a path priority
value. The specified program will be executed and should return a
numeric value specifying the relative priority of this path. Higher
number have a higher priority. A '%n' in the command line will be expanded
to the device name, a '%b' will be expanded to the device number in
.I major:minor
format.
.I "none"
is a valid value. Currently the following path priority programs are
implemented:
.RS
.TP 12
.B mpath_prio_emc /dev/%n
Generate the path priority for EMC arrays
.TP
.B mpath_prio_alua /dev/%n
Generate the path priority based on the SCSI-3 ALUA settings.
.TP
.B mpath_prio_netapp /dev/%n
Generate the path priority for NetApp arrays.
.TP
.B mpath_prio_rdac /dev/%n
Generate the path priority for LSI/Engenio RDAC controller.
.TP
.B mpath_prio_hp_sw /dev/%n
Generate the path priority for Compaq/HP controller in
active/standby mode.
.TP
.B mpath_prio_hds_modular %b
Generate the path priority for Hitachi HDS Modular storage arrays.
.TP
Default value is \fBnone\fR.
.RE
.TP
.B features
Specify any device-mapper features to be used. The most common of
these features is
.I "1 queue_if_no_path" 
Note that this can also be set via the
.I no_path_retry
keyword.
.TP
.B path_checker
The default method used to determine the paths' state. Possible values
are
.RS
.TP 12
.B readsector0
Read the first sector of the device
.TP
.B tur
Issue a
.I TEST UNIT READY
command to the device.
.TP
.B emc_clariion
Query the EMC Clariion specific EVPD page 0xC0 to determine the path
state.
.TP
.B hp_sw
Check the path state for HP storage arrays with Active/Standby firmware.
.TP
.B rdac
Check the path state for LSI/Engenio RDAC storage controller.
.TP
.B directio
Read the first sector with direct I/O.
.TP
Default value is \fIreadsector0\fR.
.RE
.TP
.B failback
Tell the daemon to manage path group failback, or not to. 0 or
.I immediate
means immediate failback, values >0 means deferred failback (in
seconds).
.I manual
means no failback. Default value is
.I manual
.TP
.B  rr_min_io
The number of IO to route to a path before switching to the next in
the same path group. Default is
.I 1000
.TP
.B rr_weight
If set to \fIpriorities\fR the multipath configurator will assign
path weights as "path prio * rr_min_io". Possible values are
.I priorities
or
.IR uniform .
Default is
.IR uniform .
.TP
.B no_path_retry
Specify the number of retries until disable queueing, or
.I fail
for immediate failure (no queueing),
.I queue
for never stop queueing. Default is 0.
.TP
.B user_friendly_names
If set to 
.I yes
, using the bindings file
.I /etc/multipath/bindings
to assign a persistent and unique alias to the multipath, in the form of mpath<n>.
If set to 
.I no
use the WWID as the alias. In either case this be will
be overriden by any specific aliases in the \fImultipaths\fR section.
Default is
.I no
.TP
.B max_fds
Specify the maximum number of file descriptors that can be opened by multipath
and multipathd.  This is equivalent to ulimit -n. A value of \fImax\fR will set
this to the system limit from /proc/sys/fs/nr_open. If this is not set, the
maximum number of open fds is taken from the calling process. It is usually
1024. To be safe, this should be set to the maximum number of paths plus 32,
if that number is greated than 1024.
.TP
.B fast_io_fail_tmo
Specify the number of seconds the scsi layer will wait after a problem has been
detected on a FC remote port before failing IO to devices on that remote port.
This should be smaller than dev_loss_tmo. Setting this to
.I off
will disable the timeout.
.TP
.B dev_loss_tmo
Specify the number of seconds the scsi layer will wait after a problem has
been detected on a FC remote port before removing it from the system.
.TP
.B queue_without_daemon
If set to
.I no
, when multipathd stops, queueing will be turned off for all devices.
This is useful for devices that set no_path_retry.  If a machine is
shut down while all paths to a device are down, it is possible to hang waiting
for IO to return from the device after multipathd has been stopped. Without
multipathd running, access to the paths cannot be restored, and the kernel
cannot be told to stop queueing IO. Setting queue_without_daemon to
.I no
, avoids this problem. Default is
.I yes
.
.SH "blacklist section"
The
.I blacklist
section is used to exclude specific device from inclusion in the
multipath topology. It is most commonly used to exclude local disks or
LUNs for the array controller.
.LP
The following keywords are recognized:
.TP 17
.B wwid
The \fIWorld Wide Identification\fR of a device.
.TP
.B devnode
Regular expression of the device nodes to be excluded.
.TP
.B device
Subsection for the device description. This subsection recognizes the
.I vendor
and
.I product
keywords. For a full description of these keywords please see the
.I devices
section description.
.SH "blacklist_exceptions section"
The
.I blacklist_exceptions
section is used to revert the actions of the
.I blacklist
section, ie to include specific device in the
multipath topology. This allows to selectively include devices which
would normally be excluded via the
.I blacklist
section.
.LP
The following keywords are recognized:
.TP 17
.B wwid
The \fIWorld Wide Identification\fR of a device.
.TP
.B devnode
Regular expression of the device nodes to be excluded.
.TP
.B device
Subsection for the device description. This subsection recognizes the
.I vendor
and
.I product
keywords. For a full description of these keywords please see the
.I devices
section description.
.SH "multipaths section"
The only recognized attribute for the
.B multipaths
section is the
.I multipath
subsection.
.LP
The
.B multipath
subsection recognizes the following attributes:
.TP 17
.B wwid
Index of the container. Mandatory for this subsection.
.TP
.B alias
(Optional) symbolic name for the multipath map.
.LP
The following attributes are optional; if not set the default values
are taken from the
.I defaults
section:
.sp 1
.PD .1v
.RS
.TP 18
.B path_grouping_policy
.TP
.B path_selector
.TP
.B failback
.TP
.B no_path_retry
.TP
.B rr_min_io
.RE
.PD
.LP
.SH "devices section"
The only recognized attribute for the
.B devices
section is the
.I device
subsection.
.LP
The
.I device
subsection recognizes the following attributes:
.TP 17
.B vendor
(Mandatory) Vendor identifier
.TP
.B product
(Mandatory) Product identifier
.TP
.B product_blacklist
Product strings to blacklist for this vendor
.TP
.B hardware_handler
(Optional) The hardware handler to use for this device type.
The following hardware handler are implemented:
.RS
.TP 12
.B 1 emc
Hardware handler for EMC storage arrays.
.RE
.LP
The following attributes are optional; if not set the default values
are taken from the
.I defaults
section:
.sp 1
.PD .1v
.RS
.TP 18
.B path_grouping_policy
.TP
.B getuid_callout
.TP
.B path_selector
.TP
.B path_checker
.TP
.B features
.TP
.B prio_callout
.TP
.B failback
.TP
.B rr_weight
.TP
.B no_path_retry
.TP
.B rr_min_io
.TP
.B fast_io_fail_tmo
.TP
.B dev_loss_tmo
.RE
.PD
.LP
.SH "KNOWN ISSUES"
The usage of
.B queue_if_no_path
option can lead to
.B D state
processes being hung and not killable in situations where all the paths to the LUN go offline.
It is advisable to use the
.B no_path_retry
option instead.
.SH "SEE ALSO"
.BR udev (8),
.BR dmsetup (8)
.BR multipath (8)
.BR multipathd (8)
.SH AUTHORS
.B multipath
was developed by Christophe Varoqui, <christophe.varoqui@opensvc.com> and others.