Provided by: multipath-tools_0.9.9-1ubuntu3_amd64 bug

NAME

       multipathd - Multipath daemon.

SYNOPSIS

       multipathd [-d] [-s] [-v verbosity] [-B] [-w]

       multipathd [-v verbosity] -kcommand

       multipathd [-v verbosity] -k

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.

       With  the  -k option, multipathd acts as a client utility that sends commands to a running
       instance of the multipathd daemon (see COMMANDS below).

OPTIONS

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

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

       -v level
              Verbosity level. Print additional information while running multipathd. 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.

       -kcommand
              multipathd executes the given command (see COMMANDS below). If the command contains
              whitespace  or  shell  special characters, it needs to be quoted like in multipathd
              -k'show topology'. No whitespace is allowed between the -k and the command string.

       -k     multipathd executes the multipathc interactive shell  for  entering  commands  (see
              COMMANDS below).

       -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 creating a separate 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 wildcards. 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 multipathd 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  values  and  values
              specified within the configuration file /etc/multipath.conf.

       list|show config local
              Show  the  currently  used configuration like show config, but limiting 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 information 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
              Rereads the configuration, and reloads all changed  multipath  devices.  This  also
              happens at startup, when the service is reload, or when a SIGHUP is received.

       reconfigure all
              Rereads  the configuration, and reloads all multipath devices regardless of whether
              or not they have changed. This also happens when multipath -r is run.

       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 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  to the configured no_path_retry setting on all multipath devices
              whose queueing has been previously disabled by the disablequeueing  command.  Note:
              If  no_path_path_retry  is  set  to queue for a limited number of retries after all
              paths have failed, this will not enable queueing if there are no active paths.

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

       restorequeueing map|multipath $map
              restore queueing to the configured no_path_retry setting on  multipathed  map  $map
              whose  queueing  has been previously disabled by the disablequeueing command. Note:
              If no_path_path_retry is set to queue for a limited number  of  retries  after  all
              paths have failed, this will not enable queueing if there are no active paths.

       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 replaced 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
                          include  the configured time if a deferred failback is not in progress,
                          or it will show the current progress of a deferred failback in seconds.

              %Q          The device no_path_retry setting. If no_path_retry is set to  a  number
                          of  retries,  it  will  either  print  the configured number of checker
                          retries if the device 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 state of the device in device-mapper. suspend  if  the  devices  is
                          suspended, and active otherwise.

              %S          The  device  size,  using  the suffixes K, M, G, T, and P, to stand for
                          kilobytes,   megabytes,   gigabytes,    terabytes,    and    petabytes,
                          respectively.

              %f          The "features" string of the device-mapper table in the kernel.

              %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 pathgroup switch for the
                          device.   This  value  can  be  reset  with  the 'reset map $map stats'
                          command.

              %2          The number of times multipathd has loaded a new table 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' command.

              %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.    See    "FOREIGN    MULTIPATH    SUPPORT"    in
                          /etc/multipath.conf(5).

              %g          Data  from  vendor specific vpd pages for the device, if any. Currently
                          multipathd supports VPD page 0xc0 for HPE  3PAR  /  Primera  /  Alletra
                          storage arrays.

              %k          The  actual  max_sectors_kb  setting  for  the  device  (which  may  be
                          different from the configured one).

       Path format wildcards

              %w          The device WWID (uuid).

              %i          The device Host:Channel:Id:Lun for SCSI devices. The device "Controller
                          Instance Number":"Controller ID":"Namespace Instance Number":"Namespace
                          ID" for NVMe devices. The Controller  and  Namespace  Instance  Numbers
                          match            the            NVMe            device            name:
                          "nvme<Controller_Instance_Number>n<Namespace_Instance_Number>"

              %d          The device sysfs name.

              %D          The device major:minor

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

              %o          The offline state of the device. This shows "offline" if  the  device's
                          "state"  attribute  in  sysfs  is  "offline"  (for SCSI) or "dead" (for
                          NVMe). For all other sysfs states, it shows "running".

              %T          The multipathd path checker state of the device.  The  possible  states
                          are:

                          ready       The device is ready to handle IO.

                          faulty      The device is unusable.

                          shaky       The  device  is  not  able  to  handle  IO but can still be
                                      accessed to check the priority.

                          ghost       The device is in stand-by state.

                          i/o pending The checker is in the process  of  determining  the  device
                                      state.

                          i/o timeout The path checker has timed out, failing the device.

                          delayed     The  device  appears  usable,  but  it  being  delayed  for
                                      marginal path checking.

                          undef       The device either is not part of a multipath device, or its
                                      path checker has not yet run.

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

              %c          The name of the device's path checking algorithm

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

              %p          The device priority.

              %S          The device size, using the suffixes K, M, G, T, and  P,  to  stand  for
                          kilobytes,    megabytes,    gigabytes,    terabytes,   and   petabytes,
                          respectively.

              %z          The device serial number.

              %M          The device marginal state, either marginal or normal.

              %m          The multipath device that this device is a path of, or [orphan]  if  it
                          is not part of any multipath device.

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

              %n          The target World Wide Node Name (WWNN) of the device, if any.

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

              %r          The target World Wide Port Name (WWPN) of the device, if any.

              %a          The host adapter name for the device (only SCSI devices).

              %G          The foreign library used for the device, or -- for native device-mapper
                          multipath    devices.    See    "FOREIGN    MULTIPATH    SUPPORT"    in
                          /etc/multipath.conf(5).

              %g          Data  from  vendor specific vpd pages for the device, if any. Currently
                          multipathd supports VPD page 0xc0 for HPE  3PAR  /  Primera  /  Alletra
                          storage arrays.

              %0          The number of times this device has failed.

              %P          The device protocol. See /etc/multipath.conf(5).

              %I          The   device   initialization  state.  Devices  that  have  been  fully
                          initialized are shown as ok.

              %L          The device SCSI LUN ID in hexadecimal format. This is  only  meaningful
                          for SCSI devices.

              %A          The ALUA Target Port Group ID for the device, if applicable.

              %k          The  actual  max_sectors_kb  setting  for  the  device  (which  may  be
                          different than the configured one).

SYSTEMD INTEGRATION

       When  compiled  with  systemd  support  two   systemd   service   files   are   installed,
       multipathd.service  and  multipathd.socket.  If  enabled,  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 watchdog. 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 manually by updating the multipathd.service file.

       OOMScoreAdjust=
              Overrides the internal OOM adjust mechanism.

       LimitNOFILE=
              Overrides the max_fds configuration setting.

SEE ALSO

       multipathc(8), multipath(8), kpartx(8)
       sd_notify(3), systemd.service(5).

AUTHORS

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