Updated: 29 September 2026 · Applies to: sg3_utils 1.46 to 1.48 and device-mapper-multipath on AlmaLinux and Rocky Linux 9 and 10, RHEL 9 and 10, Ubuntu 24.04 and 26.04, Debian 13
ALUA (Asymmetric Logical Unit Access) is how many storage arrays tell a server which paths to a LUN are fast and which are slower. A LUN is usually reachable through two storage controllers. Paths through the controller that owns the LUN are "active/optimized"; paths through the other controller are "active/non-optimized", because the data has to cross the array's internal link. With ALUA, Linux multipath sends I/O over the optimized paths and uses the others only as a fallback. This guide shows how to check whether a LUN uses ALUA.
1. Install the tools
dnf install sg3_utils device-mapper-multipath # AlmaLinux, Rocky Linux, RHEL apt install sg3-utils multipath-tools # Ubuntu, Debian
2. Does the LUN support ALUA?
The standard SCSI inquiry shows the TPGS field (target port group support). Run it against one path of the LUN:
sg_inq /dev/sdX | grep TPGS
TPGS=0: no ALUA support on this LUN.TPGS=1: implicit ALUA (the array decides which paths are optimized).TPGS=2orTPGS=3: explicit ALUA (the server may change the states), or both.
3. Show the state of each path
sg_rtpg --decode /dev/sdX
This sends the SCSI command "Report Target Port Groups" and prints the state of each group of ports, for example:
target port group asymmetric access state : 0x00 (active/optimized) target port group asymmetric access state : 0x01 (active/non optimized)
If the array does not use ALUA, the command fails with a message that Report Target Port Groups is not supported. Other states you may see are standby, unavailable and transitioning (while the array moves the LUN between controllers).
4. Check that multipath uses it
multipath -ll
For an ALUA LUN, the output shows hwhandler='1 alua' and two path groups with different priorities: the group with the higher prio value holds the optimized paths and is status=active, the other one is status=enabled and waits as a fallback. Current multipath versions detect ALUA automatically (detect_prio is on by default) and include settings for many arrays; multipath -t shows the built-in configuration.
If all paths sit in one group with the same priority on an ALUA array, check the array's documentation for its recommended multipath settings, and make sure ALUA is enabled for this host on the array itself.
Official documentation: sg3_utils and multipath.conf manual.