解析重复数据删除技术的哈希冲突

日期: 2010-12-20 作者:Howard Marks翻译:Bill 来源:TechTarget中国 英文

  如果说我曾经还怀疑过重复数据删除技术是否已经成为主流技术的话,那么在我在浏览报纸时看到赛门铁克全版重复数据删除技术广告的时候,我的这点质疑消失无踪了。即便如此,我还是有时候碰到一些人认为重复数据删除技术是危险的难以捉摸的技术,有可能会破坏他们的数据。这种态度高估了重复数据删除过程中哈希冲突的概率,也高估了传统备份媒介的可靠性。

  首先,让我们来看看你的存储系统中其他组件的可靠性。如今的硬盘驱动器的错误概率为每10的14次方比特到10的16次方比特(100到10000TB)发生一次读取错误。在备份检测到读取错误并让阵列控制器从一个错误检验与纠正(ECC)条带重建数据的时候,企业级驱动器会在T10数据完整性域(DIF)中增加一个16位CRC(循环冗余检验),而CRC遗漏错误的概率是每64K(65536)次错误发生一次。如果你的数据是在以太网或光纤通道网络上传输的,32位CRC会对数据进行错误检测,会给错误数据返回正确数值,而错误的概率是在10的9次方分之一。

  最后,如果你因为不信任重复数据删除技术而不采用这种技术的话,你有可能是把数据写入到LTO-5磁带中,后者的错误概率为每10的17次方发生一次。当然,10的17次方听起来很强大!彩票的中奖概率是10的8次方之2。LTO-5的错误概率比这个中奖概率要低10亿倍!当然,磁带的错误概率不包括媒介本身以外的错误,因此磁带误操作就不包括或计算在内了。

  那么,这些媒介的可靠性水平和重复数据删除备份目标端比起来如何呢?在基于哈希算法的重复数据删除系统中,SHA-1是最常用的哈希函数。在20个字节的哈希值中,来自不同数据的两个数据块产生同样哈希值的概率是10的48次方分之一。这是一个相当可观的数字。当然,我们担心的是数据中心中两个数据块是否会产生哈希冲突,而这又依赖于重复数据删除环境下的数据量。

  就像我的朋友W.Curtis Preston说的那样,两个数据块错误地产生同样哈希值的概率比Jessica Alba(好莱坞女星)变成我的女朋友的概率还要低。不过,后者毕竟还是可能的。我和Alba女士都还活着,不过鉴于我又老又胖,还是住在新泽西州的技术宅男,而她是Jessica Alba,因此我们之间的可能性非常低。

  Curtis甚至还让一个数学博士创建了一个工作表来计算哈希冲突的概率。为了碰到一个10的15次方分之一概率的哈希冲突而导致的磁盘读取错误,你需要5乘以10的16次方的数据块,或8K数据块形式的432YB的数据。我用一个高精度计算器来计算,发现在一个4PB数据(8K数据块)的重复数据删除系统中,发生一次哈希冲突的概率是4.5乘以10的26次方分之一,差不多相当于完美媒介下的磁带读取错误概率。

  现实是,人们倾向于避免概率极低的灾难性事件,接受那些概率相对高而后果相对较轻的事件。因此,我们采煤来发电,即使我们知道矿工会死而人们会得哮喘病,但是我们不会去建核电站。一次哈希冲突不会破坏你所有的备份数据。它只是意味着一个数据块在恢复的时候会恢复成错误的数据,就像磁盘或磁带错误那样。

  如果是备份3PB数据,你要备份10的26次方次你才会碰到一次哈希冲突和一个损坏的文件。这对我来说还是一个可以接受的风险。毕竟,我每天早上都会去遛狗,在遛狗的过程中总有可能会被街上的车子给撞到–有可能是被Jessica Alba开的车子,如果她有看到我的博客的话。不过,我不会去计算这个可能性的。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

作者

Howard Marks
Howard Marks

DeepStorage.net的创始人兼首席研究员。

翻译

Bill
Bill

相关推荐