关于存储控制器的多路径机制
业界某些存储控制器支持ALUA多路径机制(或者说负载均衡技术),什么是ALUA多路径机制?
ALUA即“Asymmetric Logical Unit Access(异步逻辑单元访问)”的缩写,它是前端控制器多路径机制之一。前端控制器多路径机制一定程度上决定存储的读写性能和可靠性,现有的前端控制器多路径机制可分为三大类:A/A:Symmetric Active/Acivie,对于特定的LUN来说,在它的路劲中,两个存储控制器的目标端口均处于主动/优化(active/optimized)状态。两个控制器之间实现高速互联的通讯,一个IO发到控制器端,两个控制器可同时参与处理;当一个控制器繁忙,系统不需要主机端的负载均衡软件参与就可以自动实现负载均衡。
ALUA:Asymmetric Active/Active,对于特定的LUN来说,在它的路径中,一个控制器的目标端口处于主动/优化(active/optimized)状态,另一个控制器的目标端口处于主动/非优化(active/unoptimized)状态。在某一个时刻,某个LUN只是属于某一个控制器,要想实现两边的负载均衡,就是将任务A扔给控制器A,将任务B扔给控制器B,对于同一个任务来说,任何时候只有一个控制器在控制。
A/P:Active/Passive,对于特定的LUN来说,在它的路径中,一个控制器的目标端口处于主动/优化(active/optimized)状态,另一个控制器的目标端口处于备用(standby)状态。其负载均衡及任务处理方式与ALUA类似。
Active/optimized、Active/unoptimized、Standby和Unavailable是目标端口的四种访问状态,在相应访问状态下,设备服务器(即阵列控制器)只能回应相应的命令标准(命令标准由ISO/IEC 14776-453文件Part 453:SPC-3制定),这就决定了在某一时刻是否可以通过某个目标端口访问逻辑单元。
目标端口的状态可以转换,目标端口从一个状态转换到另一个状态的过程称为过渡。
Active/optimized:目标端口有能力立即访问逻辑单元。
Active/unoptimized:只能回应相应的命令标准,可以过渡到Active/optimized。
Standby:只能回应相应的命令标准,可以过渡到Active/optimized。Unavailable:只能回应有限的命令集,不可以过渡到其他三种状态。
在A/A阵列中,管理员无需指定每个LUN的默认所有者,当路径出现故障,将离线故障路径并重定向IO到其他路径,IO重定向期间,存储控制器会充分考虑负载平衡等因素并选择最合适的路径。对于应用程序,路径切换过程是透明的的,几乎不会有延迟(延迟时间一般为几秒)。
在ALUA或A/P阵列中,管理员需指定每个LUN的默认所有者,设置一些LUN 的默认所有者为控制器A,另外一些LUN的默认所有者为控制器 B, 人为在两个控制器之间进行负载均衡;如果路径发生故障,将重新分配IO流量到其他可用的路径,同时,停止故障路径上的IO。对于应用程序,路径切换过程是透明
的,然而,会有延迟(延迟时间一般为几十秒)。
在制定负载平衡策略时,必须同时兼顾多路径软件功能及存储阵列的多路径机制(A/A-ALUA-A/P)。
存储业界的ALUA阵列、A/P阵列和A/A阵列。从理论上来说,对于不同的多路径机制,最直观的表现是路径切换的延时不同, A/A机制最优且几乎无延时,ALUA机制稍差且有延时,A/P机制最差且延时更大。
注释:
1、ISO/IEC:国际标准化组织及国际电工委员会
2、SPC-3:SCSI Primary commands-3
参考资料:
1、technet.microsoft/zh-cn/library/cc725907(WS.10).aspx
重定向过多是什么意思2、webstore.iec.ch/preview/info_isoiec14776-453%7Bed1.0%7Den.pdf
3、sky/server/7/8752007.shtml
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论