上周笔者收到了一篇新闻稿,标题为“Mellanox发布新一代基于RDMA的虚拟SAN软件设备”,我们知道Mellanox是InfiniBand网络交换行业(包括芯片、交换机和HCA适配卡等)的领导者,并占据该领域绝大多数的市场份额。相比之下,被Intel收购的QLogic InfiniBand业务显得九牛一毛。
正如一位在Mellanox工作的朋友所说:“InfiniBand最初是为了存储而生,而当时的存储对I/O需求还没有那么高,于是就先在HPC(高性能计算)网络互连应用中崭露头角。”。随着闪存在企业存储应用中的普及,拥有高带宽/低延时优势的InfiniBand开始越来越多地出现在固态存储系统的主机连接(如Fusion-ION软件方案、EMC Project Thunder和被IBM收购的TMS Ramsan 720等)和内部节点间互连(IBM XIV Gen3和被EMC收购的XtremIO等)中。那么Mellanox现在进入存储领域倒也不令人意外。
从这个包装盒就可以看出,Mellanox虚拟SAN软件设备新品的正式名称是Storage Accelerator (VSA,存储加速器) and Virtual SAN (vSAN) Appliance。一提起VSA这3个字母,我想大家早就应该不陌生了,惠普和VMware都推出过相同名称(缩写)的产品,那么Mellanox VSA与前者又有什么不同呢?
前有惠普、VMware:此“VSA”非彼“VSA”?
在笔者的印象中,惠普是最早使用“VSA”这个名字的——LeftHand P4000 VSA(Virtual SAN Appliance)。惠普在2008年收购了iSCSI存储厂商LeftHand,该产品线以Scale-out(向外扩展)形式的网络RAID功能为特色。而VSA就是LeftHand软件运行在VMware和Hyper-V(后来增加)中的版本,将虚拟化服务器中的硬盘存储空间以iSCSI设备的形式向外提供,并在功能和规格上有一些限制。
后来当VMware发布vSphere 5.0的同时,也推出了VSA(vSphere Storage Appliance)软件——在英文缩写上与惠普的LeftHand P4000 VSA相同。
VMware VSA初始发布时支持为2~3台ESXi服务器集群添加存储高可用功能。“每个ESXi服务器都有一个VSA作为虚拟机部 Tolerance(容错)这些服务器高可用组件,以及vMotion虚拟机迁移功能提供复制的虚拟卷,可以不再需要共享的DAS/SAN存储阵署”,通过NFS跨越ESXi主机进行卷同步镜像(复制)。VSA使用服务器内部存储空间,目的在于配合vSphere HA、vSphere Fault列。
包括3个节点的VMware VSA集群
VMware表示,VSA“针对非技术性的人群”(在vSphere Storage Appliance之前,实施虚拟化要求具备共享存储硬件的专业知识)。VSA支持的NFS文件访问协议直接使用现有的以太网互连,省去了传统FC SAN需要的光纤通道交换机和HBA卡的成本,以及管理复杂性,但可能需要增加以太网的端口/带宽。VMware VSA主要针对中小企业和低端用户。
随着上周在VMworld 2012大会上发布的vSphere 5.1,vSphere Storage Appliance版本也升级到了5.1。现在“用户可以通过运行内置在vSphere Storage Appliance集群上的vCenter,将业务连续性功能外延到其分支机构和远程站点,以降低基础架构开支。此外,用户还可以在线快速实现扩容,满足业务对容量的需求。”
那么,与惠普和VMware的VSA相比,Mellanox VSA的区别还是蛮大的。后者是一款高速块存储目标端&网关软件,每个存储目标(端口)最高可达到一百万IOPS和5,000MB/s的带宽性能,并且只有0.07毫秒(70微秒)的访问时间。它还能够提供读/写缓存功能,支持RAID 0/1、多路径和复制,以及带有整合式集群管理的高可用和Scale-out设计。
Fusion ION闪存阵列+Xsigo存储虚拟化?
典型的Mellanox VSA方案
如上图,VSA软件运行在存储服务器/网关上面,它们与存储客户端(主机)之间通过万兆以太网/40GbE或者40、56Gb/s InfiniBand(IPoIB,运行iSCSI协议)网络实现存储互连,并支持iSER(iSCSI RDMA)。而在后端的存储介质上,既可以是VSA服务器本地的RAM内存/SSD或者SAS硬盘,也可以通过FC HBA卡连接外部存储阵列。前面一种方式类似于常规的iSCSI软件,而后面一种方式则像是存储虚拟化设备(网关)软件。
Mellanox VSA软件架构
在VSA的软件架构中,上方的UFM和VSA、Cluster Manager提供监视和集群管理的功能,包括Scale-out和故障切换;核心模块部分,前端为超高速、并行的数据移动架构“Data mover engines”,以及加速和I/O虚拟化服务。后者包括存储设备间的RAID 0/1,DR(数据复制)、Flash Cache闪存缓存、FC(光纤通道)虚拟化和多路径功能。软件本身可以支持各种后端存储——SAN(FC/iSCSI)、DAS(SAS/SATA)和闪存(这里特别提到了Fusion-io)。
提到Fusion-io,笔者想起了在《Fusion-io软件定义存储:全闪存阵列DIY时代?》中讨论过的ION(离子)软件以及由它实现的外部存储“全闪存阵列”。Fusion-io同样能够达到一百万IOPS以及与Mellanox VSA相近的带宽和延迟性能,并且它除了10Gb/s iSCSI之外还能提供比运行在TCP/IP堆栈上更理想的8Gb/s FC和QDR InfiniBand(SRP,SCSI RDMA协议)。不过ION不支持网关,也就是存储虚拟化模式;Mellanox的优势恰恰不是本地存储的性能,而是网络I/O加速。
笔者在Fusion ION一文的结尾处,也提到了Mellanox——ION方案提供的超低延时也是借助的InfiniBand。“Mellanox ConnectX-3的MPI(消息传递接口)ping延时只有1微秒...ION HA使用的40Gb/s以太网互连,也是由它来提供的。”
这个设备示意图更为形象一些,VSA存储加速软件所在的服务器平台上可以有本地SAS硬盘组成的RAID(LSI、HP SAS/SATA HBA或者RAID卡)、双端口40Gb IB/10GbE网卡连接客户端,Fusion-io PCIe闪存卡提供快速I/O或者缓存,针对网关模式可选FC HBA(需要带有NPIV支持)。
看到上面这个机箱,让我想起了一家网络虚拟化公司——被Oracle收购的Xsigo。其产品可以将插在设备(也是一台服务器)上的以太网、FC SAN等网卡虚拟化,并由高速的InfiniBand/以太网共享给前端主机。从这一点上来看,Mellanox VSA在形式上有点像Fusion ION与Xsigo的结合?不过VSA的后端只支持存储而没有以太网,毕竟Mellanox的目的是本地/网关上的加速而不是专门的I/O分享。
Mellanox VSA IOPS和访问时间(延时)与传统存储系统对比
上面的图表来自Mellanox官方资料。访问时间对比中,使用HDD的企业级存储达到了5000微秒(5毫秒),使用SSD的外部存储系统由于FC/IP存储网络的平均延时也有1000微秒,VSA的优势很明显。传统中端存储阵列IOPS平均在10万以下,高端存储阵列能够达到20~30万之间,而VSA超过了40万(配置2块Fusion-io ioDrive Duo)。当然在这里我们不明确Mellanox使用了什么样的测试方法。