当前位置:存储技术专区 → 正文

看存储在后RAID时代如何生存

责任编辑:editor03 |来源:企业网D1Net  2014-03-06 14:43:35 本文摘自:慧聪网

今天,我们要谈一下RAID问题。大家知道,RAID到现在已经26岁了,对于一项技术来说,应该也是廉颇老矣,尚能饭否的状态。因此,现在江湖上出现了新的RAID形态,如华为的RAID 2.0+,宏杉的CRAID 2.0(采用Erasure Code),甚至有些产品如IBM XIV放弃了RAID,直接保存2份数据副本。今天,我们来回顾一下RAID的历史,看存储在后RAID时代如何生存。

先说一下RAID的历史。西瓜哥今天用一个非常时髦的标题,叫来自星星的RAID,据说这样打开率能上升一半,O(∩_∩)O哈!不过,韩剧西瓜哥基本没有时间看,而且西瓜哥的粉丝(西施)里面女的不到20%,但西瓜哥用这个标题,除了吸引眼球,确实有一些寓意在里面。这个来着星星的RAID和”都叫兽“一样,到底在存储界是去是留,其结局如何,和《来自星星的你》一样,充满想象。

不卖关子了。大家知道,RAID来自1988年加州大学伯克利分校的一篇论文。著名的网站《弯曲评论》创始人陈怀临(陈首席)前段时间专门”潜入“该学校的图书馆,把这篇珍贵的论文的封面拍了下来:

陈首席是主攻安全的,不过现在也关注大数据,对RAID的崇拜和我们存储的学子都是一样的。可以说,没有RAID,就没有我们现在从事的存储事业,目前的存储产品,绝大多数还是采用RAID技术的,没有脱离这个框架。1988年RAID论文发布以后,EMC Symmetrix率先在高端存储里面采用普通的硬盘,采用RAID技术和Cache技术,开创了现代意义上的一个存储的新篇章。但发展到现在,高端存储里面,EMC、IBM DS8000、 HDS、富士通还是采用传统的RAID方式(其实EMC的RAID不是基于物理硬盘的,也是基于硬盘切片实现的,但西瓜哥还是归类为传统的实现,参见西瓜哥以前的分析),而HP 3PAR和华为采用块虚拟化的类RAID 2.0的方式来实现,IBM XIV甚至抛弃了RAID技术,直接保存两份副本。更有甚者,国内的厂商宏杉科技在其推出的高端存储里面,直接采用Erasure Code(纠删码),可以支持三块硬盘同时损坏而数据不丢失。一时间,RAID老矣,尚能饭否?成了业界热谈的一个话题。

我们先来看看原作者的观点。RAID这篇论文其中的一个作者 Garth Gibson,他现在是卡内基梅隆大学的科学家,也是著名的高性能存储公司Panasas的创始人。 HDS CTO Hu Yoshida 在2012的Blog里透露,他和Garth会面中谈到RAID和纠删码的一些观点。

Garth说,他们当时发布了RAID的论文的题目是, “A Case for Redundant Arrays of Inexpensive Disks (RAID)”,这个 Inexpensive指的是廉价。也就是大家知道,那个时候存储用的硬盘全部是IBM生产的专用磁盘,特别的贵。而RAID的目的,就是可以采用廉价的磁盘(也就是普通PC服务器用的硬盘,当时是5.5英寸)而达到高可靠和高性能的目的。业界很快接受了这个观点,但是把Inexpensive重新定义为 Independent,因此,现在的RAID的定义是Redundant Array of Independent Disks。

Garth还说了,为什么RAID被IT界采用这么快,是由于他们采用论文的方式发布,而没有申请专利。多高尚的人品啊!因此,西瓜哥说放弃一切文章的版权(只要你去传播,我都是支持的,当然,能告诉其他网友是西瓜哥写的,让它关注我的微信号我就非常感谢了)比这些泰斗来说弱爆了。

