ALUA stands for Asymmetrical Logical Unit Access. Midrange arrays usually have an internal interconnect between the two storage processors used for write cache mirroring and other management purposes. ALUA was an addition to the SCSI standard that enables a LUN to be presented via its primary path and via an asymmetrical (significantly slower) path via the secondary storage processor, transferring the data over the internal interconnect.
Check if ALUA is enabled for a LUN
Apart from checking the SAN configuration, how can I tell if a LUN is in active-active or active-passive mode? Well, The LUN can be queried with the sg_rtpg command, available in the sg3_utils package. A SCSI “Report Target Port Groups” (RTPG) command is sent to the specified device and the returned data is decoded. This is the same command/data used within multipath for ascertaining port status within ALUA configurations.
1. Install the SCSI command utilities:
# yum install sg3_utils
2. Send a “Report Target Port Groups” query to the path:
# sg_rtpg -d /dev/sdX
3. The following output indicates a path does not support ALUA:
# sg_rtpg /dev/sdX Report Target Port Groups command not supported
The following output indicates a path supports, is configured for, ALUA:
# sg_rtpg /dev/sdX target port group asymmetric access state : 0x00 (active/optimized) target port group asymmetric access state : 0x01 (active/non optimized)
The full set of asymmetric access state values defined by the SCSI specification are:
asymmetric access state Value | Remark |
---|---|
0h | Active/Optimized |
1h | Active/Non-optimized |
2h | Standby |
3h | Unavailable |
4h – Eh | Reserved |
Fh | Transitioning between states |