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
5 .\" man --warnings -E UTF-8 -l -Tutf8 -Z multipath/multipath.conf.5 >/dev/null
7 .\" TODO: Look for XXX and ???
9 .\" ----------------------------------------------------------------------------
11 .TH MULTIPATH.CONF 5 2017-08-18 Linux
14 .\" ----------------------------------------------------------------------------
16 .\" ----------------------------------------------------------------------------
18 multipath.conf \- multipath daemon configuration file.
21 .\" ----------------------------------------------------------------------------
23 .\" ----------------------------------------------------------------------------
25 .B "/etc/multipath.conf"
26 is the configuration file for the multipath daemon. It is used to
27 overwrite the built-in configuration table of \fBmultipathd\fP.
28 Any line whose first non-white-space character is a '#' is considered
29 a comment line. Empty lines are ignored.
31 Currently used multipathd configuration can be displayed with the \fBmultipath -t\fR
32 or \fBmultipathd show config\fR command.
35 .\" ----------------------------------------------------------------------------
37 .\" ----------------------------------------------------------------------------
39 The configuration file contains entries of the form:
65 Each \fIsection\fP contains one or more attributes or subsections. The
66 recognized keywords for attributes or subsections depend on the
67 section in which they occur.
71 The following \fIsection\fP keywords are recognized:
74 This section defines default values for attributes which are used
75 whenever no values are given in the appropriate device or multipath
79 This section defines which devices should be excluded from the
80 multipath topology discovery.
82 .B blacklist_exceptions
83 This section defines which devices should be included in the
84 multipath topology discovery, despite being listed in the
85 \fIblacklist\fR section.
88 This section defines the multipath topologies. They are indexed by a
89 \fIWorld Wide Identifier\fR(WWID). For details on the WWID generation
90 see section \fIWWID generation\fR below.
93 This section defines the device-specific settings.
96 This section defines values for attributes that should override the
97 device-specific settings for all devices.
102 .\" ----------------------------------------------------------------------------
103 .SH "defaults section"
104 .\" ----------------------------------------------------------------------------
106 The \fIdefaults\fR section recognizes the following keywords:
111 Default verbosity. Higher values increase the verbosity level. Valid
112 levels are between 0 and 6.
115 The default is: \fB2\fR
121 Interval between two path checks in seconds. For properly functioning paths,
122 the interval between checks will gradually increase to \fImax_polling_interval\fR.
123 This value will be overridden by the \fIWatchdogSec\fR
124 setting in the multipathd.service definition if systemd is used.
127 The default is: \fB5\fR
132 .B max_polling_interval
133 Maximal interval between two path checks in seconds.
136 The default is: \fB4 * polling_interval\fR
142 Enable reassigning of device-mapper maps. With this option multipathd
143 will remap existing device-mapper maps to always point to multipath
144 device, not the underlying block devices. Possible values are
145 \fIyes\fR and \fIno\fR.
148 The default is: \fBno\fR
154 Directory where the dynamic shared objects are stored. Defined at compile time,
155 commonly \fI/lib64/multipath/\fR or \fI/lib/multipath/\fR.
158 The default is: \fB<system dependent>\fR
164 The default path selector algorithm to use; they are offered by the
165 kernel multipath target. There are three selector algorithms:
169 Loop through every path in the path group, sending the same amount of I/O to
170 each. Some aspects of behavior can be controlled with the attributes:
171 \fIrr_min_io\fR, \fIrr_min_io_rq\fR and \fIrr_weight\fR.
174 (Since 2.6.31 kernel) Choose the path for the next bunch of I/O based on the amount
175 of outstanding I/O to the path.
178 (Since 2.6.31 kernel) Choose the path for the next bunch of I/O based on the amount
179 of outstanding I/O to the path and its relative throughput.
181 The default is: \fBservice-time 0\fR
186 .B path_grouping_policy
187 The default path grouping policy to apply to unspecified
188 multipaths. Possible values are:
192 One path per priority group.
195 All paths in one priority group.
198 One priority group per serial number.
201 One priority group per priority value. Priorities are determined by
202 callout programs specified as a global, per-controller or
203 per-multipath option in the configuration file.
205 .I group_by_node_name
206 One priority group per target node name. Target node names are fetched
207 in \fI/sys/class/fc_transport/target*/node_name\fR.
209 The default is: \fBfailover\fR
215 The udev attribute providing a unique path identifier for corresponding
216 type of path devices. If this field is configured and matched with type
217 of device, it would override any other methods providing for device
218 unique identifier in config file, and it would activate merging uevents
219 according to the identifier to promote effiecncy in processing uevents.
220 It has no default value, if you want to identify path by udev attribute
221 and to activate merging uevents for SCSI and DASD devices, you can set
222 its value as: \fIuid_attrs "sd:ID_SERIAL dasd:ID_UID"\fR.
225 The default is: \fB<unset>\fR
231 The udev attribute providing a unique path identifier.
234 The default is: for SCSI devices \fBID_SERIAL\fR
236 The default is: for DASD devices \fBID_UID\fR
238 The default is: for NVME devices \fBID_WWN\fR
244 (Superseded by \fIuid_attribute\fR) The default program and args to callout
245 to obtain a unique path identifier. Should be specified with an absolute path.
248 The default is: \fB<unset>\fR
254 The name of the path priority routine. The specified routine
255 should return a numeric value specifying the relative priority
256 of this path. Higher number have a higher priority.
257 \fI"none"\fR is a valid value. Currently the following path priority routines
262 Return a constant priority of \fI1\fR.
265 Use the sysfs attributes \fIaccess_state\fR and \fIpreferred_path\fR to
266 generate the path priority. This prioritizer accepts the optional prio_arg
267 \fIexclusive_pref_bit\fR.
271 Generate the path priority for DGC class arrays as CLARiiON CX/AX and
272 EMC VNX and Unity families.
276 Generate the path priority based on the SCSI-3 ALUA settings. This prioritizer
277 accepts the optional prio_arg \fIexclusive_pref_bit\fR.
281 Generate the path priority for NetApp ONTAP class and OEM arrays as IBM NSeries.
285 Generate the path priority for LSI/Engenio/NetApp RDAC class as NetApp SANtricity
286 E/EF Series, and OEM arrays from IBM DELL SGI STK and SUN.
290 Generate the path priority for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
291 Active/Standby mode exclusively.
295 Generate the path priority for Hitachi AMS 2000 and HUS 100 families of arrays.
298 Generate a random priority between 1 and 10.
301 Generate the path priority based on the regular expression and the
302 priority provided as argument. Requires prio_args keyword.
305 Generate the path priority based on a latency algorithm.
306 Requires prio_args keyword.
310 Generate the path priority for some DataCore storage arrays. Requires prio_args
315 Generate path priority for iSCSI targets based on IP address. Requires
318 The default depends on the \fBdetect_prio\fR setting: If \fBdetect_prio\fR is
319 \fByes\fR (default), the default priority algorithm is \fBsysfs\fR (except for
320 NetAPP E-Series, where it is \fBalua\fR). If \fBdetect_prio\fR is
321 \fBno\fR, the default priority algorithm is \fBconst\fR.
327 Arguments to pass to to the prio function. This only applies to certain
332 Needs a value of the form
333 \fI"<hbtl|devname|serial|wwn> <regex1> <prio1> <regex2> <prio2> ..."\fR
337 Regex can be of SCSI H:B:T:L format. For example: 1:0:.:. , *:0:0:.
340 Regex can be of device name format. For example: sda , sd.e
343 Regex can be of serial number format. For example: .*J1FR.*324 . The serial can
344 be looked up through sysfs or by running multipathd show paths format "%z". For
345 example: 0395J1FR904324
348 Regex can be of the form \fI"host_wwnn:host_wwpn:target_wwnn:target_wwpn"\fR
349 these values can be looked up through sysfs or by running \fImultipathd show paths format
350 "%N:%R:%n:%r"\fR. For example: 0x200100e08ba0aea0:0x210100e08ba0aea0:.*:.* , .*:.*:iqn.2009-10.com.redhat.msp.lab.ask-06:.*
354 Needs a value of the form "io_num=\fI<20>\fR base_num=\fI<10>\fR"
358 The number of read IOs sent to the current path continuously, used to calculate the average path latency.
359 Valid Values: Integer, [2, 200].
362 The base number value of logarithmic scale, used to partition different priority ranks. Valid Values: Integer,
363 [2, 10]. And Max average latency value is 100s, min average latency value is 1us.
364 For example: If base_num=10, the paths will be grouped in priority groups with path latency <=1us, (1us, 10us],
365 (10us, 100us], (100us, 1ms], (1ms, 10ms], (10ms, 100ms], (100ms, 1s], (1s, 10s], (10s, 100s], >100s.
369 If \fIexclusive_pref_bit\fR is set, paths with the \fIpreferred path\fR bit
370 set will always be in their own path group.
373 If \fIexclusive_pref_bit\fR is set, paths with the \fIpreferred path\fR bit
374 set will always be in their own path group.
380 (Mandatory) The preferred "SDS name".
383 (Optional) The timeout for the INQUIRY, in ms.
390 (Mandatory) Th preferred IP address, in dotted decimal notation, for iSCSI targets.
393 The default is: \fB<unset>\fR
399 Specify any device-mapper features to be used. Syntax is \fInum list\fR
400 where \fInum\fR is the number, between 0 and 8, of features in \fIlist\fR.
401 Possible values for the feature list are:
405 (Deprecated, superseded by \fIno_path_retry\fR) Queue I/O if no path is active.
406 Identical to the \fIno_path_retry\fR with \fIqueue\fR value. If both this
407 feature and \fIno_path_retry\fR are set, the latter value takes
408 precedence. See KNOWN ISSUES.
410 .I pg_init_retries <times>
411 (Since kernel 2.6.24) Number of times to retry pg_init, it must be between 1 and 50.
413 .I pg_init_delay_msecs <msecs>
414 (Since kernel 2.6.38) Number of msecs before pg_init retry, it must be between 0 and 60000.
417 (Since kernel 4.8) Select the the queueing mode per multipath device.
418 <mode> can be \fIbio\fR, \fIrq\fR or \fImq\fR, which corresponds to
419 bio-based, request-based, and block-multiqueue (blk-mq) request-based,
421 The default depends on the kernel parameter \fBdm_mod.use_blk_mq\fR. It is
422 \fImq\fR if the latter is set, and \fIrq\fR otherwise.
424 The default is: \fB<unset>\fR
430 The default method used to determine the paths state. Possible values
435 (Deprecated) Read the first sector of the device. This checker is being
436 deprecated, please use \fItur\fR instead.
439 Issue a \fITEST UNIT READY\fR command to the device.
443 Query the DGC/EMC specific EVPD page 0xC0 to determine the path state
444 for CLARiiON CX/AX and EMC VNX and Unity arrays families.
448 Check the path state for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
449 Active/Standby mode exclusively.
453 Check the path state for LSI/Engenio/NetApp RDAC class as NetApp SANtricity E/EF
454 Series, and OEM arrays from IBM DELL SGI STK and SUN.
457 (Deprecated) Read the first sector with direct I/O. This checker is being
458 deprecated, it could cause spurious path failures under high load.
459 Please use \fItur\fR instead.
463 Check the path state for HP/COMPAQ Smart Array(CCISS) controllers.
466 Do not check the device, fallback to use the values retrieved from sysfs
469 Check if the path is in the Ceph blacklist and remap the path if it is.
471 The default is: \fBtur\fR
477 The \fIuser_friendly_names\fR prefix.
480 The default is: \fBmpath\fR
486 Tell multipathd how to manage path group failback.
487 To select \fIimmediate\fR or a \fIvalue\fR, it's mandatory that the device
488 has support for a working prioritizer.
492 Immediately failback to the highest priority pathgroup that contains
496 Do not perform automatic failback.
499 Used to deal with multiple computers accessing the same Active/Passive storage
500 devices. Only perform automatic failback when the first path of a pathgroup
501 becomes active. This keeps a cluster node from automatically failing back when
502 another node requested the failover.
505 Deferred failback (time to defer in seconds).
507 The default is: \fBmanual\fR
513 Number of I/O requests to route to a path before switching to the next in the
514 same path group. This is only for \fIBlock I/O\fR(BIO) based multipath and
515 only apply to \fIround-robin\fR path_selector.
518 The default is: \fB1000\fR
524 Number of I/O requests to route to a path before switching to the next in the
525 same path group. This is only for \fIRequest\fR based multipath and
526 only apply to \fIround-robin\fR path_selector.
529 The default is: \fB1\fR
535 Specify the maximum number of file descriptors that can be opened by multipath
536 and multipathd. This is equivalent to ulimit \-n. A value of \fImax\fR will set
537 this to the system limit from \fI/proc/sys/fs/nr_open\fR. If this is not set, the
538 maximum number of open fds is taken from the calling process. It is usually
539 1024. To be safe, this should be set to the maximum number of paths plus 32,
540 if that number is greated than 1024.
543 The default is: \fBmax\fR
549 If set to \fIpriorities\fR the multipath configurator will assign path weights
550 as "path prio * rr_min_io". Possible values are
554 Only apply to \fIround-robin\fR path_selector.
557 The default is: \fBuniform\fR
563 Specify what to do when all paths are down. Possible values are:
567 Number of retries until disable I/O queueing.
570 For immediate failure (no I/O queueing).
573 For never stop I/O queueing, similar to \fIqueue_if_no_path\fR. See KNOWN ISSUES.
575 The default is: \fBfail\fR
580 .B queue_without_daemon
583 , when multipathd stops, queueing will be turned off for all devices.
584 This is useful for devices that set no_path_retry. If a machine is
585 shut down while all paths to a device are down, it is possible to hang waiting
586 for I/O to return from the device after multipathd has been stopped. Without
587 multipathd running, access to the paths cannot be restored, and the kernel
588 cannot be told to stop queueing I/O. Setting queue_without_daemon to
590 , avoids this problem.
593 The default is: \fBno\fR
599 Specify the timeout to use for path checkers and prioritizers that issue SCSI
600 commands with an explicit timeout, in seconds.
603 The default is: in \fB/sys/block/sd<x>/device/timeout\fR
611 , multipathd will disable queueing when the last path to a device has been
615 The default is: \fBno\fR
620 .B user_friendly_names
623 , using the bindings file \fI/etc/multipath/bindings\fR to assign a persistent
624 and unique alias to the multipath, in the form of mpath<n>. If set to
626 use the WWID as the alias. In either case this be will
627 be overridden by any specific aliases in the \fImultipaths\fR section.
630 The default is: \fBno\fR
636 Specify the number of seconds the SCSI layer will wait after a problem has been
637 detected on a FC remote port before failing I/O to devices on that remote port.
638 This should be smaller than dev_loss_tmo. Setting this to
640 will disable the timeout.
643 The default is: in \fB5\fR
649 Specify the number of seconds the SCSI layer will wait after a problem has
650 been detected on a FC remote port before removing it from the system. This
651 can be set to "infinity" which sets it to the max value of 2147483647
652 seconds, or 68 years. It will be automatically adjusted to the overall
653 retry interval \fIno_path_retry\fR * \fIpolling_interval\fR
654 if a number of retries is given with \fIno_path_retry\fR and the
655 overall retry interval is longer than the specified \fIdev_loss_tmo\fR value.
656 The Linux kernel will cap this value to \fI600\fR if \fIfast_io_fail_tmo\fR
657 is not set. See KNOWN ISSUES.
660 The default is: \fB600\fR
666 The full pathname of the binding file to be used when the user_friendly_names
670 The default is: \fB/etc/multipath/bindings\fR
676 The full pathname of the WWIDs file, which is used by multipath to keep track
677 of the WWIDs for LUNs it has created multipath devices on in the past.
680 The default is: \fB/etc/multipath/wwids\fR
686 The full pathname of the prkeys file, which is used by multipathd to keep
687 track of the persistent reservation key used for a specific WWID, when
688 \fIreservation_key\fR is set to \fBfile\fR.
691 The default is \fB/etc/multipath/prkeys\fR
699 , multipathd logs the first path checker error at logging level 2. Any later
700 errors are logged at level 3 until the device is restored. If set to
702 , multipathd always logs the path checker error at logging level 2.
705 The default is: \fBalways\fR
711 This is the service action reservation key used by mpathpersist. It must be
712 set for all multipath devices using persistent reservations, and it must be
713 the same as the RESERVATION KEY field of the PERSISTENT RESERVE OUT parameter
714 list which contains an 8-byte value provided by the application client to the
715 device server to identify the I_T nexus.
718 Alternatively, this can be set to \fBfile\fR, which will store the RESERVATION
719 KEY registered by mpathpersist in the \fIprkeys_file\fR. multipathd will then
720 use this key to register additional paths as they appear. When the
721 registration is removed, the RESERVATION KEY is removed from the
724 The default is: \fB<unset>\fR
729 .B retain_attached_hw_handler
730 (Obsolete for kernels >= 4.3) If set to
732 and the SCSI layer has already attached a hardware_handler to the device,
733 multipath will not force the device to use the hardware_handler specified by
734 mutipath.conf. If the SCSI layer has not attached a hardware handler,
735 multipath will continue to use its configured hardware handler.
738 The default is: \fByes\fR
740 \fBImportant Note:\fR Linux kernel 4.3 or newer always behaves as if
741 \fB"retain_attached_hw_handler yes"\fR was set.
749 , multipath will try to detect if the device supports SCSI-3 ALUA. If so, the
750 device will automatically use the \fIsysfs\fR prioritizer if the required sysf
751 attributes \fIaccess_state\fR and \fIpreferred_path\fR are supported, or the
752 \fIalua\fR prioritizer if not. If set to
754 , the prioritizer will be selected as usual.
757 The default is: \fByes\fR
765 , multipath will try to detect if the device supports SCSI-3 ALUA. If so, the
766 device will automatically use the \fItur\fR checker. If set to
768 , the checker will be selected as usual.
771 The default is: \fByes\fR
779 , multipathd will call the path checkers in sync mode only. This means that
780 only one checker will run at a time. This is useful in the case where many
781 multipathd checkers running in parallel causes significant CPU pressure.
784 The default is: \fBno\fR
792 , multipathd will start a new path checker loop after exactly one second,
793 so that each path check will occur at exactly \fIpolling_interval\fR
794 seconds. On busy systems path checks might take longer than one second;
795 here the missing ticks will be accounted for on the next round.
796 A warning will be printed if path checks take longer than \fIpolling_interval\fR
800 The default is: \fBno\fR
808 , multipathd will do a deferred remove instead of a regular remove when the
809 last path device has been deleted. This means that if the multipath device is
810 still in use, it will be freed when the last user closes it. If path is added
811 to the multipath device before the last user closes it, the deferred remove
815 The default is: \fBno\fR
820 .B partition_delimiter
821 If this value is not set, when multipath renames a device, it will act just
822 like the kpartx default does, only adding a \fI"p"\fR to names ending in a
823 number. If this parameter is set, multipath will act like kpartx does with
824 the \fI-p\fR option is used, and always add delimiter.
827 The default is: \fB<unset>\fR
833 If set to anything other than "", multipath will search this directory
834 alphabetically for file ending in ".conf" and it will read configuration
835 information from them, just as if it was in \fI/etc/multipath.conf\fR.
836 config_dir must either be "" or a fully qualified directory name.
839 The default is: \fB/etc/multipath/conf.d/\fR
844 .B marginal_path_double_failed_time
845 One of the four parameters of supporting path check based on accounting IO
846 error such as intermittent error. When a path failed event occurs twice in
847 \fImarginal_path_double_failed_time\fR seconds due to an IO error and all the
848 other three parameters are set, multipathd will fail the path and enqueue
849 this path into a queue of which members are sent a couple of continuous
850 direct reading asynchronous IOs at a fixed sample rate of 10HZ to start IO
851 error accounting process.
854 The default is: \fBno\fR
859 .B marginal_path_err_sample_time
860 One of the four parameters of supporting path check based on accounting IO
861 error such as intermittent error. If it is set to a value no less than 120,
862 when a path fail event occurs twice in \fImarginal_path_double_failed_time\fR
863 second due to an IO error, multipathd will fail the path and enqueue this
864 path into a queue of which members are sent a couple of continuous direct
865 reading asynchronous IOs at a fixed sample rate of 10HZ to start the IO
866 accounting process for the path will last for
867 \fImarginal_path_err_sample_time\fR.
868 If the rate of IO error on a particular path is greater than the
869 \fImarginal_path_err_rate_threshold\fR, then the path will not reinstate for
870 \fImarginal_path_err_recheck_gap_time\fR seconds unless there is only one
871 active path. After \fImarginal_path_err_recheck_gap_time\fR expires, the path
872 will be requeueed for rechecking. If checking result is good enough, the
873 path will be reinstated.
876 The default is: \fBno\fR
881 .B marginal_path_err_rate_threshold
882 The error rate threshold as a permillage (1/1000). One of the four parameters
883 of supporting path check based on accounting IO error such as intermittent
884 error. Refer to \fImarginal_path_err_sample_time\fR. If the rate of IO errors
885 on a particular path is greater than this parameter, then the path will not
886 reinstate for \fImarginal_path_err_rate_threshold\fR seconds unless there is
887 only one active path.
890 The default is: \fBno\fR
895 .B marginal_path_err_recheck_gap_time
896 One of the four parameters of supporting path check based on accounting IO
897 error such as intermittent error. Refer to
898 \fImarginal_path_err_sample_time\fR. If this parameter is set to a positive
899 value, the failed path of which the IO error rate is larger than
900 \fImarginal_path_err_rate_threshold\fR will be kept in failed state for
901 \fImarginal_path_err_recheck_gap_time\fR seconds. When
902 \fImarginal_path_err_recheck_gap_time\fR seconds expires, the path will be
903 requeueed for checking. If checking result is good enough, the path will be
904 reinstated, or else it will keep failed.
907 The default is: \fBno\fR
912 .B delay_watch_checks
913 If set to a value greater than 0, multipathd will watch paths that have
914 recently become valid for this many checks. If they fail again while they are
915 being watched, when they next become valid, they will not be used until they
916 have stayed up for \fIdelay_wait_checks\fR checks.
919 The default is: \fBno\fR
925 If set to a value greater than 0, when a device that has recently come back
926 online fails again within \fIdelay_watch_checks\fR checks, the next time it
927 comes back online, it will marked and delayed, and not used until it has passed
928 \fIdelay_wait_checks\fR checks.
931 The default is: \fBno\fR
939 , instead of trying to create a multipath device for every non-blacklisted
940 path, multipath will only create a device if one of three condidions are
943 There are at least two non-blacklisted paths with the same WWID,
945 the user manually forces the creation, by specifying a device with the multipath
948 a path has the same WWID as a multipath device that was previously created
949 while find_multipaths was set (even if that multipath device doesn't currently
951 Whenever a multipath device is created with find_multipaths set, multipath will
952 remember the WWID of the device, so that it will automatically create the
953 device again, as soon as it sees a path with that WWID. This should allow most
954 users to have multipath automatically choose the correct paths to make into
955 multipath devices, without having to edit the blacklist.
958 The default is: \fBno\fR
964 CLI receive timeout in milliseconds. For larger systems CLI commands
965 might timeout before the multipathd lock is released and the CLI command
966 can be processed. This will result in errors like
967 "timeout receiving packet" to be returned from CLI commands.
968 In these cases it is recommended to increase the CLI timeout to avoid
972 The default is: \fB1000\fR
978 Sets the number of times multipathd will try to retrigger a uevent to get the
982 The default is: \fB3\fR
988 Sets the amount of time, in seconds, to wait between retriggers.
991 The default is: \fB10\fR
996 .B missing_uev_wait_timeout
997 Controls how many seconds multipathd will wait, after a new multipath device
998 is created, to receive a change event from udev for the device, before
999 automatically enabling device reloads. Usually multipathd will delay reloads
1000 on a device until it receives a change uevent from the initial table load.
1003 The default is: \fB30\fR
1011 , kpartx will not automatically create partitions on the device.
1014 The default is: \fBno\fR
1019 .B disable_changed_wwids
1020 If set to \fIyes\fR, multipathd will check the path wwid on change events, and
1021 if it has changed from the wwid of the multipath device, multipathd will
1022 disable access to the path until the wwid changes back.
1025 The default is: \fBno\fR
1031 This sets how may times multipath will retry removing a device that is in-use.
1032 Between each attempt, multipath will sleep 1 second.
1035 The default is: \fB0\fR
1041 Sets the max_sectors_kb device parameter on all path devices and the multipath
1042 device to the specified value.
1045 The default is: \fB<device dependent>\fR
1051 Sets the number of seconds that multipath will wait after creating a device
1052 with only ghost paths before marking it ready for use in systemd. This gives
1053 the active paths time to appear before the multipath runs the hardware handler
1054 to switch the ghost paths to active ones. Setting this to \fI0\fR or \fIon\fR
1055 makes multipath immediately mark a device with only ghost paths as ready.
1058 The default is \fBno\fR
1062 .\" ----------------------------------------------------------------------------
1063 .SH "blacklist section"
1064 .\" ----------------------------------------------------------------------------
1066 The \fIblacklist\fR section is used to exclude specific device from inclusion in
1067 the multipath topology. It is most commonly used to exclude local disks or LUNs
1068 for the array controller.
1072 The following keywords are recognized:
1075 Regular expression of the device nodes to be excluded.
1078 The default is: \fB^(ram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]\fR and \fB^(td|hd|vd)[a-z]\fR
1082 The \fIWorld Wide Identification\fR of a device.
1085 Regular expression of the udev property to be excluded.
1088 Subsection for the device description. This subsection recognizes the
1092 keywords. For a full description of these keywords please see the
1093 \fIdevices\fR section description.
1096 .\" ----------------------------------------------------------------------------
1097 .SH "blacklist_exceptions section"
1098 .\" ----------------------------------------------------------------------------
1100 The \fIblacklist_exceptions\fR section is used to revert the actions of the
1101 \fIblacklist\fR section. For example to include specific device in the
1102 multipath topology. This allows one to selectively include devices which
1103 would normally be excluded via the \fIblacklist\fR section.
1107 The following keywords are recognized:
1110 Regular expression of the device nodes to be whitelisted.
1113 The \fIWorld Wide Identification\fR of a device.
1116 Regular expression of the udev property to be whitelisted.
1119 The default is: \fB(SCSI_IDENT_|ID_WWN)\fR
1123 Subsection for the device description. This subsection recognizes the
1127 keywords. For a full description of these keywords please see the \fIdevices\fR
1128 section description.
1130 The \fIproperty\fR blacklist and whitelist handling is different from the usual
1131 handling in the sense that the whitelist \fIhas\fR to be set, otherwise the
1132 device will be blacklisted. In these cases the message \fIblacklisted, udev
1133 property missing\fR will be displayed.
1136 .\" ----------------------------------------------------------------------------
1137 .SH "multipaths section"
1138 .\" ----------------------------------------------------------------------------
1140 The only recognized attribute for the \fImultipaths\fR section is the
1141 \fImultipath\fR subsection.
1145 The \fImultipath\fR subsection recognizes the following attributes:
1148 (Mandatory) Index of the container.
1151 Symbolic name for the multipath map.
1155 The following attributes are optional; if not set the default values
1156 are taken from the \fIdefaults\fR or \fIdevices\fR section:
1161 .B path_grouping_policy
1179 .B flush_on_last_del
1185 .B user_friendly_names
1189 .B marginal_path_err_sample_time
1191 .B marginal_path_err_rate_threshold
1193 .B marginal_path_err_recheck_gap_time
1195 .B marginal_path_double_failed_time
1197 .B delay_watch_checks
1199 .B delay_wait_checks
1211 .\" ----------------------------------------------------------------------------
1212 .SH "devices section"
1213 .\" ----------------------------------------------------------------------------
1215 The only recognized attribute for the \fIdevices\fR section is the \fIdevice\fR
1220 The \fIdevice\fR subsection recognizes the following attributes:
1222 vendor, product, revision and product_blacklist are POSIX Extended regex.
1225 (Mandatory) Vendor identifier.
1228 (Mandatory) Product identifier.
1233 .B product_blacklist
1234 Product strings to blacklist for this vendor.
1237 The user_friendly_names prefix to use for this
1238 device type, instead of the default "mpath".
1241 The hardware handler to use for this device type.
1242 The following hardware handler are implemented:
1246 (Hardware-dependent)
1247 Hardware handler for DGC class arrays as CLARiiON CX/AX and EMC VNX and Unity
1251 (Hardware-dependent)
1252 Hardware handler for LSI/Engenio/NetApp RDAC class as NetApp SANtricity E/EF
1253 Series, and OEM arrays from IBM DELL SGI STK and SUN.
1256 (Hardware-dependent)
1257 Hardware handler for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
1258 Active/Standby mode exclusively.
1261 (Hardware-dependent)
1262 Hardware handler for SCSI-3 ALUA compatible arrays.
1264 The default is: \fB<unset>\fR
1266 \fBImportant Note:\fR Linux kernels 4.3 and newer automatically attach a device
1267 handler to known devices (which includes all devices supporting SCSI-3 ALUA)
1268 and disallow changing the handler
1269 afterwards. Setting \fBhardware_handler\fR for such devices on these kernels
1275 The following attributes are optional; if not set the default values
1276 are taken from the \fIdefaults\fR
1282 .B path_grouping_policy
1310 .B flush_on_last_del
1312 .B retain_attached_hw_handler
1320 .B marginal_path_err_sample_time
1322 .B marginal_path_err_rate_threshold
1324 .B marginal_path_err_recheck_gap_time
1326 .B marginal_path_double_failed_time
1328 .B delay_watch_checks
1330 .B delay_wait_checks
1342 .\" ----------------------------------------------------------------------------
1343 .SH "overrides section"
1344 .\" ----------------------------------------------------------------------------
1346 The overrides section recognizes the following optional attributes; if not set
1347 the values are taken from the \fIdevices\fR or \fIdefaults\fR sections:
1352 .B path_grouping_policy
1380 .B flush_on_last_del
1386 .B user_friendly_names
1388 .B retain_attached_hw_handler
1396 .B marginal_path_err_sample_time
1398 .B marginal_path_err_rate_threshold
1400 .B marginal_path_err_recheck_gap_time
1402 .B marginal_path_double_failed_time
1404 .B delay_watch_checks
1406 .B delay_wait_checks
1416 .\" ----------------------------------------------------------------------------
1417 .SH "WWID generation"
1418 .\" ----------------------------------------------------------------------------
1420 Multipath uses a \fIWorld Wide Identification\fR (WWID) to determine
1421 which paths belong to the same device. Each path presenting the same
1422 WWID is assumed to point to the same device.
1424 The WWID is generated by three methods (in the order of preference):
1427 Use the specified external program; cf \fIgetuid_callout\fR above.
1428 Care should be taken when using this method; the external program
1429 needs to be loaded from disk for execution, which might lead to
1430 deadlock situations in an all-paths-down scenario.
1433 Use the value of the specified udev attribute; cf \fIuid_attribute\fR
1434 above. This method is preferred to \fIgetuid_callout\fR as multipath
1435 does not need to call any external programs here. However, under
1436 certain circumstances udev might not be able to generate the requested
1440 If none of the \fIgetuid_callout\fR or \fIuid_attribute\fR parameters
1441 are present multipath will try to use the sysfs attribute
1442 \fIvpd_pg83\fR to generate the WWID.
1445 .\" ----------------------------------------------------------------------------
1447 .\" ----------------------------------------------------------------------------
1449 The usage of \fIqueue_if_no_path\fR option can lead to \fID state\fR
1450 processes being hung and not killable in situations where all the paths to the
1451 LUN go offline. It is advisable to use the \fIno_path_retry\fR option instead.
1453 The use of \fIqueue_if_no_path\fR or \fIno_path_retry\fR might lead to a
1454 deadlock if the \fIdev_loss_tmo\fR setting results in a device being removed
1455 while I/O is still queued. The multipath daemon will update the \fIdev_loss_tmo\fR
1456 setting accordingly to avoid this deadlock. Hence if both values are
1457 specified the order of precedence is \fIno_path_retry, queue_if_no_path, dev_loss_tmo\fR.
1460 .\" ----------------------------------------------------------------------------
1462 .\" ----------------------------------------------------------------------------
1470 .\" ----------------------------------------------------------------------------
1472 .\" ----------------------------------------------------------------------------
1474 \fImultipath-tools\fR was developed by Christophe Varoqui, <christophe.varoqui@opensvc.com>