重复数据删除技术的弱点分析

2008-7-21  选择字号:  | |
打印本文章

  重复数据删除是目前存储行业最热门的技术之一,用户和厂商们都很看好这种技术。有的厂商在开发硬件,有的厂商在开发软件,还有的厂商同时开发相关的软件和硬件。

  跟以前一样,我不打算对比不同厂商的产品或者技术,我只想谈谈你在考虑购买重复数据删除软件或硬件时必须向厂商咨询的一个重要问题,即数据损坏的问题。你可能会想,重复数据删除与数据损坏有什么关系呢,不用着急,我马上就给你解释。 但是必须说明的是,我是从通用硬件和软件的角度来写这篇文章的。有些厂商的产品也许可以或者不可以接近我在文中谈到的全部或者部分问题。 选购哪家厂商的产品以及向厂商咨询什么问题的决定权在你自己手中,笔者不承担任何责任。

  有些人也许读过我曾经写过的一篇关于我自己经历过的数据损坏的文章。 我稍微对比了一下正确的数据和损坏后的数据,数据的ASCII码发生了很大变化。实际上,大部分字节都损坏了。

  本文讨论的是数据不定期损坏的问题,并非一定会发生,即使是发生数据损坏事故的概率远低于廉价SATA的高端企业光纤信道驱动器也不能例外。 另外,发生问题的部件不一定是驱动器或者控制器,也可能是内存、CPU或者别的什么部件。归结为一点就是,数字世界中的数字资料肯定有可能会损坏。 虽然发生数据损坏事故的情况跟使用的操作系统、硬件和软件都有关系,即使是运行在基于MVS多重虚拟存储系统的IBM大型机上也可能发生数据损坏事故,只是概率要比系统低很多。

  瑞士一家实验室去年发表了一篇关于数据损坏的论文,其中有些内容值得一读。

  你可能会想,这些跟重复数据删除有什么关系。问题是,如果重复数据删除的硬件或者软件损坏了,你可能会失去所有的数据。 如果你打算删除重复的数据,你就必须保证你拥有的那些数据是完好的。

  例如,加入数据在被读出时损坏,而存储在磁盘上的数据仍是好的,那么在进行数据对比时会怎么样? 如果再次读取,可能就能够得到正确的数据。但是如果数据被写入磁盘时的日期出错,你是否还能读取那些文件呢? 让我们一步一步分析这两个例子,看看到底发生了什么事。

  实例1:受损数据读取

  如果从磁盘读取数据,而且那些数据由于某种原因损坏了,然后开始将受损的数据应用于新数据,你可能会遇到一个大问题。当你再次从磁盘读取数据,进行重复数据删除的操作时,它可能就不同了。

  如果将读取的数据与新数据进行对比,内存中的数据将是坏的,所以你找到的所有一样的数据在下次被读取时都将变成其他的数据。因此,基本上从受损数据中读取的任何数据都将被错误的对比,因而变得无法读取。

  如果那些数据由于某种原因被重新读取,而且读取的是正确的数据的话,那么后续数据都将是正确的。除此之外,就会发生无法恢复的调试,你将丢失大量的数据。 令人担心的是,一部分数据是好的,一部分数据是坏的,要想区分开来,非要进行非常细致的检查工作。

  实例2:受损数据重复数据

  但是,如果数据从一开始就出错,在磁盘上就已经受损了怎么办? 这个问题与第一个实例很相似,只是第一个实例中的数据是好的,后来才读取了坏的数据,令所有数据都受损了。在这个实例中,重复数据是在内存中创建的,是好的,但是磁盘上的数据是坏的。 也就是说,你用一个好的重复数据建立了数据,但是一旦从磁盘读取数据,数据就变成坏的了。好的一面是,一旦从磁盘重新读取数据到内存,数据就一样了,所以这个问题不是很严重。 但是在利用内存中的原始数据创建数据时,你不能进行恢复已经删除的重复数据。当你下个月恢复删除的重复数据时,你会获得错误的数据,除非从磁盘读取正确的数据才行。 再次强调一点,这是个调试问题,可能无法解决。

  你需要向厂商咨询些什么

  我自己遇到过数据受损的事故,我也看到其他人遇到过同样的问题,你迟早也会遇到。 我也非常相信新的T10 Data Integrity Field标准,这个标准会从主机向磁盘进行8字节的检验,让磁盘来验证数据,估计很多厂商都将在今年晚些时候提供基于这种标准的产品。我个人很喜欢这个标准,因为有些部分已经应用于硬件的数据通道中,它是由为你提供SCSI协议的同一个厂商提供的。

  文件系统可以进行数据检验,但是如果文件系统在进行检验时修正了数据,你可能会遇到两个问题:

  文件系统在检验之前必须将数据读回到服务器。当数据被写回设备之前,它们是没有被检验过的。

  服务器CPU必须计算出检验数字,并且在文件被读回时进行验证。这对服务器有很大影响。 包括增加内存带宽的要求以及利用CPU高速缓存,要求将应用程序重新从内存载入以及检验数字计算所需的内存带宽。

  如果你运行的应用程序使用了大量服务器资源,这就会构成一个严重的问题了。

  有些产品有着自己的文件系统和检验数字,可以解决我对数据损坏的部分担忧,但是并非所有的厂商都提供了具有这些功能的产品。这只是你应关注的重复数据删除中的一部分问题。 在选购产品时,你还必须考虑其他许多因素,但是这应该是你优先考虑的因素。你在提出这个问题的时候,厂商们也许会说这是你自己的问题,你的系统应该象T10DIF那样。 这种回答是错误的。在你提出问题之前,厂商们必须考虑到你的硬件和软件,如果它们把问题丢给你,你就不用考虑购买它们的产品了。

  在某些环境中,重复数据删除是一种很重要的工具,但是凡事都有两面性,你应该认真规划和执行它。

