金亮亮 吴洪成 祝绪东
摘 要: 介绍一种满足车载工作环境的加固型存储阵列设计,该存储阵列采用国产CPU作为存储控制器,利用可编程逻辑自主开发了RAID控制器,实现了面向网络的iSCSI等通用存储服务。双机热备技术的采用进一步确保了数据存储的安全性和数据服务的不间断性。
关键词: 存储阵列; iSCSI; 自主可控; 双机热备
中图分类号:TP399 文献标志码:A 文章编号:1006-8228(2015)11-01-03
Abstract: This paper introduces a design of vehicular ruggedized storage array. The storage array adopts domestic CPU as the controller, the RAID controller is developed by using FPGA, and iSCSI and other network-oriented general storage services are realized. The use of hot standby technology further ensures the security of data storage and uninterrupted data service.
Key words: storage array; iSCSI; autonomous controllable; hot standby
0 引言
由于网络存储在存储速率、数据可用性、I/O服务方面具有良好的性能,使其逐渐成为高性能信息处理系统的关键设施。目前,高性能网络存储设备的制造技术主要掌握在国外厂商手中,如EMC、HP、IBM等供应商,这些厂商不仅能够提供高性能与高可靠性的存储产品[1],而且可以提供整套的存储解决方案。虽然国内存储产品供应商如华为、浪潮、曙光占据了网络存储产品的一定市场份额,但核心存储技术仍采用国外技术,存储控制器一般依赖Intel的XEON等产品。
在军事应用等敏感领域,技术自主可控的要求日益强烈,核心存储控制器设计国产化已经迫在眉睫。现有的基于XEON等控制器的存储产品,在飞机、越野车等工作环境中,稳定性大幅降低,无法满足高低温、湿热、低气压、抗振等试验要求。由于处理器、RAID卡等核心部件均是采购外国产品,无法修改,加固设计也很难进行。
本文介绍一种满足车载工作环境的加固型存储阵列设计,该存储阵列对外提供SAN和NAS融合的统一网络存储服务[2],支持RAID5,容量达到24TB(热备模式下有效容量为12TB)。设备采取标准上架式设计,要求工作温度-10℃~55℃,并可支持高原低气压工作。
1 总体设计
为满足振动、高低温、低气压等车载的环境适应性要求,存储阵列采用CPCI技术架构,将PCIe等高速总线集成在背板,从而避免商用存储阵列中大底板和金手指等技术形式在恶劣环境下容易出现的接触不可靠、传输不稳定、易热胀冷缩等问题。加固型存储阵列式示意如图1所示。
存储阵列选用电子盘作为存储介质,并采取整体加固安装形式,所有SAS/SATA总线均自主设计在背板中,消除了普通盘接口接触的易松动特性,整机内部没有线缆。而且,电子盘没有机械磁头,不受振动影响,对低气压也不敏感。
存储阵列所有功能模块均自主设计,包括CPU板、RAID卡、电源、电子盘等,对器件选型和PCB设计等均可遵照GJB等相关规范,增加设计冗余以满足宽温工作要求,并执行板级筛选。其中,CPU板选择国产处理器SW410,RAID算法在FGPA内实现。
由于车载空间限制,设备机箱深度要求不超过460mm,普通的商用存储阵列设计方法无法满足要求(深度一般均超过500mm)。本设计采取了前后通风式的统一布局[3],模块传导与整体强迫风冷结合散热,所有模块均衡分布,机箱深度降低至440mm,防止模块间热串扰,设备散热效果也大幅提升,提高高温工作的可靠性。
2 存储控制器设计
存储控制器是网络存储阵列产品的核心部件,含存储管理单元、RAID处理器、嵌入式的操作系统和专业的存储管理软件。
2.1 存储管理单元
本设计中,选择国产处理器SW410作为存储控制器,自主设计了SW410的CPCI形式的主控板[4],以适应设备结构要求。如图3。
在实际测试中发现,SW410兼顾读写控制与服务的响应较慢,对I/O控制过程耗时较长,不能及时响应外部服务。因此在本设计中,将存储控制迁移至SCSI Target中层,直接向块设备驱动建立地址映射,调用MD驱动建立逻辑卷,再挂载外部PCIe总线上的DMA通路,由硬件电路自主完成数据块经RAID控制器写入磁盘过程,SW410仅负责管理逻辑卷映射表,集中精力响应存储服务。
2.2 RAID控制器
RAID是独立磁盘冗余阵列的英文简称,有RAID0、RAID1、RAID5、RAID6、RAID10等多种RAID等级。RAID技术原理虽然很成熟,但目前市面上能够购买的高性能RAID卡均是LSI金手指形式,抗振动性能较差,而且无法集成DMA控制器。
本设计的RAID算法基于XINLINX V6系列FPGA来实现,性能可以与RAID芯片保持一致,编码速率可达900MB/s以上。FPGA内部还集成了DMA控制器,利用DirectIO技术挂载PCIe IP核,连接多个SAS/SATA IP核。FPGA挂载了高速、大容量DDR3缓存,将写通路缓存和读通路缓存独立分开,各自建立FIFO队列,避免读/写切换时缓存清空开销,减小读/写过程转换CPU等待时间。
3 双机热备技术
为保证数据存储的安全性和数据服务的不间断性,存储阵列集成了完整的两套存储管理电路,可将电子盘分为两组进行配置,组建两个RAID阵列,执行双机热备的集群工作方式,数据自动被镜像复制并分别存储在两组阵列中,以保证存储数据的绝对安全。存储对外服务执行主从模式,任意一个服务若发生中断,另一个存储管理器自动接管服务,保证对外存储服务不间断。
通过配置管理软件可将其中一个存储分机配置成“主服务器”,另一个配置成“从服务器”,主从服务器有各自的IP地址,主从服务器通过集群软件虚拟出有一个共同的虚拟IP,这个虚IP就是客户端访问该系统时用的IP地址。这种措施是高可靠集群[5]的首要技术保证,可确保集群服务的切换不会影响客户IP层的访问。
心跳和同步线是高可靠集群系统中主从节点通讯的物理通道,通过集群软件的控制来确保服务数据和状态同步。心跳和同步线可采用串并口、USB口或TCP/IP网口,基于TCP/IP技术的心跳线因通用性和高性能而被广泛采用。若仅有主从两台服务器,心跳和同步线刻可以采用直连的方式,无需通过交换机。
热备集群软件负责实现两个存储分机的同步状态检测、主备切换。当主服务器出现故障时,从服务器及时接管主服务器资源,这些资源包括处理器、内存数据列表和磁盘数据。为了支撑高可靠集群系统故障时顺利接管磁盘数据,引入了磁盘镜像技术。磁盘镜像类似于在设备间实现一个RAID1的功能,当主服务器将数据写入本地磁盘时,数据将被磁盘镜像软件捕获并通过网络发送到网络中从服务器上,且以相同的形式记录在磁盘中,保证主从存储分机内的数据实时同步。当主服务器出现故障时,从服务器利用已同步的磁盘数据接管服务。
4 结束语
面对国外网络存储厂商设置的技术壁垒,自主可控高可靠存储阵列的研制显得尤为重要。本文介绍的加固型存储阵列就是在自主可控的大背景下针对抗恶劣环境需求而提出的一种自主可控存储阵列的典型架构。经测试和试验验证,该加固型存储阵列在FC接口下iSCSI读写速率大于700MB/s;千兆网接口下CIFS和iSCSI读写速率均不低于70MB/s;组RAID5模式后有效存储容量不低于24TB,双机热备时有效容量不低于12TB,热备服务切换时间小于1s。
在国产CPU性能无法快速提升的情况下,如何优化流程控制、构建旁路系统以减轻CPU负载是存储阵列进一步研究的内容。同时,还需在此基础上研究网络IO加速卡,创建从网络服务端口至读写控制端口的直接映射,集成多级RAID控制技术,进一步释放CPU负载,以提升存储阵列性能。
参考文献(References):
[1] 国内网络存储发展现状[J].http://wenku.baidu.com.
[2] 张冬.网络存储系统原理精解与最佳实践[M].清华大学出版
社,2008.
[3] 田云均.车载式数字图像固态存储技术协议的研究[J].长春
理工大学,2010:21-25
[4] 张忠涛等.抗恶劣环境高性能计算机[J].计算机工程,2008.9.
[5] 巩天宁,周书明.基于DRBD的Linux高可用集群[J].电脑与
信息技术,2012.1.