存储 频道

重复数据删除技术 存储不可缺的宝贝

  【IT168 技术】文章基于现有的SNIA材料,解释了哪种类型的数据适合重复数据删除,以及哪些不适合。同时描述了重复数据删除流程可以进行的几个不同的地方;探讨了压缩与单实例文件以及重复数据删除之间的不同点;研究了次文件层重复数据删除执行的几个不同方式。

  介绍

  重复数据删除已经成为存储行业非常热门的话题和一大类商业产品。这是因为重复数据删除可以大幅减少购置和运行成本,同时提高存储效率。随着数据量的爆炸性增长,接近一半的数据中心管理员都将数据增长评为三大挑战之一。根据最近的Gartner调查结果,重复数据删除可以减轻存储预算的压力并帮助存储管理员应对数据的增长。

  虽然重复数据删除主要被视为一种容量优化技术,不过该技术也可以带来性能上的好处--随着所需存储的数据的减少,系统所需迁移的数据也减少。

  重复数据删除技术可以应用在数据生命周期上的不同点上:从来源端重复数据删除,到传输中重复数据删除,一直到存储目标端重复数据删除。这些技术还可以应用在所有的存储层上:备份、归档和主存储。

  重复数据删除的解释

  无论使用哪种方式,重复数据删除就是一个在不同层次的粒度性上识别重复数据并将重复数据替代为指向共享复件的指针的过程,这样可以节约存储空间和迁移数据所需的带宽。

  重复数据删除流程包括跟踪并识别那些被删除的重复数据,以及识别和存储那些新的和少有的数据。数据的终端用户完全不会感到这些数据可能已经被执行重复数据删除流程并已经在其数据生命周期中被重建许多次。

  对数据进行重复数据删除操作有几种不同的方式。单实例存储(SIS)是在文件或块层次上进行重复数据删除。重复副本会被一个带着指针的实例所取代,而指针则指向原始文件或对象。

  次文件层重复数据删除的操作粒度则比文件或对象更小。这种技术有两种常见的方式:固定块重复数据删除--数据被分解成固定长度的部分或块;可变长度重复数据删除--数据根据一个滑行的窗口进行重复数据删除。

  数据压缩是对数据进行编码以减小它的大小;它还可以用于那些已经被重复数据删除的数据以进一步减少存储消耗。重复数据删除和数据压缩虽不同但互补--例如,数据可能重复数据删除的效率很高但是压缩的效率很低。

  此外,重复数据删除数据可以在线执行;也就是说,在数据被写入目标端的时候进行重复数据删除操作;当然,重复数据删除也可以以后处理的方式执行,也就是在数据已经被写入并存储在磁盘上的时候执行。

  举个一个简化的重复数据删除例子,我们有两个由块组成的对象或文件。下图显示了这些对象或文件的情况。对象或文件可以是可变的或基于窗口的部分、固定块或文件集合--可以应用同样的原则。在这个例子中,每个对象所包含的块由字母来区分。

重复数据删除技术(一)

${PageNumber}

  次文件层重复数据删除(SNIA)

  第一个对象由ABCZDYEF块所组成,第二个对象由ABDGHJECF块所组成。因此,相同的块就是ABCDEF.原始数据应该有8加9个块,也就是总共17个块。被重复数据删除后的数据只需要每个对象中各自少有的两个块(Z和Y)和三个块(G、H和J),再加上6个共同的块,以及一些指针头和其他数据来帮助重建,也就是总共11个块。

  如果我们加入第三个文件,比如说对第一个文件的修改,编辑成XBCZDYEF,那么只需要处理新的块(X)。12个块和一些指针就足以存储这三个不同的对象所需的所有信息。压缩技术可以进一步减少被重复数据删除的数据所占用的空间。根据数据类型的不同,有可能进一步压缩到原来数据的50%.例子中原来的17个块可能被减少到6个块。

  重复数据删除使用案例

  有许多类型的数据可以从这种容量缩减技术中受益,包括备份--备份数据的每个数据流都和最后的备份非常相似,只有很少比例的数据在每个备份之间有变动。对备份数据进行重复数据删除操作的效率可以达到20比1,而且通常还更高。在虚拟机镜像中,每个镜像都很大程度上和其他镜像非常相似,因此也适用于重复数据删除,在实践中可以节约90%或更多的空间。

  重复数据删除可以用于备份、主存储、WAN(广域网)优化、归档和灾难恢复。实际上,任何一个数据存储和传输的地方都可以使用重复数据删除技术。

  需要考虑的要点

  重复数据删除技术看起来是很好的技术--不过,就像所有技术那样,要利用好这个技术需要理解它所适用的环境和不适用的环境,同时还要了解各个不同厂商所提供产品的不同特点。

  不是所有的数据类型都可以很好地进行重复数据删除。一些数据类型是有问题的,比如视频流或地球物理数据。这些类型的数据很多没有或很少重复性数据,而且可能已经被压缩过了。另一方面,无论数据类型是什么,备份的重复数据删除效率总是很高,因为其中的大量数据通常不会变动。

  不过一般而言大部分数据类型和数据来源都有可以进行重复数据删除的潜力--例如,主目录和VM(虚拟机)镜像。被执行重复数据删除流程后的数据有可能访问起来比较慢,因为相较那些没有被重复数据删除的文件而言,重建数据可能需要使用存储系统更多的处理资源,通常是更多的CPU资源。

  另一方面,被重复数据删除后的数据也有可能可以访问得更快,因为需要从慢磁盘中迁移的数据更少了。闪存存储设备存储控制器上的高速缓存或网络本身的高速缓存可以大幅减少磁盘子系统整体的I/O负荷。不过,各人的情况有所不同,而且对重复数据删除好处的评估需要理解你所提供的服务和你所管理的数据。

  大部分数据类型可以从重复数据删除中获益,因为重复数据删除的开销比较小而节约比较大,不过需要快速访问的高性能应用程序通常不适合重复数据删除。

  小结

  重复数据删除可以带来显着的成本节约--从更低的管理成本(因为只需要管理更少的存储)到更少的容量、电源和冷却需求。重复数据删除可以缓解管理数据增长的压力,减少网络带宽需求,从而改善容量和性能效率。通过减少单位存储字节碳排放,重复数据删除可以使数据中心更加绿色。

0
相关文章