js333 > 计算机互联网 > 存储学习笔记,关于存储控制器的多路径机制

原标题:存储学习笔记,关于存储控制器的多路径机制

浏览次数:72 时间:2019-11-18

关于存储控制器的多路径机制

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)。

MS3000/MS5000属于ALUA阵列,H公司的IX3000属于A/P阵列,HDS推出的AMS2000属于A/A阵列。从理论上来说,对于不同的多路径机制,最直观的表现是路径切换的延时不同,A/A机制最优且几乎无延时,ALUA机制稍差且有延时,A/P机制最差且延时更大。

存储设备有两个I/O控制器,每个I/O控制器上有两个连接主机的端口。存储设备中还有n个磁盘,并假定每个磁盘对应一个LUN。对于存储设备中的LUN,可以有几种不同的多路径访问方式:

Active-Active(A/A):如果对于存储设备的同一个LUN的I/O请求访问可以同时在两个I/O控制器,或者某一个控制器的两个端口上同时进行,则称之为active-active(A/A)型的存储设备。
Active-Passive(A/P)。如果存储设备只在一个(primary)I/O控制器(端口)上接受和执行对LUN的I/O请求,但是,它可以被切换,或者fail over,到从另一个(secondary)I/O控制器(端口)来访问这个LUN,则它称为active-passive(A/P)型的存储设备。这种切换,称为LUN failover,或者LUN trespass。
Active-Active型的存储设备又进而分为两种: 对称型(A/A-S)和非对称型(A/A-A):
在active-active存储设备中,LUN可以同时通过两个I/O控制器 或者端口来访问,唯一的限制在于通过两个控制器(端口)访问LUN的性能是否有差别。如果通过secondary控制器或者端口对LUN进行I/O的性能要比通过primary控制器(端口)低得多,则为非对称型;如果两者性能相同,则为对称型。
Active-Passive型的存储设备又可分为不同的类型:隐式failover型和显式failover型:

隐式failover型存储设备根据针对I/O请求接收的路径不同来触发LUN failover,即它在secondary路径上接收到对LUN的请求时,会自动从primary I/O路径failover到secondary路径。因为LUN failover(也称为trespass)是一个慢操作,会影响到性能,在A/P存储设备上如何有效管理LUN trespass是一个关键课题,要使得在给定时刻对某个LUN的所有I/O应该只流向其中一个I/O控制器(端口)。而显式failover型存储设备只是在从主机上接收到特定的SCSI命令时才进行fail over。显式failover提供了A/P存储设备用在集群环境(即多个主机可以直接对LUN发起I/O请求)中实现高性能所需的控制。如果没有显式failover能力,集群软件必须在发起隐式failover之前,仔细同步所有主机对LUN的访问,防止来自多个主机的I/O请求导致持续的failover。
LUN failover型和LUN组failover型:
如果各个LUN独立地从一个I/O控制器(端口)fail over到另一个I/O控制器(端口),则称为LUN failover型。但是,某些active-passive存储设备可以通过管理将多个LUN配置成LUN组,并且实现组中LUN同时fail over,即在组中一个LUN的所有primary I/O控制器(端口)故障时,将组中所有LUN都fail over到secondary I/O控制器(端口),具有这种能力的存储设备称为组failover型。组failover要比单个LUN的fail over快得多,可以降低I/O控制器(端口)故障对应用程序的冲击,尤其在存储设备存在大量的磁盘(LUN)的情况下。
如果同时考虑I/O控制器和端口,则还存在一种多路径并发型Active-Passive(A/P-C)的访问方式。这时,存储设备可以在同一个I/O控制器的两个端口同时接收并执行针对某个LUN的I/O请求,只是在当这个I/O控制器,或者说这个I/O控制器的两个端口,出现故障之后,它会failover到另一个I/O控制器的端口。

ALUA即“Asymmetric Logical Unit Access(异步逻辑单元访问)”的缩写,它是前端控制器多路径机制之一。 前端控制...

双控冗余有两种方式:互备Active-Passive(A/P)和双活Active-Active(A/A)。

A/P模式:每个LUN都有自己的归属控制器,比如A控处理Lun1的IO,B控处理Lun2的IO,如果A控收到发向Lun2的IO,则通过控制器间交换网络转发给B控处理;

A/A模式:对于存储设备的同一个LUN的I/O请求访问可以同时在两个控制器,或者某一个控制器的两个端口上同时进行。两个控制器角色完全对等,不再分Lun的Ownership。这给系统设计带来了复杂性,但是能够平衡系统的负载,不会出现Lun1太忙而Lun2很闲从而导致A控负载远高于B控。

金沙js333娱乐场 ,通常主机会与A控和B控至少各保持一条连接,分别从两个控制器上发现到两份同一个物理Lun的两份副本,系统中会生成两个盘符。多路径软件的作用就是识别出系统中的多路径设备,将它作为一个设备来处理,同时管理多条路径,以便实现I/O流量的负载均衡,或者在I/O路径故障时的切换和恢复。多路径软件通常被部署在服务器端。

针对A/P模式,因为有Lun的Ownership存在,发向对应Lun的IO要确保走最优路径,也就是不要发送给该Lun的非属主控制器,否则将引发内部转发,增加时延。探测某个Lun的最优路径以及其他一些阵列端的运行信息,需要多路径软件与阵列之间做一些信息交互,SCSI规范里定义了ALUA(Asymmetric Logical Unit Access)协议,期望各厂商按照ALUA协议规范来实现多路径软件和阵列之间的交互。ALUA:即“Asymmetric Logical Unit Access(异步逻辑单元访问)”的缩写。对于应用程序,路径切换过程是透明的,然而,会有延迟(延迟时间一般为几十秒)。

而A/A模式由于没有Lun属主的概念,多路径软件无需与阵列交互复杂的控制数据。当一个控制器繁忙,系统不需要多路径软件参与就可以自动实现负载均衡。对于应用程序,路径切换过程是透明的的,几乎不会有延迟(延迟时间一般为几秒)。

多路径软件可以在三个层次上实现:1、HBA驱动程序:虽然HBA驱动程序可能通过多条路径连接到这个磁盘,但它将每个磁盘向上层报告为一个块设备。

2、操作系统内核:对于每个磁盘,HBA报告为不同的块设备,例如/dev/sda和/dev/sdb,操作系统内核将这两个块设备进入“归并”为一个块设备,例如/dev/md0。OS自带的多路径软件只提供简单的功能,比如盘符消除,通过识别磁盘的wwn来发现哪些盘符指向的是同一个物理Lun,从而消掉一个盘符。但是无法提供阵列相关的个性化功能,阵列厂商如果需要满足这些高级功能的话就必须提供自己的多路径软件。

3、应用程序:例如EMC PowerPath、Veritas DMP、HP Secure Path等。

本文由js333发布于计算机互联网,转载请注明出处:存储学习笔记,关于存储控制器的多路径机制

关键词:

上一篇:没有了

下一篇:用javascrpt将指定网页保存为Excel的代码,Java用正