纠删码的利弊权衡:存储的增加及更新磁盘的需求

日期: 2013-12-24 作者:Carol Sliwa翻译:Michael Zhang 来源:TechTarget中国 英文

纠删码是一种防止设备故障及大量数据丢失的机制,但它对于大多数企业级IT公司而言,可能并非一种最佳选择,一位研究存储技术的大学教授如是说。 Ethan Miller(加州大学圣克鲁斯分校的计算机系教师)说纠删码的弊端在于IT公司需要为冗余的信息提供更多的存储设备,同时他们需要更新用于冗余计算的所有磁盘。 Miller教授从事纠删码及其在存储系统中的应用的研究,他同时也在Pure Storage(销售企业级固态存储阵列的公司)任兼职。然而纠删码不是他在该公司中的主要研究对象,而Pure Storage的产品目前也并没有采用基于RAID5和RAID6组合的纠删码。

在此次TechTarget的资深编……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

纠删码是一种防止设备故障及大量数据丢失的机制,但它对于大多数企业级IT公司而言,可能并非一种最佳选择,一位研究存储技术的大学教授如是说。

Ethan Miller(加州大学圣克鲁斯分校的计算机系教师)说纠删码的弊端在于IT公司需要为冗余的信息提供更多的存储设备,同时他们需要更新用于冗余计算的所有磁盘。

Miller教授从事纠删码及其在存储系统中的应用的研究,他同时也在Pure Storage(销售企业级固态存储阵列的公司)任兼职。然而纠删码不是他在该公司中的主要研究对象,而Pure Storage的产品目前也并没有采用基于RAID5和RAID6组合的纠删码。

在此次TechTarget的资深编辑Carol Sliwa的采访中,Miller教授也讨论了纠删码对于备份的影响,在数量级达到多少的时候就会让纠删码成为一个严重的问题,将纠删码的阀值设置在什么位置以及从长远的角度来看待纠错码对存储系统的影响。

专业IT技术人员需要对纠删码了解多少?

Ethan Miller:我认为对于专业IT人员来说,他们应该了解什么是纠删码可以做到的,而什么是它做不了的,并且知道在使用纠删码保护大量的设备故障或数据丢失与使用纠删码只能保护一小部分损失之间有哪些利弊权衡。

你为什么会想要选择这种纠删码用于保护大量损失,而不是选择另一种来保护大量损失?显然人们会认为能保护得多总比少来得强,但是这也有缺点。

缺点在哪里,纠删码的优点又在哪里呢?

Miller:一个明显的缺点在于保护更多的数据丢失意味着需要更多的冗余磁盘,换句话说,有更多的磁盘空间被用于存储冗余信息而不是数据本身。所以就需要花费多余的存储空间,但这只是问题的一部分。

另一个问题是,每当你对数据作出改变,比如说向阵列中写入一些数据时,不光是那个被写入数据的磁盘需要更新,同时其他所有的与那一小部分新数据相关的冗余磁盘都要被更改。

因此,对于RAID 5而言,每当你向阵列中写入一小部分数据,那块校验磁盘也要得到更新。对于RAID6而言,每当你写入一些数据,两块校验磁盘需要得到更新。如果你有八块冗余的磁盘,你每做一次小的写操作时,虽然只应该是对一块磁盘有操作,但事实上八块冗余盘上都要进行信息更新。

现在我们可以把这些冗余信息加以整理一并保存起来,但是如果有越来越多的冗余信息时,你必须增加写操作的数量。所以,很明显的,除非有必要,不然这就会造成金钱上的浪费,同时也很难平衡你的存储阵列。这就是为什么你不会想要拥有很多的冗余。

需要指出的是,这并不影响读操作。假设你的系统工作正常,你并不会去读那些冗余的信息。但是它对写操作时有影响的。所以,如果你有大量写操作的负荷,这将会造成问题。

如今看来,纠删码带来的好处之一是让我们能容许更多的出错。比如说,如果10块数据里我存储了三到四块冗余数据,这样环境中的任意四块数据出问题都不会造成影响。正是有如此的高冗余性,大多数IT部门对磁盘坏都不是很担心,另外单坏掉一块磁盘的概率远高于四块都坏掉的概率。但如果整个数据中心都遭到了损坏,那么在该数据中心的任何冗余保护都无济于事了。因此,在确保了数据中心内部的高冗余性后,则需要考虑一下一些人为故障或者整个数据中心灾难该如何应对。这也是为什么大多数云服务提供商在对待单点数据中心数据保护的态度则是不会提供超过RAID 5或者RAID 6级别的磁盘冗余保护。因为他们知道如果丢失了整个数据中心的连接,再高级的保护也是徒劳的。

纠删码可以替代数据备份吗?

Miller:这要看备份操作的目的是什么。一方面的原因可能是为了防止人为操作失误。一旦有这样的情况发生,比如人为操作导致的故障或者损坏了数据,那么纠删码不会有太多效果。

备份的另外一种原因往往是纠删码也无法解决的,就是整个站点的损坏。因此,假想我们在站点内有非常好的一套纠删码机制,假设每1000万年才会出现丢数据的事故,那么纠删码的使用也会是一个不错的方法,只要不要站点着火或者坍塌,要知道这是每1000年会发生的事故。

另一方面,合理的使用纠删码将大大降低丢失数据的可能性,使用跨站点的纠删码或者使用原有数据拷贝的快照以防备人为错误。因此,我们认为这不会取代备份对我们的意义,然而如果搭配好其它技术一起使用,那么将能降低对备份本身的需求。

