[Analysis] multipath ALUA art how to optimize I / O processing


What is ALUA multipath mechanism


       ALUA is an abbreviation of asynchronous logic unit accesses (Asymmetric Logical Unit Access) is, ALUA target port group TPGS (Target Port Group Support) access model predetermined SPC3 (SCSI Primary commands-3) protocol in a subset of the class can be used to treat multiple port access management a / AA (Active / Active- Asymmetric) and a / P (Active / Passive) array. So under normal circumstances, ALUA is considered to be a multi-path access model. But in fact need multipath ALUA storage arrays and supports access path optimization can be achieved, it is the front controller multipathing mechanism.


      Multipath Routing front controller memory read and write performance and reliability decisions stored to some extent, the conventional front controller mechanism can be divided into multi-path A / AS (Active / Acivie- Symmetric), ALUA , and A / P (Active / Passive) three categories.


      First talk A / AS (Active / Acivie- Symmetric) mechanism, for a specific LUN, in its path, the target port of the plurality of memory controllers are in an active / optimization (Active / optimized) state. Between a plurality of controllers like PCIe, or Infiniband realized by high-speed Internet communication, after a transmission from the host controller to the IO terminal, the controller may simultaneously participate in a plurality of IO processing; automatic load balancing storage system, when a controller when busy or business pressure, it does not require host multipath storage system load balancing software can automatically participate in load balancing.


     For ALUA (Active / Active-Asymmetric) mechanism, a particular group of LUN path controller, the controller has only one group is active target port / optimization (Active / Optimized) state, the target group other port controllers in an active / non-optimized (active / unoptimized) state. Belonging to a particular LUN of a time only one controller is preferred, in cooperation with a multi-path, the IO IO sent from the IO group (Active / Optimized) is preferably controlled by multi-path is not sent to the other IO controller's LUN , typically by the LUN a home controller a, controller B to the home LUNB achieve load balancing on both sides, the home operator may be done manually or automatically.


      Another is A / P (Active / Passive) mechanism, generally used in the low-active storage array. This architecture is now a rarity. For specific LUN, in the path memory corresponding to only one target port of the controller in an active / optimization (Active / Optimized) state, the target port of the other controller usually in a standby or inoperative state, the load balancing approach ALUA with similar (i.e., determined in accordance with a preferred controller), but due to multipath storage and strangers (multipath not know what path is the preferred path), IO is difficult to choose the right path, the hair can be said that this IO depends entirely on the upper multipath mood, self-development solution is to provide multi-path routing to match the array, preferably to achieve matching IO path through a proprietary protocol.


ALUA living how to apply the double


      front-active solutions in series, the first mentioned unknown ALUA achieved IO issued preferred path based on multi-path, so as to avoid delay problem IO IO data center in standby forwarding brought forth. Multipath mainly in the following functions.


    1, path management by the SCSI reported physical path to manage, host presents a virtual path (SCSI device), so that the data inconsistencies caused by the host during read and write device can be prevented.

    2, select the physical path IO-based strategies to achieve traffic load balancing and IO-sharing business.

    3, when the primary path fails, the master can be transparent to the IO, the switching from (FailOver) is automatically restored when the switchback path (FailBack).


      These properties mainly for a Volume or LUN terms, then in a storage system, how to identify multiple paths reported by the device is a LUN with it? The answer is very simple, just use the same LUN WWN or LUN ID multipath will think when reporting these different paths reported LUN is the same device.


      In the two dual live storage system by an array of different LUNs (Seki Pair) LUN ID or WWN of the array is arranged on the same side, when crossing with reliable redundancy group reported online devices, will put on the host LUN identified as two storage systems are the same LUN, when issued, if multipath support ALUA mode, it can be provided to the local storage path Active / optimized at the IO host, the peer is arranged to store path Active / unoptimized IO is implemented and performance optimization.


ALUA path state and related concepts

 
      Active / optimized, Active / unoptimized, Standby and Unavailable state of the target are four access ports, in the corresponding access state, the array controller can only respond to the corresponding standard command (command by the standard ISO / IEC SPC-3 formulation), which It will determine whether you can access the port by a target logical unit at a time.

 

 



      ALUA is a multi-path mode, including an explicit ALUA (ALUA Explicit or EALUA) and implicit ALUA (ALUA or the Implicit IALUA) modes.


      ALUA support implicit query LUN asymmetric access status of the port group; Normally, the host LUN query port group priority information, identifying the controller, delivering a service from the highest priority controller (Active / Optimized) when Active / Optimized after a link failure, the host selects another link (Active / unoptimized) sending service.


      ALUA support explicit query and set the port group LUN asymmetric access state, after the Active / Optimized link is disconnected, the master priority is set as the optimum other controllers; optimal controller delivering a service from a new host ( preferably the controller switches) is achieved by LUN TresPass. Before reading this document, you need to know the following multi-path concept.


    Active / Active (A / A) : IO on all paths have the same properties; also used to represent the array architecture.

    Active / Active-Asymmetric (A / AA): all paths can be the IO response, but there is a performance difference between the path; the ALUA SCSI protocol standard is used to characterize the performance of this difference, it is also used to represent array architecture.

    Active / Passive (A / P) : Only the main path in response IO, prepared in response to the road is not the IO; also used to represent the array architecture.

    Path Failover: Host IO multipathing software path is switched from the primary path to the secondary path. All basic multipathing software to support this function.

    LUN Failover: LUN controller switches from the working to the non-home home controller controller (LUN Trespass). Explicit ALUA support multi-path software may initiate a LUN Failover.

    Path Failback: Host IO multipathing software will switch back to the primary path to an alternate path from the path.

 

