Imported Upstream version 0.7.3
[platform/upstream/multipath-tools.git] / multipath / multipath.conf.5
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
6 .\"
7 .\" TODO: Look for XXX and ???
8 .\"
9 .\" ----------------------------------------------------------------------------
10 .
11 .TH MULTIPATH.CONF 5 2017-08-18 Linux
12 .
13 .
14 .\" ----------------------------------------------------------------------------
15 .SH NAME
16 .\" ----------------------------------------------------------------------------
17 .
18 multipath.conf \- multipath daemon configuration file.
19 .
20 .
21 .\" ----------------------------------------------------------------------------
22 .SH DESCRIPTION
23 .\" ----------------------------------------------------------------------------
24 .
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.
30 .PP
31 Currently used multipathd configuration can be displayed with the \fBmultipath -t\fR
32 or \fBmultipathd show config\fR command.
33 .
34 .
35 .\" ----------------------------------------------------------------------------
36 .SH SYNTAX
37 .\" ----------------------------------------------------------------------------
38 .
39 The configuration file contains entries of the form:
40 .RS
41 .nf
42 .ft B
43 .sp
44 <section> {
45 .RS
46 .ft B
47 <attribute> <value>
48 .I "..."
49 .ft B
50 <subsection> {
51 .RS
52 .ft B
53 <attribute> <value>
54 .I "..."
55 .RE
56 .ft B
57 }
58 .RE
59 .ft B
60 }
61 .ft R
62 .fi
63 .RE
64 .LP
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.
68 .LP
69 .
70 .
71 The following \fIsection\fP keywords are recognized:
72 .TP 17
73 .B defaults
74 This section defines default values for attributes which are used
75 whenever no values are given in the appropriate device or multipath
76 sections.
77 .TP
78 .B blacklist
79 This section defines which devices should be excluded from the
80 multipath topology discovery.
81 .TP
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.
86 .TP
87 .B multipaths
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.
91 .TP
92 .B devices
93 This section defines the device-specific settings.
94 .TP
95 .B overrides
96 This section defines values for attributes that should override the
97 device-specific settings for all devices.
98 .RE
99 .LP
100 .
101 .
102 .\" ----------------------------------------------------------------------------
103 .SH "defaults section"
104 .\" ----------------------------------------------------------------------------
105 .
106 The \fIdefaults\fR section recognizes the following keywords:
107 .
108 .
109 .TP 17
110 .B verbosity
111 Default verbosity. Higher values increase the verbosity level. Valid
112 levels are between 0 and 6.
113 .RS
114 .TP
115 The default is: \fB2\fR
116 .RE
117 .
118 .
119 .TP
120 .B polling_interval
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.
125 .RS
126 .TP
127 The default is: \fB5\fR
128 .RE
129 .
130 .
131 .TP
132 .B max_polling_interval
133 Maximal interval between two path checks in seconds.
134 .RS
135 .TP
136 The default is: \fB4 * polling_interval\fR
137 .RE
138 .
139 .
140 .TP
141 .B reassign_maps
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.
146 .RS
147 .TP
148 The default is: \fBno\fR
149 .RE
150 .
151 .
152 .TP
153 .B multipath_dir
154 Directory where the dynamic shared objects are stored. Defined at compile time,
155 commonly \fI/lib64/multipath/\fR or \fI/lib/multipath/\fR.
156 .RS
157 .TP
158 The default is: \fB<system dependent>\fR
159 .RE
160 .
161 .
162 .TP
163 .B path_selector
164 The default path selector algorithm to use; they are offered by the
165 kernel multipath target. There are three selector algorithms:
166 .RS
167 .TP 12
168 .I "round-robin 0"
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.
172 .TP
173 .I "queue-length 0"
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.
176 .TP
177 .I "service-time 0"
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.
180 .TP
181 The default is: \fBservice-time 0\fR
182 .RE
183 .
184 .
185 .TP
186 .B path_grouping_policy
187 The default path grouping policy to apply to unspecified
188 multipaths. Possible values are:
189 .RS
190 .TP 12
191 .I failover
192 One path per priority group.
193 .TP
194 .I multibus
195 All paths in one priority group.
196 .TP
197 .I group_by_serial
198 One priority group per serial number.
199 .TP
200 .I group_by_prio
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.
204 .TP
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.
208 .TP
209 The default is: \fBfailover\fR
210 .RE
211 .
212 .
213 .TP
214 .B uid_attrs
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.
223 .RS
224 .TP
225 The default is: \fB<unset>\fR
226 .RE
227 .
228 .
229 .TP
230 .B uid_attribute
231 The udev attribute providing a unique path identifier.
232 .RS
233 .TP
234 The default is: for SCSI devices \fBID_SERIAL\fR
235 .TP
236 The default is: for DASD devices \fBID_UID\fR
237 .TP
238 The default is: for NVME devices \fBID_WWN\fR
239 .RE
240 .
241 .
242 .TP
243 .B getuid_callout
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.
246 .RS
247 .TP
248 The default is: \fB<unset>\fR
249 .RE
250 .
251 .
252 .TP
253 .B prio
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
258 are implemented:
259 .RS
260 .TP 12
261 .I const
262 Return a constant priority of \fI1\fR.
263 .TP
264 .I sysfs
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.
268 .TP
269 .I emc
270 (Hardware-dependent)
271 Generate the path priority for DGC class arrays as CLARiiON CX/AX and
272 EMC VNX and Unity families.
273 .TP
274 .I alua
275 (Hardware-dependent)
276 Generate the path priority based on the SCSI-3 ALUA settings. This prioritizer
277 accepts the optional prio_arg \fIexclusive_pref_bit\fR.
278 .TP
279 .I ontap
280 (Hardware-dependent)
281 Generate the path priority for NetApp ONTAP class and OEM arrays as IBM NSeries.
282 .TP
283 .I rdac
284 (Hardware-dependent)
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.
287 .TP
288 .I hp_sw
289 (Hardware-dependent)
290 Generate the path priority for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
291 Active/Standby mode exclusively.
292 .TP
293 .I hds
294 (Hardware-dependent)
295 Generate the path priority for Hitachi AMS 2000 and HUS 100 families of arrays.
296 .TP
297 .I random
298 Generate a random priority between 1 and 10.
299 .TP
300 .I weightedpath
301 Generate the path priority based on the regular expression and the
302 priority provided as argument. Requires prio_args keyword.
303 .TP
304 .I path_latency
305 Generate the path priority based on a latency algorithm.
306 Requires prio_args keyword.
307 .TP
308 .I datacore
309 (Hardware-dependent)
310 Generate the path priority for some DataCore storage arrays. Requires prio_args
311 keyword.
312 .TP
313 .I iet
314 (iSCSI only)
315 Generate path priority for iSCSI targets based on IP address. Requires
316 prio_args keyword.
317 .PP
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.
322 .RE
323 .
324 .
325 .TP
326 .B prio_args
327 Arguments to pass to to the prio function. This only applies to certain
328 prioritizers:
329 .RS
330 .TP 12
331 .I weighted
332 Needs a value of the form
333 \fI"<hbtl|devname|serial|wwn> <regex1> <prio1> <regex2> <prio2> ..."\fR
334 .RS
335 .TP 8
336 .I hbtl
337 Regex can be of SCSI H:B:T:L format. For example: 1:0:.:. , *:0:0:.
338 .TP
339 .I devname
340 Regex can be of device name format. For example: sda , sd.e
341 .TP
342 .I serial
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
346 .TP
347 .I wwn
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:.*
351 .RE
352 .TP 12
353 .I path_latency
354 Needs a value of the form \fI"<io_num>|<base_num>"\fR
355 .RS
356 .TP 8
357 .I io_num
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].
360 .TP
361 .I base_num
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.
366 .RE
367 .TP 12
368 .I alua
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.
371 .TP
372 .I sysfs
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.
375 .TP
376 .I datacore
377 .RS
378 .TP 8
379 .I preferredsds
380 (Mandatory) The preferred "SDS name".
381 .TP
382 .I timeout
383 (Optional) The timeout for the INQUIRY, in ms.
384 .RE
385 .TP 12
386 .I iet
387 .RS
388 .TP 8
389 .I preferredip=...
390 (Mandatory) Th preferred IP address, in dotted decimal notation, for iSCSI targets.
391 .RE
392 .TP
393 The default is: \fB<unset>\fR
394 .RE
395 .
396 .
397 .TP
398 .B features
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:
402 .RS
403 .TP 12
404 .I queue_if_no_path
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.
409 .TP
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.
412 .TP
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.
415 .TP
416 .I queue_mode <mode>
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,
420 respectively.
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.
423 .TP
424 The default is: \fB<unset>\fR
425 .RE
426 .
427 .
428 .TP
429 .B path_checker
430 The default method used to determine the paths state. Possible values
431 are:
432 .RS
433 .TP 12
434 .I readsector0
435 (Deprecated) Read the first sector of the device. This checker is being
436 deprecated, please use \fItur\fR instead.
437 .TP
438 .I tur
439 Issue a \fITEST UNIT READY\fR command to the device.
440 .TP
441 .I emc_clariion
442 (Hardware-dependent)
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.
445 .TP
446 .I hp_sw
447 (Hardware-dependent)
448 Check the path state for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
449 Active/Standby mode exclusively.
450 .TP
451 .I rdac
452 (Hardware-dependent)
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.
455 .TP
456 .I directio
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.
460 .TP
461 .I cciss_tur
462 (Hardware-dependent)
463 Check the path state for HP/COMPAQ Smart Array(CCISS) controllers.
464 .TP
465 .I none
466 Do not check the device, fallback to use the values retrieved from sysfs
467 .TP
468 .I rbd
469 Check if the path is in the Ceph blacklist and remap the path if it is.
470 .TP
471 The default is: \fBtur\fR
472 .RE
473 .
474 .
475 .TP
476 .B alias_prefix
477 The \fIuser_friendly_names\fR prefix.
478 .RS
479 .TP
480 The default is: \fBmpath\fR
481 .RE
482 .
483 .
484 .TP
485 .B failback
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.
489 .RS
490 .TP 12
491 .I immediate
492 Immediately failback to the highest priority pathgroup that contains
493 active paths.
494 .TP
495 .I manual
496 Do not perform automatic failback.
497 .TP
498 .I followover
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.
503 .TP
504 .I values > 0
505 Deferred failback (time to defer in seconds).
506 .TP
507 The default is: \fBmanual\fR
508 .RE
509 .
510 .
511 .TP
512 .B  rr_min_io
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.
516 .RS
517 .TP
518 The default is: \fB1000\fR
519 .RE
520 .
521 .
522 .TP
523 .B rr_min_io_rq
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.
527 .RS
528 .TP
529 The default is: \fB1\fR
530 .RE
531 .
532 .
533 .TP
534 .B max_fds
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.
541 .RS
542 .TP
543 The default is: \fBmax\fR
544 .RE
545 .
546 .
547 .TP
548 .B rr_weight
549 If set to \fIpriorities\fR the multipath configurator will assign path weights
550 as "path prio * rr_min_io". Possible values are
551 .I priorities
552 or
553 .I uniform .
554 Only apply to \fIround-robin\fR path_selector.
555 .RS
556 .TP
557 The default is: \fBuniform\fR
558 .RE
559 .
560 .
561 .TP
562 .B no_path_retry
563 Specify what to do when all paths are down. Possible values are:
564 .RS
565 .TP 12
566 .I value > 0
567 Number of retries until disable I/O queueing.
568 .TP
569 .I fail
570 For immediate failure (no I/O queueing).
571 .TP
572 .I queue
573 For never stop I/O queueing, similar to \fIqueue_if_no_path\fR. See KNOWN ISSUES.
574 .TP
575 The default is: \fBfail\fR
576 .RE
577 .
578 .
579 .TP
580 .B queue_without_daemon
581 If set to
582 .I no
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
589 .I no
590 , avoids this problem.
591 .RS
592 .TP
593 The default is: \fBno\fR
594 .RE
595 .
596 .
597 .TP
598 .B checker_timeout
599 Specify the timeout to use for path checkers and prioritizers that issue SCSI
600 commands with an explicit timeout, in seconds.
601 .RS
602 .TP
603 The default is: in \fB/sys/block/sd<x>/device/timeout\fR
604 .RE
605 .
606 .
607 .TP
608 .B flush_on_last_del
609 If set to
610 .I yes
611 , multipathd will disable queueing when the last path to a device has been
612 deleted.
613 .RS
614 .TP
615 The default is: \fBno\fR
616 .RE
617 .
618 .
619 .TP
620 .B user_friendly_names
621 If set to
622 .I yes
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
625 .I no
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.
628 .RS
629 .TP
630 The default is: \fBno\fR
631 .RE
632 .
633 .
634 .TP
635 .B fast_io_fail_tmo
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
639 .I off
640 will disable the timeout.
641 .RS
642 .TP
643 The default is: in \fB5\fR
644 .RE
645 .
646 .
647 .TP
648 .B dev_loss_tmo
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 \fI300\fR if \fIfast_io_fail_tmo\fR
657 is not set. See KNOWN ISSUES.
658 .RS
659 .TP
660 The default is: \fB600\fR
661 .RE
662 .
663 .
664 .TP
665 .B bindings_file
666 The full pathname of the binding file to be used when the user_friendly_names
667 option is set.
668 .RS
669 .TP
670 The default is: \fB/etc/multipath/bindings\fR
671 .RE
672 .
673 .
674 .TP
675 .B wwids_file
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.
678 .RS
679 .TP
680 The default is: \fB/etc/multipath/wwids\fR
681 .RE
682 .
683 .
684 .TP
685 .B log_checker_err
686 If set to
687 .I once
688 , multipathd logs the first path checker error at logging level 2. Any later
689 errors are logged at level 3 until the device is restored. If set to
690 .I always
691 , multipathd always logs the path checker error at logging level 2.
692 .RS
693 .TP
694 The default is: \fBalways\fR
695 .RE
696 .
697 .
698 .TP
699 .B reservation_key
700 This is the service action reservation key used by mpathpersist. It must be
701 set for all multipath devices using persistent reservations, and it must be
702 the same as the RESERVATION KEY field of the PERSISTENT RESERVE OUT parameter
703 list which contains an 8-byte value provided by the application client to the
704 device server to identify the I_T nexus.
705 .RS
706 .TP
707 The default is: \fB<unset>\fR
708 .RE
709 .
710 .
711 .TP
712 .B retain_attached_hw_handler
713 (Obsolete for kernels >= 4.3) If set to
714 .I yes
715 and the SCSI layer has already attached a hardware_handler to the device,
716 multipath will not force the device to use the hardware_handler specified by
717 mutipath.conf. If the SCSI layer has not attached a hardware handler,
718 multipath will continue to use its configured hardware handler.
719 .RS
720 .PP
721 The default is: \fByes\fR
722 .PP
723 \fBImportant Note:\fR Linux kernel 4.3 or newer always behaves as if
724 \fB"retain_attached_hw_handler yes"\fR was set.
725 .RE
726 .
727 .
728 .TP
729 .B detect_prio
730 If set to
731 .I yes
732 , multipath will try to detect if the device supports SCSI-3 ALUA. If so, the
733 device will automatically use the \fIsysfs\fR prioritizer if the required sysf
734 attributes \fIaccess_state\fR and \fIpreferred_path\fR are supported, or the
735 \fIalua\fR prioritizer if not. If set to
736 .I no
737 , the prioritizer will be selected as usual.
738 .RS
739 .TP
740 The default is: \fByes\fR
741 .RE
742 .
743 .
744 .TP
745 .B detect_checker
746 if set to
747 .I yes
748 , multipath will try to detect if the device supports SCSI-3 ALUA. If so, the
749 device will automatically use the \fItur\fR checker. If set to
750 .I no
751 , the checker will be selected as usual.
752 .RS
753 .TP
754 The default is: \fByes\fR
755 .RE
756 .
757 .
758 .TP
759 .B force_sync
760 If set to
761 .I yes
762 , multipathd will call the path checkers in sync mode only.  This means that
763 only one checker will run at a time.  This is useful in the case where many
764 multipathd checkers running in parallel causes significant CPU pressure.
765 .RS
766 .TP
767 The default is: \fBno\fR
768 .RE
769 .
770 .
771 .TP
772 .B strict_timing
773 If set to
774 .I yes
775 , multipathd will start a new path checker loop after exactly one second,
776 so that each path check will occur at exactly \fIpolling_interval\fR
777 seconds. On busy systems path checks might take longer than one second;
778 here the missing ticks will be accounted for on the next round.
779 A warning will be printed if path checks take longer than \fIpolling_interval\fR
780 seconds.
781 .RS
782 .TP
783 The default is: \fBno\fR
784 .RE
785 .
786 .
787 .TP
788 .B deferred_remove
789 If set to
790 .I yes
791 , multipathd will do a deferred remove instead of a regular remove when the
792 last path device has been deleted.  This means that if the multipath device is
793 still in use, it will be freed when the last user closes it.  If path is added
794 to the multipath device before the last user closes it, the deferred remove
795 will be canceled.
796 .RS
797 .TP
798 The default is: \fBno\fR
799 .RE
800 .
801 .
802 .TP
803 .B partition_delimiter
804 If this value is not set, when multipath renames a device, it will act just
805 like the kpartx default does, only adding a \fI"p"\fR to names ending in a
806 number. If this parameter is set, multipath will act like kpartx does with
807 the \fI-p\fR option is used, and always add delimiter.
808 .RS
809 .TP
810 The default is: \fB<unset>\fR
811 .RE
812 .
813 .
814 .TP
815 .B config_dir
816 If set to anything other than "", multipath will search this directory
817 alphabetically for file ending in ".conf" and it will read configuration
818 information from them, just as if it was in \fI/etc/multipath.conf\fR.
819 config_dir must either be "" or a fully qualified directory name.
820 .RS
821 .TP
822 The default is: \fB/etc/multipath/conf.d/\fR
823 .RE
824 .
825 .
826 .TP
827 .B san_path_err_threshold
828 If set to a value greater than 0, multipathd will watch paths and check how many
829 times a path has been failed due to errors.If the number of failures on a particular
830 path is greater then the san_path_err_threshold then the path will not  reinstante
831 till san_path_err_recovery_time.These path failures should occur within a
832 san_path_err_forget_rate checks, if not we will consider the path is good enough
833 to reinstantate.
834 .RS
835 .TP
836 The default is: \fBno\fR
837 .RE
838 .
839 .
840 .TP
841 .B san_path_err_forget_rate
842 If set to a value greater than 0, multipathd will check whether the path failures
843 has exceeded  the san_path_err_threshold within this many checks i.e
844 san_path_err_forget_rate . If so we will not reinstante the path till
845 san_path_err_recovery_time.
846 .RS
847 .TP
848 The default is: \fBno\fR
849 .RE
850 .
851 .
852 .TP
853 .B san_path_err_recovery_time
854 If set to a value greater than 0, multipathd will make sure that when path failures
855 has exceeded the san_path_err_threshold within san_path_err_forget_rate then the path
856 will be placed in failed state for san_path_err_recovery_time duration.Once san_path_err_recovery_time
857 has timeout  we will reinstante the failed path .
858 san_path_err_recovery_time value should be in secs.
859 .RS
860 .TP
861 The default is: \fBno\fR
862 .RE
863 .
864 .
865 .TP
866 .B delay_watch_checks
867 If set to a value greater than 0, multipathd will watch paths that have
868 recently become valid for this many checks. If they fail again while they are
869 being watched, when they next become valid, they will not be used until they
870 have stayed up for \fIdelay_wait_checks\fR checks.
871 .RS
872 .TP
873 The default is: \fBno\fR
874 .RE
875 .
876 .
877 .TP
878 .B delay_wait_checks
879 If set to a value greater than 0, when a device that has recently come back
880 online fails again within \fIdelay_watch_checks\fR checks, the next time it
881 comes back online, it will marked and delayed, and not used until it has passed
882 \fIdelay_wait_checks\fR checks.
883 .RS
884 .TP
885 The default is: \fBno\fR
886 .RE
887 .
888 .
889 .TP
890 .B find_multipaths
891 If set to
892 .I yes
893 , instead of trying to create a multipath device for every non-blacklisted
894 path, multipath will only create a device if one of three condidions are
895 met.
896 .I 1
897 There are at least two non-blacklisted paths with the same WWID,
898 .I 2
899 the user manually forces the creation, by specifying a device with the multipath
900 command, or
901 .I 3
902 a path has the same WWID as a multipath device that was previously created
903 while find_multipaths was set (even if that multipath device doesn't currently
904 exist).
905 Whenever a multipath device is created with find_multipaths set, multipath will
906 remember the WWID of the device, so that it will automatically create the
907 device again, as soon as it sees a path with that WWID. This should allow most
908 users to have multipath automatically choose the correct paths to make into
909 multipath devices, without having to edit the blacklist.
910 .RS
911 .TP
912 The default is: \fBno\fR
913 .RE
914 .
915 .
916 .TP
917 .B uxsock_timeout
918 CLI receive timeout in milliseconds. For larger systems CLI commands
919 might timeout before the multipathd lock is released and the CLI command
920 can be processed. This will result in errors like
921 "timeout receiving packet" to be returned from CLI commands.
922 In these cases it is recommended to increase the CLI timeout to avoid
923 those issues.
924 .RS
925 .TP
926 The default is: \fB1000\fR
927 .RE
928 .
929 .
930 .TP
931 .B retrigger_tries
932 Sets the number of times multipathd will try to retrigger a uevent to get the
933 WWID.
934 .RS
935 .TP
936 The default is: \fB3\fR
937 .RE
938 .
939 .
940 .TP
941 .B retrigger_delay
942 Sets the amount of time, in seconds, to wait between retriggers.
943 .RS
944 .TP
945 The default is: \fB10\fR
946 .RE
947 .
948 .
949 .TP
950 .B missing_uev_wait_timeout
951 Controls how many seconds multipathd will wait, after a new multipath device
952 is created, to receive a change event from udev for the device, before
953 automatically enabling device reloads. Usually multipathd will delay reloads
954 on a device until it receives a change uevent from the initial table load.
955 .RS
956 .TP
957 The default is: \fB30\fR
958 .RE
959 .
960 .
961 .TP
962 .B skip_kpartx
963 If set to
964 .I yes
965 , kpartx will not automatically create partitions on the device.
966 .RS
967 .TP
968 The default is: \fBno\fR
969 .RE
970 .
971 .
972 .TP
973 .B disable_changed_wwids
974 If set to \fIyes\fR, multipathd will check the path wwid on change events, and
975 if it has changed from the wwid of the multipath device, multipathd will
976 disable access to the path until the wwid changes back.
977 .RS
978 .TP
979 The default is: \fBno\fR
980 .RE
981 .
982 .
983 .TP
984 .B remove_retries
985 This sets how may times multipath will retry removing a device that is in-use.
986 Between each attempt, multipath will sleep 1 second.
987 .RS
988 .TP
989 The default is: \fB0\fR
990 .RE
991 .
992 .
993 .TP
994 .B max_sectors_kb
995 Sets the max_sectors_kb device parameter on all path devices and the multipath
996 device to the specified value.
997 .RS
998 .TP
999 The default is: \fB<device dependent>\fR
1000 .RE
1001 .
1002 .
1003 .\" ----------------------------------------------------------------------------
1004 .SH "blacklist section"
1005 .\" ----------------------------------------------------------------------------
1006 .
1007 The \fIblacklist\fR section is used to exclude specific device from inclusion in
1008 the multipath topology. It is most commonly used to exclude local disks or LUNs
1009 for the array controller.
1010 .LP
1011 .
1012 .
1013 The following keywords are recognized:
1014 .TP 17
1015 .B devnode
1016 Regular expression of the device nodes to be excluded.
1017 .RS
1018 .TP
1019 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
1020 .RE
1021 .TP
1022 .B wwid
1023 The \fIWorld Wide Identification\fR of a device.
1024 .TP
1025 .B property
1026 Regular expression of the udev property to be excluded.
1027 .TP
1028 .B device
1029 Subsection for the device description. This subsection recognizes the
1030 .B vendor
1031 and
1032 .B product
1033 keywords. For a full description of these keywords please see the
1034 \fIdevices\fR section description.
1035 .
1036 .
1037 .\" ----------------------------------------------------------------------------
1038 .SH "blacklist_exceptions section"
1039 .\" ----------------------------------------------------------------------------
1040 .
1041 The \fIblacklist_exceptions\fR section is used to revert the actions of the
1042 \fIblacklist\fR section. For example to include specific device in the
1043 multipath topology. This allows one to selectively include devices which
1044 would normally be excluded via the \fIblacklist\fR section.
1045 .LP
1046 .
1047 .
1048 The following keywords are recognized:
1049 .TP 17
1050 .B devnode
1051 Regular expression of the device nodes to be whitelisted.
1052 .TP
1053 .B wwid
1054 The \fIWorld Wide Identification\fR of a device.
1055 .TP
1056 .B property
1057 Regular expression of the udev property to be whitelisted.
1058 .RS
1059 .TP
1060 The default is: \fB(SCSI_IDENT_|ID_WWN)\fR
1061 .RE
1062 .TP
1063 .B device
1064 Subsection for the device description. This subsection recognizes the
1065 .B vendor
1066 and
1067 .B product
1068 keywords. For a full description of these keywords please see the \fIdevices\fR
1069 section description.
1070 .LP
1071 The \fIproperty\fR blacklist and whitelist handling is different from the usual
1072 handling in the sense that the whitelist \fIhas\fR to be set, otherwise the
1073 device will be blacklisted. In these cases the message \fIblacklisted, udev
1074 property missing\fR will be displayed.
1075 .
1076 .
1077 .\" ----------------------------------------------------------------------------
1078 .SH "multipaths section"
1079 .\" ----------------------------------------------------------------------------
1080 .
1081 The only recognized attribute for the \fImultipaths\fR section is the
1082 \fImultipath\fR subsection.
1083 .LP
1084 .
1085 .
1086 The \fImultipath\fR subsection recognizes the following attributes:
1087 .TP 17
1088 .B wwid
1089 (Mandatory) Index of the container.
1090 .TP
1091 .B alias
1092 Symbolic name for the multipath map.
1093 .LP
1094 .
1095 .
1096 The following attributes are optional; if not set the default values
1097 are taken from the \fIdefaults\fR or \fIdevices\fR section:
1098 .sp 1
1099 .PD .1v
1100 .RS
1101 .TP 18
1102 .B path_grouping_policy
1103 .TP
1104 .B path_selector
1105 .TP
1106 .B prio
1107 .TP
1108 .B prio_args
1109 .TP
1110 .B failback
1111 .TP
1112 .B rr_weight
1113 .TP
1114 .B no_path_retry
1115 .TP
1116 .B rr_min_io
1117 .TP
1118 .B rr_min_io_rq
1119 .TP
1120 .B flush_on_last_del
1121 .TP
1122 .B features
1123 .TP
1124 .B reservation_key
1125 .TP
1126 .B user_friendly_names
1127 .TP
1128 .B deferred_remove
1129 .TP
1130 .B san_path_err_threshold
1131 .TP
1132 .B san_path_err_forget_rate
1133 .TP
1134 .B san_path_err_recovery_time
1135 .TP
1136 .B delay_watch_checks
1137 .TP
1138 .B delay_wait_checks
1139 .TP
1140 .B skip_kpartx
1141 .TP
1142 .B max_sectors_kb
1143 .RE
1144 .PD
1145 .LP
1146 .
1147 .
1148 .\" ----------------------------------------------------------------------------
1149 .SH "devices section"
1150 .\" ----------------------------------------------------------------------------
1151 .
1152 The only recognized attribute for the \fIdevices\fR section is the \fIdevice\fR
1153 subsection.
1154 .LP
1155 .
1156 .
1157 The \fIdevice\fR subsection recognizes the following attributes:
1158 .TP
1159 vendor, product, revision and product_blacklist are POSIX Extended regex.
1160 .TP 17
1161 .B vendor
1162 (Mandatory) Vendor identifier.
1163 .TP
1164 .B product
1165 (Mandatory) Product identifier.
1166 .TP
1167 .B revision
1168 Revision identfier.
1169 .TP
1170 .B product_blacklist
1171 Product strings to blacklist for this vendor.
1172 .TP
1173 .B alias_prefix
1174 The user_friendly_names prefix to use for this
1175 device type, instead of the default "mpath".
1176 .TP
1177 .B hardware_handler
1178 The hardware handler to use for this device type.
1179 The following hardware handler are implemented:
1180 .RS
1181 .TP 12
1182 .I 1 emc
1183 (Hardware-dependent)
1184 Hardware handler for DGC class arrays as CLARiiON CX/AX and EMC VNX and Unity
1185 families.
1186 .TP
1187 .I 1 rdac
1188 (Hardware-dependent)
1189 Hardware handler for LSI/Engenio/NetApp RDAC class as NetApp SANtricity E/EF
1190 Series, and OEM arrays from IBM DELL SGI STK and SUN.
1191 .TP
1192 .I 1 hp_sw
1193 (Hardware-dependent)
1194 Hardware handler for HP/COMPAQ/DEC HSG80 and MSA/HSV arrays with
1195 Active/Standby mode exclusively.
1196 .TP
1197 .I 1 alua
1198 (Hardware-dependent)
1199 Hardware handler for SCSI-3 ALUA compatible arrays.
1200 .PP
1201 The default is: \fB<unset>\fR
1202 .PP
1203 \fBImportant Note:\fR Linux kernels 4.3 and newer automatically attach a device
1204 handler to known devices (which includes all devices supporting SCSI-3 ALUA)
1205 and disallow changing the handler
1206 afterwards. Setting \fBhardware_handler\fR for such devices on these kernels
1207 has no effect.
1208 .RE
1209 .
1210 .
1211 .LP
1212 The following attributes are optional; if not set the default values
1213 are taken from the \fIdefaults\fR
1214 section:
1215 .sp 1
1216 .PD .1v
1217 .RS
1218 .TP 18
1219 .B path_grouping_policy
1220 .TP
1221 .B uid_attribute
1222 .TP
1223 .B path_selector
1224 .TP
1225 .B path_checker
1226 .TP
1227 .B prio
1228 .TP
1229 .B prio_args
1230 .TP
1231 .B features
1232 .TP
1233 .B failback
1234 .TP
1235 .B rr_weight
1236 .TP
1237 .B no_path_retry
1238 .TP
1239 .B rr_min_io
1240 .TP
1241 .B rr_min_io_rq
1242 .TP
1243 .B fast_io_fail_tmo
1244 .TP
1245 .B dev_loss_tmo
1246 .TP
1247 .B flush_on_last_del
1248 .TP
1249 .B retain_attached_hw_handler
1250 .TP
1251 .B detect_prio
1252 .TP
1253 .B detect_checker
1254 .TP
1255 .B deferred_remove
1256 .TP
1257 .B san_path_err_threshold
1258 .TP
1259 .B san_path_err_forget_rate
1260 .TP
1261 .B san_path_err_recovery_time
1262 .TP
1263 .B delay_watch_checks
1264 .TP
1265 .B delay_wait_checks
1266 .TP
1267 .B skip_kpartx
1268 .TP
1269 .B max_sectors_kb
1270 .RE
1271 .PD
1272 .LP
1273 .
1274 .
1275 .\" ----------------------------------------------------------------------------
1276 .SH "overrides section"
1277 .\" ----------------------------------------------------------------------------
1278 .
1279 The overrides section recognizes the following optional attributes; if not set
1280 the values are taken from the \fIdevices\fR or \fIdefaults\fR sections:
1281 .sp 1
1282 .PD .1v
1283 .RS
1284 .TP 18
1285 .B path_grouping_policy
1286 .TP
1287 .B uid_attribute
1288 .TP
1289 .B getuid_callout
1290 .TP
1291 .B path_selector
1292 .TP
1293 .B path_checker
1294 .TP
1295 .B alias_prefix
1296 .TP
1297 .B features
1298 .TP
1299 .B prio
1300 .TP
1301 .B prio_args
1302 .TP
1303 .B failback
1304 .TP
1305 .B rr_weight
1306 .TP
1307 .B no_path_retry
1308 .TP
1309 .B rr_min_io
1310 .TP
1311 .B rr_min_io_rq
1312 .TP
1313 .B flush_on_last_del
1314 .TP
1315 .B fast_io_fail_tmo
1316 .TP
1317 .B dev_loss_tmo
1318 .TP
1319 .B user_friendly_names
1320 .TP
1321 .B retain_attached_hw_handler
1322 .TP
1323 .B detect_prio
1324 .TP
1325 .B detect_checker
1326 .TP
1327 .B deferred_remove
1328 .TP
1329 .B san_path_err_threshold
1330 .TP
1331 .B san_path_err_forget_rate
1332 .TP
1333 .B san_path_err_recovery_time
1334 .TP
1335 .B delay_watch_checks
1336 .TP
1337 .B delay_wait_checks
1338 .TP
1339 .B skip_kpartx
1340 .RE
1341 .PD
1342 .LP
1343 .
1344 .
1345 .\" ----------------------------------------------------------------------------
1346 .SH "WWID generation"
1347 .\" ----------------------------------------------------------------------------
1348 .
1349 Multipath uses a \fIWorld Wide Identification\fR (WWID) to determine
1350 which paths belong to the same device. Each path presenting the same
1351 WWID is assumed to point to the same device.
1352 .LP
1353 The WWID is generated by three methods (in the order of preference):
1354 .TP 17
1355 .B getuid_callout
1356 Use the specified external program; cf \fIgetuid_callout\fR above.
1357 Care should be taken when using this method; the external program
1358 needs to be loaded from disk for execution, which might lead to
1359 deadlock situations in an all-paths-down scenario.
1360 .TP
1361 .B uid_attribute
1362 Use the value of the specified udev attribute; cf \fIuid_attribute\fR
1363 above. This method is preferred to \fIgetuid_callout\fR as multipath
1364 does not need to call any external programs here. However, under
1365 certain circumstances udev might not be able to generate the requested
1366 variable.
1367 .TP
1368 .B vpd_pg83
1369 If none of the \fIgetuid_callout\fR or \fIuid_attribute\fR parameters
1370 are present multipath will try to use the sysfs attribute
1371 \fIvpd_pg83\fR to generate the WWID.
1372 .
1373 .
1374 .\" ----------------------------------------------------------------------------
1375 .SH "KNOWN ISSUES"
1376 .\" ----------------------------------------------------------------------------
1377 .
1378 The usage of \fIqueue_if_no_path\fR option can lead to \fID state\fR
1379 processes being hung and not killable in situations where all the paths to the
1380 LUN go offline. It is advisable to use the \fIno_path_retry\fR option instead.
1381 .P
1382 The use of \fIqueue_if_no_path\fR or \fIno_path_retry\fR might lead to a
1383 deadlock if the \fIdev_loss_tmo\fR setting results in a device being removed
1384 while I/O is still queued. The multipath daemon will update the \fIdev_loss_tmo\fR
1385 setting accordingly to avoid this deadlock. Hence if both values are
1386 specified the order of precedence is \fIno_path_retry, queue_if_no_path, dev_loss_tmo\fR.
1387 .
1388 .
1389 .\" ----------------------------------------------------------------------------
1390 .SH "SEE ALSO"
1391 .\" ----------------------------------------------------------------------------
1392 .
1393 .BR udev (8),
1394 .BR dmsetup (8),
1395 .BR multipath (8),
1396 .BR multipathd (8).
1397 .
1398 .
1399 .\" ----------------------------------------------------------------------------
1400 .SH AUTHORS
1401 .\" ----------------------------------------------------------------------------
1402 .
1403 \fImultipath-tools\fR was developed by Christophe Varoqui, <christophe.varoqui@opensvc.com>
1404 and others.
1405 .\" EOF