1 .\" ----------------------------------------------------------------------------
2 .\" Update the date below if you make any significant change.
3 .\" Make sure there are no errors with:
4 .\" groff -z -wall -b -e -t multipath/multipath.conf.5
8 .\" ----------------------------------------------------------------------------
10 .TH MULTIPATH.CONF 5 2016-08-07 "Linux"
13 .\" ----------------------------------------------------------------------------
15 .\" ----------------------------------------------------------------------------
17 multipath.conf \- multipath daemon configuration file.
20 .\" ----------------------------------------------------------------------------
22 .\" ----------------------------------------------------------------------------
24 .B "/etc/multipath.conf"
25 is the configuration file for the multipath daemon. It is used to
26 overwrite the built-in configuration table of \fBmultipathd\fP.
27 Any line whose first non-white-space character is a '#' is considered
28 a comment line. Empty lines are ignored.
31 .\" ----------------------------------------------------------------------------
33 .\" ----------------------------------------------------------------------------
35 The configuration file contains entries of the form:
61 Each \fIsection\fP contains one or more attributes or subsections. The
62 recognized keywords for attributes or subsections depend on the
63 section in which they occur.
67 The following \fIsection\fP keywords are recognized:
70 This section defines default values for attributes which are used
71 whenever no values are given in the appropriate device or multipath
75 This section defines which devices should be excluded from the
76 multipath topology discovery.
78 .B blacklist_exceptions
79 This section defines which devices should be included in the
80 multipath topology discovery, despite being listed in the
81 \fIblacklist\fR section.
84 This section defines the multipath topologies. They are indexed by a
85 \fIWorld Wide Identifier\fR(WWID). For details on the WWID generation
86 see section \fIWWID generation\fR below.
89 This section defines the device-specific settings.
92 This section defines values for attributes that should override the
93 device-specific settings for all devices.
98 .\" ----------------------------------------------------------------------------
99 .SH "defaults section"
100 .\" ----------------------------------------------------------------------------
102 The \fIdefaults\fR section recognizes the following keywords:
107 Default verbosity. Higher values increase the verbosity level. Valid
108 levels are between 0 and 6.
111 Default value is: \fB2\fR
117 Interval between two path checks in seconds. For properly functioning paths,
118 the interval between checks will gradually increase to \fImax_polling_interval\fR.
119 This value will be overridden by the \fIWatchdogSec\fR
120 setting in the multipathd.service definition if systemd is used.
123 Default value is: \fB5\fR
128 .B max_polling_interval
129 Maximal interval between two path checks in seconds.
132 Default value is: \fB4 * polling_interval\fR
138 Enable reassigning of device-mapper maps. With this option multipathd
139 will remap existing device-mapper maps to always point to multipath
140 device, not the underlying block devices. Possible values are
141 \fIyes\fR and \fIno\fR.
144 Default value is: \fBno\fR
150 Directory where the dynamic shared objects are stored.
153 Default value is: \fB<system dependent>\fR. Defined at compile time, commonly
154 \fI/lib64/multipath/\fR.
160 The default path selector algorithm to use; they are offered by the
161 kernel multipath target. There are three selector algorithms:
165 Loop through every path in the path group, sending the same amount of IO to
169 Send the next bunch of IO down the path with the least amount of outstanding IO.
172 Choose the path for the next bunch of IO based on the amount of outstanding IO
173 to the path and its relative throughput.
175 Default value is: \fBservice-time 0\fR
180 .B path_grouping_policy
181 The default path grouping policy to apply to unspecified
182 multipaths. Possible values are:
186 One path per priority group.
189 All paths in one priority group.
192 One priority group per serial number.
195 One priority group per priority value. Priorities are determined by
196 callout programs specified as a global, per-controller or
197 per-multipath option in the configuration file.
199 .I group_by_node_name
200 One priority group per target node name. Target node names are fetched
201 in \fI/sys/class/fc_transport/target*/node_name\fR.
203 Default value is: \fBfailover\fR
209 The udev attribute providing a unique path identifier.
212 Default value is: for SCSI devices \fBID_SERIAL\fR
214 Default value is: for DASD devices \fBID_UID\fR
220 (Superseded by \fIuid_attribute\fR) The default program and args to callout
221 to obtain a unique path identifier. Should be specified with an absolute path.
226 The name of the path priority routine. The specified routine
227 should return a numeric value specifying the relative priority
228 of this path. Higher number have a higher priority.
229 \fI"none"\fR is a valid value. Currently the following path priority routines
234 Return a constant priority of \fI1\fR.
237 Use the sysfs attributes \fIaccess_state\fR and \fIpreferred_path\fR to
238 generate the path priority. This prioritizer accepts the optional prio_arg
239 \fIexclusive_pref_bit\fR
243 Generate the path priority for DGC class arrays as CLARiiON CX/AX and
248 Generate the path priority based on the SCSI-3 ALUA settings. This prioritizer
249 accepts the optional prio_arg \fIexclusive_pref_bit\fR.
253 Generate the path priority for NetApp ONTAP class and OEM arrays as IBM NSeries.
257 Generate the path priority for LSI/Engenio/NetApp RDAC class as NetApp SANtricity
258 E/EF Series, and OEM arrays from IBM DELL SGI STK and SUN.
262 Generate the path priority for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
263 Active/Standby mode exclusively.
267 Generate the path priority for Hitachi AMS 2000 and HUS 100 families of arrays.
270 Generate a random priority between 1 and 10.
273 Generate the path priority based on the regular expression and the
274 priority provided as argument. Requires prio_args keyword.
278 ???. Requires prio_args keyword.
282 ???. Requires prio_args keyword.
284 Default value is: \fBconst\fR
290 Arguments to pass to to the prio function. This only applies to certain
295 Needs a value of the form
296 \fI"<hbtl|devname|serial|wwn> <regex1> <prio1> <regex2> <prio2> ..."\fR
300 regex can be of SCSI H:B:T:L format. For example: 1:0:.:. , *:0:0:.
303 regex can be of device name format. For example: sda , sd.e
306 regex can be of serial number format. For example: .*J1FR.*324 . The serial can
307 be looked up through sysfs or by running multipathd show paths format "%z". For
308 example: 0395J1FR904324
311 regex can be of the form \fI"host_wwnn:host_wwpn:target_wwnn:target_wwpn"\fR
312 these values can be looked up through sysfs or by running \fImultipathd show paths format
313 "%N:%R:%n:%r"\fR. For example: 0x200100e08ba0aea0:0x210100e08ba0aea0:.*:.* , .*:.*:iqn.2009-10.com.redhat.msp.lab.ask-06:.*
317 If \fIexclusive_pref_bit\fR is set, paths with the \fIpreferred path\fR bit
318 set will always be in their own path group.
322 \fIpreferredsds\fR ???.
326 \fIpreferredip\fR ???.
328 Default value is: \fB<unset>\fR
334 Specify any device-mapper features to be used. Syntax is \fInum list\fR
335 where \fInum\fR is the number, between 0 and 6, of features in \fIlist\fR.
336 Possible values for the feature list are:
340 (Superseded by \fIno_path_retry\fR) Queue IO if no path is active. Identical to
341 the \fIno_path_retry\fR with \fIqueue\fR value. See KNOWN ISSUES.
344 Disable automatic partitions generation via kpartx.
347 Number of times to retry pg_init, it must be between 1 and 50.
349 .I pg_init_delay_msecs
350 Number of msecs before pg_init retry, it must be between 0 and 60000.
352 Default value is: \fB0\fR
358 The default method used to determine the paths state. Possible values
363 (Deprecated) Read the first sector of the device. This checker is being
364 deprecated, please use \fItur\fR instead.
367 Issue a \fITEST UNIT READY\fR command to the device.
371 Query the DGC/EMC specific EVPD page 0xC0 to determine the path state
372 for CLARiiON CX/AX and EMC VNX arrays families.
376 Check the path state for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
377 Active/Standby mode exclusively.
381 Check the path state for LSI/Engenio/NetApp RDAC class as NetApp SANtricity E/EF
382 Series, and OEM arrays from IBM DELL SGI STK and SUN.
385 (Deprecated) Read the first sector with direct I/O. This checker is being
386 deprecated, it could cause spurious path failures under high load.
387 Please use \fItur\fR instead.
391 Check the path state for HP/COMPAQ Smart Array(CCISS) controllers.
394 Check if the path is in the Ceph blacklist and remap the path if it is.
396 Default value is: \fBtur\fR
402 The \fIuser_friendly_names\fR prefix.
405 Default value is: \fBmpath\fR
411 Tell multipathd how to manage path group failback.
415 Immediately failback to the highest priority pathgroup that contains
419 Do not perform automatic failback.
422 Used to deal with multiple computers accessing the same Active/Passive storage
423 devices. Only perform automatic failback when the first path of a pathgroup
424 becomes active. This keeps a cluster node from automatically failing back when
425 another node requested the failover.
428 Deferred failback (time to defer in seconds).
430 Default value is: \fBmanual\fR
436 The number of IO to route to a path before switching to the next in
437 the same path group. This is only for BIO based multipath.
440 Default value is: \fB1000\fR
446 The number of IO requests to route to a path before switching to the
447 next in the same path group. This is only for request based multipath.
450 Default value is: \fB1\fR
456 Specify the maximum number of file descriptors that can be opened by multipath
457 and multipathd. This is equivalent to ulimit \-n. A value of \fImax\fR will set
458 this to the system limit from \fI/proc/sys/fs/nr_open\fR. If this is not set, the
459 maximum number of open fds is taken from the calling process. It is usually
460 1024. To be safe, this should be set to the maximum number of paths plus 32,
461 if that number is greated than 1024.
464 Default value is: \fBmax\fR
470 If set to \fIpriorities\fR the multipath configurator will assign
471 path weights as "path prio * rr_min_io". Possible values are
477 Default value is: \fBuniform\fR
483 Specify the number of retries until disable queueing, or
485 for immediate failure (no queueing),
487 for never stop queueing. If unset no queueing is attempted. See KNOWN ISSUES.
490 Default value is: \fB<unset>\fR
495 .B queue_without_daemon
498 , when multipathd stops, queueing will be turned off for all devices.
499 This is useful for devices that set no_path_retry. If a machine is
500 shut down while all paths to a device are down, it is possible to hang waiting
501 for IO to return from the device after multipathd has been stopped. Without
502 multipathd running, access to the paths cannot be restored, and the kernel
503 cannot be told to stop queueing IO. Setting queue_without_daemon to
505 , avoids this problem.
508 Default value is: \fBno\fR
514 Specify the timeout to use for path checkers and prioritizers that issue SCSI
515 commands with an explicit timeout, in seconds.
518 Default value is: in \fB/sys/block/sd<x>/device/timeout\fR
526 , multipathd will disable queueing when the last path to a device has been
530 Default value is: \fBno\fR
535 .B user_friendly_names
538 , using the bindings file \fI/etc/multipath/bindings\fR to assign a persistent
539 and unique alias to the multipath, in the form of mpath<n>. If set to
541 use the WWID as the alias. In either case this be will
542 be overridden by any specific aliases in the \fImultipaths\fR section.
545 Default value is: \fBno\fR
551 Specify the number of seconds the SCSI layer will wait after a problem has been
552 detected on a FC remote port before failing IO to devices on that remote port.
553 This should be smaller than dev_loss_tmo. Setting this to
555 will disable the timeout.
558 Default value is: in \fB5\fR
564 Specify the number of seconds the SCSI layer will wait after a problem has
565 been detected on a FC remote port before removing it from the system. This
566 can be set to "infinity" which sets it to the max value of 2147483647
567 seconds, or 68 years. It will be automatically adjusted to the overall
568 retry interval \fIno_path_retry\fR * \fIpolling_interval\fR
569 if a number of retries is given with \fIno_path_retry\fR and the
570 overall retry interval is longer than the specified \fIdev_loss_tmo\fR value.
571 The Linux kernel will cap this value to \fI300\fR if \fIfast_io_fail_tmo\fR
572 is not set. See KNOWN ISSUES.
575 Default value is: \fB600\fR
581 The full pathname of the binding file to be used when the user_friendly_names
585 Default value is: \fB/etc/multipath/bindings\fR
591 The full pathname of the WWIDs file, which is used by multipath to keep track
592 of the WWIDs for LUNs it has created multipath devices on in the past.
595 Default value is: \fB/etc/multipath/wwids\fR
603 , multipathd logs the first path checker error at logging level 2. Any later
604 errors are logged at level 3 until the device is restored. If set to
606 , multipathd always logs the path checker error at logging level 2.
609 Default value is: \fBalways\fR
615 This is the service action reservation key used by mpathpersist. It must be
616 set for all multipath devices using persistent reservations, and it must be
617 the same as the RESERVATION KEY field of the PERSISTENT RESERVE OUT parameter
618 list which contains an 8-byte value provided by the application client to the
619 device server to identify the I_T nexus.
622 Default value is: \fB<unset>\fR
627 .B retain_attached_hw_handler
630 and the SCSI layer has already attached a hardware_handler to the device,
631 multipath will not force the device to use the hardware_handler specified by
632 mutipath.conf. If the SCSI layer has not attached a hardware handler,
633 multipath will continue to use its configured hardware handler.
636 Default value is: \fByes\fR
644 , multipath will try to detect if the device supports SCSI-3 ALUA. If so, the
645 device will automatically use the \fIsysfs\fR prioritizer if the required sysf
646 attributes \fIaccess_state\fR and \fIpreferred_path\fR are supported, or the
647 \fIalua\fR prioritizer if not. If set to
649 , the prioritizer will be selected as usual.
652 Default value is: \fByes\fR
660 , multipathd will call the path checkers in sync mode only. This means that
661 only one checker will run at a time. This is useful in the case where many
662 multipathd checkers running in parallel causes significant CPU pressure.
665 Default value is: \fBno\fR
673 , multipathd will start a new path checker loop after exactly one second,
674 so that each path check will occur at exactly \fIpolling_interval\fR
675 seconds. On busy systems path checks might take longer than one second;
676 here the missing ticks will be accounted for on the next round.
677 A warning will be printed if path checks take longer than \fIpolling_interval\fR
681 Default value is: \fBno\fR
689 , multipathd will do a deferred remove instead of a regular remove when the
690 last path device has been deleted. This means that if the multipath device is
691 still in use, it will be freed when the last user closes it. If path is added
692 to the multipath device before the last user closes it, the deferred remove
696 Default value is: \fBno\fR
701 .B partition_delimiter
702 If this value is not set, when multipath renames a device, it will act just
703 like the kpartx default does, only adding a \fI"p"\fR to names ending in a
704 number. If this parameter is set, multipath will act like kpartx does with
705 the \fI-p\fR option is used, and always add delimiter.
708 Default value is: \fB<unset>\fR
714 If set to anything other than "", multipath will search this directory
715 alphabetically for file ending in ".conf" and it will read configuration
716 information from them, just as if it was in \fI/etc/multipath.conf\fR.
717 config_dir must either be "" or a fully qualified directory name.
720 Default value is: \fB/etc/multipath/conf.d/\fR
725 .B delay_watch_checks
726 If set to a value greater than 0, multipathd will watch paths that have
727 recently become valid for this many checks. If they fail again while they are
728 being watched, when they next become valid, they will not be used until they
729 have stayed up for \fIdelay_wait_checks\fR checks.
732 Default value is: \fBno\fR
738 If set to a value greater than 0, when a device that has recently come back
739 online fails again within \fIdelay_watch_checks\fR checks, the next time it
740 comes back online, it will marked and delayed, and not used until it has passed
741 \fIdelay_wait_checks\fR checks.
744 Default value is: \fBno\fR
752 , instead of trying to create a multipath device for every non-blacklisted
753 path, multipath will only create a device if one of three condidions are
756 There are at least two non-blacklisted paths with the same WWID,
758 the user manually forces the creation, by specifying a device with the multipath
761 a path has the same WWID as a multipath device that was previously created
762 while find_multipaths was set (even if that multipath device doesn't currently
764 Whenever a multipath device is created with find_multipaths set, multipath will
765 remeber the WWID of the device, so that it will automatically create the
766 device again, as soon as it sees a path with that WWID. This should allow most
767 users to have multipath automatically choose the correct paths to make into
768 multipath devices, without having to edit the blacklist.
771 Default value is: \fBno\fR
777 CLI receive timeout in milliseconds. For larger systems CLI commands
778 might timeout before the multipathd lock is released and the CLI command
779 can be processed. This will result in errors like
780 "timeout receiving packet" to be returned from CLI commands.
781 In these cases it is recommended to increase the CLI timeout to avoid
785 Default value is: \fB1000\fR
791 Sets the number of times multipathd will try to retrigger a uevent to get the
795 Default value is: \fB3\fR
801 Sets the amount of time, in seconds, to wait between retriggers.
804 Default value is: \fB10\fR
809 .B missing_uev_wait_timeout
810 Controls how many seconds multipathd will wait, after a new multipath device
811 is created, to receive a change event from udev for the device, before
812 automatically enabling device reloads. Usually multipathd will delay reloads
813 on a device until it receives a change uevent from the initial table load.
816 Default value is: \fB30\fR
820 .\" ----------------------------------------------------------------------------
821 .SH "blacklist section"
822 .\" ----------------------------------------------------------------------------
824 The \fIblacklist\fR section is used to exclude specific device from inclusion in
825 the multipath topology. It is most commonly used to exclude local disks or LUNs
826 for the array controller.
830 The following keywords are recognized:
833 Regular expression of the device nodes to be excluded.
836 The \fIWorld Wide Identification\fR of a device.
839 Regular expression of the udev property to be excluded.
842 Subsection for the device description. This subsection recognizes the
846 keywords. For a full description of these keywords please see the
847 \fIdevices\fR section description.
850 .\" ----------------------------------------------------------------------------
851 .SH "blacklist_exceptions section"
852 .\" ----------------------------------------------------------------------------
854 The \fIblacklist_exceptions\fR section is used to revert the actions of the
855 \fIblacklist\fR section. For example to include specific device in the
856 multipath topology. This allows one to selectively include devices which
857 would normally be excluded via the \fIblacklist\fR section.
861 The following keywords are recognized:
864 Regular expression of the device nodes to be whitelisted.
867 The \fIWorld Wide Identification\fR of a device.
870 Regular expression of the udev property to be whitelisted.
873 Default value is: \fB(ID_WWN|SCSI_IDENT_.*)\fR
877 Subsection for the device description. This subsection recognizes the
881 keywords. For a full description of these keywords please see the \fIdevices\fR
884 The \fIproperty\fR blacklist and whitelist handling is different from the usual
885 handling in the sense that the whitelist \fIhas\fR to be set, otherwise the
886 device will be blacklisted. In these cases the message \fIblacklisted, udev
887 property missing\fR will be displayed.
890 .\" ----------------------------------------------------------------------------
891 .SH "multipaths section"
892 .\" ----------------------------------------------------------------------------
894 The only recognized attribute for the \fImultipaths\fR section is the
895 \fImultipath\fR subsection.
899 The \fImultipath\fR subsection recognizes the following attributes:
902 (Mandatory) Index of the container.
905 Symbolic name for the multipath map.
909 The following attributes are optional; if not set the default values
910 are taken from the \fIdefaults\fR or \fIdevices\fR section:
915 .B path_grouping_policy
939 .B user_friendly_names
943 .B delay_watch_checks
951 .\" ----------------------------------------------------------------------------
952 .SH "devices section"
953 .\" ----------------------------------------------------------------------------
955 The only recognized attribute for the \fIdevices\fR section is the \fIdevice\fR
960 The \fIdevice\fR subsection recognizes the following attributes:
962 vendor, product, revision and product_blacklist are POSIX Extended regex.
965 (Mandatory) Vendor identifier.
968 (Mandatory) Product identifier.
974 Product strings to blacklist for this vendor.
977 The user_friendly_names prefix to use for this
978 device type, instead of the default "mpath".
981 The hardware handler to use for this device type.
982 The following hardware handler are implemented:
987 Hardware handler for DGC class arrays as CLARiiON CX/AX and EMC VNX families.
991 Hardware handler for LSI/Engenio/NetApp RDAC class as NetApp SANtricity E/EF
992 Series, and OEM arrays from IBM DELL SGI STK and SUN.
996 Hardware handler for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
997 Active/Standby mode exclusively.
1000 (Hardware-dependent)
1001 Hardware handler for SCSI-3 ALUA compatible arrays.
1003 Default value is: \fB<unset>\fR
1008 The following attributes are optional; if not set the default values
1009 are taken from the \fIdefaults\fR
1015 .B path_grouping_policy
1043 .B flush_on_last_del
1045 .B retain_attached_hw_handler
1051 .B delay_watch_checks
1053 .B delay_wait_checks
1059 .\" ----------------------------------------------------------------------------
1060 .SH "overrides section"
1061 .\" ----------------------------------------------------------------------------
1063 The overrides section recognizes the following optional attributes; if not set
1064 the values are taken from the \fIdevices\fR or \fIdefaults\fR sections:
1069 .B path_grouping_policy
1097 .B flush_on_last_del
1103 .B user_friendly_names
1105 .B retain_attached_hw_handler
1111 .B delay_watch_checks
1113 .B delay_wait_checks
1119 .\" ----------------------------------------------------------------------------
1120 .SH "WWID generation"
1121 .\" ----------------------------------------------------------------------------
1123 Multipath uses a \fIWorld Wide Identification\fR (WWID) to determine
1124 which paths belong to the same device. Each path presenting the same
1125 WWID is assumed to point to the same device.
1127 The WWID is generated by three methods (in the order of preference):
1130 Use the specified external program; cf \fIgetuid_callout\fR above.
1131 Care should be taken when using this method; the external program
1132 needs to be loaded from disk for execution, which might lead to
1133 deadlock situations in an all-paths-down scenario.
1136 Use the value of the specified udev attribute; cf \fIuid_attribute\fR
1137 above. This method is preferred to \fIgetuid_callout\fR as multipath
1138 does not need to call any external programs here. However, under
1139 certain circumstances udev might not be able to generate the requested
1143 If none of the \fIgetuid_callout\fR or \fIuid_attribute\fR parameters
1144 are present multipath will try to use the sysfs attribute
1145 \fIvpd_pg83\fR to generate the WWID.
1148 .\" ----------------------------------------------------------------------------
1150 .\" ----------------------------------------------------------------------------
1152 The usage of \fIqueue_if_no_path\fR option can lead to \fID state\fR
1153 processes being hung and not killable in situations where all the paths to the
1154 LUN go offline. It is advisable to use the \fIno_path_retry\fR option instead.
1156 The use of \fIqueue_if_no_path\fR or \fIno_path_retry\fR might lead to a
1157 deadlock if the \fIdev_loss_tmo\fR setting results in a device being removed
1158 while I/O is still queued. The multipath daemon will update the \fIdev_loss_tmo\fR
1159 setting accordingly to avoid this deadlock. Hence if both values are
1160 specified the order of precedence is \fIno_path_retry, queue_if_no_path, dev_loss_tmo\fR.
1163 .\" ----------------------------------------------------------------------------
1165 .\" ----------------------------------------------------------------------------
1173 .\" ----------------------------------------------------------------------------
1175 .\" ----------------------------------------------------------------------------
1177 \fImultipath-tools\fR was developed by Christophe Varoqui, <christophe.varoqui@opensvc.com>