一、序

  1. 研究背景
    linux device mapper deduplication target作为开源系统linux目前的块级重删技术,未来会被广泛关注。尤其是在全闪存all flash array要在未来大爆发的时代,越来越多的混合存储方案会被全闪存所替换。如何更提高闪存的利用率变成了各大厂商的研究对象。
    由此可见重删技术对闪存是尤为重要,甚至来说是闪存能够做到低成本的基础要素,另一个要素是:压缩。

2.重删的基本概念
重删是一门非常老的学问,历史上有很多人研究过数据重删,这里就不介绍了。
这里我们借用维基百科来快速了解一下重删技术:
详见https://en.wikipedia.org/wiki/Data_deduplication {在计算中,重复数据删除是一种专门的数据压缩技术,用于消除重复数据的重复副本。相关和稍微同义的术语是智能(数据)压缩和单实例(数据)存储。此技术用于提高存储利用率,还可以应用于网络数据传输,以减少必须发送的字节数。在重复数据删除过程中,在分析过程中识别并存储唯一的数据块或字节模式。随着分析的继续,将其他块与存储的副本进行比较,并且每当匹配发生时,冗余块被替换为指向存储的块的小引用。鉴于相同的字节模式可能会发生数十次,数百次甚至数千次(匹配频率取决于块大小),所以必须存储或传输的数据量可以大大减少。此类重复数据删除与标准文件压缩工具(如LZ77和LZ78)执行的重复数据删除不同。虽然这些工具识别单个文件中的短重复子串,但基于存储的重复数据删除的目的是检查大量数据并识别相同的大型部分(例如整个文件或大部分文件),以便仅存储一份副本。可以通过单文件压缩技术另外压缩该副本。例如,典型的电子邮件系统可能包含100个相同1 MB(兆字节)文件附件的实例。每次备份电子邮件平台时,都会保存所有100个附件实例,需要100 MB的存储空间。通过重复数据删除,实际只存储了一个附件实例;后续实例被引用回保存的副本,重复数据删除率大约为100比1。}

从维基百科的介绍可以看出,重删在特定的应用场景下有着非常大的作用(如:邮件系统)。

3.开源的重删技术
目前开源的deduplication有大致如下几种:
dm dedup 、openzfs、btrfs、opendedup等。
除了dm dedup外其他的都是文件系统级别的重删功能。
所以dm dedup也是我知道的块级重删的唯一开源项目。

4.文件级重删和块级重删的区别
文件和块级重删在本质上是没有区别,他们的目的都是去比较重复的数据,用引用来代替实例来节省空间的方法,但是从stack的角度,他们有很大的区别。众所周知,我们构建一个存储系统,其中功能的完备性在 I/O stack的越底层,那么它的作用范围就会越大,兼容性就会越好,但应用感知能力也会越差。我们知道在一般的linux系统中文件系统一般都是构建在块设备之上,所以重删的功能如果在块级,那么就可以兼容那些缺少重删功能的稳定文件系统,比如ext4,xfs等。所以我认为这是重删功能在块级非常重要的一点。还有一点是,针对那些直接需要块存储的导出系统(openstack cinder,vmware exsi,和一些集群文件系统),不管是server san还是标准san内部实现块级重删也是再好不过了,如果使用openzfs/btrfs支持块级子卷的导出在性能上必会有大的损失,所以能在块级直接实现重删功能是非常有意义的事情。

【本文只在51cto博客作者 “底层存储技术” https://blog.51cto.com/12580077 个人发布,公众号发布:存储之谷】,如需转载,请于本人联系,谢谢。

转载于:https://blog.51cto.com/12580077/2310150