当IT部门的数据到达多大规模的时候我们建议开始考虑纠删码技术?

Miller:很遗憾的是,我不能帮你做这个决定,这要取决于你可以介绍丢失数据的程度。对企业来说,如果他不介意丢失数据或者不介意找回丢失数据所需的额外花销,那么可以继续维持到现有的RAID6磁盘冗余保护技术直到数据规模达到PB级别。

如果数据对你很重要或者你不能接受数据丢失,那么在即便数据规模不大的时候,我们就建议开始使用纠删码技术。对于这类人他们也需要考虑和RAID 5或者RAID 6技术混合使用的镜像技术。

因此,这的确取决于负载情况。如果负载多数集中到读操作上,那么相比于那些负载集中在写上的用户纠删码则更为有意义。同样也取决于数据本身的价值。换句话说,一旦发生数据丢失,你是否可以接受因此产生的风险?另外,所有这一切通常都与其它丢失数据的原因相关。正如早先说到的那样,在单一数据中心里任何的纠删码技术都是徒劳的,一旦发生数据中心级别的灾难。因此你需要权衡如上描述的所有因素来判断何时开始或者停止使用纠删码技术。

但需要知道的是,除非是存储上自带这样的功能,否则自己实施将会比较麻烦。因此除非有非常资深的纠删码实施人员,否则建议购买整体解决方案。

终端使用者将如何决策需要在多少数据上使用纠删码?

Miller:这是在写操作性能需求以及存储成本之间的权衡比较,尤其是使用了纠删码的会更慢。越多的使用纠错码,存储的成本就将降低,这是因为这将可以在不用大量数据存储的前提下即可防范大量的数据丢失。因此,权衡点在是否有更多的数据可靠性,纠删码的使用将降低性能,那么就将投资更多以保证性能。而越少的可靠性便意味着写性能会更好。正如我之前提到的,读性能往往不会受到写纠错的影响,出发真的发生了故障,那么也这将是体现纠删码价值的地方。

因此一旦确定了纠删码需要使用的程度,那么就应该开始计算使用不同形式的纠删码而导致数据丢失的可能性。计算本身并不复杂,但需要一些基本的培训。计算的时候需要考虑多个因素进去,丢失数据的可能性等,但至少需要决策的是,对风险能承受到什么程度?以及为了避免不能承担的风险,需要使用纠删码的程度。此外还需要去考虑一下其它风险有哪些,例如数据中心坍塌,人为故障等。综上的这些考虑最终将帮助你决定需要多大程度上使用纠删码。

从短期和长期的角度分别看看纠删码在企业级IT部门使用的前景?

Miller: 从短期来看,容许丢失两块以内的磁盘数据是可以被接受的,尤其是我们正向固态硬盘的使用转型,这也将大大降低磁盘出错的可能性。磁盘故障的概率大约是一年内有不到一次的可能性。对于固态硬盘来说,几乎不会有那样的出错比率,然而从报错的磁盘里恢复则是很困难的,这也就是说RAID6级别的保护也许就已经足够。现在我们将不得不在磁盘间考虑更多的冗余性,可以看到市场上有很多场景在单块磁盘上使用RAID5或者RAID6技术,他们将数据以及冗余信息都放置在单独的磁盘上,这样的技术可以应用单个扇区的损坏。因此对于单块磁盘内部的RAID5 RAID6磁盘保护以及磁盘间的RAID5 RAID6磁盘保护将足以在短期内满足读写混搭操作的活动负载。

所能看到的较高负载的纠删码场景,例如能容许三块甚至到六块设备故障的场景其实是长远角度所考虑的归档存储。在归档存储里,同样的数据仅会写一次并放置到大数据块里。多余的写操作纠删码会替你完成,因此虚无再次写入。故而不会有其它成本上的增加,除了增加了一些额外的存储空间,然而这些额外的空间将大大提升了数据的可信赖性,例如数据集本身由PB或者EB级别这么大,那么你会选择多购买些空间以确保在未来的20-30年里还能使用。因此,我觉得我们将会在大多数操作为读的场景里见到纠删码的使用,而这样的场景看起来就是归档存储,但是你不会看到纠删码的使用的负荷有像用于实时交易型存储那样高。

作者

Carol Sliwa
Carol Sliwa

资深编辑、作者

相关推荐

  • 存储经理人2017年11月刊:如何选择正确的DRaaS供应商

    《存储经理人》2017年11月刊重点介绍如何选择正确的DRaaS提供商:DRaaS供应商应当具备四项关键技能,以能够全方位应对所有潜在灾害。本期杂志还介绍了下一代线性磁带开放标准LTO-8,云中数据存储的注意事项以及驱动企业采用云存储的主要因素,同时阐述了冷存储需求不断高涨以及二级存储的现代化转型等现状,提醒大家在文件同步和共享时应确保数据安全,以及如何为未来的闪存做好准备。

  • 存储经理人2017年4月刊:闪存、云位列Top数据存储选项

    《存储经理人》2017年4月刊重点关注主存储选项:在数据存储可选项中,云和闪存逐渐成为主数据存储。另外,由于内嵌了越来越多面向数据密集型商业应用的业务分析功能,存储系统正在变得越来越聪明。本期《存储经理人》还关注更多存储趋势,包括超融合架构,横向扩展SDS等等。

  • Fujitsu基于Ceph推出Eternus CD10000

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

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

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