1 .TH MULTIPATH.CONF 5 "30 November 2006"
3 multipath.conf \- multipath daemon configuration file
6 is the configuration file for the multipath daemon. It is used to
7 overwrite the built-in configuration table of \fBmultipathd\fP.
8 Any line whose first non-white-space character is a '#' is considered
9 a comment line. Empty lines are ignored.
11 The configuration file contains entries of the form:
35 Each \fIsection\fP contains one or more attributes or subsections. The
36 recognized keywords for attributes or subsections depend on the
37 section in which they occor.
39 The following \fIsection\fP keywords are recognized:
42 This section defines default values for attributes which are used
43 whenever no values are given in the appropriate device or multipath
47 This section defines which devices should be excluded from the
48 multipath topology discovery.
50 .B blacklist_exceptions
51 This section defines which devices should be included in the
52 multipath topology discovery, despite being listed in the
57 This section defines the multipath topologies. They are indexed by a
58 \fIWorld Wide Identifier\fR(wwid), which is the result of the
59 \fIgetuid_callout\fR program.
62 This section defines the device-specific settings.
65 .SH "defaults section"
68 section recognizes the following keywords:
71 interval between two path checks in seconds. For properly functioning paths,
72 the interval between checks will gradually increase to
73 .B max_polling_interval;
77 .B max_polling_interval
78 maximal interval between two path checks in seconds; default is
79 .I 4 * polling_interval
82 directory where udev creates its device nodes; default is
86 default verbosity. Higher values increase the verbosity level. Valid
87 levels are between 0 and 6; default is
91 enable reassigning of device-mapper maps. With this option multipathd
92 will remap existing device-mapper maps to always point to multipath
93 device, not the underlying block devices. Possible values are
94 \fIyes\fR and \fIno\fR. Default is
98 The default path selector algorithm to use; they are offered by the
99 kernel multipath target. There are three selector algorithms.
103 Loop through every path in the path group, sending the same amount of IO to
107 Send the next bunch of IO down the path with the least amount of outstanding IO.
110 Choose the path for the next bunch of IO based on the amount of outstanding IO
111 to the path and its relative throughput.
114 .B path_grouping_policy
115 The default path grouping policy to apply to unspecified
116 multipaths. Possible values are
120 1 path per priority group
123 all paths in 1 priority group
126 1 priority group per serial number
129 1 priority group per priority value. Priorities are determined by
130 callout programs specified as a global, per-controller or
131 per-multipath option in the configuration file.
133 .B group_by_node_name
134 1 priority group per target node name. Target node names are fetched
135 in /sys/class/fc_transport/target*/node_name.
137 Default value is \fImultibus\fR.
141 The default program and args to callout to obtain a unique path
142 identifier. Should be specified with an absolute path. Default value
144 .I /lib/udev/scsi_id --whitelisted --device=/dev/%n
147 The name of the path priority routine. The specified routine
148 should return a numeric value specifying the relative priority
149 of this path. Higher number have a higher priority.
151 is a valid value. Currently the following path priority routines
156 Return a constant priority of \fI1\fR.
159 Generate the path priority for EMC arrays.
162 Generate the path priority based on the SCSI-3 ALUA settings.
165 Generate the path priority for NetApp arrays.
168 Generate the path priority for LSI/Engenio/NetApp E-Series RDAC controller.
171 Generate the path priority for Compaq/HP controller in
175 Generate the path priority for Hitachi HDS Modular storage arrays.
178 Generate a random priority between 1 and 10.
180 .B weightedpath <hbtl|devname> <regex1> <prio1> <regex2> <prio2> ...
182 regex can be of SCSI H:B:T:L format Ex: 1:0:.:. , *:0:0:.
184 regex can be of device name format Ex: sda , sd.e
185 Generate the path priority based on the regular expression and the
186 priority provided as argument.
188 Default value is \fBnone\fR.
192 Specify any device-mapper features to be used. Syntax is
196 is the number of features in
198 Possible values for the feature list are
202 Queue IO if no path is active; identical to the
207 Disable automatic partitions generation via kpartx.
211 The default method used to determine the paths state. Possible values
216 (Deprecated) Read the first sector of the device. This checker is being
217 deprecated, please use \fIdirectio\fR instead
222 command to the device.
225 Query the EMC Clariion specific EVPD page 0xC0 to determine the path
229 Check the path state for HP storage arrays with Active/Standby firmware.
232 Check the path state for LSI/Engenio/NetApp E-Series RDAC storage controller.
235 Read the first sector with direct I/O.
237 Default value is \fIdirectio\fR.
241 Tell the daemon to manage path group failback, or not to. 0 or
243 means immediate failback, values >0 means deferred failback (in
246 means no failback. Default value is
250 The number of IO to route to a path before switching to the next in
251 the same path group. Default is
255 If set to \fIpriorities\fR the multipath configurator will assign
256 path weights as "path prio * rr_min_io". Possible values are
264 Specify the number of retries until disable queueing, or
266 for immediate failure (no queueing),
268 for never stop queueing. Default is 0.
270 .B user_friendly_names
273 , using the bindings file
274 .I /etc/multipath/bindings
275 to assign a persistent and unique alias to the multipath, in the form of mpath<n>.
278 use the WWID as the alias. In either case this be will
279 be overriden by any specific aliases in the \fImultipaths\fR section.
284 Specify the maximum number of file descriptors that can be opened by multipath
285 and multipathd. This is equivalent to ulimit -n. A value of \fImax\fR will set
286 this to the system limit from /proc/sys/fs/nr_open. If this is not set, the
287 maximum number of open fds is taken from the calling process. It is usually
288 1024. To be safe, this should be set to the maximum number of paths plus 32,
289 if that number is greated than 1024.
292 Specify the timeout to user for path checkers that issue scsi commands with an
293 explict timeout, in seconds; default taken from
294 .I /sys/block/sd<x>/device/timeout
297 Specify the number of seconds the scsi layer will wait after a problem has been
298 detected on a FC remote port before failing IO to devices on that remote port.
299 This should be smaller than dev_loss_tmo. Setting this to
301 will disable the timeout.
304 Specify the number of seconds the scsi layer will wait after a problem has
305 been detected on a FC remote port before removing it from the system.
307 .B queue_without_daemon
310 , when multipathd stops, queueing will be turned off for all devices.
311 This is useful for devices that set no_path_retry. If a machine is
312 shut down while all paths to a device are down, it is possible to hang waiting
313 for IO to return from the device after multipathd has been stopped. Without
314 multipathd running, access to the paths cannot be restored, and the kernel
315 cannot be told to stop queueing IO. Setting queue_without_daemon to
317 , avoids this problem. Default is
320 The full pathname of the binding file to be used when the user_friendly_names option is set. Defaults to
321 .I /var/lib/multipath/bindings
323 .SH "blacklist section"
326 section is used to exclude specific device from inclusion in the
327 multipath topology. It is most commonly used to exclude local disks or
328 LUNs for the array controller.
330 The following keywords are recognized:
333 The \fIWorld Wide Identification\fR of a device.
336 Regular expression of the device nodes to be excluded.
339 Subsection for the device description. This subsection recognizes the
343 keywords. For a full description of these keywords please see the
346 .SH "blacklist_exceptions section"
348 .I blacklist_exceptions
349 section is used to revert the actions of the
351 section, ie to include specific device in the
352 multipath topology. This allows to selectively include devices which
353 would normally be excluded via the
357 The following keywords are recognized:
360 The \fIWorld Wide Identification\fR of a device.
363 Regular expression of the device nodes to be excluded.
366 Subsection for the device description. This subsection recognizes the
370 keywords. For a full description of these keywords please see the
373 .SH "multipaths section"
374 The only recognized attribute for the
382 subsection recognizes the following attributes:
385 Index of the container. Mandatory for this subsection.
388 (Optional) symbolic name for the multipath map.
390 The following attributes are optional; if not set the default values
400 .B path_grouping_policy
416 .SH "devices section"
417 The only recognized attribute for the
425 subsection recognizes the following attributes:
428 (Mandatory) Vendor identifier
431 (Mandatory) Product identifier
434 (Optional) Revision identfier
437 (Optional) Product strings to blacklist for this vendor
440 (Optional) The hardware handler to use for this device type.
441 The following hardware handler are implemented:
445 Hardware handler for EMC storage arrays.
448 Hardware handler for LSI/Engenio/NetApp E-Series RDAC storage controller.
451 Hardware handler for Compaq/HP storage arrays in active/standby
455 Hardware handler for SCSI-3 ALUA compatible arrays.
458 The following attributes are optional; if not set the default values
466 .B path_grouping_policy
497 processes being hung and not killable in situations where all the paths to the LUN go offline.
498 It is advisable to use the
506 might lead to a deadlock if the
508 setting results in a device being removed while I/O is still queued.
509 The multipath daemon will update the
511 setting accordingly to avoid this deadlock. Hence if both values are
512 specified the order of precedence is
513 .I no_path_retry, queue_if_no_path, dev_loss_tmo
522 was developed by Christophe Varoqui, <christophe.varoqui@opensvc.com> and others.