IT组织通常默认采用一级存储,因为用户需要高性能。然而,一级存储是最昂贵的解决方案,并且它取决于物理磁盘的数量以应对总的IOPS要求。闪存与二级甚至三级存储的硬盘相结合的方式可以提供比一级存储更高的IOPS,而总价却更低。
大量IT组织依旧信赖一级存储——作为他们的定心丸所带来的最佳性能。为了达到本次讨论的目的,我们将这些设备定义为单碟300 GB或更低,15000转光纤通道(FC)的硬盘驱动器。一级存储策略的一个主要优点是简化的架构,对任何性能方面的负面影响绝缘。这样也比较容易通过增加每个设备的IOPS来计算总IOPS。然而,在很多情况下,存储管理员必须跨大量磁盘碟片进行LUN扩展,以便获得某特定应用所要求的总IOPS。这种操作过于频繁,就会导致利用率非常低——甚至低达20%——反过来让每GB的有效成本增加200%到400%。
为阵列添加一个闪存的缓存层可以大大提高阵列的性能,但在通用的层面上。 IOPS需求通常遵循80/20法则,即20%的应用程序消耗80%的IOPS。随着阵列级SSD部署使用,不需要加速的应用也可能会占用宝贵的IOPS,而这些IOPS本可以用于更高价值的应用程序。现在,厂商通过在同一个卷里增加一个包括硬盘和闪存的“混合层”来提高闪存的灵活性。这使得闪存可以被用于最需要的应用程序。闪存所带来的巨大性能提升可以让IT组织从一级存储迁移到二级甚至三级的硬盘类型,同时仍然为特定应用提供必要的IOPS。下面是数学计算。首先,不同层次的驱动器的原始IOPS如下所示:
· 一级存储(硬盘):146GB,15000转,FC——185 IOPS
· 二级存储(硬盘): 600GB,15000转,SAS——175 IOPS
· 三级存储(硬盘): 3TB,7200转,SATA——75 IOPS
· SSD(闪存): 512GB 闪存卡——50,000 IOPS
然后,让我们考虑一个10TB容量(主要是为计算容易)。采用最极端的例子,让我们比较一级存储和三级存储的容量。在这种情况下,我们需要69块146 GB的硬盘才能等于10 TB,或者是4个3 TB的SATA硬盘。69块一级存储硬盘可以产生10,074的原始IOPS,而三级存储仅仅只能产生300 IOPS。看起来这并不像是一场公平的较量。然而,通过创建一个混合的三层存储,其中闪存容量为512 GB,只占硬盘容量10 TB的5%,我们就能得到50,300 的原始IOPS。这只是一小条闪存卡所带来的巨大性能飞跃。
再考虑成本,让我们假设每个146 GB硬盘驱动器的售价为1400美金,每个3 TB硬盘驱动器售价2900美金,而512 GB 闪存卡的成本为40,000美金。于是采用一级存储硬盘的方案总造价为96,600美金,而混合闪存方案总价为51,600美元。在每GB基础上,一级存储的价格溢价略低于2倍。在每IOPS基础上,一级存储方案的成本为9.58美元,而混合闪存方案仅为1.03美金。最重要的是,混合闪存方案对空间、功耗和冷却的要求都要低得多。
对于特定磁盘驱动器的IOPS有无数种方式进行争辩,比如现实世界中不同阵列厂商的设计存在效率差异等等。还有如果使用300 GB的光纤通道硬盘驱动器将削减一半硬盘数量而保持大致相同的原始IOPS,但每个驱动器的价格会更高。最后的比较结果会更接近一些,但在每IOPS价格上依然差距明显。此外,这里引用的数字只是为了反映企业存储阵列的基本情况,所以也有人会紧抓绝对数字到底是多少来大做文章。但是,最终比较结果仍然适用。所以,上面的例子尽管只是一个例子,但像所有公式一样,将适合用户应用环境的数字代入公式,差距将是那么的显著,以至于最终结论可能都是一样的,仅仅是数字稍有不同。
使混合分层系统工作的一个关键部分是自动化分层软件。这是在您的计算中需要额外考虑的一部分费用。尽管随机读取并不像人们想象的那样随机,厂商缓存软件的命中率是决定整体性能的关键因素。如果后端磁盘的存储数据被频繁命中,这将抵消掉很多闪存的优势。那些按顺序读取整个卷的内容的应用程序依然会受益于闪存,但其性能的改善可能不像其他应用程序那么大。混合分层系统的确需要更加缜密的思考和设计,但即使不能完全消除,IT组织使用的低容量高成本的一级存储硬盘也将大大减少。