重复数据删除技术的研究
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
hash = ROL(hash,N) ^ A[b]
Xor
hash ^= A[b]
xAdler
s1+=b; s2+=s1; hash=s1^s2 hash^=hash>>6;
Rabin
hash = ((hash<<8)|b) ^ A[hash>>N]
图4 Chunk 1
Chunk 2
Chunk 3
。。。
数据冗余策略(如Mirror,RAID5, RAID6等),对单一数据进行备份和恢 复。 •• 远程镜像/远程复制:也可以通过远程 镜像或远程复制技术将本地单一数据备 份到远程存储设备上,防止数据故障。 •• 采用集群技术:可以通过集群技术,采 用分布式文件系统,消除单一故障点, 提高系统的可靠性,实现故障数据的完 全恢复。
Hale Waihona Puke Baidu
图5:内容相同的数据块的数量为2
●● 基于位置寻址的方式(图9): ●● 基于内容的寻址方式(图10):
图6:内容相同的数据块的数量为0
2.6 Write和Read过程
重复数据删除技术Write和Read过程 如下: 1. Write过程: •• File切分成Block。 •• 根据数据块的内容计算出Hash Key。 •• 检查HashKey是否存在。
当前,随着文件切分技术的深入研究,出现多种 不同的算法,如boxcar,MLCG,xor,rolN-xor等 等。这些算法的速度如表1所示。
●● 定长块的切分
采用定长块的切分方法,每个数据块的长度都 是相同的。文件在切分时,如果切分最后剩余部分不 足一个数据块的长度不,那么就向该数据块填充空数 据,如图4所示。
5.67
1%fp 2%fp
Compressed Baseline Uncompressed Baseline DataDomain Compressed Best Uncompressed Best Compressed Practical Uncompressed Practical false positive injection
obj8 3218
obj9 1422
OSS4 (added)
14* → A 71* → B 148* → A 142* → D
3273 → obj2 3218 → obj5
1427 → obj1 1422 → obj9
图9:基于文件名称和路径的位置寻址方式
存储的数据: 3 files
基于位置寻址的文件系统: F1: /usr/home/wus/F1 F2: /usr/home/linc/F2 F3: /usr/home/songj/F3
40000
图3:chunk size在大范围内的性能曲线
compression factor (w/LZO)
compression factor vs. chunk size 7.00
6.75
6.50
6.25
6.00
5.75 5.50 5.25 5.00 4.75 4.50 4.25
DataDomain
华赛科技 2008.12 第4期 8
技术前沿 Leading Edge
重复数据删除技术的研究
图1
chunking
Hash计算
HashKey比较
File
Block
hashkey
De-duplication
图2:chunk size在小范围内的性能
6.75 6.55 6.35 6.15
compression factor vs. chunk size
定长块的切分方法不足是如果文件的某个点发生 变化,之后的所有数据块也将随之发生变化。如果变 化的部分发生在文件的前面,那么重复的数据块将大 大减少。如图5、图6所示。
●● 变长块的切分
变长块的切分则允许某些数据片段进行伸缩,而 不影响后面的数据块,有助于提高系统查找重复数据 块的能力,从而达到大幅节省空间的目的。变长块方 法将加大切分的难度。
2.5 Duplication Elimination 消除重复
表1:File Chunking Algorithm
算法名称
伪代码 (non-rolling)
Boxcar
hash += b
MLCG
hash = hash * A + b
rolN-xor
hash = ROL(hash,N) ^ b
rolN-xor[]
Baseline (uncompressed) Fancy (uncompressed) Simple (uncompressed)
compression factor (w/LZO)
5.95
5.75
5.55
5.35
5.15
4.95
4.75 0
10000
20000
30000
Avg. distinct chunk size
h(F1) h(D) h(A) h(D) A DM 6
h(D) h(A) h(M)
11 华赛科技 2008.12 第4期
www.huaweisymantec.com
配关系,查找File对应得Block和Hash Key。 •• 在文件系统的B+树上查找HashKey是 否存在。 A.如果HashKey不存在,则说明Block 不存在,数据发生故障,需要进行 recovery操作。 B.如果HashKey存在,则说明 HashKey对应的inode存在,然后通过 inode index从磁盘上读取data。 •• 读取所有的Block data。 •• 将Block data组装成File。
用型重复数据删除系统是和特定虚拟磁带 或备份设备相联系,一般采取目标端重复 数删除方式。
1.2 重复数据删除的好处
与传统的全部数据备份系统相比,重 复数据删除技术具有以下好处: •• 在磁盘总容量不变的情况下,有效存
储容量将大大增加。根据实际应用统 计,一般情况下有效存储容量是磁盘 总容量的10-20倍,特殊情况下能到 100倍以上。 •• 在存储数据相同的情况,需要后端处理 的数据大大减少,降低了网络和系统的 负荷。 •• 重复数删除技术可以在磁盘上实现,使
2.1 重复数据删除的流程
PureDisk系统的重复数据删除的流程如图1所示。
2.2 File Chunking Algorithm
重复数据删除首先要将数据分割成块。如果将 文件分割成大块,那么块的数量变少,数据处理速度 快,但是DER将变小。如果分割成小块,那么块的数 量变多,DER增大,但是数据处理的开销增大,处理 速度变慢。DER和Chunk Size关系如图2、图3所示。
2.7 重复数据删除的安全性
当用户选择好重复数据删除产品进行 重复数据删除操作后,会发现一个问题: 完成重复数据删除后,数据只剩下单一的 不重复数据,而且单一的不重复数据是集 中保存在一个存储区域中。单一的不重复 数据的安全性就成为用户最为棘手问题。 如何解决重复数据删除后的安全问题?目 前解决的办法很多,主要有: •• 本地数据冗余策略:采用不同级别的
华赛科技 2008.12 第4期 10
技术前沿 Leading Edge
重复数据删除技术的研究
图8:动态DHF方法
FS obj1 1427
obj2 3273
OSS1
32* → C 71* → B 142* → D
obj3 7122
obj4 1483
OSS2
32* → C 14* → A 148* → A 142* → D
5%fp 10%fp
0%fp
4.00
3.75 1000
40%fp 20%fp
10000 Avg. distinct chunk size
100000
9 华赛科技 2008.12 第4期
www.huaweisymantec.com
磁盘为介质的二级备份系统替代磁带二级备份系统 成为可能。
2. 重复数据删除的关键技术
2.3 Content-Addressed HASH
文件被切分成数据块之后,需要对每个数据块的 内容计算HASH值。内容不同,HASH值不同。内容相 同,HASH相同。系统根据HASH值来判定数据块的异 同。HAH计算的过程如图7所示。
●● HASH计算:
基于内容的HASH运算有很多种方法,如MD5, SHA-1,SHA-256,SHA-512,One-Way HASH等
重复数据删除技术的研究
www.huaweisymantec.com
等。其中One-Way HASH如下[2]: One-Way HASH计算公式: h = H(m) 参数含义: h:固定长度的字符串; m:任意长度的文件; H(x):从m计算出来的HASH值。
2.4 HASH检索
HASH检索是重复数据删除过程的一 个重要环节。目前检索HASH检索的方式 有很多种,有静态DHT(Distribute Hash Table)、动态DHT。其中动态DHT方法如 图8所示。
DAD
图10:基于内容HASH的寻址方式
存储的数据: 2个文件,各分3个块
文件F1:
DAD
文件F2: M A D
传统方式: Block数量:8 元数据:2 数据:6
0: 1
2
3
4: 5
6
7
D AD 6M AD 0 2 13 45 67
设置访问控制和保护期限 基于CAS方式: Blocks数量:5 元数据:2 数据:3
www.huaweisymantec.com
重复数据删除技术的研究
文/程菊生
1. 重复数据删除概述
1.1 重复数据删除的定义、分类
在存储备份过程存在大量内容相 同的数据,将这些内容相同的 数据删除,只保留其中一份。 这种技术称为重复数删除技术。重复数据 删除技术的宗旨就是为企业用户提供重 复数据的备份解决方案,增加有效存储空 间,提高存储效率,使企业备份解决方案 更加完善、高效。
根据切分数据块方法的不同,又可分 为定长块和变长块的重复数据删除技术。 变长块的重复数据删除,数据块的长度是 变动的。定长块的重复数据删除,数据块 的长度是固定的。
根据应用场合的不同,可以分为通用 型重复数据删除系统和专用型重复数据删 除系统。通用型重复数据删除系统是指厂 商提供通用的重复数据删除产品,而不是 和特定虚拟磁带库或备份设备相联系。专
图7:HASH计算过程
Message Chunk 1
Initial
Value
F
他系统保存匹配信息。 •• 将Block data写入磁盘。
Message Chunk 2
……
Message Chunk n padding
Hash
F
F
Key
2. Read过程: •• 从File和Block,Block和Hash Key的匹
A.如果Hash Key存在,那么将Block ID直接指向该Hash Key,而Block data 不保存。 B.如果Hash Key不存在,那么将Hash Key作为Block唯一标识和Block data进 行匹配:map(hashKey,inode), inode(index,data)。 •• 记录File和Block,Block和Hash Key的 匹配关系,在文件系统的B+树上或其
速度 MB/s 360 270 280 175 170 160 145
padding
不同系统计算HASH值的方法不同。 重复数据删除技术主要用于CAS系统中, 而CAS系统计算HASH的方法是根据内 容。而传统基于位置寻址的系统则根据 路径和名称进行HASH计算。PureDisk系 统采用的是基于内容寻址的HASH计算方 法。二者的差别如图9、图10:
按照部署位置的不同,重复数据删除 可分为源端重复数据删除和目标端重复数 据删除。源端重复数据删除是先删除重复 数据,再将数据传到备份设备。目标端重 复数据删除是先将数据传到备份设备,存
储时再删除重复数据。 按照检查重复数据的算法不同,重复
数据删除可以分为对象/文件级和块级的重 复数据删除。对象级的重复数据删除保证 文件不重复。块级重复数据删除则将文件 分成数据块进行比较。
1427 → obj1 1483 → obj7 1422 → obj9
7122 → obj3 7152 → obj6
注:OSS——Object Storage Server
obj5 3218
obj6 7152
OSS3
14* → A 71* → B 148* → A 142* → D
obj7 1483
File F1: DAD
DAD
基于内容寻址的文件系统: F1: gt4hd6j7f3431ta1cs2l9an0dfdk F2: hydga4r1ew09eoaplepotywru4 F3: gt4hd6j7f3431ta1cs2l9an0dfdk
File F2: MAD
MAD
DAD
File F3: DAD