Wednesday, March 25, 2009

ALUA

ALUA stands for Asymmetric Logical Unit Access. ALUA is also called as SCSI Target Port groups, TPGS(Target Port Group Support).

The ALUA pulled itself into effect into the SCSI standards to standardize the ways host multipathing software can know about the attributes of paths available to an asymmetric storage system having multi-port access.

Every asymmetric array vendor ( asymmetric arrays - multiported arrays which have differing performance characteristics when accessed through different ports) had a unique/ vendor specific method of identifying the characteristics of the path. They used a lot of vendor specific mechanisms to provide access to ( LUs - logical units) in case of path failures to trespass LUs.

This caused a lot of interoperability issues for the host multipathing vendors, they need to have a vendor specific mechanism for each and every asymmetric model out there and need to take of them in each of their support matrix. ALUA defines a set of SCSI command through which hosts can determine the path attributes by querying the target.

Say, for example if an Array 1 (Vendor X) has two paths P1 and S1 and Array 2 (Vendor Y) has two paths P1" and S1". Rather using 2 different vendor command sets to detect the primary and secondary path, the standard SCSI commands can be used to determine the same. This made the job of the multipathing software to handle things in a very clean fashion and handle the right multipathing failover polices/ load balancing policies in a universal fashion.

Access characteristics of a path to a logical unit can be determined using the Report Target Port Group (RTPG)scsi command. Access characteristics can be set using Set Target Port Group (STPG).

Tuesday, March 17, 2009

NPIV

NPIV stands for N-Port Virtualization. This is one of the port virtualization techniques that has come of late....mostly used by the host storage vendors ( adding to the confusion of the virtualization terminology...the most widely term in the industry..)

The concept fundamentally is to create a set of virtual N_Ports (Node Ports) associated with a physical adapter so that the link bandwidth can be shared across the many virtual N_ports and utilized to the full extent. This has particularly taken shape with the advent of the Virtualizedserver environments where there are many virtual machines running on a physical server sharing the physical resources.

The main reasoning behind the concept is to provide flexibility to the Guest OS'es in terms of access to the SAN resources. By providing many virtual N_ports with unique WWPN's from a single phyiscal adapter, the guest OS'es can be assigned to unique zones these and can be isolated from each other in terms of access to the SAN storage resources.

The main crux of providing the functionality lies with the host storage stack and with the switch vendors. Some array vendors do support the functionality thought it not absolutely needed except when you want to reduce your target port count.

An interesting link discussing the concept that i found useful can be found here.
http://www.soltechnology.com/articles/FC-Port-Channel-Storage-Virtualization.htm

Hope this helps in understanding the technology.......