光纤通道与RAID完美结合

数据储存结构中的I/O带宽问题一直是RAID系统中的瓶颈,而光纤通道恰好可以为服务器和存储设备之间提供一条高速的数据传输通道,将光纤通道和RAID技术融合,提供一个基于全光纤通道的RAID系统,可以在速度、容量、可靠性、灵活性等方面满足飞速发展的网络存储服务的要求,所以本文就基于这个思想来设计一个高性能的企业级磁盘系统,该系统应该具有如下的技术特点:
1.主机接口和磁盘接口均采用光纤通道;
2.采用大缓存,多体交叉、多访存总线结构;
3.采用多CPU结构,分布处理主机和磁盘的请求,提高响应的速度;
4.总体上采用可扩展的结构,在各部分带宽平衡的条件下,动态扩展主机侧的通道接口数和磁盘侧的磁盘数量;
5.充分采用冗余设计技术和热插拔技术,提高系统可靠性;
6.实现快速的重建算法和改进小写性能。
一、硬件结构设计
RAID_FC的系统结构框图如下:
[img]http://img.watchstor.com/uploadimg/20100108/1027570.jpg[/img]
图1:RAID_FC控制器结构图
处理器:在RAID_FC中,面向主机和磁盘侧的接口都采用光纤通道,内部使用大容量Cache,这样处理器就需要处理来自主机接口的高速数据请求、实现各级RAIDLevel的结构、管理内部Cache、完成校验计算、处理多个磁盘成员数据的读写操作和故障状态下的重建工作,负载很重。为支持光纤通道的大数据量传输,为系统性能提供较大的扩展空间,所以采用双处理器设计,分别负责面向主机的操作和面向磁盘的操作,称为SPH(StorageProcessorforHost)和SPD(StorageProcessorforDisk)。为提高处理器间的通信速度,两处理器间中断和某些关键信息的传递通过硬件连线直接完成,数据传递通过共享缓存空间来完成。
这样做的优点是:SPH、SPD分别负责面向主机和面向设备的操作,降低了各自的负载,并且每个处理器上运行自己专门的阵列管理软件,可以针对各自的操作特点进行优化;处理器间的信号交互通过硬件直线连接,通信速度快;双处理器通过共享内存交换数据,提高了对共享内存的管理和使用效率,可以高速完成数据的交互。
主机接口部件:主机接口采用两个光纤通道,单根光纤通道就提供100MB/s的带宽,可以接一个主机或两个主机或多口的光纤交换机,连接到一个主机时,两条通道互为备份,也可以同时进行数据传输。
磁盘接口部件:存储接口面向FC磁盘成员,使用光纤通道仲裁环路结构(FC_AL),系统提供了4个光纤接口形成两对双光纤环路,每个环路包括一个主环路和一个冗余环路形成DualLoop。
存储接口使用光纤环路主要是基于如下考虑:首先当然是光纤的高带宽,且支持点到多点的传输能力;FC_AL可以支持127个设备有较好的扩展性;每个磁盘可以同时维护两条到控制器的通路,实现了对关键路径的冗余保护;FC_AL使端口位置有端口旁路机制,使热交换的实现更加简单;光纤通道接口提供了一些新的SCSI命令,简化了“读-修正-写”的过程,使RAID5的实现更简单;FC_AL支持绝对寻址,容许多个设备故障、且兼容并行的SCSI命令,提高了设备管理的灵活性。
Cache:为提高数据的缓存能力,加快对主机访问的响应时间,系统中设置一个GB级的大容量数据缓存,由处理器SPH和SPD共享。控制器提供给主机的数据全部存放在Cache中。为充分发挥Cache的作用,Cache设计支持多体交叉并行访问和突发数据传输,在访问能力上与双处理器的处理能力相匹配。
内部总线设计:阵列所有的数据流都要进过内部存储总线,是数据传输的关键通道。内部存储总线需要支持外部设备的高数据传输速率和对大容量Cache的访问。设计采用两条相同的高速总线,形成关键的双备份。控制器的各部件同时接到两条总线上,确保到关键路径的双通路。
内部存储总线的速率应和处理器的总线速率相匹配,总线位数和所提供的带宽应与双处理器带宽匹配,保证系统的关键部件不够成瓶颈。根据与PCI总线的接口,可以确定内部总线宽度64位,工作频率200MHz以上。内部存储总线位为控制器专用总线,带宽设计高,可以为系统扩展提供较大空间。
磁盘成员的组织:系统中的硬盘选用光纤接口、大容量、支持热插拔硬盘。每8个磁盘成员形成一个物理光纤双环路,5个双环路级联,形成一个完整的FC_AL仲裁环路。系统支持两个FC_AL。这样每个环路支持40个磁盘成员,整个系统支持80个磁盘成员。系统中磁盘成员的组织结构如图2所示。
[img]http://img.watchstor.com/uploadimg/20100108/1027571.jpg[/img]
二、阵列管理软件
在RA ID _FC中,两个处理器分别负责面向主机和面向磁盘的工作,其中SPH负责完成如下功能,包括如图3所示一些功能模块:
· 接收主机的数据请求
· 完成数据的分割、校验计算、数据分布,实现各RAID Level
· 管理控制器Cache
· 管理和监测系统中的设备状态
· 进行各种故障处理和完成数据的重构访问
· 与处理器SPD进行通信
[img]http://img.watchstor.com/uploadimg/20100108/1027572.jpg[/img]
图3:SPH上的阵列管理软件框图
其中主机接口模块用来接收主机的命令和数据、向主机返回数据和各种状态信息。串口通信模块提供了系统的一种配置手段,与配置模块一起完成系统的配置。处理器间通信模块用于处理双处理器之间的交互信号。空间管理模块负责系统的磁盘空间和Cache空间的管理,包括完成数据划分、磁盘和Cache分配、目录管理等功能。系统管理模块用于对整个系统的状态进行监测,向主机提供系统的各种信息。数据

飞科  发表于: 2010-01-16

我要回答

电子邮件地址不会被公开。 必填项已用*标注

敬请读者进行回答,本站保留删除与本问题无关和不雅内容的权力。

相关推荐