man 8 MULTIPATHD

MULTIPATHD(8)               System Manager's Manual              MULTIPATHD(8)

NAME
       multipathd - Multipath daemon.

SYNOPSIS
       multipathd [-d|-k] [-s] [-v verbosity] [-B] [-w]

DESCRIPTION
       The  multipathd  daemon is in charge of checking for failed paths. When
       this happens, it will reconfigure the multipath map  the  path  belongs
       to, so that this map regains its maximum performance and redundancy.

       This daemon executes the external multipath tool when events occur.  In
       turn, the multipath tool signals the multipathd daemon when it is  done
       with  devmap  reconfiguration,  so  that it can refresh its failed path
       list.

       In this Linux distribution, multipathd does not run unless a  /etc/mul-
       tipath.conf file exists.

OPTIONS
       -d     Foreground Mode. Don't daemonize, and print all messages to std-
              out and stderr.

       -s     Suppress timestamps. Do not prefix logging messages with a time-
              stamp.

       -v level
              Verbosity level. Print additional information while running mul-
              tipathd. A  level of 0 means only print errors. A level of 3  or
              greater prints debugging information as well.

       -B     Read-only  bindings  file.  multipathd  will  not  write  to the
              user_friendly_names  bindings  file.  If  a   user_friendly_name
              doesn't  already exist for a device, it will use its WWID as its
              alias.

       -k     multipathd will enter interactive  mode.  From  this  mode,  the
              available  commands  can  be viewed by entering 'help'. When you
              are finished entering commands, press CTRL-D to quit.

       -n     IGNORED. Use the option find_multipaths to control the treatment
              of newly detected devices by multipathd. See multipath.conf(5).

       -w     Since kernel 4.14 a new device-mapper event polling interface is
              used for updating multipath devices on dmevents. Use  this  flag
              to force it to use the old event waiting method, based on creat-
              ing a seperate thread for each device.

