浅谈重复数据删除的实现

TimQuan
4 Germanium

浅谈重复数据删除的实现

浅谈重复数据删除的实现

转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese

介绍

重复数据删除指的是备份时找到并消除重复的数据,以提高备份的效率。本文将介绍重复数据删除的级别和种类,让大家了解重复数据删除是如何实现的,以及重复数据删除能够给我们带来些什么好处。

更多信息

先来看一个考小朋友的问题:“以下一共有几种水果?“

Untitled_副本.jpg

小朋友最后从一大堆水果中挑出不一样的12种来。这就是最简单的重复数据删除。重复数据删除看似简单,其实在实际生产环境中的实现还挺复杂的。不同重复数据删除的产品最终所能达到的数据消重率和完成的时间效率大相径庭。今天就让我们来看一看实际生产环境中是如何实现重复数据删除的。

重复数据删除的级别:

重复数据删除通过识别重复或冗余数据来降低存储需求。重复数据删除有多种级别,每个级别所对应的文件冗余识别能力有所不同:

文件级别重复数据删除:只要文件有任何修改,整个文件就被认为是一个新的文件,因而会被存储。只有在文件没有任何修改的情况下,该文件才被认为是个冗余文件,从而无需再次存储,但是会创建一个指针从冗余文件指向备份文件,并且保留指针和元数据。需要恢复文件的时候,可以通过唯一文件以及相应的指针或元数据来实现。这种重复数据删除级别效率较低。EMC Avamar包含文件级别重复数据删除功能。

1_副本.jpg


固定长度数据块重复数据删除:常用于快照与复制技术,文件被分割成固定长度的数据块,能够更高效的识别数据的冗余性。但是,因为数据块是固定长度的,所以即使修改文件的一小部分,也有可能导致所有数据块都被修改。例如,如图所示,假如需要添加一个数据块到已有的数据块中,整个数据流都要往后挪以便腾出地方。这种重复数据删除级别效率也不是很高。

2_副本.jpg


可变长度数据段重复数据删除:在固定长度数据块重复数据删除基础上加以改进,使用一种智能化的方法来确定数据块的大小,着眼于数据本身来确定数据块的分界点。可变长度数据块重复数据删除提供更佳的粒度识别重复数据,消除了文件级别和固定长度数据块重复数据删除的低效率。使用可变长度数据块重复数据删除,当添加数据时,数据可被加入可变长度数据块中,整个数据流无需挪动。因此,更多数据块会被定义为相同数据块,要存储的数据也随之减少。在固定长度数据块重复数据删除和可变长度数据块重复数据删除中,同样也会保留指向唯一数据段的指针和元数据。EMC AvamarData Domain使用的都是可变长度数据块重复数据删除。

3_副本.jpg


重复数据删除的种类:

按照重复数据删除操作所执行的对象,重复数据删除可分为两种:

源端重复数据删除:在客户端既数据的源头作重复数据的识别,并将重复数据删除以后的数据通过网络传输并存储到磁盘上进行备份。EMC Avamar提供的就是这种重复数据删除方式。

4_副本.jpg


目标端重复数据删除:将数据从客户端发送到目标存储设备上,然后在目标存储设备上进行重复数据删除。此时,不同厂商所提供的目标端重复数据删除产品的差距就体现出来了。很多其他厂商的目标端重复数据删除产品需要将数据先存到磁盘上的一个临时区域,然后再进行重复数据删除,而且无法对重复数据删除之后的数据进行压缩。这样不但需要有额外的磁盘,而且需要额外的人力去管理处于不同状态的数据池中的数据。EMC Data Domain使用的则是一种称为“内联”的重复数据删除方式,在将数据存储到目标存储设备之前,就对数据进行重复数据删除。99%的数据段冗余分析是在内存中完成的,只有一小部分未能在内存中识别的数据会和磁盘中已存储的数据去比较。由于重复数据删除基本是在内存中完成的,很少访问磁盘,所以重复数据删除的速度很快。如果数据块被识别为是旧的,该数据不会被再存储但是会给它创建一个指针。随后,Data Domain会将经过重复数据删除处理以后的数据进行压缩,然后存储到目标存储设备的磁盘上。

5_副本.jpg


6_副本.jpg


7_副本.jpg


使用重复数据删除功能的好处主要有:

·         减少磁盘空间:重复数据删除之后,数据量可以减少几十倍,很大程度上降低了磁盘空间的负担。

·         提高备份速度:重复数据删除极大的减少了所需备份的数据量,缩短了备份窗口。

·         降低网络负载:对于源端重复数据删除而言,由于所要传输的数据量大为减少,网络带宽压力得到减轻。

·         加快数据恢复:由于重复数据删除以后的数据量少了很多,数据长期存于磁盘可成为现实。由于数据是在磁盘而不是磁带中,所以读取数据的数据会大大加快。

·         改进数据保护:不使用重复数据删除的情况下,很多时候因为备份时间段的限制我们也许只能进行每周完整备份和每日增量备份。使用重复数据删除以后,我们很可能将能够采取更积极的备份策略, 如每日完全备份。

应用于

AvamarData Domain,重复数据删除

             

评论

学习了!

如果有一天能识别每一个block的内容是否重复就好了

重删粒度越细,计算量越大,指针大小越接近...

高见

版本历史
修订号
1 / 1
上次更新时间:
‎08-19-2013 08:31 PM
更新依据: