1MULTIPATH.CONF(5)             File Formats Manual            MULTIPATH.CONF(5)
2
3
4

NAME

6       multipath.conf - multipath daemon configuration file
7

DESCRIPTION

9       multipath.conf  is  the configuration file for the multipath daemon. It
10       is used to overwrite the built-in configuration  table  of  multipathd.
11       Any line whose first non-white-space character is a '#' is considered a
12       comment line. Empty lines are ignored.
13

SYNTAX

15       The configuration file contains entries of the form:
16
17              <section> {
18                     <attribute> <value>
19                     ...
20                     <subsection> {
21                            <attribute> <value>
22                            ...
23                     }
24              }
25
26       Each section contains one or more attributes or subsections. The recog‐
27       nized  keywords  for attributes or subsections depend on the section in
28       which they occor.
29
30       The following section keywords are recognized:
31
32       defaults         This section defines default settings for devices-map‐
33                        per-multipath.  These values can be overwritten by the
34                        devices and multipaths sections.
35
36       blacklist        This section defines which devices should be  excluded
37                        from the multipath topology discovery.
38
39       blacklist_exceptions
40                        This  section defines which devices should be included
41                        in the multipath  topology  discovery,  despite  being
42                        listed in the blacklist section.
43
44       multipaths       This  section defines the settings for individual mul‐
45                        tipath devices.  These values overwrite what is speci‐
46                        fied  in  the defaults and devices section of the con‐
47                        figuration file.  The devices are  identified  by  the
48                        wwid  keyword, which is a regular expression that must
49                        match the result of the getuid_callout program.
50
51       devices          This section defines the settings for individual stor‐
52                        age  controller  types.  These value overwrite what is
53                        specified in the defaults section of the configuration
54                        file.   These  controller  types are identified by the
55                        vendor, product, and revision keywords, which are reg‐
56                        ular expressions that must match the sysfs information
57                        about this device.  If you are using a  storage  array
58                        that is not supported by default, you may need to cre‐
59                        ate a devices subsection for your array.
60
61       The priority of configuration in multipath.conf is:
62       multipaths is greater than devices is greater that defaults
63

defaults section

