(广东电网有限责任公司云浮供电局)
摘要:近年来,在企业中存储空间的使用往往是惊人的,例如备份数据、文件服务器数据、虚拟化平台数据等。企业数据量不断增长和数据传输要求也不断地提高,数据中心海量的存储空间和高带宽低延时的传输要求成为当前企业网络存储区域面临了严峻挑战,重复的数据过大过多地保存在存储中,使得存储环境的资源被过渡浪费,同时影响系统的响应时间和网络带宽,如同一份的报表文件占用100M,10个用户将100M的文件存放在文件服务器的不同位置上,这样就占用1000M的空间,其中90%的存储空间被浪费掉。所有,通过数据重复删除技术,能让特定集内数据高度的冗余性得到提高,同时在大数据时代下提高存储效率和保存更多的数据资源。
关键词:数据重复 算法 块区
1 引言
随着社会信息化不断推进,网络时代下的信息存储应用领域越来越广泛,在过去的5年内全球数字化信息量增长了近10倍,企业数据中心的存储需求量越来越庞大,已从之前的GB级向PB级,甚至EB级的需求蔓延。研究表明,在应用系统所保存的数据中,高达70%的数据是冗余的,而随着时间推移,冗余数据的比例也随之不断上升,为确保能够可靠和长久地保存数据,可能要花费超过10的存储空间和管理成本,与之同时,文件传输的过程中花费的网络带宽资源也高居不下。因此存储系统中数据高冗余问题受到越来越多研究人员、技术人员的高度关注,如何缩减存储系统数据存储容量已成为一个热门的技术研究课题。
重复数据删除(Data Deduplication)是一种数据缩减技术,智能压缩或单一实例存储,可自动搜索重复数据,将相同数据只保留唯一的一个副本,并使用指向单一副本的指针替换掉其他重复副本,以达到消除冗余数据、降低存储容量需求的存储。
2 重复数据删除技术
每一个数据块需要通过散列算法(如MD5 或者SHA-1)为每一个数据产生一个特定的散列值。将这个散列值与现有的散列值索引相比较,如果它已经存在于索引中,那么这个数据就是重复的,不需要进行存储。否则,这个新的散列值将被添加到索引中,这个新的数据也因此被存储。
要使重复删除平台处理更精确,就需要更大的索引。例如,基于文件的重复删除只需要一个百万大小或千万大小的单一散列值索引。相比之下基于块的重复删除会涉及到更多的单一数据块,这个数字通常会达到十亿级。这样精确的重复删除需要更强的处理能力以便可以为其提供更大的索引。除非硬件的设计与对索引的要求相适应,否则随索引的不断扩展,平台的性能将随之下降。
一般而言,散列算法很少会将两个不同的数据块产生出相同的值。当这样的“散列碰撞”发生时,系统就不会存储新的数据,因为系统看到同一个散列值已经存在。这被称为“false positive”(误报),会导致数据丢失。一些厂商结合不同的散列算法,以降低散列碰撞的可能性。另一些厂商还会检查元数据来确认数据,从而避免散列碰撞。
目前重复数据删除有两种技术架构,即在线处理(in-line)和后处理(Post-Processing)。也有叫源端消重技术和目标端消重技术。In-line是指数据保存到二级存储系统前进行重复数据删除。这样降低了对存储性能和容量的需求,但是却增加了一个需要管理的设备,有可能影响备份的性能;而Post-process 是指在数据备份处理之后才进行重复数据删除。它需要暂时存储全部数据,因而需要更大的存储空间,所以虽然对备份性能影响较小,但减少备份介质数量的效果并不明显。In-band 处理效率较高,但处理速度会稍慢一些,因为额外的处理需要更多的存储时间,从而导致备份窗口占用更久的时间。Out-of-band 处理不会影响系统的性能,但它需要略多一些的磁盘空间。
In-band 的优点在于它只对数据执行一次处理。而缺点是,它会减慢写入备份的速度,影响备份窗口,具体情况视实施而定。在线(inline)阵营认为,虽然它们可能会在某种程度上减慢备份速度,但它们执行完成后,就完成工作了。但是out-of-band 仍然还有重要的工作未完成,即存储数据。In-band能够减少需要传输的备份数据量,从而简化了传统的远端备份问题。对移动办公的用户、远程的服务器和工作站,能高效地通过现有广域网(WAN)把数据传输给数据中心。
Out-of-band 处理的方式为,写入原始数据,读取,并确认其是否为冗余数据,若是,则用一个或多个指针进行代替。其优点是,out-of-band 能够提供并行处理(多处理器)能力解决问题,而in-band 只能为每个备份流提供一种处理能力。其缺点是,需要对数据进行多次读写,而多次的读写会导致磁盘空间的占用。另外,由于out-of-band 系统在完成重复数据删除之前,必须有足够的磁盘空间来存储最新的备份集,所以,out-of-band 处理方式需要比in-band 处理方式需要多一些磁盘空间。Out-of-band 阵营反驳说,减慢原始备份速度是不能接受的,但是他们能够为第二天的备份及时完成重复数据删除。
期刊文章分类查询,尽在期刊图书馆
正因为In-band、Out-of-band各有优势,现在很多软件备份产品具有源端和目标端的重复数据删除功能,例如,CommVault的Simpana、EMC的NetWorker,IBM的Tivoli(TSM)管理系统和赛门铁克的NetBackup,都会在他们的软件中提供源和目标端重复数据删除功能。源端重复数据删除主要是适用于小数据集以及远程数据,而目标端重复数据删除主要是用于对大量的数据集合备份的情况下,这时备份客户端和备份服务器之间不受带宽限制。
3 重复数据删除的实现方式
目前在市场上了解到,很多的存储服务提供商都开始研发能实现重复数据删除功能的存储系统,按照现实文件服务器功能,既可以用专门的存储系统来实现功能,也可以通过Windows Server 2012部署的方式来实现。下面就对比一下这两种方式的优缺点。
飞康、昆腾的DXI系列设备都是采用SHA-1、MD-5等类似的算法将冗余数据进行删除,按照实现功能来说,这些设备需要集中采购,其次重复数据的检测比对过程给系统带来了巨大的时间开销。当数据的所有特征存在于1个索引中时会导致系统的可扩展性差,同时导致特征值匹配的时间开销过大;针对重复数据检测,传统的Cache并不适用于缓存指纹值、哈希值或者描述符,因为指纹值在本质上是随机的。因此,如果没有进行完全的索引访问,预言下一个块的索引位置是非常困难的,从而也导致了传统cache的命中率是非常低的。因而不能支持所有的数据索引一次性地进入内存进行检测,从而导致了大量的磁盘访问;从而造成存储系统资源的综合利用率都比较高,直接影响硬盘的老化和寿命。
擦除技术是Windows Server 2012和Windows Server 2012 R2的自带功能。这种技术在磁盘卷中查找重复的内容,保留一份副本并删除其余重复的部分——而且在数据被移除的位置会插入一个“链接”指向保留的那份数据块上面去。
数据删除包含了3种在一定间隔时间重复执行的作业:
优化作业:这个工作执行着核心的分析和从磁盘卷中移除重复内容。它还执行着使用内置算法压缩大块文件的工作,使文件的大小得到平衡,而不会受到解压时对性能的影响。
数据清洗作业:有的时候随着数据删除或者随后的大块文件压缩,数据可能被损坏。这需要使用校验和和对文件元数据的一致性检查来对其进行验证。在这个过程中,数据清洗作业尝试修复损坏的文件,这个过程通过从一个私有备份Windows上频繁访问的非重复内容恢复一份副本来,或者从类似Windows Storage Spaces的容错磁盘卷上恢复文件,或者在文件被写入的时候将损坏的数据块替代为新的,正确的数据块。
垃圾回收作业:这个作业收集那些没有优化或长期不需要的文件碎片,删除它们来增加磁盘可利用的空间。
这三种作业确保系统资源的相对稳定,同时实现对系统内的重复数据进行删除。相对存储系统高额的购买费用而且需要专用的硬盘,Windows server 2012的实现方式具有更高的性价比。
Windows Server 2012重复数据删除技术
Windows Server 2012重复数据删除技术的优点:
容量优化:“重复数据删除”使得 Windows Server 2012 能够在更少的物理空间中存储更多的数据,并获得比以前版本的 Windows 操作系统明显更高的存储效率。以前版本的 Windows 操作系统使用单实例存储 (SIS) 或 NTFS 文件系统压缩。“重复数据删除”使用可变分块大小和压缩,常规文件服务器的优化率为 2:1,而虚拟数据的优化率最高可达 20:1。伸缩性和性能: Windows Server 2012 中的“重复数据删除”具有高度的可伸缩性,能够有效利用资源,并且不会产生干扰。它可以同时对多个大容量主数据运行,而不会影响服务器上的其他工作负载。通过控制 CPU 和内存资源的消耗,保持对服务器工作负载的较低影响。此外,用户可以灵活设置何时应该运行“重复数据删除”、指定用于消除重复的资源并为“重复数据删除”创建有关文件选择的策略。
可靠性和数据完整性:在对数据应用“重复数据删除”时,保持数据的完整性。Windows Server 2012 利用校验和值、一致性和身份验证来确保数据的完整性。此外,Windows Server 2012 中的“重复数据删除”会为所有元数据和最常引用的数据保持冗余,以确保这些数据可以在发生损坏时进行恢复。与 BranchCache 相结合提高带宽效率:通过与 BranchCache 进行集成,同样的优化技术还可应用于通过 WAN 传输到分支机构的数据。这会缩短文件下载时间和降低带宽占用。
Windows Server 2012重复数据删除的目标是通过将文件分割成小的 (32-128 KB) 且可变大小的区块、确定重复的区块,然后保持每个区块一个副本,在更小的空间中存储更多的数据。区块的冗余副本由对单个副本的引用所取代。此外,还会对区块进行压缩以便进一步优化空间。
结束语
本文对当前存储系统重复数据删除技术的研究现状和实现方式进行了深入的探讨,在重复删除系统的体系结构和实现技术进行方式做了详细的分析,体系了Windows Server 2012的重复数据删除技术的独到之处。对于重复数据删除的实现方式,目前有硬件和软件两种方法,其现方法几乎相同。不过硬件方式只能实现后端方式的重复数据删除,同时,使用硬件设备还会增加数据中心的复杂性,以及需要管理的设备数量,实际上相当于增加了环境的存储容量,而不是更有效地利用现有的空间。另外,从投资的角度看,软件方式由于与硬件无关,更利于保护用户的先期投入。
论文作者:刘东东
论文发表刊物:《电力设备》2016年第13期
论文发表时间:2016/10/10
标签:数据论文; 备份论文; 冗余论文; 技术论文; 方式论文; 索引论文; 作业论文; 《电力设备》2016年第13期论文;