Chinaunix首页 | 论坛 | 博客
  • 博客访问: 499907
  • 博文数量: 80
  • 博客积分: 1475
  • 博客等级: 上尉
  • 技术积分: 1047
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-01 22:58
文章分类

全部博文(80)

文章存档

2012年(3)

2010年(77)

我的朋友

分类: 服务器与存储

2010-05-04 08:34:33

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

  1. Active-Active(A/A):如果对于存储设备的同一个LUN的I/O请求访问可以同时在两个I/O控制器,或者某一个控制器的两个端口上同时进行,则称之为active-active(A/A)型的存储设备。
  2. 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型的存储设备又进而分为两种:

  1. 对称型(A/A-S)和非对称型(A/A-A):在active-active存储设备中,LUN可以同时通过两个I/O控制器 或者端口来访问,唯一的限制在于通过两个控制器(端口)访问LUN的性能是否有差别。如果通过secondary控制器或者端口对LUN进行I/O的性能要比通过primary控制器(端口)低得多,则为非对称型;如果两者性能相同,则为对称型。

Active-Passive型的存储设备又可分为不同的类型:

  1. 隐式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。
  2. 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控制器的端口。

阅读(2768) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~