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.
OPTIONS
-d directory
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 lq]Report Target Port Groupsrq] 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
lq]tmpdev-<major>:<minor>-<pid>rq].
RETURN VALUE
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 given device.
5
The report target port group command failed or did not return a target
port group that was obtained from the inquiry command.
EXAMPLES
This example queries a device directly and returns the priority string:
#> mpath_prio_alua /dev/sda
50
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]
50
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:
device {
vendor
"IBM "
product
"1750500 "
path_grouping_policy
group_by_prio
prio_callout
"/sbin/mpath_prio_alua -d/tmp %d"
features
"1 queue_if_no_path"
path_checker
tur
}
Notes:
*
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.