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)