65       The defaults section recognizes the following keywords:
66
67       polling_interval interval between two path checks in seconds For  prop‐
68                        erly  functioning  paths,  the interval between checks
69                        will gradually increase  to  (4  *  polling_interval);
70                        default is 5
71
72       udev_dir         directory where udev creates its device nodes; default
73                        is /dev
74
75       multipath_dir    directory where the dynamic shared objects are stored;
76                        default is system dependent, commonly /lib/multipath
77
78       find_multipaths  If  set  to yes , instead of trying to create a multi‐
79                        path device for every non-blacklisted path,  multipath
80                        will  only  create a device if one of three condidions
81                        are met.  1 There are  at  least  two  non-blacklisted
82                        paths  with  the same wwid, 2 the user manually forces
83                        the creation, by specifying a device with  the  multi‐
84                        path  command, or 3 a path has the same WWID as a mul‐
85                        tipath  device  that  was  previously  created   while
86                        find_multipaths was set (even if that multipath device
87                        doesn't currently exist).  Whenever a multipath device
88                        is  created  with  find_multipaths set, multipath will
89                        remeber the WWID of the device, so that it will  auto‐
90                        matically  create the device again, as soon as it sees
91                        a path with that WWID. This should allow most users to
92                        have  multipath automatically choose the correct paths
93                        to make into multipath devices, without having to edit
94                        the blacklist; Default is no
95
96       verbosity        default  verbosity.  Higher  values  increase the ver‐
97                        bosity level.  Valid  levels  are  between  0  and  6;
98                        default is 2
99
100       path_selector    The  default  path selector algorithm to use; they are
101                        offered by the  kernel  multipath  target.  There  are
102                        three selector algorithms.
103
104                        round-robin 0
105                                    Loop through every path in the path group,
106                                    sending the same amount of IO to each.
107
108                        queue-length 0
109                                    Send the next bunch of IO  down  the  path
110                                    with the least amount of outstanding IO.
111
112                        service-time 0
113                                    Choose  the  path for the next bunch of IO
114                                    based on the amount of outstanding  IO  to
115                                    the path and its relative throughput.
116
117       path_grouping_policy
118                        The  default path grouping policy to apply to unspeci‐
119                        fied multipaths. Possible values are
120
121                        failover    1 path per priority group
122
123                        multibus    all paths in 1 priority group
124
125                        group_by_serial
126                                    1 priority group per serial number
127
128                        group_by_prio
129                                    1 priority group per priority value.  Pri‐
130                                    orities are determined by callout programs
131                                    specified as a global,  per-controller  or
132                                    per-multipath  option in the configuration
133                                    file.
134
135                        group_by_node_name
136                                    1 priority group  per  target  node  name.
137                                    Target   node   names   are   fetched   in
138                                    /sys/class/fc_transport/target*/node_name.
139
140                        Default value is multibus.
141
142       getuid_callout   The default program and args to callout  to  obtain  a
143                        unique  path  identifier.  Should be specified with an
144                        absolute  path.  Default  value  is  /lib/udev/scsi_id
145                        --whitelisted --device=/dev/%n
146
147       prio             The  default  method  used  to  obtain a path priority
148                        value. Possible values are
149
150                        const       Set a priority of one to all paths
151
152                        emc         Generate the path priority for EMC arrays
153
154                        alua        Generate the path priority  based  on  the
155                                    SCSI-3 ALUA settings. This prioritizer has
156                                    one optional argument exclusive_pref_bit
157
158
159                        tpg_pref    Generate the path  prority  based  on  the
160                                    SCSI-3  ALUA settings, using the preferred
161                                    port bit.
162
163                        ontap       Generate  the  path  priority  for  NetApp
164                                    arrays.
165
166                        rdac        Generate  the  path priority for LSI/Enge‐
167                                    nio/NetApp E-Series RDAC controller.
168
169                        hp_sw       Generate the path priority  for  Compaq/HP
170                                    controller in active/standby mode.
171
172                        hds         Generate the path priority for Hitachi HDS
173                                    Modular storage arrays.
174
175                        weighted    hbtl|devname  <regex1>  <prio1>   <regex2>
176                                    <prio2>  ...   Generate  the path priority
177                                    base on the regular  expressions  and  the
178                                    priorities  provided.  hbtl regexes are of
179                                    the SCSI H:B:T:L  format.  Ex:  1:0:0:1  ,
180                                    5:.*  devname regexes are device names Ex:
181                                    sda , sd.e Note: These values  may  change
182                                    on  reboot,  or  if the device is removed.
183                                    Using this prioritizer may  require  edit‐
184                                    ting  multipath.conf  after bootup to cor‐
185                                    rectly set the priority.
186
187                        Default value is const.
188
189       features         Specify any device-mapper features to be used.  Syntax
190                        is  num  list  where  num is the number of features in
191                        list.  Possible values for the feature list are
192
193                        queue_if_no_path
194                                    Queue IO if no path is  active;  identical
195                                    to the no_path_retry keyword.
196
197                        no_partitions
198                                    Disable  automatic  partitions  generation
199                                    via kpartx.
200
201       path_checker     The default method used to determine the paths' state.
202                        Possible values are
203
204                        readsector0 Read the first sector of the device
205
206                        tur         Issue  a  TEST  UNIT  READY command to the
207                                    device.
208
209                        emc_clariion
210                                    Query the EMC Clariion specific EVPD  page
211                                    0xC0 to determine the path state.
212
213                        hp_sw       Check the path state for HP storage arrays
214                                    with Active/Standby firmware.
215
216                        rdac        Check  the  path   state   for   LSI/Enge‐
217                                    nio/NetApp   E-Series  RDAC  storage  con‐
218                                    troller.
219
220                        directio    Read the first sector with direct I/O.
221
222                        Default value is readsector0.
223
224       failback         Tell multipathd how to manage path group failback.
225
226                        immediate   Immediately failback to the highest prior‐
227                                    ity pathgroup that contains active paths.
228
229                        manual      Do not perform automatic failback.
230
231                        followover  Only  perform  automatic failback when the
232                                    first path of a pathgroup becomes  active.
233                                    This keeps a node from automatically fail‐
234                                    ing back when another node  requested  the
235                                    failover.
236
237                        values > 0  deferred  failback  (time to defer in sec‐
238                                    onds)
239
240                        Default value is manual.
241
242       rr_min_io        The number of IO to route to a path  before  switching
243                        to  the  next  in the same path group, using bio-based
244                        device-mapper-multipath. This is only for systems run‐
245                        ning  kernels  older that 2.6.31. Newer systems should
246                        use rr_min_io_rq. Default is 1000
247
248       rr_min_io_rq     The number of IO to route to a path  before  switching
249                        to  the  next  in  the same path group, using request-
250                        based device-mapper-multipath.  This setting should be
251                        used  on  systems running current kernels.  On systems
252                        running kernels  older  than  2.6.31,  use  rr_min_io.
253                        Default is 1
254
255       rr_weight        If  set  to priorities the multipath configurator will
256                        assign path weights as "path prio * rr_min_io". Possi‐
257                        ble values are priorities or uniform uniform
258
259       no_path_retry    Specify  the number of retries until disable queueing,
260                        or fail for immediate failure (no queueing), queue for
261                        never stop queueing. Default is 0.
262
263       user_friendly_names
264                        If  set  to  yes , using the bindings file /etc/multi‐
265                        path/bindings to assign a persistent and unique  alias
266                        to  the multipath, in the form of mpath<n>.  If set to
267                        no use the WWID as the alias. In either case  this  be
268                        will  be overriden by any specific aliases in the mul‐
269                        tipaths section.  Default is no
270
271       queue_without_daemon
272                        If set to no , multipathd will  disable  queueing  for
273                        all devices when it is shut down.  Default is no
274
275       flush_on_last_del
276                        If  set to yes , multipathd will disable queueing when
277                        the last path to a device has been deleted. Default is
278                        no
279
280       max_fds          Specify  the  maximum  number of file descriptors that
281                        can be opened by multipath and  multipathd.   This  is
282                        equivalent  to ulimit -n. A value of max will set this
283                        to the system limit from /proc/sys/fs/nr_open. If this
284                        is  not  set,  the maximum number of open fds is taken
285                        from the calling process. It is usually  1024.  To  be
286                        safe,  this  should  be  set  to the maximum number of
287                        paths plus 32, if that number is greated than 1024.
288
289       checker_timeout  Specify the timeout to user for path checkers and pri‐
290                        oritizers  that  issue  scsi commands with an explicit
291                        timeout,    in    seconds;    default    taken    from
292                        /sys/block/sd<x>/device/timeout
293
294       fast_io_fail_tmo Specify the number of seconds the scsi layer will wait
295                        after a problem has been detected on a FC remote  port
296                        before  failing  IO  to  devices  on that remote port.
297                        This should be smaller than dev_loss_tmo. Setting this
298                        to off will disable the timeout.
299
300       dev_loss_tmo     Specify the number of seconds the scsi layer will wait
301                        after a problem has been detected on a FC remote  port
302                        before removing it from the system. This can be set to
303                        "infinity"  which  sets  it  to  the  max   value   of
304                        2147483647 seconds, or 68 years.
305
306       log_checker_err  If  set  to  once  ,  multipathd  logs  the first path
307                        checker error at logging level 2. Any later errors are
308                        logged at level 3 until the device is restored. If set
309                        to always , multipathd always logs  the  path  checker
310                        error at logging level 2. Default is always
311
312       hwtable_regex_match
313                        If  set  to  yes , user device configs will be regular
314                        expression matched  against  the  builtin  configs  to
315                        determine  if they should modify an existing config or
316                        create a new one.  If set to no , user device  configs
317                        will  be string matched against the builtin configs to
318                        determine if they should modify an existing config  or
319                        create a new one. Default is no
320
321       reservation_key  This  is  the  service  action reservation key used by
322                        mpathpersist.   It  must  be  set  for  all  multipath
323                        devices  using persistent reservations, and it must be
324                        the same as the RESERVATION KEY field of  the  PERSIS‐
325                        TENT  RESERVE  OUT  parameter  list  which contains an
326                        8-byte value provided by the application client to the
327                        device  server  to identify the I_T nexus. It is unset
328                        by default.
329
330       retain_attached_hw_handler
331                        If set to yes and the scsi layer has already  attached
332                        a  hardware_handler  to the device, multipath will not
333                        force the device to use the hardware_handler specified
334                        by mutipath.conf. If the scsi layer has not attached a
335                        hardware handler, multipath will continue to  use  its
336                        configured hardware handler. Default is no
337
338       detect_prio      If  set  to  yes , multipath will try to detect if the
339                        device supports ALUA. If so, the device will automati‐
340                        cally  use  the  alua prioritizer. If not, the priori‐
341                        tizer will be selected as usual. Default is no
342
343       reload_readwrite If set to yes , multipathd will monitor change  events
344                        on  path devices.  When it receives a change event for
345                        a path of a readonly multipath device, it  will  check
346                        if the path is now read/write.  If so, multipathd will
347                        reload  the  multipath  device   to   switch   it   to
348                        read/write. Default is no
349
350       replace_wwid_whitespace
351                        If set to yes devices using the default getuid callout
352                        (scsi_id) will add --relace-whitespace to the  callout
353                        line.   This  will cause any whitespace in the wwid to
354                        be replaced with one underscore.
355
356       force_sync       If set to yes , multipathd will call the path checkers
357                        in  sync  mode only.  This means that only one checker
358                        will run at a time.  This is useful in the case  where
359                        many  multipathd  checkers  running in parallel causes
360                        significant CPU pressure. The Default is no
361
362       config_dir       If set to  anything  other  than  "",  multipath  will
363                        search  this  directory alphabetically for file ending
364                        in ".conf" and it will read configuration  information
365                        from  them,  just as if it was in /etc/multipath.conf.
366                        config_dir must either be  ""  or  a  fully  qualified
367                        directory name. Default is /etc/multipath/conf.d
368
369       delay_watch_checks
370                        If  set  to  a  value  greater than 0, multipathd will
371                        watch paths that have recently become valid  for  this
372                        many  checks.  If they fail again while they are being
373                        watched, when they next become valid, they will not be
374                        used  until  they have stayed up for delay_wait_checks
375                        checks. Default is no
376
377       delay_wait_checks
378                        If set to a value greater than 0, when a  device  that
379                        has  recently  come  back  online  fails  again within
380                        delay_watch_checks checks, the next time it comes back
381                        online, it will marked and delayed, and not used until
382                        it has passed delay_wait_checks checks. Default is no
383
384       skip_kpartx      If set to yes , kpartx will not  automatically  create
385                        partitions on the device. The default is no
386
387       disable_changed_wwids
388                        If  set  to  yes and the wwid of a path device changes
389                        while it is part of a multipath device, multipath will
390                        disable  access  to  the path device until the wwid of
391                        the path is restored to  the  wwid  of  the  multipath
392                        device. Default is no
393
394       max_sectors_kb   Sets  the  max_sectors_kb device parameter on all path
395                        devices and the  multipath  device  to  the  specified
396                        value. Default is device dependent.
397

blacklist section

399       The blacklist section is used to exclude specific device from inclusion
400       in the multipath topology. It is most commonly used  to  exclude  local
401       disks or LUNs for the array controller.
402
403       The following keywords are recognized:
404
405       wwid             The World Wide Identification of a device.
406
407       devnode          Regular expression of the device nodes to be excluded.
408
409       device           Subsection for the device description. This subsection
410                        recognizes the vendor and product keywords. For a full
411                        description  of  these keywords please see the devices
412                        section description.
413

blacklist_exceptions section

415       The blacklist_exceptions section is used to revert the actions  of  the
416       blacklist  section,  ie  to  include  specific  device in the multipath
417       topology. This allows to selectively include devices which  would  nor‐
418       mally be excluded via the blacklist section.
419
420       The following keywords are recognized:
421
422       wwid             The World Wide Identification of a device.
423
424       devnode          Regular expression of the device nodes to be excluded.
425
426       device           Subsection for the device description. This subsection
427                        recognizes the vendor and product keywords. For a full
428                        description  of  these keywords please see the devices
429                        section description.
430

multipaths section

432       The only recognized attribute for the multipaths section is the  multi‐
433       path subsection.
434
435       The multipath subsection recognizes the following attributes:
436
437       wwid             Index of the container. Mandatory for this subsection.
438
439       alias            (Optional) symbolic name for the multipath map.
440
441       The  following  attributes  are optional; if not set the default values
442       are taken from the defaults section:
443
444              path_grouping_policy
445              path_selector
446              failback
447              prio
448              no_path_retry
449              rr_min_io
450              rr_min_io_rq
451              rr_weight
452              flush_on_last_del
453              reservation_key
454              delay_watch_checks
455              delay_wait_checks
456              skip_kpartx
457              max_sectors_kb
458

devices section

460       The only recognized attribute for the devices  section  is  the  device
461       subsection.
462
463       The device subsection recognizes the following attributes:
464
465       vendor           (Mandatory) Vendor identifier
466
467       product          (Mandatory) Product identifier
468
469       revision         Revision identifier
470
471       product_blacklist
472                        Product strings to blacklist for this vendor
473
474       hardware_handler (Optional) The hardware handler to use for this device
475                        type.  The following hardware handler are implemented:
476
477                        1 emc       Hardware handler for EMC storage arrays.
478
479                        1 alua      Hardware handler for SCSI-3 ALUA arrays.
480
481                        1 hp_sw     Hardware  handler   for   Compaq/HP   con‐
482                                    trollers.
483
484                        1 rdac      Hardware   handler   for   the   LSI/Enge‐
485                                    nio/NetApp  E-Series  RDAC  storage   con‐
486                                    troller.
487
488       The  following  attributes  are optional; if not set the default values
489       are taken from the defaults section:
490
491              path_grouping_policy
492              getuid_callout
493              path_selector
494              path_checker
495              features
496              prio
497              failback
498              rr_weight
499              no_path_retry
500              rr_min_io
501              rr_min_io_rq
502              fast_io_fail_tmo
503              dev_loss_tmo
504              flush_on_last_del
505              retain_attached_hw_handler
506              detect_prio
507              reload_readwrite
508              delay_watch_checks
509              delay_wait_checks
510              skip_kpartx
511              max_sectors_kb
512

KNOWN ISSUES

514       The usage of queue_if_no_path option can  lead  to  D  state  processes
515       being  hung  and  not killable in situations where all the paths to the
516       LUN go offline.  It  is  advisable  to  use  the  no_path_retry  option
517       instead.
518

SEE ALSO

520       udev(8), dmsetup(8) multipath(8) multipathd(8)
521

AUTHORS

523       multipath   was  developed  by  Christophe  Varoqui,  <christophe.varo‐
524       qui@free.fr> and others.
525
526
527
528                               30 November 2006              MULTIPATH.CONF(5)
Impressum