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). For details on the wwid generation
59 see section \fBWWID generation\fR below.
62 This section defines the device-specific settings.
65 This section defines values for attributes that should override the
66 device-specific settings for all devices.
69 .SH "defaults section"
72 section recognizes the following keywords:
75 interval between two path checks in seconds. For properly functioning paths,
76 the interval between checks will gradually increase to
77 .B max_polling_interval.
78 This value will be overridden by the
80 setting in the multipathd.service definition if systemd is used.
84 .B max_polling_interval
85 maximal interval between two path checks in seconds; default is
86 .I 4 * polling_interval
89 directory where the dynamic shared objects are stored; default is system
96 , instead of trying to create a multipath device for every non-blacklisted
97 path, multipath will only create a device if one of three condidions are
100 There are at least two non-blacklisted paths with the same wwid,
102 the user manually forces the creation, by specifying a device with the multipath
105 a path has the same WWID as a multipath device that was previously created
106 while find_multipaths was set (even if that multipath device doesn't currently
108 Whenever a multipath device is created with find_multipaths set, multipath will
109 remeber the WWID of the device, so that it will automatically create the
110 device again, as soon as it sees a path with that WWID. This should allow most
111 users to have multipath automatically choose the correct paths to make into
112 multipath devices, without having to edit the blacklist; Default is
116 default verbosity. Higher values increase the verbosity level. Valid
117 levels are between 0 and 6; default is
121 enable reassigning of device-mapper maps. With this option multipathd
122 will remap existing device-mapper maps to always point to multipath
123 device, not the underlying block devices. Possible values are
124 \fIyes\fR and \fIno\fR. Default is
128 The default path selector algorithm to use; they are offered by the
129 kernel multipath target. There are three selector algorithms.
133 Loop through every path in the path group, sending the same amount of IO to
137 Send the next bunch of IO down the path with the least amount of outstanding IO.
140 Choose the path for the next bunch of IO based on the amount of outstanding IO
141 to the path and its relative throughput.
144 .B path_grouping_policy
145 The default path grouping policy to apply to unspecified
146 multipaths. Possible values are
150 1 path per priority group
153 all paths in 1 priority group
156 1 priority group per serial number
159 1 priority group per priority value. Priorities are determined by
160 callout programs specified as a global, per-controller or
161 per-multipath option in the configuration file.
163 .B group_by_node_name
164 1 priority group per target node name. Target node names are fetched
165 in /sys/class/fc_transport/target*/node_name.
167 Default value is \fIfailover\fR.
171 The udev attribute providing a unique path
172 identifier. Default value is
176 The default program and args to callout to obtain a unique path
177 identifier. Should be specified with an absolute path.
178 This parameter is deprecated.
181 The name of the path priority routine. The specified routine
182 should return a numeric value specifying the relative priority
183 of this path. Higher number have a higher priority.
185 is a valid value. Currently the following path priority routines
190 Return a constant priority of \fI1\fR.
193 Generate the path priority for EMC arrays.
196 Generate the path priority based on the SCSI-3 ALUA settings. This prioritizer
197 accepts the optional prio_arg
198 .I exclusive_pref_bit
201 Generate the path priority for NetApp arrays.
204 Generate the path priority for LSI/Engenio/NetApp E-Series RDAC controller.
207 Generate the path priority for Compaq/HP controller in
211 Generate the path priority for Hitachi HDS Modular storage arrays.
214 Generate a random priority between 1 and 10.
217 Generate the path priority based on the regular expression and the
218 priority provided as argument. requires prio_args keyword.
220 Default value is \fBnone\fR.
224 Arguments to pass to to the prio function. This only applies to certain
229 Needs a value of the form
230 .I "<hbtl|devname|wwn> <regex1> <prio1> <regex2> <prio2> ..."
232 regex can be of SCSI H:B:T:L format Ex: 1:0:.:. , *:0:0:.
234 regex can be of device name format Ex: sda , sd.e
236 regex can be of the form
237 .I "host_wwnn:host_wwpn:target_wwnn:target_wwpn"
238 these values can be looked up through sysfs or by running
239 .I mulitpathd show paths format "%N:%R:%n:%r" Ex: 0x200100e08ba0aea0:0x210100e08ba0aea0:.*:.* , .*:.*:iqn.2009-10.com.redhat.msp.lab.ask-06:.*
243 .I exclusive_pref_bit
244 is set, paths with the TPGS pref bit set will always be in their own path
249 Specify any device-mapper features to be used. Syntax is
253 is the number of features in
255 Possible values for the feature list are
259 Queue IO if no path is active; identical to the
264 Disable automatic partitions generation via kpartx.
268 The default method used to determine the paths state. Possible values
273 (Deprecated) Read the first sector of the device. This checker is being
274 deprecated, please use \fIdirectio\fR instead
279 command to the device.
282 Query the EMC Clariion specific EVPD page 0xC0 to determine the path
286 Check the path state for HP storage arrays with Active/Standby firmware.
289 Check the path state for LSI/Engenio/NetApp E-Series RDAC storage controller.
292 Read the first sector with direct I/O.
294 Default value is \fIdirectio\fR.
298 Tell multipathd how to manage path group failback.
302 Immediately failback to the highest priority pathgroup that contains
306 Do not perform automatic failback.
309 Only perform automatic failback when the first path of a pathgroup
310 becomes active. This keeps a node from automatically failing back when
311 another node requested the failover.
314 deferred failback (time to defer in seconds)
316 Default value is \fImanual\fR.
320 The number of IO to route to a path before switching to the next in
321 the same path group. This is only for BIO based multipath. Default is
325 The number of IO requests to route to a path before switching to the
326 next in the same path group. This is only for request based multipath.
331 If set to \fIpriorities\fR the multipath configurator will assign
332 path weights as "path prio * rr_min_io". Possible values are
340 Specify the number of retries until disable queueing, or
342 for immediate failure (no queueing),
344 for never stop queueing. If unset no queueing is attempted.
347 .B user_friendly_names
350 , using the bindings file
351 .I /etc/multipath/bindings
352 to assign a persistent and unique alias to the multipath, in the form of mpath<n>.
355 use the WWID as the alias. In either case this be will
356 be overridden by any specific aliases in the \fImultipaths\fR section.
363 , multipathd will disable queueing when the last path to a device has been
368 Specify the maximum number of file descriptors that can be opened by multipath
369 and multipathd. This is equivalent to ulimit \-n. A value of \fImax\fR will set
370 this to the system limit from /proc/sys/fs/nr_open. If this is not set, the
371 maximum number of open fds is taken from the calling process. It is usually
372 1024. To be safe, this should be set to the maximum number of paths plus 32,
373 if that number is greated than 1024.
376 Specify the timeout to use for path checkers and prioritizers that issue scsi
377 commands with an explicit timeout, in seconds; default taken from
378 .I /sys/block/sd<x>/device/timeout
381 Specify the number of seconds the scsi layer will wait after a problem has been
382 detected on a FC remote port before failing IO to devices on that remote port.
383 This should be smaller than dev_loss_tmo. Setting this to
385 will disable the timeout.
388 Specify the number of seconds the scsi layer will wait after a problem has
389 been detected on a FC remote port before removing it from the system. This
390 can be set to "infinity" which sets it to the max value of 2147483647
391 seconds, or 68 years. It will be automatically adjusted to the overall
393 \fIno_path_retry\fR * \fIpolling_interval\fR
394 if a number of retries is given with \fIno_path_retry\fR and the
395 overall retry interval is longer than the specified \fIdev_loss_tmo\fR value.
396 The linux kernel will cap this value to \fI300\fR if \fBfast_io_fail_tmo\fR
397 is not set. Default is 600.
399 .B queue_without_daemon
402 , when multipathd stops, queueing will be turned off for all devices.
403 This is useful for devices that set no_path_retry. If a machine is
404 shut down while all paths to a device are down, it is possible to hang waiting
405 for IO to return from the device after multipathd has been stopped. Without
406 multipathd running, access to the paths cannot be restored, and the kernel
407 cannot be told to stop queueing IO. Setting queue_without_daemon to
409 , avoids this problem. Default is
413 The full pathname of the binding file to be used when the user_friendly_names option is set. Defaults to
414 .I /etc/multipath/bindings
417 The full pathname of the wwids file, which is used by multipath to keep track
418 of the wwids for LUNs it has created multipath devices on in the past.
420 .I /etc/multipath/wwids
425 , multipathd logs the first path checker error at logging level 2. Any later
426 errors are logged at level 3 until the device is restored. If set to
428 , multipathd always logs the path checker error at logging level 2. Default is
432 This is the service action reservation key used by mpathpersist. It must be
433 set for all multipath devices using persistent reservations, and it must be
434 the same as the RESERVATION KEY field of the PERSISTENT RESERVE OUT parameter
435 list which contains an 8-byte value provided by the application client to the
436 device server to identify the I_T nexus. It is unset by default.
438 .B retain_attached_hw_handler
441 and the scsi layer has already attached a hardware_handler to the device,
442 multipath will not force the device to use the hardware_handler specified by
443 mutipath.conf. If the scsi layer has not attached a hardware handler,
444 multipath will continue to use its configured hardware handler. Default is
450 , multipath will try to detect if the device supports ALUA. If so, the device
451 will automatically use the
453 prioritizer. If not, the prioritizer will be selected as usual. Default is
459 , multipathd will call the path checkers in sync mode only. This means that
460 only one checker will run at a time. This is useful in the case where many
461 multipathd checkers running in parallel causes significant CPU pressure. The
468 , multipathd will do a deferred remove instead of a regular remove when the
469 last path device has been deleted. This means that if the multipath device is
470 still in use, it will be freed when the last user closes it. If path is added
471 to the multipath device before the last user closes it, the deferred remove
472 will be canceled. Default is
476 If set to anything other than "", multipath will search this directory
477 alphabetically for file ending in ".conf" and it will read configuration
478 information from them, just as if it was in /etc/multipath.conf. config_dir
479 must either be "" or a fully qualified directory name. Default is
480 .I "/etc/multipath/conf.d"
482 .B delay_watch_checks
483 If set to a value greater than 0, multipathd will watch paths that have
484 recently become valid for this many checks. If they fail again while they are
485 being watched, when they next become valid, they will not be used until they
492 If set to a value greater than 0, when a device that has recently come back
493 online fails again within
494 .I delay_watch_checks
495 checks, the next time it comes back online, it will marked and delayed, and not
496 used until it has passed
504 , multipathd will start a new path checker loop after exactly one second,
505 so that each path check will occur at exactly
507 seconds. On busy systems path checks might take longer than one second;
508 here the missing ticks will be accounted for on the next round.
509 A warning will be printed if path checks take longer than
516 CLI receive timeout in milliseconds. For larger systems CLI commands
517 might timeout before the multipathd lock is released and the CLI command
518 can be processed. This will result in errors like
519 'timeout receiving packet' to be returned from CLI commands.
520 In these cases it is recommended to increase the CLI timeout to avoid
521 those issues. The default is
524 .B missing_uev_wait_timeout
525 Controls how many seconds multipathd will wait, after a new multipath device
526 is created, to receive a change event from udev for the device, before
527 automatically enabling device reloads. Usually multipathd will delay reloads
528 on a device until it receives a change uevent from the initial table load. The
532 .SH "blacklist section"
535 section is used to exclude specific device from inclusion in the
536 multipath topology. It is most commonly used to exclude local disks or
537 LUNs for the array controller.
539 The following keywords are recognized:
542 The \fIWorld Wide Identification\fR of a device.
545 Regular expression of the device nodes to be excluded.
548 Regular expression of the udev property to be excluded.
551 Subsection for the device description. This subsection recognizes the
555 keywords. For a full description of these keywords please see the
558 .SH "blacklist_exceptions section"
560 .I blacklist_exceptions
561 section is used to revert the actions of the
563 section, ie to include specific device in the
564 multipath topology. This allows one to selectively include devices which
565 would normally be excluded via the
569 The following keywords are recognized:
572 The \fIWorld Wide Identification\fR of a device.
575 Regular expression of the udev property to be whitelisted. Defaults to
576 .I (ID_WWN|SCSI_IDENT_.*)
579 Regular expression of the device nodes to be whitelisted.
582 Subsection for the device description. This subsection recognizes the
586 keywords. For a full description of these keywords please see the
592 blacklist and whitelist handling is different from the usual handling
593 in the sense that the whitelist
595 to be set, otherwise the device will be blacklisted.
596 In these cases the message
597 .I blacklisted, udev property missing
599 .SH "multipaths section"
600 The only recognized attribute for the
608 subsection recognizes the following attributes:
611 Index of the container. Mandatory for this subsection.
614 (Optional) symbolic name for the multipath map.
616 The following attributes are optional; if not set the default values
626 .B path_grouping_policy
652 .B delay_watch_checks
658 .SH "devices section"
659 The only recognized attribute for the
667 subsection recognizes the following attributes:
670 (Mandatory) Vendor identifier
673 (Mandatory) Product identifier
676 (Optional) Revision identfier
679 (Optional) Product strings to blacklist for this vendor
682 (Optional) The user_friendly_names prefix to use for this
683 device type, instead of the default "mpath"
686 (Optional) The hardware handler to use for this device type.
687 The following hardware handler are implemented:
691 Hardware handler for EMC storage arrays.
694 Hardware handler for LSI/Engenio/NetApp E-Series RDAC storage controller.
697 Hardware handler for Compaq/HP storage arrays in active/standby
701 Hardware handler for SCSI-3 ALUA compatible arrays.
704 The following attributes are optional; if not set the default values
712 .B path_grouping_policy
742 .B retain_attached_hw_handler
748 .B delay_watch_checks
754 .SH "overrides section"
755 The overrides section recognizes the following optional attributes; if not set
756 the values are taken from the
765 .B path_grouping_policy
799 .B user_friendly_names
801 .B retain_attached_hw_handler
807 .B delay_watch_checks
813 .SH "WWID generation"
814 Multipath uses a \fIWorld Wide Identification\fR (wwid) to determine
815 which paths belong to the same device. Each path presenting the same
816 wwid is assumed to point to the same device.
818 The wwid is generated by three methods (in the order of preference):
821 Use the specified external program; cf \fIgetuid_callout\fR above.
822 Care should be taken when using this method; the external program
823 needs to be loaded from disk for execution, which might lead to
824 deadlock situations in an all-paths-down scenario.
827 Use the value of the specified udev attribute; cf \fIuid_attribute\fR
828 above. This method is preferred to \fIgetuid_callout\fR as multipath
829 does not need to call any external programs here. However, under
830 certain circumstances udev might not be able to generate the requested
834 If none of the \fIgetuid_callout\fR or \fIuid_attribute\fR parameters
835 are present multipath will try to use the sysfs attribute
836 \fIvpd_pg83\fR to generate the wwid.
842 processes being hung and not killable in situations where all the paths to the LUN go offline.
843 It is advisable to use the
851 might lead to a deadlock if the
853 setting results in a device being removed while I/O is still queued.
854 The multipath daemon will update the
856 setting accordingly to avoid this deadlock. Hence if both values are
857 specified the order of precedence is
858 .I no_path_retry, queue_if_no_path, dev_loss_tmo
867 was developed by Christophe Varoqui, <christophe.varoqui@opensvc.com> and others.