关于重复数据删除技术的那些事儿(下)

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

  次文件层重复数据删除(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负荷。不过,各人的情况有所不同,而且对重复数据删除好处的评估需要理解你所提供的服务和你所管理的数据。

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

  小结

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

  在回答“重复数据删除是否能给我的数据中心带来好处?”这个问题的时候,通常的回答是:“是的,可以”.目前重复数据删除技术的成功应该可以鼓励每位存储管理员尝试一下。