…I shoot on Twitter: Can anyone cite me an Active/Active storage array that supports ALUA?
An important information is missing from my question. Precisely I’m talking about symmetric storage arrays. So let me rephrase my question to: Can anyone cite me a symmetric Active/Active storage array that supports ALUA?
No need to say that I’ve been flamed down with harsh tweets and DM’s.
Do you know what the A stands for in ALUA?… Your question is plain wrong… It is not necessary with symmetric arrays… It has nothing to do with symmetric arrays… You don’t understand the basics… Etc.
OK guys maybe my question is dumb but once again…are you sure it *really* is?
You can read on or jump at the end of this article to immediately find out if I was soooo wrong with my dumb question 🙂
When I wrote VMware PSA, MPP, NMP, PSP, MRU, … And Tutti Quanti! and Aloha ALUA I did a lot of research, read a lot of documents and more I was digging in more questions popped out than answers. There is so much to learn about SCSI protocol, storage arrays in general and ALUA in particular.
So people let’s go back to the SPC-3 standards draft, The latest draft known at T10.org is the spc3r23.pdf but is not available for free unfortunately. Hopefully you can find a copy at 13thmonkey.org.
Let’s have a look at chapters 5.7 up to 5.8.3 for the rest of this post. I’ll be doing here a lot of copy/paste because I want to stick to the SPC-3 standards draft as much as I can. I’ll be pasting diagrams as well and sometime I have added in red my own annotations. I’m not assuming anything, the information given here are written black and white in the latest SPC-3 standards draft.
5.7 Multiple target port and initiator port behavior
SAM-3 specifies the behavior of logical units being accessed by application clients through more than one initiator port and/or through more than one target port…
If one target port is being used by an initiator port, accesses attempted through other target port(s) may:
a) Receive a status of BUSY; or
b) Be accepted as if the other target port(s) were not in use.
5.8.1 Target port group access overview
Logical units may be connected to the service delivery subsystem via multiple target ports (see SAM-3). The access to logical units through the multiple target ports may be symmetrical (see 5.8.3) or asymmetrical (see 5.8.2).
184.108.40.206 Introduction to asymmetric logical unit access
Asymmetric logical unit access occurs when the access characteristics of one port may differ from those of another port. SCSI target devices with target ports implemented in separate physical units may need to designate differing levels of access for the target ports associated with each logical unit.
220.127.116.11 Discovery of asymmetric logical unit access behavior
SCSI logical units with asymmetric logical unit access may be identified using the INQUIRY command. The value in the target port group support (TPGS) field (see 6.4.2) indicates whether or not the logical unit supports asymmetric logical unit access and if so whether implicit or explicit management is supported.
18.104.22.168.1 Target port asymmetric access states overview
For all SCSI target devices that report in the INQUIRY data that they support asymmetric logical unit access, all of the target ports in a target port group shall be in the same target port asymmetric access state with respect to the ability to route information to a logical unit. The target port asymmetric access states are:
c) Standby; and
22.214.171.124 Preference Indicator
A device server may indicate one or more target port groups is a preferred target port group for accessing a logical unit by setting the PREF bit to one in the target port group descriptor (see 6.25). The preference indication is independent of the asymmetric access state. An application client may use the PREF bit value in the target port group descriptor to influence the path selected to a logical unit (e.g., a target port group in the standby target port asymmetric access state with the PREF bit set to one may be chosen over a target port group in the active/optimized target port asymmetric access state with the PREF bit set to zero). The value of the PREF bit for a target port group may change whenever an asymmetric access state changes.
126.96.36.199 Implicit asymmetric logical units access management
SCSI target devices with implicit asymmetric logical units access management are capable of setting the target port group asymmetric access state of each target port group using mechanisms other than the SET TARGET PORT GROUPS command.
All logical units that report in the standard INQUIRY data (see 6.4.2) that they support asymmetric logical units access and support implicit asymmetric logical unit access (i.e., the TPGS field contains 01b or 11b) shall:
a) Implement the INQUIRY command Device Identification VPD page identifier types 4h (see 188.8.131.52) and 5h (see 184.108.40.206); and
b) Support the REPORT TARGET PORT GROUPS command as described in 6.25.
220.127.116.11 Explicit asymmetric logical units access management
All logical units that report in the standard INQUIRY data (see 6.4.2) that they support asymmetric logical units access and support explicit asymmetric logical unit access (i.e., the TPGS field contains 10b or 11b) shall:
a) Implement the INQUIRY command Device Identification VPD page (see 7.6.3) identifier types 4h and 5h;
b) Support the REPORT TARGET PORT GROUPS command as described in 6.25; and
c) Support the SET TARGET PORT GROUPS command as described in 6.31.
I kept the best part for the end, hoping you’re still reading 🙂
5.8.3 Symmetric logical unit access
A device server that provides symmetrical access to a logical unit may use a subset of the asymmetrical logical access features (see 5.8.2) to indicate this ability to an application client, providing an application client a common set of commands to determine how to manage target port access to a logical unit. Symmetrical logical unit access should be represented as follows:
a) The TPGS field in the standard INQUIRY data (see 6.4.2) indicates that implicit asymmetric access is supported;
b) The REPORT TARGET PORT GROUPS command is supported; and
c) The REPORT TARGET PORT GROUPS parameter data indicates that the same state (e.g., active/optimized state) is in effect for all target port groups.
SO YES A SYMMETRIC ACTIVE/ACTIVE STORAGE ARRAY MAY USE A SUBSET OF THE ASYMMETRICAL LOGICAL ACCESS FEATURES!
This statement written in the latest draft of the SPC-3 standards document surprised me as well and that’s why I shoot this question: Can anyone cite me a symmetric Active/Active storage array that supports ALUA?
3PAR does apparently! Thx for the info @mcowger. Who else does?
But this statement raises others questions as well:
-What’s the benefit of ALUA with symmetric arrays?
-What are those ‘application clients’ the document is referring to?
-How does a real life implementation of a symmetric array using ALUA’ subset commands look like?
If you have some answers for me to these questions please comment! I’m dying to know 🙂