如果说羽泉的《冷酷到底》反映了年轻人心中激荡的自信与活力;那么同有NetStor NCS8000全闪存阵列设计的《一硬到底》就体现对于存储硬件性能和功能的极致追求。
众所周知,十年间CPU速度增长了10倍,内存性能增长了8倍,网络带宽速率更是大幅提升了100倍,对比硬盘I/O系统的性能几乎是原地踏步,处理器和硬盘之间的差距被越拉越大。为了追求整体性能的平衡,不得不通过磁盘并行化来提升I/O的性能,由此造就了外部存储市场,也就是磁盘阵列市场的繁荣。实际上,很多行业关键业务应用,如在线交易的数据量并不大,在100TB左右,但却为此不得不购买成千上万块磁盘,就是为了弥补I/O性能的不足。如今随着闪存介质的应用,情况有所缓解。
但闪存有没有从根本上解决问题呢?同有NetStor NCS8000给出的答案是:要想充分发挥闪存的优势,在系统设计还要采取很多针对性的技术。
深度定制化
现有SSD固态盘设计,为了实现在同一个存储系统内与传统磁盘(HDD)共存,不得不将闪存颗粒封装在与硬盘相同的磁盘模块内部,再经由SAS接口和SAS HBA连接到PCI-E总线上,虽然实现了HDD模块与SSD模块的通用,但付出了更多协议转换及更多链路开销的代价, 其性能,效率及延迟受到很大影响,难以发挥出闪存芯片应有的性能。在数据保护方面,很多SSD固态盘并没有提供基于闪存颗粒一级的数据保护措施,导致整个SSD盘可靠性不高,特别是随着闪存颗粒磨损,坏块逐步增加性,问题暴露会更加明显。
针对目前市场存在的问题,同有NetStor NCS8000针对闪存采取了深度定制化的设计方案,它基于硬件加速架构设计,使用无阻塞交叉总线架构,FPGA和专用低功耗CPU遍布各个控制单元。使用全硬件数据通路设计,无需接口转换、协议控制等环节,充分发挥闪存介质的低延迟、高并发I/O和高吞吐量的特性。
NCS8000逻辑架构如下图所示,主要包含:2个前端接口控制模块、2个控制管理模块、2个RAID控制器和多个闪存模块等。
NCS8000全闪存阵列使用专用的闪存模块作为存储介质,闪存模块以接口卡的模式封装闪存颗粒,闪存颗粒高密度集成到主板上。每个闪存模块里最多有4个闪存控制器,每个闪存控制器最多管理16个闪存芯片,即每个闪存模块最多管理64个闪存芯片。
闪存模块中使用专用的FPGA芯片管理闪存控制器,每个闪存控制器拥有独立的FPGA芯片管理各自的闪存芯片。数据流传输到闪存模块后,由FPGA处理,无需依赖通用的微处理器指令执行。借助闪存控制器中的 FPGA和闪存模块中的 FPGA,即便在超大负载条件下,NCS8000全闪存阵列也可提供超低延迟的 I/O 性能。
FPGA拥有并行计算优势,闪存模块中的FPGA控制闪存控制器和闪存芯片并发操作,每个闪存控制器最多可并行 64 次存取操作,最高配置的NCS8000全闪存阵列最多可同时实现2816次存取操作。正是此并行处理架构,即便业务系统面临大量读写 I/O 工作量的情况下,NCS8000全闪存阵列也能维持高速的 I/O 性能。
在一些关键技术设计上,NCS8000都体现出了独具匠心的地方,例如超容量算法、均衡损耗技术、ECC 硬件检测、收缩条带、垃圾回收和二维RAID设计。以二维RAID为例,它从两个维度进行数据保护,一方面闪存模块内部具备收缩条带RAID技术,实现芯片级的数据保护;另一方面存储系统本身具有系统级的硬件RAID保护,横跨多个闪存模块组的RAID,可横跨4(2D+1P+1S)、6(4D+1P+1S)、8(6D+1P+1S)、10(8D+1P+1S)或者12(10D+1P+1S)闪存模块,类似于传统的多块磁盘组RAID5+热备磁盘。再例如垃圾回收,大多数闪存存储垃圾回收算法采用对称设计,相比NCS8000全闪存阵列使用详细的NAND块特性数据,分析多个属性来确定每个数据块的健康情况,更能够将之与接下来的写入活动相匹配。
高级功能:两条腿走路
目前市场上也有一些硬件深度定制化的产品,就像是一块大闪存固态盘,没有任何高级存储功能,从而限制了现实市场的应用。与之先比,NCS8000在深度定制化的同时,坚持两条腿走路,提供了大量的高级软件功能。
存储虚拟化
NCS8000外部存储系统虚拟化功能将不同存储厂商的SAN存储阵列,整合为一个大的虚拟SAN,为传统存储系统的改造提供一个基础的软件定义的平台。NCS8000提供对后端存储设备的查找,管理功能,同时也能对存储设备进行分组管理。
自动精简配置
空间高效的虚拟磁盘技术为连接到的所有后端存储设备提供了自动精简配置特性。只有真正要向磁盘写入数据时,才为其分配物理空间,令实际使用的物理磁盘容量大为减少。此外,虚拟资源调配和快照功能结合,能够减少进行快照时所需的磁盘空间。
虚拟磁盘镜像
虚拟磁盘镜像能够将一个虚拟磁盘的数据同时存储在两台不同的磁盘阵列上,互为备份。其主要用于保护重要数据的安全性和可用性,是一个基于本地的高可靠性解决方案。
虚拟磁盘恢复
虚拟磁盘恢复特性能够帮助用户提高灾难恢复的效率,快速恢复虚拟磁盘使其回到在线状态。
自动分层
当NCS8000外部虚拟化其他磁盘阵列后,可以在NCS8000和外部磁盘阵列之间实现自动数据分层功能。此功能无需手动干预就可以将外部磁盘阵列卷上频繁活动的数据分配到闪存模块上。动态数据移动不仅可提高外部磁盘阵列的访问性能,还对主机服务器和数据的应用用户透明。
在线数据迁移
如何将现有存储系统上的核心业务数据无缝迁移到NCS8000全闪存阵列上是很多IT管理人员面临的重要问题,NCS8000存储虚拟化功能可以有效的解决这一问题,使用虚拟磁盘镜像不但可以提供本地高可用解决方案,还可以提供数据迁移功能。通过启用NCS8000全闪存阵列的存储虚拟化功能,将现有存储系统进行虚拟整合,虚拟整合之后即可在NCS8000和现有存储系统进行虚拟磁盘镜像,现有数据完全镜像到NCS8000全闪存阵列后,将镜像与源进行分离,完成数据迁移。
数据压缩
不同于其他压缩方案,启用NCS8000压缩功能许可,需配置独立的CPU和硬件压缩卡,压缩功能可以将NCS8000的有效容量最多提高 5 倍(在相同的物理存储空间内存储多达 5 倍的数据),进一步降低成本以及占地空间、电源与散热需求。此外,具有硬件加速功能的实时压缩提高数据存储的经济性。
存储双活高可用
两台NCS8000上的逻辑卷可以被整合成为统一的虚拟卷标示符,从主机看来如同来自不同路径的同一个逻辑卷,底层的数据双写和双读操作则由NCS8000双活软件控制完成。两个数据卷上的数据一致性由双活功能模板监测保障,并且两台存储系统之间的镜像卷关系无法进行手工启停操作,此动作由存储微码自动进行控制,在某一台存储系统出现故障时,实现存储卷在磁盘阵列间的自动迁移。
小结
针对闪存介质和存储应用的需要,同有NetStor NCS8000在设计上采用了“两手抓,两手都要硬”的方针,实现了全闪存阵列设计的新突破。相比业界巨头,同有无疑是一家小公司,但为什么能够在技术率先取得突破呢?这与同有长期服务军工企业有关,以强大的军转民技术作为依托,同有NetStor NCS8000引领企业级应用市场的发展。