但是,Garth没有申请专利,还有一个重要的原因。其实RAID的概念很早以前就出现了。最早关于RAID的专利是1978年IBM的 orman “Ken” Ouchi写的 “System for recovering data stored in a failed memory unit”,美国专利号 4,092,732。当时,HDS CTO和该专利的作者ken都是美国IBM的同事。

大家看到,其实RAID的容错机制最开始用在内存的恢复上。IBM的高端存储首先采用了RAID技术,因为他们发明的嘛,可惜他们不是用在普通的硬盘上。直到RAID论文的发表,EMC的Symmetrix推出,才在这个存储界流行起来。

但现在随着大容量硬盘的采纳(现在有6TB的硬盘了,估计后年能看到10TB的产品),RAID的重构时间越来越长,甚至几天时间才能重构完成。也就是说,RAID技术就像都叫兽遇到人类的唾液就会生病一样,遇到大硬盘损坏也是消化不良。

于是,3PAR和华为采用块虚拟化的RAID 2.0技术,IBM XIV直接抛弃了RAID技术,而宏杉在SAN上直接引进了Erasure Code,把原来主要用在NAS上的技术用在了SAN上。

那么,Erasure Code到底还是不是RAID?用在SAN上是否合适?

我们先来看看纠删码的本质。纠删码其实是IEEE里面定义的一个信息处理的纠错码,属于 Forward Error Correction (FEC) 的范畴,可以用在网络,也可以用在存储上:

RAID 5其实是纠删码的一种最简单的方式,它仅仅需要用XOR算法就可以进行数据的恢复,因此速度也是最快的。其实最开始采用RAID 10的方法比较多,因为当时CPU的能力不快,做XOR算法也需要较强的计算能力。现在RAID 10在高端存储里面也是普遍在关键应用中采用的技术。但后来 LSI、HDS、3PAR等存储厂商,采用ASIC的方式来支持RAID 5甚至RAID 6,慢慢的才流行起来。再后来新的存储产品,包括EMC,大部分都抛弃了ASIC做RAID的方式,因为存储的平台都转向了X86架构,INTEL的CPU遵循摩尔定律,性能提升太快了。RAID的XOR计算完全能够应付,而且灵活性更好。那些目前还采用ASIC的厂商都是由于历史原因。因此,用户选择的时候也不用关心具体的实现方式,看性能表现就可以了。这两种实现各有优缺点。

但RAID 5只能保护一块硬盘失效,因此后来发展了RAID 6。RAID 6(RAID DP)已经是采用多项式复杂计算了,就是N+M纠删码的简单形态了(后面我们一般用纠删码表示M>2的情况)。这个复杂计算是基于法国的伟大的一个数学家伽罗瓦(Galois )域算法。Galois是西瓜哥除了爱因斯坦外第二佩服的人,据说发明这个算法才18岁,当时用这个算法来逃课,即每个同学按照这个变换来选座位,老师就查不出谁逃课了(估计他们点名都不是一一点的,O(∩_∩)O哈!)。可惜他提交的论文当时不被认可,直到死后才被追认的。他21岁,为了一个心爱的女孩和别人决斗,不幸被杀,使得数学界倒退了几十年啊。西瓜哥佩服他的天才,也佩服他为爱牺牲的勇气,绝对比都叫兽厉害(星星的粉丝不要打我)。

Peter Corbett是NETAPP的VP,也是RAID DP之父。他在Blog里面也谈了对纠删码的看法。

他说,纠删码的原理如下,K个数据硬盘,M个校验硬盘,就这是K+M的形态,RAID-DP就是M=2的一种特例:

当然,现在都采取分块的方式,不采用集中校验的方式了(RAID DP除外),采用Galois算法来恢复数据。M=2就是RAID 6,M=3就可以支持3块硬盘同时损坏。

