如何使用闪存才是最佳解决方案?

DOSTOR存储在线 5月31日国际报道:最近一段时间,闪存一直是新闻报道的热门话题,Texas Memory Systems和EMC最近又宣布了各自与闪存有关的新产品。

从服务器中的PCI-E固态硬盘到固态存储阵列,我们发现闪存在企业中的应用范围越来越广。可选择的产品越来越多,不同的存储阵列产品之间的界限越来越模糊。 本文简要地概述了目前市场上与闪存有关的产品以及它们可如何搭配使用。

部分闪存

目前,使用部分闪存有两种方法。 第一种方法是在分级策略中使用固态硬盘。 固态硬盘一直不被企业当做分级存储设备使用,因为它们价格昂贵,而且很难决定将那一台主机当做主LUN.最初的解决方案是将主机分割或将所有的闪存LUN都作为主LUN,但是这样做既费时又费钱。

模块级分级存储改变了这一功能,现在许多厂商如IBM、EMC、日立、惠普/3PAR和戴尔/Compellent都已经推出了这项功能。新功能可以将LUN分割成一个个的模块,然后根据活跃情况将每个模块放到对应的存储等级上。 这样就可以只将活跃数据的模块放在固态硬盘上。

这种解决方案比标准的分级方案更加有效,但是在可变的工作负载条件下,这种解决方案并不好用,因为活跃模块经常发生变动。阵列为了提高性能必须频繁地进行调整,因此而造成的时滞足以抵消这种解决方案能够带来的任何优势。

第二个可选的方案是将闪存用作写入数据的高速缓存。基于甲骨文ZFS文件系统的许多阵列就使用了这种解决方案。 它使用了一种名为ZIL的记录机制来映射固态硬盘。 然后再非同步地将数据转移到主磁盘。

读数据则利用一种名为L2ARC的固态硬盘高速缓存在内存中缓存数据。 ZFS解决方案的写数据性能与可用高速缓存的数量成正比。这种解决方案可兼顾高速缓存的成本和阵列写数据的性能。

如果想获得更高的性能,则需付出更高的成本。

全部闪存

如今的固态硬盘一直都是用于模仿和兼容标准硬盘。因此,开发一款完全使用固态硬盘的阵列是有可能的。 但这样做的成本是极其高昂的,但这样做真能提高性能吗? 在自第一款Symmetrix上市以来的20年里,所有的存储阵列厂商都在不知疲倦地设法提高I/O性能,以弥补硬盘的缺憾。

传统硬盘的I/O同时存在延迟和寻道时滞的问题,这些时滞根据工作负载类型的不同而不同。厂商们已经开发出各种技术如striping、镜像和高速缓存,将这种相对慢速的存储媒介中的价值都榨取出来。 如果我们将固态存储加入其中,这些设备的响应时间将比那些传统硬盘快很多倍,而且它们的性能也能超过能够满足I/O负载需求的阵列。

在传统硬盘的响应时间一度是个难以破解的难题的地方,我们发现I/O路径、高速缓存和处理器性能也都成了限制因素。成本效益的计算过程变得更加复杂,因为限制性能的因素太难预测了。 当然,如果有厂商愿意送给我一块固态硬盘来进行测试,我想我会乐意回答这个问题的。 据我了解,EMC是唯一一家认证和提供全闪存阵列产品的厂商。

专用闪存

并非所有的闪存阵列都是一样的。我们已经发现Violin Memory、Texas Memory Systems和Kaminario等厂商推出了一种全新的产品。它们的新产品使用闪存和DRAM来创造专与固态硬盘协作的存储阵列。 这意味着新产品在信息吞吐量方面堪与固态硬盘媲美,而且厂商们已经意识到固态硬盘和传统硬盘在技术上的差异。例如,固态硬盘的使用寿命是有限的。

厂商们利用了一些技术如磨损矫正来解决这些问题及提高所谓的耐写性。Violin Memory在这方面走在前列,它已经将磨损矫正技术应用到整个阵列之中,以保证尽可能长地延长固态硬盘的使用寿命。 毫无疑问,专用闪存阵列的速度性能是最快的。它们是按照既定目的而设计的,它们的价格只根据最大性能进行浮动。

总结

什么样的解决方案才是最好的解决方案呢? 这就要根据具体情况来定了。 首先必须了解工作负载的性质和需求,判断I/O延迟是否是限制应用性能的重要因素,但最重要的是,你还要判断降低I/O时间是否会大幅改善应用层的性能。固态硬盘解决方案是有可能大幅改善性能的。 问题是,你能否承担因此而增加的成本?