谈谈“RAID之死” 揭秘位衰减对RAID的危害

2012 年 11 月 15 日5880

  最近,为了准备今年在存储决策会议(torage Decisions)上的一个演讲,我开始重新了解数据保护的最新技术和方法。这包括重读一遍过去几年的许多文章和博客,这些文章和博客构成了“RAID之死”的辩论框架。

  我发现以“××之死”作标题的文章很有意思。我们被反复告知磁带已经死了(Gartner在1999年杀了它,SAN在2000年杀了它,带消重的VTL在2005年杀了它……)。我们自从上世纪80年代开始就听过大型机已经死了(尽管CA、IBM和其他公司从大型机得到了大额收益)。最近还有PC已经死了的声音(会被平板电脑和智能手机或还不是特别流行的VDI技术取代)。还有应用服务提供商和存储服务提供商(现在叫做云服务提供商)会消灭数据中心和传统套装软件,直到所有的应用服务提供商(ASP)和存储服务提供商(SSP)在2001年倒闭。这些新闻一直在不断的出现。

  所以,请原谅尽管我已经看到这种现象,但我还是会带来RAID之死的演讲。这不是因为争论很少或不够科学,而是因为人们就是喜欢这样的争论。

  说实话,RAID应该会消亡。厂商公布的平均数据丢失时间(MTTDL)是不真实的,实际的多块硬盘故障率(大于RAID5和RAID6的容忍范围)比厂商宣称的要高大约1500倍。原因是每67TB的硬盘数据中就有一个由位衰减和其它因素造成的“静默损坏(silent corruption)”。你可能觉得这看似不多,直到你意识到有多少TB的数据在最近写入了这台阵列,以及RAID控制器在遇到多少读错误时才会认为硬盘有故障时,尽管绝大部分区域都是好的。

  即使是今天我们采用的镜像方式也是有缺陷的。RAID 0+1镜像在两个镜像都坏一块盘时会出问题,而1+0镜像在一个镜像中的两个盘都坏的情况下,整个镜像保护会因为条带损坏而失效。(如果你对此有疑惑,来存储决策会议听演讲吧。)两块盘可能同时坏吗?当然可能。这会经常发生吗?是的,在八块盘组成的RAID 0+1环境中,RAID整体失效的概率是七分之四,而在八块盘的1+0环境中,这个概率会小一些,是七分之一。

  上面的数学计算是没有争议的。但这并不意味着RAID会消亡。

  就像我们现在看到的选举周期一样,舒适的意识形态对于大量的潜在选民来说通常都是胜过不便的事实。一个想成功的候选人可以指出HPV疫苗会导致智障,这显然是荒谬的,但这会赢得许多选民的注意力,他们会更关心政客是否声称支持已经存在的大型制药公司(在健康的人身上使用坏的疫苗)或者大政府(命令接种疫苗),而更不那么关心这个疫苗是否已经被科学证明可以保护我女儿避免已知的癌症。

  RAID也是如此。磁盘阵列厂商投入了许多金钱来推广omnia in orbis(拉丁语,一切都在磁盘中)。他们完成了许多有意义的工作来将比特压缩的越来越紧,以及在磁盘中压缩电子包使硬盘主轴更小。位衰减——这种磁能渗漏常常存放磁盘或芯片的一个单元的二进制数据的状态,无论这种渗漏是由于降低绝缘或辐射或者是气候变化所导致。一项对150万块硬盘的研究表明,每90块硬盘就有1块有这种“软错误”,这个错误不但会导致数据丢失,还会导致RAID错误。

  上述问题的解决方案是虚拟化磁盘介质并且使用不同的记录方式,如工作在硬件层的XIO的冗余分配网格系统(RAGS),以及工作在文件系统层的Amplidata的BitSpread技术。Hadoop、ZFS以及其他技术也能解决这个问题。

  有趣的是即使我们一次又一次将这些技术解释给客户,客户通常还是会问:“很好。这个技术支持RAID5吗?”大家可以想象。

  作者简介:Jon William Toigo是一位有30年IT经验的资深专家,同时也是Toigo Partners International的CEO以及数据管理协会主席。

0 0