负责数据存储管理的IT员工,在决定使用固态存储(SSD)时,通常都会考虑,究竟是采取"SSD硬盘+HDD硬盘"的方式,还是采用纯SSD存储子系统的方式?
在做出这种决定之前,企业首先要考虑的是,究竟想将在这些价格不菲的SSD硬盘中保存什么数据,还有,采用哪种软件将历史数据自动地转移到SSD硬盘上来。
SSD硬盘短期内难以一统天下
SSD硬盘也许会在几十年后完全取代现有的HDD硬盘,但是就目前状况看来,这一天还很遥远。哪怕成本不是问题的话,我们短期内也难以用SSD硬盘取代所有的HDD硬盘,因为今天的SSD硬盘产能远远不能满足IT机构的总存储容量需求。
不过,现在出现了一些给人以希望的迹象:企业级SSD硬盘在降价。不久以前,企业级SSD硬盘的价格相当于同等容量的企业级HDD硬盘价格的40倍,现在,根据SSD硬盘的不同,这一价格比在25%~50%之间。
鉴于这种价格和容量上的差异(SSD硬盘容量通常都较小),数据存储管理员通常将SSD硬盘部署在需要高性能、低延时或节能的地方,作为现有HDD硬盘的补充。
目前,部署SSD技术有两种基本方式:一种是直接将SSD硬盘作为主存储来使用,一种是使用NAND闪存作为存储控制器中的高速缓存。
这两种部署方式都有各自的优缺点。不同的厂商会根据自身情况采用不同的部署方式。甚至有些厂商目前采用一种部署方式,而6到12个月后采用另一种部署方式。
用SSD硬盘作为主存储
对于直接将SSD硬盘作为主存储的厂商来说,其所使用的SSD硬盘一般都是标准硬盘外形。理由很简单,标准硬盘尺寸的SSD硬盘能兼容原有的存储系统设和配置。
这种SSD硬盘部署方式的优点是,利用少量的SSD硬盘(通常只占一个或部分硬盘架)就可以获得显著的性能提升。例如,一些用户报告说,只用了少量SSD硬盘,就在一些工作负载上取得了5到8倍的性能提升。
但是,凡事有利有弊,这种SSD硬盘部署方式也不是没有缺点。因为多数现有的存储控制器和系统并不是为在性能上高出一个甚至几个数量级的SSD硬盘而设计的,因此厂商一般不支持完全采用SSD硬盘的大型系统。不过,这种情况将随着厂商设计和生产可以管理更多SSD硬盘的控制器而改变。
我们还看到,市场上已发布和未来几个月即将要发布的SSD产品越来越多,其存储容量也将越来越大。
对于将SSD硬盘作为主存储的用户来说,另一个大的问题就是,究竟将什么数据保存在SSD硬盘上。表面上看,这不是难事,选择数据库索引、频繁访问的数据库表或临时存储区、日志文件或任何其它热数据就行。但是,这常常不是一成不变的解决方案,一些今天频繁读写的数据可能明天就不再频繁了。因此存储管理员、数据库管理员或其他IT技术人员必须连续监测数据使用模式,做好定期做出调整的准备。在某些情况下,这种增加的管理负担可能意味着太多的工作量和太高的运营费用,以致于抵消甚至超过了I/O性能提升带来的好处。
解决方式也不是没有,即采用某种数据识别软件。这类软件通过监测一段时间的I/O模式来识别热数据,然后以一种对主应用透明的方式将热数据自动地转移到SSD硬盘上,当这些热数据不再"热"了,又自动将它们转回到较慢的存储介质上。
许多存储厂商都提供实现这项功能的软件。而且该软件支持存储管理员定义热数据的活动级,设置监测的时间段,以及数据移动频率等相关参数。一些软件还能够根据它的监测结果提供数据分级的建议,例如,建议SSD硬盘与HDD硬盘之比为1:9。
基于SSD硬盘的独立固态存储阵列产品消除了将数据由更快的存储介质转移到较慢的存储介质的需要,因为所有的数据都保存在高速的SSD硬盘上。这种系统对于希望把整个应用和其数据保存在SSD硬盘上的客户具有吸引力,不过其价格自然不菲,一般只部署用于关键应用。
将固态存储作为缓存
另一种SSD硬盘部署方式是,把SSD硬盘当作缓存,部署在HDD硬盘之前,而不是替代HDD硬盘。这种方式下,所有的数据和应用都将从SSD硬盘中得到好处,而不仅仅是驻留在SSD层硬盘的数据,由此也克服了SSD硬盘和HDD硬盘之间自动化数据迁移的软件问题。现在的问题变成:为了最大程度地利用SSD硬盘,多大的缓存才合适?什么工作负载应当保存到缓存?
一些固态缓存解决方案被内置到已有的存储系统中,而另一些固态缓存解决方案作为外部设备来提供。添加闪存作为存储子系统中的缓存,实际上与今天计算机处理器中的L2缓存没有什么不同,这种增加的缓存容量为大多数操作改进了性能。此外,由于闪存是非易失性的,即使停电,这种缓存将提供某种额外的保护。但是,像缓存一致性,以及缓存是基于DRAM还是基于闪存的这类问题仍然存在。
通常,缓存与处理器或控制器连在一起,并且有多种可用来使缓存与多个处理器或控制器很好配合的缓存管理功能。此外,使用缓存技术的存储系统还为知道缓存的内部操作系统提供特殊的功能,并可以提供额外的灵活性,例如为存储系统上的不同卷分配不同的I/O优先级。
缓存设备既添加了缓存的好处,也不需要修改已有服务器或存储系统。这些设备很容易适应存储网络,可以为所有经过它们的I/O加速,甚至将数据同时发送给不同的存储子系统。许多设备可被设置为它们加速的任何卷执行回写(write-back)、通写(write-through)或直通写(pass-through)。一些缓存设备被设计为允许它们的内存模块可热插拔,因此在进行维护或扩展时无需关闭整个设备。
缓存方式面临的主要问题是多少缓存才算足够。对于许多工作负载和应用,相对于分配给这个应用的所有存储数量比较少的缓存(5%到20%)足以带来显著的性能提高。对于其它工作负载,缓存必须大得足以容纳整个卷才能取得明显的性能增益。
一切为了性能
不管固态存储如何部署,都将带来显著的性能提高。我们在试验室中测试不同的真实应用(例如电子邮件、数据库等),当为这些应用进行最优配置时,总体性能提高了7~9倍。
既然性能可以提高这么多,为什么不大量地选择固态存储呢?毫无疑问,价格是个因素。而且,当前还有一些用于提高常规硬盘性能的技术,如"短行程"(short stroking)硬盘。"短行程"技术通过只使用每块硬盘的部分容量保存数据,将数据分布到许多块硬盘上,即将数据存放在磁盘外缘的轨道上,磁盘机械臂行进到该位置的时间相对会短一些。为了取得所期望的性能目标,一些用户采用7:1、8:1或9:1的比率来"短行程"他们的企业硬盘。上述比例意味着他们只使用每块硬盘上1/7、1/8或1/9的可用容量。如果企业级SSD硬盘的价格是"短行程"硬盘的10~15倍,采用企业级SSD硬盘才划算。