码迷,mamicode.com
首页 > 移动开发 > 详细

device-mapper deduplication (dm dedup) <2>概要

时间:2018-10-29 20:01:40      阅读:334      评论:0      收藏:0      [点我收藏+]

标签:比较   读者   sha   51cto   color   process   md5   ofo   free   

二、dm dedup的原理

如果看过上我上篇《linux I/O栈预习》的读者会很容易发现,dm dedup仅仅是linux I/O栈中沧海一粟的一个附加功能,那为什么我会对这个技术这么感兴趣?
那么我认为有两点比较有趣:其一是这个项目从2014年开始到如今也没有被合并入linux kernel主线的代码,说明其完备性不够。其二是因为这个技术确实是比较新颖,所以可以在其中有一些思考,而不像其他dm模块那样稳定。

那么直接开始,从它的设计开始说起:
dmdedup的设计思想,其实非常简单,从图中可以看出来三个主要的逻辑:
1、hash index
2、LBN Mapping
3、space manager

技术分享图片

1.hash index,首先dm dmdedup支持非常多中hash算法,那么我们这里需要理解hash index产生的冲突概率
如果简单来讲,大致的算法产生hash碰撞的概率如下:
16位Hash碰撞概率为50%,则n = 301次
32位Hash碰撞概率为50%,则n = 77162次
128位MD5碰撞概率为50%,则n = 21,719,381,355,163,562,492次
具体算法公式请参见:http://www.freezhongzi.info/?p=100
从上述的碰撞百分之50的次数:我们大致可以推算出来,如果对于定长去重(那么如果采用md5,大概得有2 x 10^19才可能有百分之50的概率出现相同的md5值),但是这样的分析不够全面,因为还要考虑到硬盘bit错误(概率大概是10 ^-18),所以考虑这个因素公式的参数要重新去填写。
技术分享图片
那么n 约等于 2 ^128 x10^-18再开根,大约是2 x10^10次方,如果按照4k去算,大概能够表示,100T的数据是不重复的。

device-mapper deduplication (dm dedup) <2>概要

标签:比较   读者   sha   51cto   color   process   md5   ofo   free   

原文地址:http://blog.51cto.com/12580077/2310366

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!