ALUA support Status


      The following table lists the main OS native multipath situation ALUA support, detailing implicit ALUA (EALUA) and a display ALUA (IALUA) support the case.

 

 



The Solaris

      the Solaris native of 9/10 STMS multipathing software supports implicit ALUA embodiment, wherein Solaris 9 need to support StorEdge SAN Foundation ALUA; Solaris 10 Supported ALUA later in Update3. After the array Solaris host connection, the product information corresponding configuration file by ALUA manner, that the target will STMS array of A / AA mode, will send only the IO Active / Optimized path, Active / Optimized paths that are inaccessible when when, will be issued by the IO A / N paths.

 

HP UX

      native multipathing HP UX 11 version of NMP supports explicit ALUA. When HP UX host connection ALUA array by the way, does not require any special settings, NMP found TPGS support, will be issued RTPG command to get route information and generates a virtual device in standard query page. HP-UX NMP multipath generated virtual device as persistent device files, manage multi-path by scsimgr command, which can "alua_enabled" attribute of the device file by setting the multipath ALUA function.


      NMP supports only sent to the IO Active / Optimized path, when the Active / Optimized path failure, NMP will Active / Unoptimized path switching is Active / Optimized be LUN Failover and Path Failover. But in NMP does not have the LUN Failback feature. Therefore, when the fault recovery path, the need for manual operation of the controller to switch the CLI to the home controller, LUN ensure the load balance between controllers.

 

VMware ESX

      Native multipath ESX 4.X after NMP system supporting an explicit and implicit ALUA. When the array is connected by ALUA ESX host mode, does not require any special settings, NMP found TPGS support, the command will be issued RTPG acquired path information in the standard query page. ESX / ESXi pluggable Storage Architecture (PSA) in the multipath VMkernel manage storage layer, PSA simultaneously using a plurality of open coordination module frame multipathing plug (MPP) operation.


      ESX / ESXi default VMkernel multipathing plug is provided in the case of multi-path VMware native plug (NMP). NMP is scalable management daughter card module. NMP daughterboard There are two types, i.e., Storage Array Type Plug (the SATP) and path selection widget (PSP). SATP and PSP may be provided by VMware built-ins can also be provided by a third party. ESX native PSP provides a fixed mode (FIX), loop mode (RR) and the most recently used (MRU) three kinds of path selection mode.

 

The X-OS Mac

       Mac OS generally use the X-HBA card comes with multi-path software, ATTO FC HBA card is most commonly used on Apple hosts FC HBA cards (combination of the two more closely). ATTO MulitPath Director is a multi-path ATTO FC HBA card driver provided with IO path switching and load balancing. ATTO MulitPath Director supports IALUA and EALUA.


      When the host is connected by ALUA array way, does not require any special settings, MulitPath Director found TPGS support, will be issued RTPG command to obtain the path information in the standard query page. MulitPath Director support SCSI protocol defined four states, wherein Active / Optimized path as the preferred path, Active / Unoptimized and Standby path as an alternative path, state processing Unavailable Papers with the Disable state. When Active / Optimized path failures, Active / Unoptimized path is immediately set to Active state.

 

The main functions and capabilities ALUA


    IO path selection: In ALUA mode, the host will only send A / O IO path, i.e., the next work LUN IO controller issues. Only when the A / O path does not exist, the host will send multipath IO IALUA the A / N paths, the array will be redirected to the IO controller LUN work.

    Internal Error Processing: In certain error scenarios, unilateral single LUN controller is not available, these can be converted to an internal error status port group ALUA, hidden internal error difference, are exposed to the host through a unified common interface. The advantage of this is that, to ensure the non-proliferation errors, improve multi-path reliability.

    Path failure and recovery: path failure comprises failure of the FC, the HBA cards, switches, etc., if a fault occurs on the LUN A / O path, and not available for A / O path, IALUA will pass issued IO the A / N paths, EALUA then A / N is switched to the path A / O path. If a failure occurs on the A / N paths, IO behavior is not affected.

    After failure recovery path for connecting EALAU embodiment, it is necessary to confirm whether the CLI in the affected LUN working controller and the home controller, and if not, require manual operation of the controller to switch the controller to the home side, to make sure LUN load balancing.

    A controller failure and recovery: If the controller fails, the system processes an array of internal fault will automatically control the working end of the LUN Failover to the peer will also inform the host path state change by the state UA. After recovery controller, an array of internal system process will automatically be affected LUN Failback.

 

      Brief summary: ALUA array does not turn on or before the implementation, third-party multi-path IO can not know the hair under way array LUN working controller which side, often using random, which resulted in part of the IO controller needs to be forwarded to the home, affecting IO performance (third-party multipathing can choose to support and do not support ALUA). After the support or implement the ALUA, by operation of the controller identifies the LUN Active / Optimized state, IO issued by the Active / Optimized path, so that you can improve IO performance.


      It has been introduced, the multipath ALUA standard SCSI protocol defined interfaces, which may cause the memory array without providing a path from the plurality RESEARCH, optimization is achieved by supporting the IO standard multipath ALUA third party.

Published 136 original articles · won praise 38 · views 260 000 +

Guess you like

Origin blog.csdn.net/Pipcie/article/details/105038262