本文作者Henry Newman是国外专业存储网站的撰稿人,在高性能计算和存储行业从事了27年的顾问工作。

原文出处:http://www.enterprisestorageforum.com/continuity/features/article.php/3759391
来源:enterprisestorageforum    作者:Henry Newman     译者:WangFei   
提高存储高效性并不适用于主存储。没有人会把这么重要的事情搞砸,在二级存储上有很大的备份文件。通过压缩和重复数据删除技术来减少主存储……
据TechValidate的最新研究发现,最终用户所关注的对象逐渐由性能和数据压缩率转向数据完整性、可恢复性和易用性等问题……
目前,重复数据删除技术十分流行,而我们见证其成长的Lempel-Ziv (LZ)压缩技术虽然略显陈旧,却依然性能良好。
随着市场的推广,国内用户对重复数据删除技术的接受程度也得到快速提升。那么重复数据删除在实施过程中要注意哪些问题呢?
主存储将会是重复数据删除技术的下一个前进领域,但是这却也可能成为我们在如何更好的优化存储空间这个问题上遇到的最大的分歧点……
几年前持续数据保护(CDP)出现时,人们都认为这种产品能够取代传统的备份软件。当时CDP供应商预测IT管理人员都会放弃原来的备份软件,因为它们需要每周一次完全备份、每天一次增量备份……
公司要采购各种各样的设备,在采购的过程中会有很多的技巧。了解这些技巧对我们来说是非常重要的,必要时可以起到事半功倍的效果。
交换机在应用中会出现很多问题,为了在网络中能够满足更多的存储平台或主机服务器,交换机需要定期扩展或替换。交换机通过升级可以达到更好的性能,增强网络的有效性,限制网络流量并提供智能化功能,比如对网络的虚拟化。
最新更新
专家答疑
技巧
Pierre Dorion
我们要购买5TB SATA存储系统,这个系统可以升级到50TB,并且可以和SATA、FATA共用。它也应该能支持多重OS和RAID级别,哪一个对于我们的需求是最好的套件呢?
Jo Maitland
SaaS存储服务会减少存储设备总数和购买的存储容量吗?近期看来没有什么显著的不同。但是从长期看,随着越来越多的服务建立在云计算上……
Greg Schulz
我们有两个负载均衡网络服务器,都是可用的,正在尽力访问SAN上的相同的LUN。我们在操作系统和EMC SAN上用Windows2003标准版本。我们如何实现并行写入SAN……