大数跨境
0
0

重复数据删除技术【备份技术】

重复数据删除技术【备份技术】 云容灾备份安全治理
2018-02-11
1

1.     重复数据删除技术简介

随着大数据的普及,数据的潜在价值越来越受到决策者的关注,在接下来的若干年里数据中心存储的数据量级将会出现质地飞跃。对于备份容灾系统而言,面对的大数据保护的压力也大幅提升,在当前信息化发展境况下,除了改良物理设备(如磁盘、磁带、光盘、控制器等)的综合性能,剩下有效措施就是想方设法提高对数据的处理能力。因此,在保护的数据量级逐渐提升的情况,重复数据删除技术将扮演越来越重要的角色。

此前我们简单介绍了重复数据删除技术,接下来深入了解重复数据删除技术的机制。重复数据删除技术的工作原理和杀毒技术的工作原理类似:杀毒软件主要通过读取文件、计算特征码、对比特征码、智能判断这四大步骤来判断文件是病毒源还是正常文件,重复数据删除技术也采用了类似的过程来实现数据块重删功能。从这四个处理过程来看,重复数据删除技术的性能主要取决于读取文件、计算特征码、对比特征码这三个步骤的速度。在磁盘存储上频繁读写文件数据再计算特征值的速度,明显没有将文件数据读到内存中再计算特征值的速度快,尤其是面对持续大数据量冲击两种方式的差距更加一目了然。因此重删过程尽量保持在CPU和内存这类高速设备中、减少数据落盘能够显著提升重删性能,这也是此类产品系列在重复数据删除领域独占鳌头的主要原因。

2.     重复数据删除技术原理解析

重复数据删除技术是一门相当复杂的技术,尤其是重删过程中的切片算法,切片算法的优劣极大程度的决定了重复数据删除技术实现的整体性能。在重复数据删除产品领域,目前较为优异的切片处理为基于CPU和内存的4-12kb可变长动态切片处理技术(精度小、切片长度可变、动态处理)。接下来通过一款该产品的工作原理图来聊聊基于CPU和内存的重复数据删除产品是如何实现数据重删功能。

此产品支持全局重复数据删除技术,即可以跨越多个Controller进行数据重删(入门级产品仅配置一个Controller,中高端产品才有多个Controller配置)。重复数据删除过程主要覆盖两个部分:客户端的重复数据删除区和产品端全局重删系统。其中Chunking(第一次)、RoutingChunking(第二次)以及部分Filting过程主要发生在客户端的重复数据删除区里,另一部分FiltingDataSave过程发生在全局重删系统。在整个消重过程中,除了DataSave部分将消重数据块落盘存储,其他部分均在CPU与内存之间完成交互,因此相对于其他重复数据删除产品在整体性能几乎没有瓶颈。此产品在执行重复数据删除过程中,由于是CPU与内存承担主要任务高而磁盘阵列的IO较低,如果此时向其他设备进行复制克隆任务,复制克隆任务整体效率将显著降低。

接下来我们逐步分析在全局重复数据删除过程中每一个步骤及其功能:

Initializtion

在执行重复数据删除任务前,客户端合与此产品控制器进行通讯交互,分布式块处理进程DSPDeduplicated Segment  Process)进入初始化,客户端会开辟一部分内存空间用于缓存,同时分配一小部分硬盘空间用于暂存Hash表,Controller将加载对应Hash表为重删过程做准备。在一切准备条件完成后,重复数据删除系统即接收数据流。

Chunking(第一次)

当数据流进入客户端的重复数据删除区, 分布式块处理进程DSP会根据数据流特征进行切片处理,数据流会被切片为平均长度为1 MB的数据块。首次Chunking是基于数据流CONTENT PATTERNS并不是基于BLOCKFILE,在此之后大型数据流会被分解为数据片段,减轻重删压力。

Routing

经过Chunking后的数据片段,分布式块处理进程DSP再根据数据片段内数据结构进行分配映射,确保类似的数据块均被映射相同处理进程上并和对应的Controller联合进行重复数据删除处理。Routing之后,数据片段分门别类,相似的数据片段尽量保持在相同的进程及Controller上处理,大幅提高了处理效率

Chunking(第二次)

分布式块处理进程DSP将映射过来的数据片段再次进行切片处理,所有的数据片段将基于4-12 kb粒度进行可变长动态切片。可变长动态分片技术是重复数据删除的核心,分片最小精度为4kb,最大精度是12kb,切片精度越小获得重复数据片段的几率越大,重复数据删除效率越高。经过Chunking- Routing- Chunking后的数据片段已经充分处理,相似度极高,下一步即将开始Filting

Filting

在客户端上分布式块处理进程DSP开始处理经过两次Chunking的数据片段,为所有数据片段计算指纹ID(或块ID)。每一片指纹ID通过网络传输至Controller处理进程上,进程开始将此指纹ID与产品终端上已存储的指纹ID集进行对比,如果指纹ID集内已存在,则原指纹ID及其所对应的数据片段将被标记、指针处理后抛弃;若指纹ID为新,则原指纹ID将在产品终端上存储的指纹ID集更新,其所对应的数据片段就通过LZGZGzfast等压缩技术准备存储,所有相关的元数据经过处理准备存储。