COMMANDS
       The following commands can be used in interactive mode:

       list|show paths
              Show the paths that multipathd is monitoring, and their state.

       list|show paths [raw] format $format
              Show the paths that multipathd is  monitoring,  using  a  format
              string  with  path  format wildcards. Adding raw will remove the
              headers and alignment padding from the output. See "Path  format
              wildcards" below.

       list|show path $path
              Show whether path $path is offline or running.

       list|show maps|multipaths
              Show the multipath devices that the multipathd is monitoring.

       list|show maps|multipaths [raw] format $format
              Show  the status of all multipath devices that the multipathd is
              monitoring, using a format string with  multipath  format  wild-
              cards.  Adding raw will remove the headers and alignment padding
              from the output. See "Multipath format wildcards" below.

       list|show maps|multipaths status
              Show the status of all multipath devices that the multipathd  is
              monitoring.

       list|show maps|multipaths stats
              Show  some  statistics  of all multipath devices that the multi-
              pathd is monitoring.

       list|show maps|multipaths topology
              Show the current multipath topology. Same as 'multipath -ll'.

       list|show maps|multipaths json
              Show information about all multipath devices in JSON format.

       list|show topology
              Show the current multipath topology. Same as 'multipath -ll'.

       list|show map|multipath $map topology
              Show topology of a single multipath device  specified  by  $map,
              for example 36005076303ffc56200000000000010aa. This map could be
              obtained from 'list maps'.

       list|show map|multipath $map [raw] format $format.
              Show the status of multipath device $map, using a format  string
              with  multipath  format  wildcards.  Adding  raw will remove the
              headers and alignment padding from the  output.  See  "Multipath
              format wildcards" below.

       list|show map|multipath $map json
              Show information about multipath device $map in JSON format.

       list|show wildcards
              Show  the  format  wildcards used in interactive commands taking
              $format. See "Format Wildcards" below.

       list|show config
              Show the currently used configuration, derived from default val-
              ues and values specified within the configuration file /etc/mul-
              tipath.conf.

       list|show config local
              Show the currently used configuration like show config, but lim-
              iting  the  devices  section  to those devices that are actually
              present in the system.

       list|show blacklist
              Show the currently used blacklist rules,  derived  from  default
              values  and  values  specified  within  the  configuration  file
              /etc/multipath.conf.

       list|show devices
              Show all available block devices by name including the  informa-
              tion if they are blacklisted or not.

       list|show status
              Show  the  number  of  path checkers in each possible state, the
              number of monitored paths, and whether multipathd  is  currently
              handling a uevent.

       list|show daemon
              Show the current state of the multipathd daemon.

       reset maps|multipaths stats
              Reset the statistics of all multipath devices.

       reset map|multipath $map stats
              Reset the statistics of multipath device $map.

       add path $path
              Add a path to the list of monitored paths. $path is as listed in
              /sys/block (e.g. sda).

       remove|del path $path
              Stop monitoring a path. $path is as listed in  /sys/block  (e.g.
              sda).

       add map|multipath $map
              Add  a  multipath  device to the list of monitored devices. $map
              can either be a device-mapper device  as  listed  in  /sys/block
              (e.g.  dm-0)  or  it  can  be the alias for the multipath device
              (e.g.  mpath1)  or  the  uid  of  the  multipath  device   (e.g.
              36005076303ffc56200000000000010aa).

       remove|del maps|multipaths
              Remove all multipath devices.

       remove|del map|multipath $map
              Remove the multipath device $map.

       resize map|multipath $map
              Resizes map $map to the given size.

       switch|switchgroup map|multipath $map group $group
              Force  a  multipath  device  to switch to a specific path group.
              $group is the path group index, starting with 1.

       reconfigure
              Reconfigures the multipaths. This should be triggered  automati-
              cally after anyi hotplug event.

       suspend map|multipath $map
              Sets map $map into suspend state.

       resume map|multipath $map
              Resumes map $map from suspend state.

       reset map|multipath $map
              Reassign  existing  device-mapper table(s) use use the multipath
              device, instead of its path devices.

       reload map|multipath $map
              Reload a multipath device.

       fail path $path
              Sets path $path into failed state.

       reinstate path $path
              Resumes path $path from failed state.

       disablequeueing maps|multipaths
              Disable queueing on all multipath devices.

       restorequeueing maps|multipaths
              Restore queueing on all multipath devices.

       disablequeueing map|multipath $map
              Disable queuing on multipathed map $map.

       restorequeueing map|multipath $map
              Restore queuing on multipahted map $map.

       forcequeueing daemon
              Forces  multipathd  into  queue_without_daemon  mode,  so   that
              no_path_retry  queueing  will  not  be  disabled when the daemon
              stops.

       restorequeueing daemon
              Restores configured queue_without_daemon mode.

       map|multipath $map setprstatus
              Enable persistent reservation management on $map.

       map|multipath $map unsetprstatus
              Disable persistent reservation management on $map.

       map|multipath $map getprstatus
              Get the current  persistent  reservation  management  status  of
              $map.

       map|multipath $map getprkey
              Get the current persistent reservation key associated with $map.

       map|multipath $map setprkey key $key
              Set  the persistent reservation key associated with $map to $key
              in the prkeys_file. This key will only be used by multipathd  if
              reservation_key is set to file in /etc/multipath.conf.

       map|multipath $map unsetprkey
              Remove  the persistent reservation key associated with $map from
              the prkeys_file. This will only unset the key used by multipathd
              if reservation_key is set to file in /etc/multipath.conf.

       path $path setmarginal
              move  $path to a marginal pathgroup. The path will remain in the
              marginal path group until unsetmarginal is called. This  command
              will only work if marginal_pathgroups is enabled and there is no
              Shaky paths detection method configured (see the  multipath.conf
              man page for details).

       path $path unsetmarginal
              return marginal path $path to its normal pathgroup. This command
              will only work if marginal_pathgroups is enabled and there is no
              Shaky  paths detection method configured (see the multipath.conf
              man page for details).

       map $map unsetmarginal
              return all marginal paths in $map to  their  normal  pathgroups.
              This  command  will  only work if marginal_pathgroups is enabled
              and there is no Shaky paths detection method configured (see the
              multipath.conf man page for details).

       quit|exit
              End interactive session.

       shutdown
              Stop multipathd.

