---
name: "mpath_prio_alua"
section: "8"
platform: "linux"
package: "multipath-tools"
version: "0.4.8-14+lenny2"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/mpath_prio_alua"
---

# mpath\_prio\_alua(8)

Path priority tool based on Asymmetric LUn Access

## NAME

mpath\_prio\_alua - Path priority tool based on Asymmetric LUn Access

## SYNOPSIS

**mpath\_prio\_alua** \[**-d**  *directory*\] \[**-h**\] \[**-v**\] \[**-V**\] *device* \[ *device* \[ *...* \]\]

## DESCRIPTION

**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 “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 “**tmpdev-\<major\>:\<minor\>-\<pid\>**”.

## 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.

## SEE ALSO

[**multipath**(8)](/multipath/8.md),

## AUTHORS

**mpath\_prio\_alua** was developed by Jan Kunigk and adapted by Stefan Bader \<shbader@de.ibm.com\>