Peter Corbett认为,支持3块硬盘同时损坏是有条件的,即纠删码不能感知 silent errors(静默数据损坏)的情况,也就是硬盘块了很容易知道数据丢了,如果数据能够读出来,但不对,你是不知道的。也就是你保持一份数据,读出来的时候,如果没有机制去校验这份数据是否正确,你就不会调用Galois算法来恢复数据。因为纠删码自己并不知道那块数据坏了。因此,大家发现所有的高端存储为什么必须要支持ANSI T10 DI标准,甚至华为去年在上海HCC大会联合ORACLE发布端到端的数据保护DIX方案,就是这个道理。

但西瓜哥感觉Peter Corbett的托辞有一点问题,普通的RAID 5也需要T10 DI标准去校验数据的正确性,这不只是高级的纠删码的问题。不过也看出NETAPP有比较重的历史包袱,它的WAFL专利是基于RAID DP的,转到纠删码应该够呛。

只是后RAID时代,我们怎么办?就像星星的结局一样,估计每个人都有自己的看法。西瓜哥的观点是随着CPU技术能力的提升,纠删码采用的场合应该越来越多,不同场合会用到不同的算法。比如华为的存储产品,现在中低端还是基于传统的RAID算法,高端存储是基于 RAID 2.0+,Oceanstor 9000大数据存储采用的是纠删码,而UDS海量存储直接采用保存3份数据副本的方式(这也是目前互联网大规模存储采用的方式,这种方式减少了需要计算校验数据的消耗)。

因此,适用就是好的。纠删码目前是大数据的场合采用比较多,特别用在多节点的集群环境,因此也有叫RAIN(redundant array of independent nodes),用在SAN上还比较少。 Panasas,也就是RAID论文其中一个作者创立的公司,现在也只是采用RAID 6的方式,不过是基于文件的。但随着CPU计算能力的提升,一些新兴存储厂商在这方面寻求一些差异化,无可厚非。作为用户,一是要关注是否支持ANSI T10 DI标准,二是最好测试一下纠删码下的性能表现,综合评估也不难做出你自己的选择。

关键字:RAID存储

本文摘自:慧聪网

x 看存储在后RAID时代如何生存 扫一扫
分享本文到朋友圈
当前位置:存储技术专区 → 正文

看存储在后RAID时代如何生存

责任编辑:editor03 |来源:企业网D1Net  2014-03-06 14:43:35 本文摘自:慧聪网

今天,我们要谈一下RAID问题。大家知道,RAID到现在已经26岁了,对于一项技术来说,应该也是廉颇老矣,尚能饭否的状态。因此,现在江湖上出现了新的RAID形态,如华为的RAID 2.0+,宏杉的CRAID 2.0(采用Erasure Code),甚至有些产品如IBM XIV放弃了RAID,直接保存2份数据副本。今天,我们来回顾一下RAID的历史,看存储在后RAID时代如何生存。

先说一下RAID的历史。西瓜哥今天用一个非常时髦的标题,叫来自星星的RAID,据说这样打开率能上升一半,O(∩_∩)O哈!不过,韩剧西瓜哥基本没有时间看,而且西瓜哥的粉丝(西施)里面女的不到20%,但西瓜哥用这个标题,除了吸引眼球,确实有一些寓意在里面。这个来着星星的RAID和”都叫兽“一样,到底在存储界是去是留,其结局如何,和《来自星星的你》一样,充满想象。

不卖关子了。大家知道,RAID来自1988年加州大学伯克利分校的一篇论文。著名的网站《弯曲评论》创始人陈怀临(陈首席)前段时间专门”潜入“该学校的图书馆,把这篇珍贵的论文的封面拍了下来:

