当代企业数据存储系统在设计上可应付机械式硬盘存在的局限性,尤其是减少高延时和机械硬盘可支持的低IOPS数量的影响。而在使用固态硬盘(SSD)时,上述基本事实发生了改变,存储控制器的容量限制变成了制约因素。
如果添加太多的固态硬盘,利用SSD取代硬盘驱动器会令存储系统无法容纳。明尼苏达州Stillwater市的StorageIOGroup公司创建人、高级分析师GregSchulz说:"存储控制器才刚刚开始适应SSD的新性能要求,目前客户需要注意存储厂商有关他们可以添加多少SSD的建议和指导方针。"
下面介绍4种当前利用固态存储补充存储系统的方式:
一、添加SSD硬盘代替硬盘驱动器
利用光纤通道、串行ATA(SATA)或串行连接SCSI(SAS)接口添加SSD来取代硬盘驱动器是向已有存储阵列添加SSD支持的最容易的方式。虽然需要经过严格的测试和质检程序,但由于厂商可以利用已经部署的技术,因此这种方式只需要对系统进行很少的改变。
SSD与硬盘层之间缺少自动化数据迁移以及存储控制器的性能限制是两个最大的缺点。然而,这种方式为大多数厂商所采用。EMCCorp、Compellent、Fujitsu、Hewlett-Packard(HP)Co、HitachiDataSystems、IBM、LSICorp、PillarDataSystems、SunMicrosystems以及许多较小的存储阵列厂商除了提供硬盘之外,都提供SSD硬盘。其中的大多数厂商采用STEC公司的SSD硬盘作为他们第一代SSD.这主要由于STEC是第一家能够满足企业存储要求的厂商。随着像SeagateTechnology这样的硬盘厂商、PliantTechnology和SandForce等前景看好的新兴厂商以及Intel公司将目标瞄准这一企业存储领域,STEC的统治地位将发生改变。
二、使用NAND闪存作为存储控制器中的高速缓存
NetApp和Sun利用NAND闪存作为高速缓存,克服了SSD和硬盘层之间自动化数据迁移的软件问题,但是这些厂商改变了产品的架构来适应NAND闪存,以消除添加太多的SSD存储令他们的存储阵列无法容纳的可能性。通过将NAND闪存放在硬盘驱动器的前端而不是取代硬盘,所有的数据和应用都将从SSD中得到好处,而不仅仅是驻留在SSD层中的数据。
NetApp提供性能加速模块(PAM)。该产品可以利用已有的PCIExpress插槽添加到任何NetApp文件服务器中。根据控制器的不同,目前最多可以安装5个模块组成容量多达80G的统一的缓存,一年后当更高密度的PAM卡上市时这一容量将达到512GB。
与NetApp不同,Sun在其SunStorage7000统一存储系统中使用闪存来缓存所有的读写操作――不仅仅是元数据――因此拥有支持闪存的最先进的架构。SunStorage7000统一存储系统在一个具有优化的存储栈和支持由DRAM缓存、SSD和机械硬盘组成的混合存储池的Zettabyte文件系统(ZFS)的x86平台上运行Solaris。
固态硬盘安装在基于DRAM的自适应替换缓存(ARC)和SATA驱动器之间。ZFSIntentLog(ZIL)被写入到写操作优化的SSD中。ZIL记录写操作日志,使文件系统可以从系统故障中恢复。L2ARC缓存包含读操作优化的SSD,以扩展基于DRAM的ARC缓存来进行读操作;L2ARC规模可以达到数百G字节,其目的是将工作数据保持在内存中来最大限度地减少硬盘存取。据Sun说,混合存储池使SunStorage7000统一存储系统可以支持800,000以上的IOPS。
三、在服务器上而不是存储控制器中采用NAND闪存
虽然SunStorage7000统一存储系统是一种独立系统,但它为那些认为闪存属于服务器而非存储控制器的人提供了论据。Fusion-io公司首席技术官DavidFlynn解释说:"正如L2缓存扩展了CPU中的内存,DRAM扩展了L2缓存一样,闪存用于扩展DRAM."Fusion-ioioDrive和ioDriveDuoNAND闪存PCIExpress卡为服务器提供直接连接存储(DAS)。作为一家也销售存储产品的服务器公司,Sun同意服务器是使用闪存的合适的地方的观点。Sun公司的Cornwell说:"闪存是服务器架构的游戏改变者,下一代服务器将利用闪存扩展DRAM缓存。"
四、独立SSD阵列
利用与传统破除存储阵列并行运行的基于SSD的存储系统补充硬盘阵列是向存储环境添加固态存储的破坏性最小的方式。独立SSD阵列的领先厂商是TexasMemorySystems公司。这家公司除了提供基于DRAM和NAND闪存的SSD阵列外,还直接和通过与BlueArc、NetApp以及其他公司的OEM关系销售RamSan产品系列。在缺点方面,独立固态系统不能利用已有的阵列组件,因此成本可能更高。此外,它们与硬盘层的集成程度不如其它架构方式,从而使克服固态硬盘与硬盘层之间的数据迁移挑战变得更加困难。