|
捂紧钱袋,删除备份系统中的重复数据编者按:就在昨天,NetApp公司宣布已经将块级“重复数据删除(de-duplication)技术”加载到其FAS 和 NearStore R200生产线上;而前不久赛门铁克也宣布在其整体备份方案中增加重复数据删除功能,越来越多的厂商已经把重复数据删除技术与备份产品结合,重复数据删除已经不再是厂商实验室的白皮书。 实际上,最早开始研究重复数据删除技术的厂商包括Sepaton,早在2003年Sepaton就开始涉足这方面技术的研究,但当时,几乎所有研究重复数据删除的厂商都不愿意公布他们的研究成果。因为重复数据删除可大幅度减少用户对备份存储空间的需求量,直接影响到这些虚拟带库厂商的磁盘销售额。这些厂商虽然有能力研发这样的技术,却宁愿束之高阁,不愿意推广。 今天,重复数据删除已经成为业内公开的秘密,其对于削减空间成本方面的突出优势使之充满特殊的魅力,被誉为“改写经济规则”的新技术。那么重复数据删除,究竟如何删除重复数据的呢?重复数据删除是否存在性能和数据安全方面的隐患?用户在部署重复数据删除需要考虑哪些方面的问题?本文将带你透视重复数据删除技术的工作原理,并分析选择重复数据删除时所需要考虑的因素。 参考文章:NetApp加快重复数据删除步伐 就在几年前,一提起备份大家就自然而然地想到磁带,但是在数据量爆炸式增长的今天,磁带技术由于其性能以及可靠性方面的固有缺陷变得越来越不能满足不断变化的业务需求,加之磁盘设备价格的下降,已经有越来越多的用户采用磁盘备份的解决方案。 这在解决了性能和可靠性问题的同时又引入了新的问题——磁盘不能够象磁盘那样离线保存,不可能无限制的扩充容量,而用户数据增长的趋势却是无限的,并且由于其不能离线保存也导致了远程容灾数据的传送需要占用大量的带宽,这些都在经济上给用户造成了极大的压力。那么有没有办法来缓解甚至解决这种磁盘容量的有限性和数据增长的无限性造成的矛盾呢?答案是“重复数据删除(Data de-duplication)”技术。 “重复数据删除”也称为“单实例存储(Single Instance Repository,简称SIR)”或者容量优化(Capacity Optimization),顾名思义,其根本作用是消减存储中的重复数据,以使任何一份数据只保存一份实例,达到充分利用存储空间的目的。 它是近年存储领域涌现出来的一门新兴技术,各大竞争厂商都生成其重复删除比可以达到 1:20 左右甚至更高,被专家誉为是一种“将会改写存储行业的经济规则”的技术。然而在实际和用户的接触中,大多数用户对该技术还存在许多疑问,诸如:“和增量备份有何区别”、“会不会造成数据损害”、“会不会影响备份性能”等等。所以,在这里我们就详细探讨一下重复数据删除的工作原理。 区别重复数据删除与增量备份 从工作原理上讲,重复数据删除技术可以分为两大阵营,一种是基于哈希(Hash)算法的重复删除,一种是基于内容识别的重复删除。 基于哈希算法的重复数据删除 当备份新的数据时,将按照索引把新数据的哈希码和已存数据的哈希码进行比较,如果发现有相同的哈希码存在,则说明该数据块已经存在相同的实例,此时新备份的数据将被放弃而在相应的位置代之以指向原有实例的指针。 这种算法的优势在于算法简单,而缺点在于当磁盘容量不断增长时,数据块产生的哈希码表可能会超出内存的负载容量,这意味着进行哈希比对时需要去访问磁盘——这势必造成重复删除性能的迅速下降。 另外,哈希算法可能会产生哈希冲突——简单的讲就是不同的数据块产生了相同的索引,这会导致有用的数据被错误的丢弃,从而造成文件的损坏。当然,产生哈希冲突的概率是非常低的,以 128 位的 MD5 码为例,两个哈希码产生冲突的概率为 2E-128,假设一个阵列中存储了 N 个数据块的哈希码,那么其中包含冲突的概率可以按照(1/2)*(N/2e64)e2 进行计算,这意味着只有数据块的数量级达到 2E64 时才可能产生一个冲突。 基于内容识别的重复数据删除 不同厂商技术的比对范围会有差别,有的只能在相同文件内进行比对,有的可以在整个阵列空间内进行比对。如果发现相同的元数据,接下来会对数据对象进行逐字节的比较,从而发现发生变化的数据——即使它们的元数据是形同的。如果数据对象确实是重复的,则删除该数据对象并代之以相应的指针。这种算法的优势在于可以避免哈希冲突,并可以利用元数据之间的联系更快的查找重复数据。 从上面两种技术的原理来看,用户完全没有必要担心数据损失问题,并且,各大厂商也采取了严格的措施来确保数据删除的准确性——以 Sepaton 的Delta Store 技术为例,在删除重复数据时首先会做一次模拟删除,从而生成一份删除后的数据视图,只有验证表明该视图确实可以准确的恢复原始数据后才进行真正的重复数据删除并回收磁盘空间。 重复数据删除安全吗? 更多的厂商采用了备份结束后再执行重复删除的方式来解决该问题。这种做法是在备份完成之后在后台将虚拟磁带上的数据进行切分、分析和比对,从而避免了和备份过程争用系统资源。但是由于其首先要保存原始的数据,在分析过程中也会产生一些中间数据,所以会消耗更大的磁盘空间。另外,如果用户数据量过大,重复删除过程不能在下次备份启动之前完成则会影响到备份性能。 综上所述,用户在考虑是否采用以及采用何种重复数据删除技术时应当考虑如下因素:首先,要考虑数据量的大小。只有数据量足够大时才可以在购买重复数据删除技术的成本和购买磁盘的成本之间求得平衡;其次,要考虑业务数据类型以及保存周期。静态数据——比如电子邮件等往往可以取得更大的删除比,而不断变化的数据删除比要低,另外,数据保存的周期越长则删除比越大;然后,还要考虑重复数据删除的性能。不同的数据切分算法、不同的数据比对算法以及不同的重复数据删除选择,都会对备份系统的整体性能产生影响。 只有在充分考虑了自身环境以及不同的技术特点后,才能够获得最适合自己的重复删除技术。
责编:
微信扫一扫实时了解行业动态
微信扫一扫分享本文给好友
著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
|
最新专题
|
|