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 occur.
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 taken to be the value of
59 the udev attribute given by the
60 \fIuid_attribute\fR keyword.
63 This section defines the device-specific settings.
66 .SH "defaults section"
69 section recognizes the following keywords:
72 interval between two path checks in seconds. For properly functioning paths,
73 the interval between checks will gradually increase to
74 .B max_polling_interval;
78 .B max_polling_interval
79 maximal interval between two path checks in seconds; default is
80 .I 4 * polling_interval
83 directory where the dynamic shared objects are stored; default is system
88 default verbosity. Higher values increase the verbosity level. Valid
89 levels are between 0 and 6; default is
93 enable reassigning of device-mapper maps. With this option multipathd
94 will remap existing device-mapper maps to always point to multipath
95 device, not the underlying block devices. Possible values are
96 \fIyes\fR and \fIno\fR. Default is
100 The default path selector algorithm to use; they are offered by the
101 kernel multipath target. There are three selector algorithms.
105 Loop through every path in the path group, sending the same amount of IO to
109 Send the next bunch of IO down the path with the least amount of outstanding IO.
112 Choose the path for the next bunch of IO based on the amount of outstanding IO
113 to the path and its relative throughput.
116 .B path_grouping_policy
117 The default path grouping policy to apply to unspecified
118 multipaths. Possible values are
122 1 path per priority group
125 all paths in 1 priority group
128 1 priority group per serial number
131 1 priority group per priority value. Priorities are determined by
132 callout programs specified as a global, per-controller or
133 per-multipath option in the configuration file.
135 .B group_by_node_name
136 1 priority group per target node name. Target node names are fetched
137 in /sys/class/fc_transport/target*/node_name.
139 Default value is \fIfailover\fR.
143 The udev attribute providing a unique path
144 identifier. Default value is
148 The default program and args to callout to obtain a unique path
149 identifier. Should be specified with an absolute path.
150 This parameter is deprecated; \fIuid_attribute\fR should be used instead.
153 The name of the path priority routine. The specified routine
154 should return a numeric value specifying the relative priority
155 of this path. Higher number have a higher priority.
157 is a valid value. Currently the following path priority routines
162 Return a constant priority of \fI1\fR.
165 Generate the path priority for EMC arrays.
168 Generate the path priority based on the SCSI-3 ALUA settings.
171 Generate the path priority for NetApp arrays.
174 Generate the path priority for LSI/Engenio/NetApp E-Series RDAC controller.
177 Generate the path priority for Compaq/HP controller in
181 Generate the path priority for Hitachi HDS Modular storage arrays.
184 Generate a random priority between 1 and 10.
187 Generate the path priority based on the regular expression and the
188 priority provided as argument. requires prio_args keyword.
190 Default value is \fBnone\fR.
194 Arguments to pass to to the prio function. Currently only used with
195 .I weighted, which needs a value of the form
196 .I "<hbtl|devname> <regex1> <prio1> <regex2> <prio2> ..."
198 regex can be of SCSI H:B:T:L format Ex: 1:0:.:. , *:0:0:.
200 regex can be of device name format Ex: sda , sd.e
203 Specify any device-mapper features to be used. Syntax is
207 is the number of features in
209 Possible values for the feature list are
213 Queue IO if no path is active; identical to the
218 Disable automatic partitions generation via kpartx.
222 The default method used to determine the paths state. Possible values
227 (Deprecated) Read the first sector of the device. This checker is being
228 deprecated, please use \fIdirectio\fR instead
233 command to the device.
236 Query the EMC Clariion specific EVPD page 0xC0 to determine the path
240 Check the path state for HP storage arrays with Active/Standby firmware.
243 Check the path state for LSI/Engenio/NetApp E-Series RDAC storage controller.
246 Read the first sector with direct I/O.
248 Default value is \fIdirectio\fR.
252 Tell multipathd how to manage path group failback.
256 Immediately failback to the highest priority pathgroup that contains
260 Do not perform automatic failback.
263 Only perform automatic failback when the first path of a pathgroup
264 becomes active. This keeps a node from automatically failing back when
265 another node requested the failover.
268 deferred failback (time to defer in seconds)
270 Default value is \fImanual\fR.
274 The number of IO to route to a path before switching to the next in
275 the same path group. This is only for BIO based multipath. Default is
279 The number of IO requests to route to a path before switching to the
280 next in the same path group. This is only for request based multipath.
285 If set to \fIpriorities\fR the multipath configurator will assign
286 path weights as "path prio * rr_min_io". Possible values are
294 Specify the number of retries until disable queueing, or
296 for immediate failure (no queueing),
298 for never stop queueing. Default is 0.
300 .B user_friendly_names
303 , using the bindings file
304 .I /etc/multipath/bindings
305 to assign a persistent and unique alias to the multipath, in the form of mpath<n>.
308 use the WWID as the alias. In either case this be will
309 be overridden by any specific aliases in the \fImultipaths\fR section.
316 , multipathd will disable queueing when the last path to a device has been
321 Specify the maximum number of file descriptors that can be opened by multipath
322 and multipathd. This is equivalent to ulimit \-n. A value of \fImax\fR will set
323 this to the system limit from /proc/sys/fs/nr_open. If this is not set, the
324 maximum number of open fds is taken from the calling process. It is usually
325 1024. To be safe, this should be set to the maximum number of paths plus 32,
326 if that number is greated than 1024.
329 Specify the timeout to user for path checkers that issue scsi commands with an
330 explicit timeout, in seconds; default taken from
331 .I /sys/block/sd<x>/device/timeout
334 Specify the number of seconds the scsi layer will wait after a problem has been
335 detected on a FC remote port before failing IO to devices on that remote port.
336 This should be smaller than dev_loss_tmo. Setting this to
338 will disable the timeout.
341 Specify the number of seconds the scsi layer will wait after a problem has
342 been detected on a FC remote port before removing it from the system. This
343 can be set to "infinity" which sets it to the max value of 2147483647
344 seconds, or 68 years. It will be automatically adjusted to the overall
346 \fIno_path_retry\fR * \fIpolling_interval\fR
347 if a number of retries is given with \fIno_path_retry\fR and the
348 overall retry interval is longer than the specified \fIdev_loss_tmo\fR value.
349 The linux kernel will cap this value to \fI300\fR if \fBfast_io_fail_tmo\fR
352 .B queue_without_daemon
355 , when multipathd stops, queueing will be turned off for all devices.
356 This is useful for devices that set no_path_retry. If a machine is
357 shut down while all paths to a device are down, it is possible to hang waiting
358 for IO to return from the device after multipathd has been stopped. Without
359 multipathd running, access to the paths cannot be restored, and the kernel
360 cannot be told to stop queueing IO. Setting queue_without_daemon to
362 , avoids this problem. Default is
366 The full pathname of the binding file to be used when the user_friendly_names option is set. Defaults to
367 .I /etc/multipath/bindings
370 The full pathname of the wwids file, which is used by multipath to keep track
371 of the wwids for LUNs it has created multipath devices on in the past.
373 .I /etc/multipath/wwids
378 , multipathd logs the first path checker error at logging level 2. Any later
379 errors are logged at level 3 until the device is restored. If set to
381 , multipathd always logs the path checker error at logging level 2. Default is
385 This is the service action reservation key used by mpathpersist. It must be
386 set for all multipath devices using persistent reservations, and it must be
387 the same as the RESERVATION KEY field of the PERSISTENT RESERVE OUT parameter
388 list which contains an 8-byte value provided by the application client to the
389 device server to identify the I_T nexus. It is unset by default.
391 .B retain_attached_hw_handler
394 and the scsi layer has already attached a hardware_handler to the device,
395 multipath will not force the device to use the hardware_handler specified by
396 mutipath.conf. If the scsi layer has not attached a hardware handler,
397 multipath will continue to use its configured hardware handler. Default is
403 , multipath will try to detect if the device supports ALUA. If so, the device
404 will automatically use the
406 prioritizer. If not, the prioritizer will be selected as usual. Default is
409 .SH "blacklist section"
412 section is used to exclude specific device from inclusion in the
413 multipath topology. It is most commonly used to exclude local disks or
414 LUNs for the array controller.
416 The following keywords are recognized:
419 The \fIWorld Wide Identification\fR of a device.
422 Regular expression of the device nodes to be excluded.
425 Subsection for the device description. This subsection recognizes the
429 keywords. For a full description of these keywords please see the
432 .SH "blacklist_exceptions section"
434 .I blacklist_exceptions
435 section is used to revert the actions of the
437 section, ie to include specific device in the
438 multipath topology. This allows one to selectively include devices which
439 would normally be excluded via the
443 The following keywords are recognized:
446 The \fIWorld Wide Identification\fR of a device.
449 Regular expression of the device nodes to be excluded.
452 Subsection for the device description. This subsection recognizes the
456 keywords. For a full description of these keywords please see the
459 .SH "multipaths section"
460 The only recognized attribute for the
468 subsection recognizes the following attributes:
471 Index of the container. Mandatory for this subsection.
474 (Optional) symbolic name for the multipath map.
476 The following attributes are optional; if not set the default values
486 .B path_grouping_policy
512 .SH "devices section"
513 The only recognized attribute for the
521 subsection recognizes the following attributes:
524 (Mandatory) Vendor identifier
527 (Mandatory) Product identifier
530 (Optional) Revision identfier
533 (Optional) Product strings to blacklist for this vendor
536 (Optional) The user_friendly_names prefix to use for this
537 device type, instead of the default "mpath"
540 (Optional) The hardware handler to use for this device type.
541 The following hardware handler are implemented:
545 Hardware handler for EMC storage arrays.
548 Hardware handler for LSI/Engenio/NetApp E-Series RDAC storage controller.
551 Hardware handler for Compaq/HP storage arrays in active/standby
555 Hardware handler for SCSI-3 ALUA compatible arrays.
558 The following attributes are optional; if not set the default values
566 .B path_grouping_policy
596 .B retain_attached_hw_handler
607 processes being hung and not killable in situations where all the paths to the LUN go offline.
608 It is advisable to use the
616 might lead to a deadlock if the
618 setting results in a device being removed while I/O is still queued.
619 The multipath daemon will update the
621 setting accordingly to avoid this deadlock. Hence if both values are
622 specified the order of precedence is
623 .I no_path_retry, queue_if_no_path, dev_loss_tmo
632 was developed by Christophe Varoqui, <christophe.varoqui@opensvc.com> and others.