一般而言,重复数据删除发生在三个位置,第一个是用户的服务器上,用户的服务器在备份的时候就是介质服务器,如果发生在介质服务器上的话, 我们会发现这种重复数据删除通常是软件产品。其优点很明显,比如说往后端的磁盘上传输数据的时候,一定是经过重复数据删除过的数据块,这时候数据产生的空间是最小的,此外用户不用对它后端的磁盘阵列和虚拟带库修改了。缺点在于,如果是基于软件的话,那一定要和用户的备份软件密切结合的,还有一点就是它的CPU占用率,和内存占用率,由于这两方面的占用,在做重复数据删除的时候,会不会影响使用性,所以一般来讲用户选择的时候,最好查一下用户的列表,当前用的备份软件是什么,主机平台是什么,这样来讲的话,才能和使用环境切合起来。
第二种就是重复数据删除发生在虚拟带库,除了虚拟带库正常的功能以外,还有重复数据删除的功能,这种产品叫做硬件的VTL.这一类产品可以分两种类型,第一种是重复数据删除发生在VTL接收数据的过程中,我们叫In line前事处理。也就是数据到VTL之后,先保存到内存里面,经过重复数据删除以后才存。后事处理是数据直接写入VTL的磁盘组,然后引擎会发出一个重复数据删除的指令,一般来讲或者用命令行,或者是定制一些策略,然后数据会再被读出来,完成重复数据删除的工作,然后再把原先占用的空间清理掉。
现在,重复数据删除有各种不同的实现模式,对于用户来说最重要的是什么呢?就是产品或者技术推出来以后,用户是否有一个选择的余地。就像今天我想用先事处理的模式,那么有一天我觉得这种模式不是适合我今天的业务模式,或者是今天的环境,我能不能把它改成后事模式,能不能给用户多一点选择,我想这应该是重复数据删除产品需要完善的地方。
主持人:其实刚才听了王先生给我们介绍这么多种重复数据删除,包括前事处理,后事处,跨数据级的,那么昆腾在其中究竟是属于哪一种呢?
王刚:我们先分析一下前事处理的工作流和工作方式。在前事处理模式下,备份Server发数据文件,会首先进入VTL的内存里面,这是没有进行重复数据删除的数据基,这时候重复数据删除的引擎会把这个数据集截留成一块一块,这个我刚才讲过 了,是根据哪些地方重复率最高是随意切割的,这是可变的字符块模式。切割完了以后比对,比对完了以后才真正的往后台上存。那么这时候就会发现实际上虚拟带库的引擎80%的工作都在做重复数据删除的对比,而只有20%的工作是把删除后唯一的数据块放到用户的RAID阵列上去。
主持人:这会耗用一定的虚拟带库内存?
王刚:是的,可以说80%的会被重复数据删除的工作占用了,所以说衡量这个产品或者技术是否先进,还要看产品的处理能力够不够:内存是不是给大,CPU是不是双核的芯片以上,是否能消除基于前事处理模式在内存和CPU的消耗,所以前事处理的产品,如果CPU算法不是很优的话,那么服务器上大量的数据流过来的时候,来不及处理,即使后端的阵列带宽很高,机头也会产生处理瓶颈。但如果处理能力足够,足以弥补缺陷的话,那么优势依然很明显,还是很好的。
后事处理,是数据到重复数据删除的VTL的时候,这个数据不是在内存里面堆积,而是先写到阵列组上。一般来说当写满某几盘磁带的时候,这个引擎就会触发,先对这个磁带进行重复数据删除,这时候有一个动作就是回读,就是把这个数据重新读回到内存里,这时候大家发现后事处理这种模式虽然不影响当时备份时候的性能,但是它的IO一定是占用最高的,为什么呢,因为反复读写的关系RAID阵列一定是最忙的。
多次读写带来的问题包括,例如今天晚上需要备份的数据很多,这时候正在做重复数据删除,就有可能发生处理不过来影响备份的情况。第二有些磁带已经在重复数据删除过程之中,那么如果用户再发起一个备份的话,需要考虑的因素更复杂一些,
至于前事处理好还是后事处理好,这两个是没有区别的,实际上是没有区别的,也就是说对用户来讲完全和环境是有关系的,你的备份量,比如说总共只有几十兆每秒一次,不管是前事处理还是后事处理都是没有问题的,如果用户对带宽的要求很高,那么一般来讲的话,前事处理不是太合适。因为毕竟这个CPU和内存能配到多大,能配到多高,如果这样多多少少有影响,一般来讲前事处理的性能比不上后事处理。但是如果前事处理的设备比较强大,这基本上就没有什么问题。
上一页 [1] [2]

【责编:Chuan】