陈首席是主攻安全的,不过现在也关注大数据,对RAID的崇拜和我们存储的学子都是一样的。可以说,没有RAID,就没有我们现在从事的存储事业,目前的存储产品,绝大多数还是采用RAID技术的,没有脱离这个框架。1988年RAID论文发布以后,EMC Symmetrix率先在高端存储里面采用普通的硬盘,采用RAID技术和Cache技术,开创了现代意义上的一个存储的新篇章。但发展到现在,高端存储里面,EMC、IBM DS8000、 HDS、富士通还是采用传统的RAID方式(其实EMC的RAID不是基于物理硬盘的,也是基于硬盘切片实现的,但西瓜哥还是归类为传统的实现,参见西瓜哥以前的分析),而HP 3PAR和华为采用块虚拟化的类RAID 2.0的方式来实现,IBM XIV甚至抛弃了RAID技术,直接保存两份副本。更有甚者,国内的厂商宏杉科技在其推出的高端存储里面,直接采用Erasure Code(纠删码),可以支持三块硬盘同时损坏而数据不丢失。一时间,RAID老矣,尚能饭否?成了业界热谈的一个话题。

我们先来看看原作者的观点。RAID这篇论文其中的一个作者 Garth Gibson,他现在是卡内基梅隆大学的科学家,也是著名的高性能存储公司Panasas的创始人。 HDS CTO Hu Yoshida 在2012的Blog里透露,他和Garth会面中谈到RAID和纠删码的一些观点。

Garth说,他们当时发布了RAID的论文的题目是, “A Case for Redundant Arrays of Inexpensive Disks (RAID)”,这个 Inexpensive指的是廉价。也就是大家知道,那个时候存储用的硬盘全部是IBM生产的专用磁盘,特别的贵。而RAID的目的,就是可以采用廉价的磁盘(也就是普通PC服务器用的硬盘,当时是5.5英寸)而达到高可靠和高性能的目的。业界很快接受了这个观点,但是把Inexpensive重新定义为 Independent,因此,现在的RAID的定义是Redundant Array of Independent Disks。

Garth还说了,为什么RAID被IT界采用这么快,是由于他们采用论文的方式发布,而没有申请专利。多高尚的人品啊!因此,西瓜哥说放弃一切文章的版权(只要你去传播,我都是支持的,当然,能告诉其他网友是西瓜哥写的,让它关注我的微信号我就非常感谢了)比这些泰斗来说弱爆了。

但是,Garth没有申请专利,还有一个重要的原因。其实RAID的概念很早以前就出现了。最早关于RAID的专利是1978年IBM的 orman “Ken” Ouchi写的 “System for recovering data stored in a failed memory unit”,美国专利号 4,092,732。当时,HDS CTO和该专利的作者ken都是美国IBM的同事。

大家看到,其实RAID的容错机制最开始用在内存的恢复上。IBM的高端存储首先采用了RAID技术,因为他们发明的嘛,可惜他们不是用在普通的硬盘上。直到RAID论文的发表,EMC的Symmetrix推出,才在这个存储界流行起来。

但现在随着大容量硬盘的采纳(现在有6TB的硬盘了,估计后年能看到10TB的产品),RAID的重构时间越来越长,甚至几天时间才能重构完成。也就是说,RAID技术就像都叫兽遇到人类的唾液就会生病一样,遇到大硬盘损坏也是消化不良。

于是,3PAR和华为采用块虚拟化的RAID 2.0技术,IBM XIV直接抛弃了RAID技术,而宏杉在SAN上直接引进了Erasure Code,把原来主要用在NAS上的技术用在了SAN上。

那么,Erasure Code到底还是不是RAID?用在SAN上是否合适?

我们先来看看纠删码的本质。纠删码其实是IEEE里面定义的一个信息处理的纠错码,属于 Forward Error Correction (FEC) 的范畴,可以用在网络,也可以用在存储上:

RAID 5其实是纠删码的一种最简单的方式,它仅仅需要用XOR算法就可以进行数据的恢复,因此速度也是最快的。其实最开始采用RAID 10的方法比较多,因为当时CPU的能力不快,做XOR算法也需要较强的计算能力。现在RAID 10在高端存储里面也是普遍在关键应用中采用的技术。但后来 LSI、HDS、3PAR等存储厂商,采用ASIC的方式来支持RAID 5甚至RAID 6,慢慢的才流行起来。再后来新的存储产品,包括EMC,大部分都抛弃了ASIC做RAID的方式,因为存储的平台都转向了X86架构,INTEL的CPU遵循摩尔定律,性能提升太快了。RAID的XOR计算完全能够应付,而且灵活性更好。那些目前还采用ASIC的厂商都是由于历史原因。因此,用户选择的时候也不用关心具体的实现方式,看性能表现就可以了。这两种实现各有优缺点。

