存储 频道

主流重复数据删除产品的全面对比解析

  【IT168 资讯】重复数据删除如今已经不是新鲜的话题了,基本我们看到,市面上大部分备份产品已经具备重复数据删除功能,基本上已经成为备份领域产品的一项必备的选项。

  但是市面上重复数据删除的产品林林总总,有备份软件类的,也有集成在虚拟带库中的重复数据删除,而一些重复数据删除的概念也让用户感到迷惑,比如全局重复数据删除?比如带内和带外重复数据删除……对于用户来说,面对如此繁多的产品究竟该如何选择呢?

  本文将梳理市场上大部分主流重复数据删除的产品的特点,并分析优劣势,帮助用户选择合适的重复数据删除产品。

文件级与数据块级的重复数据删除

  首先我们看一下重复数据删除的定义。所谓重复数据删除,就是说我们要把一些相关的数据,它是一些重复性的,把它从一些生产上删除掉,这样可以大大节省我们生产空间的增长速度,从而降低我们的电耗,而且降低整个管理成本。

  目前来说,大部分重复数据删除都采用了相似的处理过程,首先是通过特定的算法,把一个文件切割成不同的小块,其次是比较这些块的不同性,把一些重复的删除掉。

  对于文件级的数据来说,组成文件的数据块其实是存在重复的,当文件被切割成更小的数据块后,重复率就大大增加了,然后系统在每个切割的数据块前面增加指针和索引,记录这些块是怎样组合成文件的。

  再有文件记录进来,文件被打碎成小的数据块,系统就只会记录和已经存储的数据块不同的数据块。并能够根据数据块前面的索引信息,将打碎后保存的唯一的数据块组合成文件。

  将文件打碎成小的数据块,删除重复的数据块后,只存储唯一的数据块。文件打碎前需要保存39个数据块,打碎后唯一的数据块只有6个

  以上是大部分重复数据删除的工作过程,当然也有不打碎成数据块的重复数据删除技术,但那样只能对整个文件进行比对,在文件级别进行扫描,比如文件的特性、文件的修改时间,通过这些小的不同对文件进行相应的备份,保证每次只备份同一个文件。如果说这个文件做了一些小的修改,整个文件还是需要备份的,所以它的力度是非常低的,它是文件级的。

  目前来说,采用文件级重复数据删除技术的产品主要是一些归档的产品,例如EMC的centera,就是文件级进行相应的归档,把相应的重复的文件只留一个小的存根,每次恢复的时候只需要根据指针把相应的数据进行恢复。

  当然更多的重复数据删除都是针对我们刚才所讲的子对象级,也就是数据块级的。这种重复数据删除技术拥有更高的效率,有非常突出的删除比。

定长切割模式VS 非定长切割模式

  数据块级的重复数据删除就会有更多更复杂的做法。比如定长切割,与非定长切割。

  上一个部分我们讲到数据块级的重复数据删除第一部都是将文件打碎成数据块,但打碎的规则各有不同。有的公司采用了同一大小的数据块,例如所有的数据块都打碎成12K、64K、128K、256K的数据块大小,这种就属于定长切割的数据块。

  对于定长切割的重复数据删除,切割的数据块越小,粒度越细,重复数据删除的比率会更高。

  与之相对应的就是非定长切割模式的重复数据删除,就是在切割文件的时候,会先对文件做整体的扫描,然后比对重复的数据块,将重复率高的数据块切割出来,这样的话每个数据块不一定是一样长的,就是非定长的数据切割模式。

  变长切割模式的重复数据删除对非结构化数据是更有效的数据去重模式,变长的切割方式不会因为文件的部分增加或删除而完全重新计算,只有真正的新单元被备份走;定长的切割方式会因为文件增加或删除引起整个文件循序改变而要重新计算所以单元,整个文件对于备份软件是个新文件

  变长的数据切割方式通过相应的块的长度,再加上相应的字母顺序,通过一个三维的算法进行切割。比如damonst切割一块,然后把rate切割一块,会按一个单词的组合特性进行切割。它是变长的,比如第一个是七个字母,第二个是四个字母,第三个又变成八个字母,再往后变成十几个字母,这往后就是一个变长的切割。

  右边的Veritas PureDisk、CommVault是按照128K的标准定长来切割,切完以后对得很齐,但是每一行里是没有任何含义的,可以认为它是一个随机性地切割下来的字母组合。

  如果这时文件进行改变,比如插一个S在前面,变长切割模式就变成九个字母一组,剩下的又按照raid是有含义的一个字、切割方法没有变。最后扫描下来,只有第一行是变化的,只需要备份第一行这一小小的变化量。

  但对于定长的,由于插入一个字母以后,整个顺序就改变了,再按照128K切的话,扫描以后,所有行都是一个全新的数据块对于备份软件来说,所有行都要重新做备份。

  变长切割模式一般来说重复数据删除的比率会更高,但指针的复杂度也会更高,也需要消耗更多的计算资源。目前来说Veritas的puredisk、Commvault Simpana、飞康、的重复数据删除都是采用的定长切割,EMC Avarma、IBM Diligent、Data Domain采用了变长切割的方式。
 

