1 .TH MULTIPATH.CONF 5 2016-07-08 "Linux"
3 multipath.conf \- multipath daemon configuration file.
5 .B "/etc/multipath.conf"
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:
37 Each \fIsection\fP contains one or more attributes or subsections. The
38 recognized keywords for attributes or subsections depend on the
39 section in which they occur.
41 The following \fIsection\fP keywords are recognized:
44 This section defines default values for attributes which are used
45 whenever no values are given in the appropriate device or multipath
49 This section defines which devices should be excluded from the
50 multipath topology discovery.
52 .B blacklist_exceptions
53 This section defines which devices should be included in the
54 multipath topology discovery, despite being listed in the
59 This section defines the multipath topologies. They are indexed by a
60 \fIWorld Wide Identifier\fR(WWID). For details on the WWID generation
61 see section \fIWWID generation\fR below.
64 This section defines the device-specific settings.
67 This section defines values for attributes that should override the
68 device-specific settings for all devices.
71 .SH "defaults section"
74 section recognizes the following keywords:
77 Default verbosity. Higher values increase the verbosity level. Valid
78 levels are between 0 and 6.
81 Default value is: \fB2\fR
85 Interval between two path checks in seconds. For properly functioning paths,
86 the interval between checks will gradually increase to
87 .I max_polling_interval.
88 This value will be overridden by the
90 setting in the multipathd.service definition if systemd is used.
93 Default value is: \fB5\fR
96 .B max_polling_interval
97 Maximal interval between two path checks in seconds.
100 Default value is: \fB4 * polling_interval\fR
104 Enable reassigning of device-mapper maps. With this option multipathd
105 will remap existing device-mapper maps to always point to multipath
106 device, not the underlying block devices. Possible values are
107 \fIyes\fR and \fIno\fR.
110 Default value is: \fBno\fR
114 Directory where the dynamic shared objects are stored.
117 Default value is: \fB<system dependent>\fR, commonly \fI/lib64/multipath/\fR
121 The default path selector algorithm to use; they are offered by the
122 kernel multipath target. There are three selector algorithms:
126 Loop through every path in the path group, sending the same amount of IO to
130 Send the next bunch of IO down the path with the least amount of outstanding IO.
133 Choose the path for the next bunch of IO based on the amount of outstanding IO
134 to the path and its relative throughput.
136 Default value is: \fBservice-time 0\fR
139 .B path_grouping_policy
140 The default path grouping policy to apply to unspecified
141 multipaths. Possible values are:
145 One path per priority group.
148 All paths in one priority group.
151 One priority group per serial number.
154 One priority group per priority value. Priorities are determined by
155 callout programs specified as a global, per-controller or
156 per-multipath option in the configuration file.
158 .I group_by_node_name
159 One priority group per target node name. Target node names are fetched
160 in \fI/sys/class/fc_transport/target*/node_name\fR.
162 Default value is: \fBgroup_by_prio\fR
166 The udev attribute providing a unique path identifier.
169 Default value is: \fBID_SERIAL\fR for SCSI devices
171 Default value is: \fBID_UID\fR for DASD devices
175 (Deprecated) The default program and args to callout to obtain a unique path
176 identifier. Should be specified with an absolute path.
179 The name of the path priority routine. The specified routine
180 should return a numeric value specifying the relative priority
181 of this path. Higher number have a higher priority.
183 is a valid value. Currently the following path priority routines
188 Return a constant priority of \fI1\fR.
191 Use the sysfs attributes \fIaccess_state\fR and \fIpreferred_path\fR to
192 generate the path priority. This prioritizer accepts the optional prio_arg
193 .I exclusive_pref_bit
197 Generate the path priority for DGC class arrays as CLARiiON CX/AX and
202 Generate the path priority based on the SCSI-3 ALUA settings. This prioritizer
203 accepts the optional prio_arg \fIexclusive_pref_bit\fR.
207 Generate the path priority for NetApp ONTAP class and OEM arrays as IBM NSeries.
211 Generate the path priority for LSI/Engenio/NetApp RDAC class as NetApp E/EF
212 Series, and OEM arrays from IBM DELL SGI STK and SUN.
216 Generate the path priority for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
217 Active/Standby mode exclusively.
221 Generate the path priority for Hitachi HDS Modular storage arrays.
224 Generate a random priority between 1 and 10.
227 Generate the path priority based on the regular expression and the
228 priority provided as argument. Requires prio_args keyword.
231 ???. Requires prio_args keyword.
234 ???. Requires prio_args keyword.
236 Default value is: \fBconst\fR
240 Arguments to pass to to the prio function. This only applies to certain
245 Needs a value of the form
246 .I "<hbtl|devname|wwn> <regex1> <prio1> <regex2> <prio2> ..."
248 regex can be of SCSI H:B:T:L format Ex: 1:0:.:. , *:0:0:.
250 regex can be of device name format Ex: sda , sd.e
252 regex can be of the form
253 .I "host_wwnn:host_wwpn:target_wwnn:target_wwpn"
254 these values can be looked up through sysfs or by running
255 .I mulitpathd show paths format "%N:%R:%n:%r" Ex: 0x200100e08ba0aea0:0x210100e08ba0aea0:.*:.* , .*:.*:iqn.2009-10.com.redhat.msp.lab.ask-06:.*
259 .I exclusive_pref_bit
260 is set, paths with the \fIpreferred path\fR bit set will always
261 be in their own path group.
271 Default value is: \fB<unset>\fR
275 Specify any device-mapper features to be used. Syntax is
279 is the number, between 0 and 6, of features in
281 Possible values for the feature list are:
285 Queue IO if no path is active; identical to the
290 Disable automatic partitions generation via kpartx.
293 Number of times to retry pg_init, it must be between 1 and 50.
295 .I pg_init_delay_msecs
296 Number of msecs before pg_init retry, it must be between 0 and 60000.
298 Default value is: \fB0\fR
302 The default method used to determine the paths state. Possible values
307 (Deprecated) Read the first sector of the device. This checker is being
308 deprecated, please use \fItur\fR instead.
313 command to the device.
317 Query the DGC/EMC specific EVPD page 0xC0 to determine the path state
318 for CLARiiON CX/AX and EMC VNX arrays families.
322 Check the path state for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
323 Active/Standby mode exclusively.
327 Check the path state for LSI/Engenio/NetApp RDAC class as NetApp E/EF
328 Series, and OEM arrays from IBM DELL SGI STK and SUN.
331 (Deprecated) Read the first sector with direct I/O. This checker is being
332 deprecated, it could cause spurious path failures under high load.
333 Please use \fItur\fR instead.
337 Check the path state for HP/COMPAQ Smart Array(CCISS) controllers.
339 Default value is: \fBtur\fR
343 The \fIuser_friendly_names\fR prefix.
346 Default value is: \fBmpath\fR
350 Tell multipathd how to manage path group failback.
354 Immediately failback to the highest priority pathgroup that contains
358 Do not perform automatic failback.
361 Only perform automatic failback when the first path of a pathgroup
362 becomes active. This keeps a node from automatically failing back when
363 another node requested the failover.
366 Deferred failback (time to defer in seconds).
368 Default value is: \fBimmediate\fR
372 The number of IO to route to a path before switching to the next in
373 the same path group. This is only for BIO based multipath.
376 Default value is: \fB1000\fR
380 The number of IO requests to route to a path before switching to the
381 next in the same path group. This is only for request based multipath.
384 Default value is: \fB1\fR
388 Specify the maximum number of file descriptors that can be opened by multipath
389 and multipathd. This is equivalent to ulimit \-n. A value of \fImax\fR will set
390 this to the system limit from \fI/proc/sys/fs/nr_open\fR. If this is not set, the
391 maximum number of open fds is taken from the calling process. It is usually
392 1024. To be safe, this should be set to the maximum number of paths plus 32,
393 if that number is greated than 1024.
396 Default value is: \fBmax\fR
400 If set to \fIpriorities\fR the multipath configurator will assign
401 path weights as "path prio * rr_min_io". Possible values are
407 Default value is: \fBuniform\fR
411 Specify the number of retries until disable queueing, or
413 for immediate failure (no queueing),
415 for never stop queueing. If unset no queueing is attempted.
418 Default value is: \fB<unset>\fR
421 .B queue_without_daemon
424 , when multipathd stops, queueing will be turned off for all devices.
425 This is useful for devices that set no_path_retry. If a machine is
426 shut down while all paths to a device are down, it is possible to hang waiting
427 for IO to return from the device after multipathd has been stopped. Without
428 multipathd running, access to the paths cannot be restored, and the kernel
429 cannot be told to stop queueing IO. Setting queue_without_daemon to
431 , avoids this problem.
434 Default value is: \fBno\fR
438 Specify the timeout to use for path checkers and prioritizers that issue SCSI
439 commands with an explicit timeout, in seconds.
442 Default value is: in \fB/sys/block/sd<x>/device/timeout\fR
448 , multipathd will disable queueing when the last path to a device has been
452 Default value is: \fBno\fR
455 .B user_friendly_names
458 , using the bindings file
459 .I /etc/multipath/bindings
460 to assign a persistent and unique alias to the multipath, in the form of mpath<n>.
463 use the WWID as the alias. In either case this be will
464 be overridden by any specific aliases in the \fImultipaths\fR section.
467 Default value is: \fBno\fR
471 Specify the number of seconds the SCSI layer will wait after a problem has been
472 detected on a FC remote port before failing IO to devices on that remote port.
473 This should be smaller than dev_loss_tmo. Setting this to
475 will disable the timeout.
478 Default value is: in \fB5\fR
482 Specify the number of seconds the SCSI layer will wait after a problem has
483 been detected on a FC remote port before removing it from the system. This
484 can be set to "infinity" which sets it to the max value of 2147483647
485 seconds, or 68 years. It will be automatically adjusted to the overall
487 \fIno_path_retry\fR * \fIpolling_interval\fR
488 if a number of retries is given with \fIno_path_retry\fR and the
489 overall retry interval is longer than the specified \fIdev_loss_tmo\fR value.
490 The Linux kernel will cap this value to \fI300\fR if \fIfast_io_fail_tmo\fR
494 Default value is: \fB600\fR
498 The full pathname of the binding file to be used when the user_friendly_names option is set.
501 Default value is: \fB/etc/multipath/bindings\fR
505 The full pathname of the WWIDs file, which is used by multipath to keep track
506 of the WWIDs for LUNs it has created multipath devices on in the past.
509 Default value is: \fB/etc/multipath/wwids\fR
515 , multipathd logs the first path checker error at logging level 2. Any later
516 errors are logged at level 3 until the device is restored. If set to
518 , multipathd always logs the path checker error at logging level 2.
521 Default value is: \fBalways\fR
525 This is the service action reservation key used by mpathpersist. It must be
526 set for all multipath devices using persistent reservations, and it must be
527 the same as the RESERVATION KEY field of the PERSISTENT RESERVE OUT parameter
528 list which contains an 8-byte value provided by the application client to the
529 device server to identify the I_T nexus.
532 Default value is: \fB<unset>\fR
535 .B retain_attached_hw_handler
538 and the SCSI layer has already attached a hardware_handler to the device,
539 multipath will not force the device to use the hardware_handler specified by
540 mutipath.conf. If the SCSI layer has not attached a hardware handler,
541 multipath will continue to use its configured hardware handler.
544 Default value is: \fByes\fR
550 , multipath will try to detect if the device supports SCSI-3 ALUA. If so, the
551 device will automatically use the
553 prioritizer if the required sysfs attributes
557 are supported, or the
559 prioritizer if not. If set to
561 , the prioritizer will be selected as usual.
564 Default value is: \fByes\fR
570 , multipathd will call the path checkers in sync mode only. This means that
571 only one checker will run at a time. This is useful in the case where many
572 multipathd checkers running in parallel causes significant CPU pressure.
575 Default value is: \fBno\fR
581 , multipathd will start a new path checker loop after exactly one second,
582 so that each path check will occur at exactly
584 seconds. On busy systems path checks might take longer than one second;
585 here the missing ticks will be accounted for on the next round.
586 A warning will be printed if path checks take longer than
591 Default value is: \fBno\fR
597 , multipathd will do a deferred remove instead of a regular remove when the
598 last path device has been deleted. This means that if the multipath device is
599 still in use, it will be freed when the last user closes it. If path is added
600 to the multipath device before the last user closes it, the deferred remove
604 Default value is: \fBno\fR
607 .B partition_delimiter
608 If this value is not set, when multipath renames a device, it will act just
609 like the kpartx default does, only adding a \fI"p"\fR to names ending in a
610 number. If this parameter is set, multipath will act like kpartx does with
611 the \fI-p\fR option is used, and always add delimiter.
614 Default value is: \fB<unset>\fR
618 If set to anything other than "", multipath will search this directory
619 alphabetically for file ending in ".conf" and it will read configuration
620 information from them, just as if it was in \fI/etc/multipath.conf\fR.
621 config_dir must either be "" or a fully qualified directory name.
624 Default value is: \fB/etc/multipath/conf.d/\fR
627 .B delay_watch_checks
628 If set to a value greater than 0, multipathd will watch paths that have
629 recently become valid for this many checks. If they fail again while they are
630 being watched, when they next become valid, they will not be used until they
636 Default value is: \fBno\fR
640 If set to a value greater than 0, when a device that has recently come back
641 online fails again within
642 .I delay_watch_checks
643 checks, the next time it comes back online, it will marked and delayed, and not
644 used until it has passed
649 Default value is: \fBno\fR
655 , instead of trying to create a multipath device for every non-blacklisted
656 path, multipath will only create a device if one of three condidions are
659 There are at least two non-blacklisted paths with the same WWID,
661 the user manually forces the creation, by specifying a device with the multipath
664 a path has the same WWID as a multipath device that was previously created
665 while find_multipaths was set (even if that multipath device doesn't currently
667 Whenever a multipath device is created with find_multipaths set, multipath will
668 remeber the WWID of the device, so that it will automatically create the
669 device again, as soon as it sees a path with that WWID. This should allow most
670 users to have multipath automatically choose the correct paths to make into
671 multipath devices, without having to edit the blacklist.
674 Default value is: \fBno\fR
678 CLI receive timeout in milliseconds. For larger systems CLI commands
679 might timeout before the multipathd lock is released and the CLI command
680 can be processed. This will result in errors like
681 "timeout receiving packet" to be returned from CLI commands.
682 In these cases it is recommended to increase the CLI timeout to avoid
686 Default value is: \fB1000\fR
690 Sets the number of times multipathd will try to retrigger a uevent to get the
694 Default value is: \fB3\fR
698 Sets the amount of time, in seconds, to wait between retriggers.
701 Default value is: \fB10\fR
704 .B missing_uev_wait_timeout
705 Controls how many seconds multipathd will wait, after a new multipath device
706 is created, to receive a change event from udev for the device, before
707 automatically enabling device reloads. Usually multipathd will delay reloads
708 on a device until it receives a change uevent from the initial table load.
711 Default value is: \fB30\fR
714 .SH "blacklist section"
717 section is used to exclude specific device from inclusion in the
718 multipath topology. It is most commonly used to exclude local disks or
719 LUNs for the array controller.
721 The following keywords are recognized:
724 Regular expression of the device nodes to be excluded.
727 The \fIWorld Wide Identification\fR of a device.
730 Regular expression of the udev property to be excluded.
733 Subsection for the device description. This subsection recognizes the
737 keywords. For a full description of these keywords please see the
740 .SH "blacklist_exceptions section"
742 .I blacklist_exceptions
743 section is used to revert the actions of the
745 section, for example to include specific device in the
746 multipath topology. This allows one to selectively include devices which
747 would normally be excluded via the
751 The following keywords are recognized:
754 Regular expression of the device nodes to be whitelisted.
757 The \fIWorld Wide Identification\fR of a device.
760 Regular expression of the udev property to be whitelisted.
763 Default value is: \fB(ID_WWN|SCSI_IDENT_.*)\fR
767 Subsection for the device description. This subsection recognizes the
771 keywords. For a full description of these keywords please see the
777 blacklist and whitelist handling is different from the usual handling
778 in the sense that the whitelist
780 to be set, otherwise the device will be blacklisted.
781 In these cases the message
782 .I blacklisted, udev property missing
784 .SH "multipaths section"
785 The only recognized attribute for the
793 subsection recognizes the following attributes:
796 (Mandatory) Index of the container.
799 (Optional) Symbolic name for the multipath map.
801 The following attributes are optional; if not set the default values
811 .B path_grouping_policy
835 .B user_friendly_names
839 .B delay_watch_checks
845 .SH "devices section"
846 The only recognized attribute for the
854 subsection recognizes the following attributes:
857 (Mandatory) Vendor identifier.
860 (Mandatory) Product identifier.
863 (Optional) Revision identfier.
866 (Optional) Product strings to blacklist for this vendor.
869 (Optional) The user_friendly_names prefix to use for this
870 device type, instead of the default "mpath".
873 (Optional) The hardware handler to use for this device type.
874 The following hardware handler are implemented:
879 Hardware handler for DGC class arrays as CLARiiON CX/AX and EMC VNX families.
883 Hardware handler for LSI/Engenio/NetApp RDAC class as NetApp E/EF
884 Series, and OEM arrays from IBM DELL SGI STK and SUN.
888 Hardware handler for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
889 Active/Standby mode exclusively.
893 Hardware handler for SCSI-3 ALUA compatible arrays.
895 Default value is: \fB<unset>\fR
898 The following attributes are optional; if not set the default values
906 .B path_grouping_policy
936 .B retain_attached_hw_handler
942 .B delay_watch_checks
948 .SH "overrides section"
949 The overrides section recognizes the following optional attributes; if not set
950 the values are taken from the
959 .B path_grouping_policy
993 .B user_friendly_names
995 .B retain_attached_hw_handler
1001 .B delay_watch_checks
1003 .B delay_wait_checks
1007 .SH "WWID generation"
1008 Multipath uses a \fIWorld Wide Identification\fR (WWID) to determine
1009 which paths belong to the same device. Each path presenting the same
1010 WWID is assumed to point to the same device.
1012 The WWID is generated by three methods (in the order of preference):
1015 Use the specified external program; cf \fIgetuid_callout\fR above.
1016 Care should be taken when using this method; the external program
1017 needs to be loaded from disk for execution, which might lead to
1018 deadlock situations in an all-paths-down scenario.
1021 Use the value of the specified udev attribute; cf \fIuid_attribute\fR
1022 above. This method is preferred to \fIgetuid_callout\fR as multipath
1023 does not need to call any external programs here. However, under
1024 certain circumstances udev might not be able to generate the requested
1028 If none of the \fIgetuid_callout\fR or \fIuid_attribute\fR parameters
1029 are present multipath will try to use the sysfs attribute
1030 \fIvpd_pg83\fR to generate the WWID.
1036 processes being hung and not killable in situations where all the paths to the LUN go offline.
1037 It is advisable to use the
1045 might lead to a deadlock if the
1047 setting results in a device being removed while I/O is still queued.
1048 The multipath daemon will update the
1050 setting accordingly to avoid this deadlock. Hence if both values are
1051 specified the order of precedence is
1052 .I no_path_retry, queue_if_no_path, dev_loss_tmo.
1062 was developed by Christophe Varoqui, <christophe.varoqui@opensvc.com> and others.