企业级第一层存储阵列(高端存储)是一个比较特别的市场,这种设备不仅要保证数据的访问速度,而且要保证不丢失数据和访问的流畅无限制。
这点来讲和大容量的双控制器存储有很大的区别,后者可能在支持的数据存储量以及并发的性能等方面不能满足应用对存储的机制需求。
这里有四款市场上的高端存储阵列产品:
· EMC的VMAX
· IBM的DS8000
· HDS的VSP
· 惠普的 XP,这是一个HDS VSP的OEM产品
这些传统的高端磁盘阵列都有两个以上的控制器,并且有一个内部的背板或者其他的组件用于连接控制器和磁盘柜,这样能够有较大的内部带宽满足I/O密集型应用需求
举个例子来说,VMAX 40K,能够利用2000块2TB的磁盘做一个4PB的存储阵列,多个控制器通过Virtual Matrix相互连接,最大的控制器数能达到8个。
高端存储主要在于高可用性,一个控制器坏了之后,数据访问仍可以继续进行,一个磁盘驱动器坏了仍不会造成数据丢失。而且系统软件和固件的升级对于上层应用来说都是透明的。
另外,高端存储还有丰富的数据管理功能,可以完成将数据复制到其他阵列,本地或者异地的容灾和快照等等操作。
为了达到高可用性和高可靠性,高端存储供应商需要花两年甚至更长的时间研发操作系统,并且在实际应用环境中做可靠性测试。
总结起来高端存储的主要特征有:
· 两个以上的控制器
· 内部连接网络
· 大部分情况下为纵向扩展而不是横向扩展的设计
· 可以满足大量并发请求,性能非常高
高端存储往往是一个非常大的单个的系统,如果客户需要增加控制器和磁盘柜,这种存储的扩展方式与双控的磁盘阵列做法非常不一样,后者可能通过增加独立的磁盘阵列到存储中就可以完成扩展(比如通过集群的方式),但是高端存储扩展起来远比这个复杂,其扩展方式更多时候是不能简单的增加控制器数和磁盘柜来解决的。
内部的级联(internal fabric)对于阵列能够保证性能非常关键,虽然可能没有内部的连接可能不会影响性能以外的体验,但是高端存储是对任何存储瓶颈都不妥协的一个解决方案。
良好的性能表现
上文提到高端存储相对于两个控制器的存储阵列来说在性能和可靠性上有很高的优势。
现在有一个问题是初创厂商的全闪存阵列可能在性能上和高端存储阵列表现相当,那么这些全闪存阵列能否取代高端存储阵列呢?
答案是否定的。我们应该理解性能测试的环境,只是在随机读写的IOPS或者带宽上表现非常强是远远不够的,因为我们最终要吧产品拿到现实环境中用,读写操作的比例、数据块的大小等等,都会影响到设备的IO性能,这样具体环境下的IO性能才应该是真正拿来考量的。除非你真的将机器拿到实际应用环境中进行测试,否则测试大多是人造的环境居多。但是我们可以从SPC这样的基准测试中看出一个大概的排名。
SPC-1基准 测试提供了一个对存储阵列的随机IO性能测试的标准,SPC-2则对存储阵列的连续IO进行一个评测。最终SPC基准测试会有一个展示不同厂商阵列IO性能的排名:
SPC-1排名
表中SPC-1排名中HDS的VSP磁盘阵列IOPS成绩为269,506.69,全闪存版本的IOPS为602,019.47,而IBM的DS8870成绩为451,082.27。测试成绩最高的依然是Kaminario全闪存阵列,成绩为1,239,898。那么这个全闪存阵列是否能取代高端存储阵列呢?
上文曾经说过这个答案是否定的,因为这种全闪存阵列在很多实用场景中表现远不如高端阵列。
这列并没有其他初创公司的全闪存阵列产品,这意味着Pure Storage和Nimble Storage并不在这次的比较之列。而且并没有将这些阵列放置实际工作负载的环境中测试性能,用户如果需要则必须自己来搭建环境自行测试。
SPC-2基准测试呢,也就是连续IO性能,这里也有一个SPC-2测试的结果。
SPC-2测试排名
这个表格综合了设备吞吐量和价格/性能等因素。这里说的价格指的是标价,所以和现实市场上经常会打折的实际售价有些差距,但是我们仍然可以看个大概的结果。
很明显IBM的DS8870、HDS的VSP以及HP的XP再次被Kaminario打败了, 还是上文中的观点,K2不能取代高端存储,因为他缺少必要的功能。一般来说初创厂商很少有在一个产品中使用两个以上的驱动器并设计很多功能保障系统的可靠性。
那么既要性能又要高端存储的可靠性怎么办呢?最直接的方法是采购全闪存配置的高端存储阵列,比如HDS 全闪存版本的VSP,或者全闪存版本的IBM DS8000和EMC VMAX,很明显这样的阵列将比全是磁盘的阵列性能高很多。