基于备份源与基于目标端的重复数据删除

  此外,我们还需要注意的是重复数据删除的另外两个概念,一种是基于备份源的,一种是基于目标端的重复数据删除。

  基于备份源的重复数据删除,可以在备份的时候,在备份端上agent就有重复数据删除的算法和功能,它可以在备份以前进行相应的切割和对比,只把一些新变化的数据传送到备份服务器上,这样可以大大降低我们的备份数据量,在网络传输过程中的数据量也会大大降低,这样可以降低整个备份网络的带宽要求,对企业来说也会减少它很大的日常运维成本。

  基于目标端的重复数据删除,主要是数据按正常的备份,备份到相应的磁带设备、磁带库或者是虚拟带库上,在那里进行相应的重复数据删除的算法、对比,然后把一些相应新的数据块元素保留下来,然后把相应的DNA图也保留下来,这样保证在存储目标端的数据是没有重复的。

  现在主要的产品有几类。像基于备份源的有EMC的Avarma,它是基于备份源的。

  Veritas、PureDisk是可以实现基于备份源也可以基于备份目标的。

  针对备份目标的主要有datadomain、IBM diligent、CommVault的simpana。

  CommVault的simpana实际上它的实现方法是,它有一个media server,通过它实现重复数据删除,但它实际上可以认为是备份目标的,因为它在备份raid的时候并没有做重复数据删除,只是做一个相应的切割算法,然后把所有切割下来的片再加上这个文件的组成DNA指针一起传到media server,在media server上进行相应的对比,只把一些唯一的数据块传下来,然后再把DNA图传下来,所以说它还是一个基于目标的重复数据删除解决方案。

  此外重复数据删除的另外一种解释是带内和带外。所谓带内,就是说重复数据删除这个过程发生在备份这个流程过程中,比如像EMC的Avarma,它就是在备份的时候先做重复数据删除,然后把重复数据删除过以后的基准数据块备份走,这样的话等于在备份过程中进行了重复数据删除的过程。

  另外一种是带外,在备份过程中是没有做重复数据删除这个动作的,只有说这个数据备份到了目标端,在目标端的设备里,通过重复数据算法,只保留一些基准的数据块源,这叫做带外的。实际上可以看到,带内的效率反而比带外的高,因为带内计算以后,可以大大降低数据的备份量和网络带宽的需求,和在目标端的效果是一样的,同样只保留UNIX的数据块。

  实际上带内的方法比带外的效率高。

不同重复数据删除方案的对比

  接下来看一下整体的重复数据删除解决方案不同产品的一些特点。

  从左边到右边我们可以看到,这边有几类重复数据删除的解决方案。一个是在线数据保存的重复数据删除解决方案,主要是有NetApp的NAS,还有EMC的NAS,它实际上是在一级存储上实现对重复数据删除,重复数据删除率一般只能达到1.2:1。

  还有一些我们常见的压缩的方法,一般能达到压缩率是2:1,是基于压缩技术的重复数据删除比率。

  另外一些专业的重复数据删除的解决方案,比如datadomain、IBM Diligent,还包括Veritas PureDisk目标端的重复数据删除,这些产品正常情况下可以实现20:1的重复数据删除率。

  还有一些基于数据源的重复数据删除,因为基于数据源,整个在网络上和目标端上都会大大提高重复数据删除率,所以重复数据删除应用效果更好。例如EMC承诺可以实现300:1的重复数据删除率,Veritas的PureDisk压缩比达到500:1,但具体的重复数据删除比率根据环境不同还有不同的表现。具体需要以实际测试为准。

不同条件下重复数据删除效果对比

  以下在实验室中,在不同环境下应用重复数据删除的效果对比。大家可以看到,相同率最高的是Windows文件,可以达到将近600:1的重复数据删除比率。比较低的应该是数据库文件、Linux文件,可以达到75:1的重复数据删除比率。如果是NAS文件,比较好的情况下也可以实现135:1的比率。

  以上是不同环境下应用重复数据删除技术的删除比率,需要注意的是,以上仅为实验数据,具体需要根据用户实际情况评估

  需要注意的是,以上是实验室环境下的测试数据,在用户自身的环境中,建议用户对整个重复数据删除的应用效果作整体的评估,做到心中有数。现有数据可以达到多高的重复数据删除比率,做相应规划的时候,采购相应规格和容量的具有重复数据删除功能的解决方案,保证所有的采购设备是物尽其用。

选择重复数据删除的原则

  实际上,上页给出的图是在实验室环境下的测试数据。我们无法使用这个比率来评估日常的生产数据的重复数据删除。但重复数据删除的应用仍然有一些经验性的数据,基本上我们认为大概正常的文件应用可以达到50%以上的重复数据删除。通常我们用25%就可以来评估重复数据删除率。

  以下是选择重复删除技术为获得高删除比的一些原则,但需要注意的是,仅仅为了追求高删除比并不可取,我们在选择产品的时候还需要考虑到实际的环境和现有的设备。此外,本文我们仅从重复数据删除的实现原理上来判断应用效果,重复数据删除的实际应用与具体的硬件环境还有很大的关系。

  获得重复数据删除高删除比的原则:

  对于定长的重复数据删除解决方案,切块越小,删除比率越高。

  采用变长算法的重复数据删除解决方案,可以大大提高我们的重复数据删除率,但也增加了系统的消耗。

  基于数据源的重复数据删除解决方案普遍比基于目标端的高,此外基于备份源的重复数据删除方案还能有效地降低备份网络的负担,但增加的是系统的计算消耗,需要有相应的硬件解决方案。

1
相关文章