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.

Linux                                              2024-05-29                                      MULTIPATHD(8)