存储设备和分层软件:谁是存储的未来?

日期: 2011-08-04 翻译:存储时代 来源:TechTarget中国

俗话说:“如果你问五个经济学家对于某事的观点,你将得到十四种不同的答案。”大概就是说任何的评论员都能容易地给你一些关于某个主题的解释,但是经济学家似乎比他们能解释得更好。

我相信随着科技的急速发展,IT也一样。所以说存储更是这样,从技术到用户,再到应用,都在飞一般地变化着。

当几位存储专业人士聚到一起的时候,他们的话题总会转到存储的未来上。比如说我和Henry Newman 在一起录制关于Linux文件系统这一系列的节目时,我们就会被问到,当我们领导着这一领域时,将会发展什么类型的文件系统或存储技术。

我决定写一些关于存储未来发展的趋势,尤其是存储设备和分层软件,因为我觉得这两个主题需要放在一起来说。

7200转与SSD欲分天下 15000转或陷囧境?

我们发现,越来越多的应用的性能是由IOPS性能控制的。在高性能计算(HPC)中,检查应用I/O模式显示小的读写函数调用比之前预估的更为普遍。从典型的程序中可看出,读取GB级数据甚至TB级数据有大量的1k和4k的读写函数调用。所以,通过这些工作负载不难看出,占主导地位的IPOS I/O 模式已深入到操作系统和文件系统中。

有些任务是去帮助操作系统处理以IOPS为主导的工作负载。其中一个方法是在存储服务器中使用大量的缓冲区,允许系统将小的读写函数合并成为大的函数调用中去。因为这样能够减少IOPS的影响,可能会使得工作负载变得更有顺序。然而,这样有时会需要巨大的缓冲区来做这个事情。此外,这还会导致很大的延迟,因为每个被保留在缓冲区的具有I/O功能的数据试图合并到一个单一的请求中。在试着转换IOPS工作负载到连续的工作负载之间有一个分界线,它并没有升级到非常高的延迟。因此实际的结果很大一部分取决于那些特殊的应用以及工作负载。

我们还发现,有比我们预想更多的工作负载使用随机IOPS而不是连续IOPS。连续的IOPS是合适的工作负载,因为许多系统能够接受它们而且能将它们合并到单一的请求中,仅使用极小的缓冲区,因此只有很小的延迟。所以致使所需的IOPS比我们期待的要小。但是如果有足够临近的IOPS功能,你可以将请求转换到单一的更大的I/O请求中。然而,对随机的IOPS来说,没有太多你能够做的事情,除非在存储服务器中做个特别大的缓冲区。

使用这些趋势,应用到存储设备中,能够看出当应用正在运行中时,我们需要更大IOPS能力的设备。我以IOPS的能力来将存储设备按如下归类:

• 7200转SATA/SAS驱动器:100-125 IOPS性能

• 15000转SATA/SAS驱动器:200-300 IOPS性能

• SATA/SAS SSD: 10000-100000 IOPS性能

• PCIe SSD: 100000-1000000 IOPS性能

对第一项来说,这些数字是随机或连续的IOPS,尽管一些设备有很低的随机IOPS性能,你可以看出在旋转磁盘驱动器和固态硬盘之间的IOPS性能有很大的差异。在7200转的SATA硬盘和PCIe SSD的IOPS上有三到四个数量级的差异(从1000到10000)。

与此同时,每GB存储的价格的也有数量级的差异,在7200转的SATA硬盘和PCIe SSD之间大概差2-3个数量级。

最后,从7200转硬盘到PCI SSD或SSD上具有2-20种不同容量的差别。我们知道目前已经有3TB容量的SATA/SAS硬盘了。虽然现在也有更大容量的SSD或PCIe SSD,但他们的价格都贵得出奇。因此,SSD或PCIe SSD的所谓“标准的”容量应该在200GB到1TB之间。

大容量的7200转的硬盘具有非常高的性价比但IOPS性能非常的低。另外,虽然SSD的IOPS性能非常高,但性价比又非常低。

夹在中间进退两难的就是1.5万转的驱动器了。性价比高于SSD,低于7200转的驱动器。然而,当你把SSD也考虑进去做比较时,15000转的驱动器的IOPS性能并没比7200转的好多少。