但RAID 5只能保护一块硬盘失效,因此后来发展了RAID 6。RAID 6(RAID DP)已经是采用多项式复杂计算了,就是N+M纠删码的简单形态了(后面我们一般用纠删码表示M>2的情况)。这个复杂计算是基于法国的伟大的一个数学家伽罗瓦(Galois )域算法。Galois是西瓜哥除了爱因斯坦外第二佩服的人,据说发明这个算法才18岁,当时用这个算法来逃课,即每个同学按照这个变换来选座位,老师就查不出谁逃课了(估计他们点名都不是一一点的,O(∩_∩)O哈!)。可惜他提交的论文当时不被认可,直到死后才被追认的。他21岁,为了一个心爱的女孩和别人决斗,不幸被杀,使得数学界倒退了几十年啊。西瓜哥佩服他的天才,也佩服他为爱牺牲的勇气,绝对比都叫兽厉害(星星的粉丝不要打我)。

Peter Corbett是NETAPP的VP,也是RAID DP之父。他在Blog里面也谈了对纠删码的看法。

他说,纠删码的原理如下,K个数据硬盘,M个校验硬盘,就这是K+M的形态,RAID-DP就是M=2的一种特例:

当然,现在都采取分块的方式,不采用集中校验的方式了(RAID DP除外),采用Galois算法来恢复数据。M=2就是RAID 6,M=3就可以支持3块硬盘同时损坏。

Peter Corbett认为,支持3块硬盘同时损坏是有条件的,即纠删码不能感知 silent errors(静默数据损坏)的情况,也就是硬盘块了很容易知道数据丢了,如果数据能够读出来,但不对,你是不知道的。也就是你保持一份数据,读出来的时候,如果没有机制去校验这份数据是否正确,你就不会调用Galois算法来恢复数据。因为纠删码自己并不知道那块数据坏了。因此,大家发现所有的高端存储为什么必须要支持ANSI T10 DI标准,甚至华为去年在上海HCC大会联合ORACLE发布端到端的数据保护DIX方案,就是这个道理。

但西瓜哥感觉Peter Corbett的托辞有一点问题,普通的RAID 5也需要T10 DI标准去校验数据的正确性,这不只是高级的纠删码的问题。不过也看出NETAPP有比较重的历史包袱,它的WAFL专利是基于RAID DP的,转到纠删码应该够呛。

只是后RAID时代,我们怎么办?就像星星的结局一样,估计每个人都有自己的看法。西瓜哥的观点是随着CPU技术能力的提升,纠删码采用的场合应该越来越多,不同场合会用到不同的算法。比如华为的存储产品,现在中低端还是基于传统的RAID算法,高端存储是基于 RAID 2.0+,Oceanstor 9000大数据存储采用的是纠删码,而UDS海量存储直接采用保存3份数据副本的方式(这也是目前互联网大规模存储采用的方式,这种方式减少了需要计算校验数据的消耗)。

因此,适用就是好的。纠删码目前是大数据的场合采用比较多,特别用在多节点的集群环境,因此也有叫RAIN(redundant array of independent nodes),用在SAN上还比较少。 Panasas,也就是RAID论文其中一个作者创立的公司,现在也只是采用RAID 6的方式,不过是基于文件的。但随着CPU计算能力的提升,一些新兴存储厂商在这方面寻求一些差异化,无可厚非。作为用户,一是要关注是否支持ANSI T10 DI标准,二是最好测试一下纠删码下的性能表现,综合评估也不难做出你自己的选择。

关键字:RAID存储

本文摘自:慧聪网

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^