分类: 服务器与存储
2007-04-13 16:11:54
如果在FAStT存储设备中配置有2个控制器, 则在主机和设备间就有了实现冗余的I/O通路的基本保证.
有两种不同的方法可以实现冗余的I/O数据通路: 一个是由存储设备方的控制器固件提供的AVT/ADT (Auto Volume Transfer/Auto Disk Transfer)功能; 另一个就是由主机方提供的多路径驱动程序(multipath driver), 如RDAC (Redundant Disk Array Controller).
在定义逻辑驱动器(logical drive/logical volume)时, 为其分配一个控制器, 由该控制器管理所有对此逻辑驱动器的I/O请求, 我们称之为该逻辑驱动器的首选属主. 如果这条路径发生故障, 主机端的多路径驱动程序就启用另一条路径, 替代路径接收对逻辑驱动器的I/O请求. AVT/ADT使逻辑驱动器从属主控制器移到替代控制器, I/O请求通过替代存储控制器处理. AVT/ADT的新功能使得只有受到影响的逻辑驱动器才需移动.
RDAC 和 AVT/ADT可以配合使用,也可以单独使用,下面就各种配置进行简单说明:
1 RDAC与AVT/ADT同时使用
如果主机有自己的多路径I/O处理机制, 如HP, 就不需要为其安装其它的软件. 如果主机操作系统没有多路径I/O软件,就需要使用RDAC驱动程序, 以使主机有多路径I/O处理机制. 当首选路径有问题时主机操作系统重定向I/O路径, AVT/ADT保证逻辑驱动器可以通过另一个控制器访问. 二者同时作用可确保存储设备上的逻辑驱动器有一条可用的I/O 通路.
在集群环境下,经常会有一块逻辑驱动器同时会被多个主机访问,应根据各个集群的特点来的确定是否激活AVT/ADT的功能。
2 使用RDAC,关闭AVT/ADT
如果FAStT关闭了AVT/ADT功能,主机端的RDAC还是能提供冗余的I/O路径。每一个逻辑驱动器还是有一个首选的控制器。 如果从主机到存储这条路径的某一部分有故障,RDAC可以使某一存储控制器管理下的所有逻辑驱动器全部转移到另一控制器上( AVT/ADT只移动受影响的逻辑驱动器)。此种情况下所有主机都必须安装RDAC多路径驱动程序(使用其他多路径驱动程序有可能发生当逻辑驱动器移动时,主机无法访问的问题),以保证在逻辑驱动器发生转移时主机仍可访问它们。
一旦问题解决,需要手动地将逻辑驱动器移到首选地控制器上。
3 不使用RDAC,激活AVT/ADT
如果主机不支持多路径驱动程序,还是可将其连到有两个控制器的FAStT上。每个逻辑驱动器还会有首选的控制器。但是当访问路径出问题时,无法切换到另一可用路径,使得数据访问失败。
多路径切换软件的作用是告诉操作系统怎样使用多余的路径,怎样作失效恢复!
现在,存储网络越来越发达了,一个lun有多条通路可以访问也不是新鲜事了。
使用多个HBA连接到存储网络,存储网络又可能是由多个交换设备组成,而存储系统又可能有多个控制器和链路,lun到服务器的存储网络链路又可能存在着多条不同的逻辑链路。那么,必然的,同一个physical lun在服务器上必然被识别为多个设备。因为os区别设备无非用的是总线,target id,lun id来,只要号码不同,就认为是不同的设备。
由于上面的情况,多路径管理软件应运而生了,比如emc的powerpath(rdac也是一种),这个软件的作用就是让操作系统知道那些操作系统识别到lun实际上是一个真正的physical lun,具体的做法,就是生成一个特别的设备文件,操作系统操作这个特殊的设备文件。而我们知道,设备文件+driver+firmware的一个作用,就是告诉操作系统该怎么使用这个设备。那么就是说,多路径管理软件从driver和设备文件着手,告诉了操作系统怎么来处理这些身份复杂的lun。