我认为,1.5万转的驱动器已陷入了一个窘境。我估计它将在几年之内便会消失,只剩下7200转的驱动器和SSD驱动器。毕竟15000转的驱动器集成了旋转驱动器的缺点(低IOPS)和SSD的缺点(低容量与低性价比)。按逻辑想一下就会得知,企业将会在基于SSD的存储器上运行应用,然后将其储存在7200转的驱动器上(或存储在磁带机上)。

分层技术:目标已定 如何实现?

然而,未来根本不是有保证的。为了实现这一目标,我们必须找个好的方法有效地将数据从7200转驱动器中迁移到SSD中。我不认为将固态存储放入旋转存储中作为额外的缓存是一个正确的方法。然而,还是有一些相当有趣的存储系统是使用SSD作为缓存的。

整合这两种类型存储(低成本,大容量的旋转驱动器和SSD)最显著的方法是使用分层技术。分层技术成功的关键就在于能够在两个存储层中快速的迁移数据。比如,你可以从一个应用中拦截open()调用程序一直到开始迁移不同层中的数据。如果结合一系列应用,而且这些应用在运行中使用高速的存储设备,你就可以得到全部效益却不需花费全部费用。为此,存储系统和分层必须识别当何时需要做数据迁移,然后快速地执行。

另外,在一个应用运行之前,数据或从低速存储器中被迁移到高速存储器中。这被称作为“数据迁移升级”(Staging the data)。这种方法能用于HPC中并产生良好的影响,因为应用使用排程器(Job scheduler,也称为资源管理器) 来运行程序,当用户指定一个事件时,它是如何运行的,需要多少处理器来工作,需要多大的内存,哪个文件被用作输入,哪个文件被用作输出。以上这些,用户都能够提交自己的排程器中。排程器能够决定用户指定要求的任务在何时何运行。排程器还能从低速存储器中复制输入文件到高速存储器中,以便为将要运行的应用做准备。当应用运行结束的时候,排程器可将文件从高速存储器中再迁移回低速存储器中来。

但是分层的方法比使用作业调度器更好,因为它们发生在用户不知道的背后。然而,现有的分层软件不见得有能力快速识别数据何时需要迁移到高速存储器并快速实现这一行动,所以它有极限值。大多数的分层软件需要存储了解文件中数据块的使用模式。过一段时间之后,可能会将它们迁移到基于测定的高速存储器中(也可能是预计的)。因此,现在真正需要的是更出色的分层软件,而不是目前这样不给力的软件。

现有磁盘不给力 新老结合才王道

这只是一个预言……我很容易错误的认为我是对的,但是我认为我们有必要思考未来存储的发展方向。我们目前着眼于工作负载,更多的是基于IOPS。但与此同时我们还需要更大的容量。可关键在于,当运行应用的时候,我们真的仅需要高IOPS性能,因此我们可以把一部分存储做成一个基于固态盘的小型系统,在合理价位上具有高IOPS性能,但同时只有较低的存储容量。然后,我们再建一个容量很大但是性能很低的存储池,使用大容量和低成本的7200转驱动器。因此,我认为15000转的驱动器将会于未来几年在市场上消失。

另外,成功的关键还在于将两个存储池通过中间件结合在一起,确保数据能够容易的在两方之间迁移。使用分层软件或许是最好的解决方案。但是现有的软件实在很糟糕。因因此,需要做的就是快速地确定数据在何时必须从低速存储器中迁移到高速存储器然后再迁移回来。由于数据迁移的原因,这不会具有太高的应用性能。

当前的分层软件还做不到这一点,但是我希望厂商能知道这些问题,以便改进它们。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐

  • DIY生成混合SSD存储

    通过对已有存储添加闪盘驱动器来生成混合SSD存储,这可能吗?如果驱动器和存储可以兼容,那么就肯定能在存储中添加SSD,并且其性能优势显而易见。

  • 谈谈节能磁盘系统

    前不久,Adaptec公司抛弃了其RAID控制器中的Green Power Initiative功能,取而代之的是Intelligent Power Management新功能,它可以在不影响性能的情况下节省70%的能耗……

  • 数据迁移第一步:了解映像

    数据迁移工作可能复杂而费时,而且频繁发生。本文提供了一些简便方法。不论你的数据一年或两年前存储在哪种介质中,可能早已被移动……

  • ProStor RDX发展势头良好

    根据IDC的数据,RHDD驱动器和存储介质的总市场规模将从今年的大约9800万美元增加到2009年的1.78亿美元和2012年的5.15亿美元……