纠删编码:确保RAID失效后的数据可用性

日期: 2011-08-17 作者:Amplidata翻译:杨捷 来源:TechTarget中国 英文

    纠删码是一种前向纠错技术,几十年来一直以多种方式被使用,现在这项技术正逐渐应用于一种新的高容量存储系统中,用以解决RAID的局限性。

  RAID在保护大容量驱动器中的数据时有一些后继无力,因为RAID技术是在1GB驱动器出现前发明的。其基本理念是将数据分散在这些小的驱动器上,因此单个硬盘故障不会导致数据丢失。

  当今的高密度磁盘驱动器让数据保护变得更加复杂了过去的20年间,驱动器的密度增加了两万多倍。企业级存储系统装有的单个驱动器容量就达2TB或3TB。此外,存储容量成本也很大程度地降低了:一个2TB的SATA驱动成本约为$100。

  分析:用更大的磁盘改变RAID的施展空间

  这些新的高密度驱动的成本/容量使让比过去更具吸引力的价格将大量数据存储到旋转存储介质中提供了可能。那么,将大规模的数据保存到高密度驱动上,比如说P级别甚至更大容量的数据会出现什么问题呢?

  目前的1TB 和 2TB磁盘驱动器中,RAID很容易导致数据丢失,因为RAID的重建过程很长,需要一天甚至更长的时间来完成某些安装启用。如果任务的优先级较低,保证正常I/O性能时,重建过程甚至会更长。

  如果磁盘驱动器密度继续增加,重建时间会长达数周也是不足为奇的。随着驱动器数量在可控范围内不断的增加,根据磁盘驱动器标准年故障率不高于3%的行业标准,一些用户或许会不断地进行RAID重建。

  在RAID-5上增加第二层保护,也就是现在的RAID-6,这个方法使得即使两个磁盘驱动器同时发生故障,数据也不会丢失。这是为了应对驱动密度增加到几万兆字节出现的技术。

  处理大量磁盘驱动器尤其是长时间重建的时候,第二个驱动器故障(RAID-5组中),或第三个驱动器故障(RAID-6组中)出现的可能性会大大增加。此外,重建RAID组的时候,如果系统碰到一个不可恢复的读错误(URE)将导致数据丢失。丢失6个或以上的磁盘驱动器,并且每个上面存有1T容量或更多的数据的话,这对企业而言,必然会造成灾难性的后果。

  纠删码工作原理解析与实现效果

  纠删码能站在接受者的角度,将数据变成多个数据包,编入额外的信息,发送给接受者,然后解码并重新组成原始数据。关键是接受者能重组数据,即使是在某些数据包在传送过程中丢失的情况下(也就是说,接受者有原始数据包的子集)。

  纠删码是伴随这CD,DVD和蓝光光碟的出现而兴起的一种数据保护方式,这些光碟即使出现了划痕或者光盘表面出现严重损坏,仍然可从中读取数据。应用程序中最常见的纠删码算法就是大家所熟知的里德所罗门码,它是上世纪60年代在麻省理工学院的林肯实验室开发出来的。

  纯纠删码算法的使用可以实现RAID-6中双驱动器故障下的数据保护。某些安装程序实现了针对故障的多重数据保护,还有一小部分甚至能够允许用户(或存储管理者)将保护水平细化成具体策略。

  比如,管理者可以选择数据可用度是在16个磁盘中出现4次故障的时候仍继续可用呢,还是16张磁盘出现6次故障的时候,或是30张磁盘出现10次故障的时候仍可用。这就解决了传统的RAID不能两个硬盘同时出现故障的关键性问题。

  存储数据可用性可通过数据编码和分布来实现。写入的数据(例如文件、视频或图像数据)先分解成一系列的数据块。然后通过适用于这些数据块的纠删码机制进行改造,并生产较大的纠删码验证块。

  然后这些纠删码码块分布在存储系统中的各个驱动器上,这样即使一个或多个硬盘发生故障,存储系统也能够重新恢复损坏数据。

  更为重要的是,我们不仅需要注意数据的有效性,还要注意底层的存储效率。现在有一些适用于存储系统的纠删码码技术产品,也有一些较新的衍生版,如喷泉码、飓风码或在线纠删码。

  每一种在应对多组件故障、不可恢复的读取错误和损坏的数据保护方面都具有独特的优点,大多数软件在系统元件故障时,还提供数据自动修复功能。这些系统还能够提供非常高等级的存储数据可用性,这就意味着其可大大降低每年的数据丢失率。

  在目前的云存储环境中有一个共同的数据保护机制,即保持文件的多个副本(注:例如目前流行的“三副本云服务”)。云能够提供高等级的存储可用性,但这也将花费三倍的潜在资源和运营成本(硬盘、电能、散热、占地面积和成本支出)。

  如果是300MB,就无需考虑这个问题了。当100PB有效空间需要300PB未使用空间来确保可用性的时候,它可能会变成一个限制因素。投入成本事实上要比RAID-6高(用200%的存储经费做三个备份 VS 用150%的经费使用RAID-6)

  有了纠删码技术,就可以实现相对低成本下的高等级存储可用性了。在安装启动模式中,保护数据在16磁盘4次故障的情况下可用需要经费的60%。也就是说,每PB的有效空间需要1.6PB的未使用空间。

  和其他方法相比,它可以有效地节省运行成本。使用了纠删码的存储系统因此有机会以更经济的方式将数据存储到高密度磁盘驱动器上,并保证数据的可靠性和持久性 。

  Amplidata成立2008年,由当时一个存储领域退休人员组成的团队开始这项技术的研发,后来基于该项技术建立了AmpliStor——一个旨在解决散乱数据存储问题的优化目标存储系统。该技术的核心是以最低的成本提供最高的存储可靠性和可读取水平。AmpliStor可以扩展到P字节,和传统方法相比,保护数据所需的存储容量要低50-70%。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

相关推荐

  • RAID类型详解

    RAID可以实现更好的存储性能,带来更高的可用性。市场上有许多种不同的RAID类型,阅读本篇RAID各类型的详解有助于了解其最适合的场景领域。

  • Fujitsu基于Ceph推出Eternus CD10000

    Fujitsu最新推出基于Ceph的Eternus CD10000,该产品加入了优化的纠删码、容量侧重和性能侧重的存储节点、内部备份以及为灾备设计的分离式集群等特色。

  • 除了成本 你还要关注的数据湖架构隐忧

    尽管IT部门往往更关心数据湖存储系统的成本,但数据持久性和安全也是不容忽视的重点。

  • 存储经理人2015年8月刊:虚拟世界的存储管理

    《存储经理人》2015年8月刊重点关注虚拟化存储管理,内含最新存储质量奖备份应用评选结果、灾难恢复采购调查以及数据恢复最新趋势分析。同时,本月还关注软件定义存储、纠删码应用等热门话题。