性能是绝大多数公司在购买固态存储阵列时考虑的驱动因素。然而,考虑到其他一些方面,大部分公司需要的仅仅是一台速度更快的存储而已。
一些闪存存储的用例包括高密度虚拟服务器架构、虚拟桌面架构、高速交互数据库以及web应用。当人们对共享存储(与之相对的则是把闪存直接用到服务器上)有需求的时候,两种选择就出现了:全闪存阵列和混合闪存阵列。
这篇文章将会从这两种类型的存储系统入手并展开讨论:如何决定哪种固态阵列最适合自己的存储环境。
全闪存阵列
正如名字里说的那样,全闪存阵列就是全部采用固态硬盘的存储系统。有些阵列采用既定固态硬盘,而有些则采用自定义闪存模块来实现阵列集成。这两种模式在可扩展架构(scale-up和scale-out)中都有采用。全闪存阵列支持文件级、块级或者对象存储协议,而有些联合配置方法则支持多种协议。
大多数全闪存阵列都提供完整的服务体系来支持数据保护、处理、性能优化等。然而早期的全闪存阵列都缺少这些功能。与此类似,存储管理软件集合也有了相应的进化,正如大部分全闪存阵列中都集成了存储管理体验一样(和传统存储系统类似)。全闪存阵列目前支持几十TB到几PB的存储空间;而数据去重功能在其中显得尤为重要。
闪存作为一种存储介质要比传统的硬盘系统开销更低。其在电力消耗、散热控制以及占用空间方面都要优于后者。由于存储介质的同质性,全闪存阵列不需要做太过复杂的决策或者数据迁移。这使得它们在性能和可扩展性上更具优势——尤其是在多用户环境,这些因素使得全闪存阵列更具适用性。
混合闪存阵列
混合阵列中通常包括2.5英寸闪盘以及HDD,其目的在于降低成本的同时提高可用空间。这类存储同样支持scale-up和scale-out架构,通过采用按目的定义或者商用硬件定义的方式,其提供的混合裸空间(HDD和SSD)要远超大部分全闪存固态存储阵列。
当前的混合阵列支持块级、文件级以及基于对象的存储协议,联合存储系统也同样支持。存储服务以及管理功能和传统阵列类似,从可操作角度看,这使得后者向前者的转化更为简便。
考虑到大多数的性能需求都是临时的,存储系统可以根据需求把特定的数据对象在闪存和HDD之间进行转移。这就产生了一种“乘数效应”:少部分的闪存就可以对更大数据集合进行加速。当今的混合阵列利用缓存或者分层技术实现这种数据转移。
缓存和分层
读缓存可以把一份经常被访问的数据对象留在闪存中,这就使得读操作可以直接得到实现而不会产生任何硬盘调用延迟。
由于缓存空间非常珍贵,因此混合固态存储系统对缓存空间利用的越好,整体性能也将会提高的更多。尽管读操作是目前混合阵列中闪存的主要支持对象,但大部分阵列也利用缓存来对写操作进行加速。
写缓存会把写入的数据暂存到其中,主机识别到写操作被识别的指令之后,数据再被写到HDD上。所有的数据最终必须被写到硬盘上,所以固态存储阵列需要一个足够大的写缓存空间(读缓存的空间则相对较少)或者足够的非写入操作时间来满足缓存的容量。否则,写操作的性能会大打折扣。
与在缓存中创建第二份数据拷贝的机制相反,闪存分层技术会把热点数据移出硬盘而转入闪存区进而保证其活动性。理想状况就是所有的读和写操作都会在闪存中进行。最终,数据会被写回到HDD层,这个过程可以人为干预也可以按照既定策略完成,毕竟这个过程是在缓存中完成。
响应速度作为业务应用的关键因素也带动了闪存的普及,同时这些应用也往往会根据闪存的性能做出相应的调整。当缓存或者分层出现异常的时候,应用必须能完成从硬盘读数据的动作。然而,部署在混合固态存储阵列中的磁盘往往都是低性能高容量。这样一来,产生的延迟通常会超过用户的承受范围,例如在线交互速度降低以及生产应用的性能出现瓶颈等等。因此,对于工作负载的预测就成为了在混合阵列中有效部署闪存的关键因素。
其他考虑因素
具体用例并不能说明哪种阵列更适合你的环境,因此第一步要考虑的就是,你的环境或者应用是否有与其不搭配的情况。对于全闪存阵列来说,容量和成本则是其考虑因素。如果应用的当前或者预期数据容量远远超过可用的闪存空间或者预算又不允许进行闪存扩容,显然就不该考虑这一类型的阵列。在做出购买决定的时候,一定要考虑到数据量减少之后闪存系统的有效使用空间,同时也要考虑到阵列的整体裸空间情况。
如果你的环境需要数据100%的一致性并对缓存或者分层有严格需求,那么全闪存阵列将会是一个更好的选择。这类用例包括金融以及基于网络的高性能计算行业。全闪存阵列的性能优势也可以保证这些系统在云环境下的多用户访问效率,尤其是对性能有特定需求的条件下。
对于IT部门来说,全闪存阵列相对于混合阵列更具有吸引力的地方就在于其数据移动能力。就算这不作为一个考虑因素,全闪存阵列使用的简洁性也帮助其赢得了更多的买家。如果他们可以为其对性能有需求的应用支付起足够的闪存空间,那么就选择全闪存阵列。如果不能,还是买一台混合阵列吧。
如果业务应用能够承受一定程度的缓存读丢失,那么混合固态存储阵列也不失为一个好的选择,因为它可以在特定的经济水平下满足更多业务的需求。如果用户能够更好地理解其业务对存储的具体需求同时在缓存调优上能够做的更好,性能随之提升也是有可能的。混合阵列内部的高容量硬盘可以提供更多具有成本优势的扩容,尽管这些都仍然维持在HDD的性能水平。
事实上,大部分的用户为其混合阵列购买闪存的原因是他们并不清楚对闪存的具体需求或者说他们更多的关注在省钱而非性能的提高上。混合阵列供应商对此也难辞其咎,毕竟与全闪存供应商相比,他们可以通过低价出售闪存的方式获得更高的收益。总的来说,统计数字显示对于一台新的混合存储阵列,闪存的配置情况仅占到硬盘容量的5%,而三分之二的缓存命中率也意味着有另外三分之一的业务交互并没有通过缓存来执行。在大多数环境中,对于闪存的投资提高10%就可以明显的提高这一指数。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。