DataSave

全局重删系统将新的数据片段(经过压缩后)及其相关指纹ID、元数据进行存储,同步更新所有日志等。

3.     重复数据删除的期望收益

相比于基于纯软件的重复数据删除技术或目标端线下重删技术, 分布式块处理进程DSP带来了诸多收益:

1,  更高效的CPU和内存利用率

CPU和内存间进行交互提高了重复数据删除整体效率,减少了其他软硬件因素的制约。

2,  大幅提高网络带宽利用率,减少网络资源消耗

相对于其他重复数据删除技术实现,客户端与产品之间网络仅传输指纹ID、非重复数据片段等,网络占用低,不会形成大流量网络冲击影响业务性能。

3,  任务重启后耗时短

数据保护任务再次重启时,未变更的数据片段仅进行计算对比后就被抛弃,网络间不进行传输,耗时短,若重复命中率高,速度会更进一步提高;已变更的数据片段经过重删过程后即被压缩存储。重启任务时整体效率提升显著。

数据保护任务失败时,重启该任务后已经成功处理的数据仅在DSP内进行短时间的计算对比后抛弃,数据不会传输到产品内部。不仅缩短了重启任务耗时,还减少了网络负载提高了任务期间整体吞吐效率。

4,  更平衡的工作负载

相对于其他重复数据删除产品的实现,Controller和重复数据删除系统将任务的负载压力更科学的平衡在客户端与重复数据删除系统之间,提高了多个物理设备的整体利用率。 

4.     重复数据删除的实际运行效率

此前曾针对某款基于CPU和内存的重复数据删除产品进行过一次性能测试,本次测试具体环境配置如下:

虚拟化版本

系统版本

XXXXX OS 6.0.0.20

CPU

4 vCPU

内存大小

16 GB

磁盘阵列

760 GB SAS

网卡

千兆网卡 


FTP文件服务器

操作系统

Windows Server  2012 R2 x64

CPU

1 vCPU

内存

4 GB

磁盘(文件存储)

740 GB SAS(实际数据大小为585 GB)

网卡

千兆网卡

备份任务运行稳定后,产品终端负载情况:

备份任务运行稳定后,FTP文件服务器负载情况:

CPU-内存-磁盘-网络:

       第一次重复数据删除备份任务整个备份过程约42分钟,备份数据量约403 GB,平均备份速度167 MB/S。产品终端实际写入数据约为77 GB,全局重复数据删除比为5.2x

从以上图例,我们可以清晰的看到:进入备份后客户端(FTP文件服务器)CPU使用率逐渐提升,备份完成后CPU使用率回降,在整个备份过程中CPU1 vCPU)高峰值基本维持在75%左右,大部分时间使用率低于75%,对于1 vCPU的虚拟机而言已经是不错的成绩。内存方面,备份占用的内存大小最高没有超过300MB,控制得不错。磁盘IO方面,全程平均读速度约110 MB/S(最高230 MB/S)。网络使用情况,大部分速率维持在5 MB/S以下,高峰值约为20 MB/S,全程平均值为1.3 MB/S。产品终端在截取的200s备份区间内,CPU一直维持在13%左右的使用率,磁盘使用率持续在10MB/S以下,网络负载在1 MB/S左右,BOOST逻辑速度前80s220 MB/S,后120s开始大幅抖动,这也反映出非结构型数据备份的特点。

本次测试也明显的展示了源端重复数据删除的特点,也突出了这类基于CPU和内存实现重删技术的设备的优缺点。在备份过程中,客户端上CPU和内存均会有部分负载,磁盘IO持续高载,但网络压力大幅减少,仅1 MB/S平均负载。产品终端CPU压力明显上升,维持在13%左右,磁盘压力非常小,一直维持在10 MB/S以下,网络负载微乎其微 1MB/S左右。对于网络环境较差的业务场景,重复数据删除备份是一种优异的备份方式,不仅备份速度优异,网络压力也非常小。然而也注意到在重复数据删除存储这边,CPU、内存压力一直存在,若多备份任务叠加,其整体负载几乎线性递增。倘若此时还有复制或克隆任务,其性能则会大打折扣。


【声明】内容源于网络
0
0
云容灾备份安全治理
分享云灾备规划、实施、运营、备份与恢复、数据安全、数据治理;窥视国内外备份软件与监控软件知识前沿水平线; 越努力,越幸运!
内容 2171
粉丝 0
云容灾备份安全治理 分享云灾备规划、实施、运营、备份与恢复、数据安全、数据治理;窥视国内外备份软件与监控软件知识前沿水平线; 越努力,越幸运!
总阅读3.6k
粉丝0
内容2.2k