mpath_prio_alua - Path priority tool based on Asymmetric LUn Access
mpath_prio_alua [-d directory] [-h] [-v] [-V] device [ device [ ... ]]
mpath_prio_alua is used as a priority callout for the multipath
command. It returns a number that is used by multipath to group devices
with the same priority together.
target directory for devices given as relative device names or
devices given as major:minor number. Default is "/dev".
-h displays the command line help.
-v turns on verbose output. This shows all results in human
readable format. This includes information about the port group
the device is in and its current state.
-V shows the version number and exits.
device specifies the device to query (the device must be a SCSI device
that supports the “Report Target Port Groups” command). One of
the following three formats may be used:
· The full path name that starts with ’/’ (e.g. /dev/sda).
· The device name only. This will prefix the directory name
given by the -d option (e.g. sda).
· The major and minor number of the device separated by ’:’.
This will create a temporary device node in the device
directory (e.g. 8:0). The temporary name will be
The mpath_prio_alua command returns the following values:
0 on success. In this case the priority for the device is printed
to stdout. The priority value is:
50 for devices that are in the active, optimized group
10 for devices that are in an active but non-optimized group
1 for devices that are in the standby group
0 for all other groups
The reason for the widely spaced priority values is the way
multipath handles them. It will multiply the number of paths in
a group with the priority value and select the group with the
highest result. Thus, if there are six paths in the active, non-
optimized group and only one in the active, optimized one, the
non-optimized group would be used.
1 Indicates an error parsing the command line.
2 The given devices could not be opened for reading.
3 The device does not support target port groups.
4 The inquiry command did not return a target port group for the
5 The report target port group command failed or did not return a
target port group that was obtained from the inquiry command.
This example queries a device directly and returns the priority string:
#> mpath_prio_alua /dev/sda
Now the major and minor number is used to specify the device and
verbose output is selected:
#> mpath_prio_alua -v 8:0
Target port groups are implicitly supported.
Reported target port group is 0 [active/optimized]
The following example shows the entries in the devices section of the
multipath-tool configuration file (/etc/multipath.conf) to support an
IBM DS6000 storage system:
vendor "IBM "
product "1750500 "
prio_callout "/sbin/mpath_prio_alua -d/tmp %d"
features "1 queue_if_no_path"
· Depending on your default configuration not all keywords are required
(e.g. if your path_checker is set to tur you don’t have to use the
path_checker statement in the device section).
· The entries for vendor and product must be strings that are 8
characters long (for vendor) and 16 characters long (for product).
The strings have to be padded with blanks if necessary.
· If you are working with hotpluggable devices whose device nodes are
created by udev you should use the %d flag in the prio_callout
statement. This is because a short time elapses between the devices
being available and udev creating the device nodes.
· If under certain circumstances your storage subsystem temporarily
reports failures on all paths, you should use the features statement
showed in the example. This will configure the multipath volume to
requeue I/O until a path becomes available again, instead of
reporting failures in that case.
mpath_prio_alua was developed by Jan Kunigk and adapted by Stefan Bader