千家信息网

device-mapper 块级重删(dm dedup) <1> 序

发表于:2024-12-01 作者:千家信息网编辑
千家信息网最后更新 2024年12月01日,一、序研究背景linux device mapper deduplication target作为开源系统linux目前的块级重删技术,未来会被广泛关注。尤其是在全闪存all flash array要
千家信息网最后更新 2024年12月01日device-mapper 块级重删(dm dedup) <1> 序

一、序

  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 个人发布,公众号发布:存储之谷】,如需转载,请于本人联系,谢谢。

数据 存储 文件 系统 技术 功能 实例 副本 闪存 字节 相同 邮件 附件 应用 研究 重要 作用 利用率 工具 底层 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全认证和技术服务平台 李沧区直播软件开发哪家好 adguard服务器选择哪个 DELL 服务器启动按哪个键 现在的网络技术有必要学吗 数据库用函数获取入校时间 常用的 软件开发的方法 网络安全作文2000字 怎么样用数据库做测试 安卓视频服务器 检测电脑网络安全 学数据库和学软件开发 网络安全宣传周河北2020 幻塔无法连接服务器问题解决了吗 电子商务数据库技术自考题 维护好网络安全手抄报内容 数字通信与网络技术苏 海南盈泰网络技术有限公司航海行动新世界 软件开发设计及系统监理 流媒体服务器 red5 我的世界怎么重命名进服务器 新罗区曝巴网络技术工作室 网络安全法个人信息规则包括 服务器m4 成都对日软件开发工资 软件工程网络技术人才 广东紫鲸网络技术有限公司 江西日报网络安全知识竞赛答题 热门云服务器加盟代理平台 天津电费缴费软件开发团队
0