Format Wildcards
       Multipathd commands that take a $format option require a format string.
       This string controls how a device is printed and should include  format
       wildcards.   When  the devices are printed, these wildcards will be re-
       placed by the appropriate device information. The  following  wildcards
       are supported.

       Multipath format wildcards

              %n          The device name.

              %w          The device WWID (uuid).

              %d          The device sysfs name (dm-<minor_nr>).

              %F          The device failback setting. For deferred failbacks,
                          it will either print the configured time  if  a  de-
                          ferred  failback is not in progress, or it will show
                          the current progress of a deferred failback.

              %Q          The device no_path_retry setting.  If  no_path_retry
                          is  set to a number of retires, it will either print
                          the configured number of checker retries if the  de-
                          vice  is not in recovery mode, the number of seconds
                          until queueing is disabled if the device is queueing
                          in  recovery mode, or off if the device has disabled
                          queueing.

              %N          The number of active paths for the device.

              %r          The device write-protect setting, either ro or rw.

              %t          The device-mapper state of the device,  either  sus-
                          pend or active.

              %S          The device size.

              %f          The device table features string.

              %x          The  number  of times the device has entered a state
                          where it will fail IO.  This is an alias for the  %4
                          wildcard.   This  value can be reset with the 'reset
                          map $map stats' command.

              %h          The device table hardware handler string.

              %A          The last action multipathd took on the device.  This
                          wildcard  is for debugging use, as understanding its
                          meaning requires looking at the code.

              %0          The number of times a path in the device has failed.
                          This  value  can  be  reset with the 'reset map $map
                          stats' command.

              %1          The number of times multipathd has initiated a path-
                          group  switch for the device.  This value can be re-
                          set with the 'reset map $map stats' command.

              %2          The number of times multipathd has loaded a new  ta-
                          ble  for  the  device.  This value can be reset with
                          the 'reset map $map stats' command.

              %3          The approximate number of  seconds  that  multipathd
                          has  spent queueing with no usable paths. This value
                          can be reset with the 'reset map  $map  stats'  com-
                          mand.

              %4          The  number  of times the device has entered a state
                          where it will fail IO.  This is an alias for the  %x
                          wildcard.   This  value can be reset with the 'reset
                          map $map stats' command.

              %s          The vendor/product string for the device.

              %v          The array vendor string for the device.

              %p          The array product string for the device.

              %e          The array firmware revision string for the device.

              %G          The foreign library used for the device, or  --  for
                          native device-mapper multipath devices.

              %g          Data  from vendor specific vpd pages for the device,
                          if any.

       Path format wildcards

              %w          The device WWID (uuid).

              %i          The device Host:Channel:Id:Lun

              %d          The device sysfs name.

              %D          The device major:minor

              %t          The device-mapper state of the device, either active
                          or failed.

              %o          Whether the device is offline or running.

              %T          The multipathd path checker state of the device.

              %s          The vendor/product/revision string for the device.

              %c          The device's path checker name.

              %C          The  progress  towards  the next path checker run on
                          the device.

              %p          The device priority.

              %S          The device size.

              %z          The device serial number.

              %M          The device marginal state, either marginal  or  nor-
                          mal.

              %m          The multipath device that this device is a path of.

              %N          The host World Wide Node Name (WWNN) of the device.

              %n          The  target  World  Wide Node Name (WWNN) of the de-
                          vice.

              %R          The host World Wide Port Name (WWPN) of the device.

              %r          The target World Wide Port Name (WWPN)  of  the  de-
                          vice.

              %a          The  host adapter name for the device (only SCSI de-
                          vices).

              %G          The foreign library used for the device, or  --  for
                          paths of native device-mapper multipath devices.

              %g          Data  from vendor specific vpd pages for the device,
                          if any.

              %0          The number of times this device has failed.

              %P          The device protocol. This output  can  be  used  for
                          protocol blacklist entries.

SYSTEMD INTEGRATION
       When  compiled  with  systemd support two systemd service files are in-
       stalled, multipathd.service and multipathd.socket The multipathd.socket
       service  instructs systemd to intercept the CLI command socket, so that
       any call to the CLI interface will start-up  the  daemon  if  required.
       The multipathd.service file carries the definitions for controlling the
       multipath daemon. The daemon itself uses the sd_notify(3) interface  to
       communicate with systemd. The following unit keywords are recognized:

       WatchdogSec=
              Enables  the internal watchdog from systemd. multipath will send
              a notification via sd_notify(3) to systemd to reset  the  watch-
              dog.  If specified the polling_interval and max_polling_interval
              settings will be overridden by the  watchdog  settings.   Please
              note  that systemd prior to version 207 has issues which prevent
              the systemd-provided watchdog from  working  correctly.  So  the
              watchdog is not enabled per default, but has to be enabled manu-
              ally by updating the multipathd.service file.

       OOMScoreAdjust=
              Overrides the internal OOM adjust mechanism.

       LimitNOFILE=
              Overrides the max_fds configuration setting.

SEE ALSO
       multipath(8), kpartx(8), sd_notify(3), system.service(5).

AUTHORS
       multipath-tools was developed by Christophe  Varoqui  <christophe.varo-
       qui@opensvc.com> and others.

Linux                             2016-10-27                     MULTIPATHD(8)