device-mapper 块级重删(dm dedup) 1 序相关推荐

  1. device-mapper 块级重删(dm dedup) 3代码结构(4)

    六.代码结构(4) I/O "小"写流程 上一篇,介绍了dm dedup的写流程,这一篇,介绍它的一个特殊流程 如果我们接收到的对齐bio但是它的size < block_s ...

  2. device-mapper 块级重删(dm dedup) 3代码结构(2)

    四.代码结构(2) space manager 这一篇和下一篇我们来介绍dm dedup的空间管理的部分和核心流程I/O写流程 在此之前,我们先分析一下用到的资源有哪些,和了解dm dedup的spa ...

  3. Device mapper multipathing (DM Multipath)

    多路径简介 设备映射多路径简称多路径,使用多路径可以将服务器和存储阵列之间的多个I/O路径映射成一个设备.这些 I/O 路径是物理的 Storage Area Network (SAN) 连接. 使用 ...

  4. 文末送书啦!| Device Mapper,那些你不知道的Docker核心技术

    戳蓝字"CSDN云计算"关注我们哦! 接触Docker 比较早的同学应该知道,Docker 在最开始只能在Ubuntu和Debian等少数的Linux 发行版上运行,并且在这些发行 ...

  5. Linux 内核中的 Device Mapper 机制

    本文结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍.Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机 ...

  6. Android安全之DM-verity中的Device Mapper机制分析

    我们想法: 能不能将多个硬盘,映射成一个逻辑的硬盘,那样我们程序就不用关心复杂的地址问题了,也不用关系是哪个device了? DM-raid技术RAID全称为独立磁盘冗余阵列(Redundant Ar ...

  7. DOCKER存储驱动之DEVICE MAPPER简介

    Device Mapper是一个基于kernel的框架,它增强了很多Linux上的高级卷管理技术.Docker的devicemapper驱动在镜像和容器管理上,利用了该框架的超配和快照功能.为了区别, ...

  8. Device Mapper 简介

    docker Device Mapper 简介 文章目录 docker Device Mapper 简介 1. 简介 2. 用户空间和内核空间 3. Device Mapper 技术分析 4. Doc ...

  9. Multipath以及device mapper

    一.什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来 ...

最新文章

  1. 基于海康机器视觉算法平台的对位贴合项目个人理解 | CSDN原力计划
  2. 数据结构[栈与队列]的基本操作
  3. 解决CPC撰写文档报错问题“无法获取“AxforApplication”控件的窗口句柄。不支持无窗口的 ActiveX 控件”
  4. rocketmq发送第一条消息(三)
  5. NSMethodSignature和NSInvocation的用法
  6. Java zip解压,并遍历zip中的配置文件 .cfg或.properties
  7. 硕士论文研究「AI预测性取向」:化妆等因素并不影响判断
  8. mysql的service name_安装MYSQL出错:a windows service with the name MYSQL already...service解决...
  9. uniapp微信小程序获取位置(高德SDK)
  10. 06. Django基础:GET请求和POST请求
  11. 网络编程入门(代码很详细)
  12. hc05与单片机连接图_STM32单片机最小系统详解
  13. pixi 小游戏_pixi2d小游戏跳一跳源码/pixi教程,基于pixi-spine的2d游戏
  14. 基于空间句法的城市道路可达性分析
  15. python 给文件加密
  16. Maya2022安装教程
  17. 长沙市民吴先生乘坐滴滴D1后,取消了买特斯拉的计划
  18. 第五人格服务器维护中怎么进游戏,第五人格怎么开始 第五人格怎么进入游戏?[多图]...
  19. Dilate Gated Convolutional Neural Network
  20. 加油站爆出注水汽油 豪车熄火

热门文章

  1. linux下安装mysql和mysql主从配置
  2. 第七届“清风正气”越秀山廉政书画邀请展征稿启事
  3. RESTART-Axu1
  4. 【已解决】VMware Player 无法与 VMware Workstation 一起安装。请先卸载 VMware Workstation,再尝试安装VMware Player
  5. java 日历_Java实现的日历功能完整示例
  6. 2023最新PHP淘宝客三合一返佣系统源码+带公众号和H5端/轻量级
  7. Android不使用图片框架,实现加载类似微博超长图片的技巧手法;
  8. 理论+实操:docker入门初体验,申请阿里镜像加速器
  9. 多功能计算机器在线使用方法,多功能节食计算器制造技术
  10. Google Earth Engine ——(COPERNICUS/S5P/OFFL/L3系列——CH4/CO/CLOUD/CO/HCHO/NO2/O3/SO2)数据集