一种基于DeviceMapper的存储系统去重优化方法与流程

文档序号:33299262发布日期:2023-02-28 22:21阅读:96来源:国知局
一种基于DeviceMapper的存储系统去重优化方法与流程
一种基于device mapper的存储系统去重优化方法
技术领域
1.本发明属于数据存储系统技术领域,具体涉及一种基于device mapper的存储系统去重优化方法。


背景技术:

2.数据存储系统中数据存在重复的情况,如图1所示。图1中三个数据块内容是a,两个数据块的内容是b,如果数据重删软件检测到有数据重复,只存储一份数据到磁盘,其他数据块指向实际存储的位置。图1实际存储数据只有一份abc。
3.从应用层到linux io stack看,重删技术可以部署在应用层,文件系统层,device mapper块设备层。应用层重删影响数据的可靠性;文件系统重删实现复杂,需要熟悉文件系统的实现;device mapper块设备层重删,使用device mapper target_type的接口,开发重删模块,实现简单,效率高。


技术实现要素:

4.本发明所要解决的技术问题是针对上述现有技术的不足,提供一种基于device mapper的存储系统去重优化方法,数据重删技术结合其他计算机系统,减少it基础设施的开销,通过数据去重优化,减少需要保存的数据总量,提升操作系统的整体性能,延长存储设备的生命周期。
5.为实现上述技术目的,本发明采取的技术方案为:
6.一种基于device mapper的存储系统去重优化方法,重删内核模块基于device mapper的数据接口target_type实现重要回调函数,基于重要回调函数实现去重优化,所述去重优化方法包括:
7.步骤1、将数据块划分为4m大小;
8.步骤2、数据块生成哈希值;
9.步骤3、根据哈希索引和映射情况进行数据粒度进一步划分与检测,实现去重优化。
10.为优化上述技术方案,采取的具体措施还包括:
11.上述的重删内核模块的使用方法为:编译重删内核模块,安装内核模块,创建设备使用数据重删技术。
12.上述的重要回调函数包括:
13.1)dm_ctr_fn,用来构造映射目标私有配置结构,数据块划分,元数据管理;
14.2)dm_dtr_fn,为回调函数的逆过程,用来析构映射目标私有配置结构;
15.3)dm_map_fn,为映射回调函数,用来根据映射目标私有配置结构映射请求到底层设备。
16.上述的步骤3中,若没有哈希索引和没有映射,则新建哈希索引和逻辑地址和物理地址的映射,设置物理地址映射标志加2,指纹标志为true,4m数据块划分4k粒度,跳转到步
骤2重复检测数据。
17.上述的步骤3中,若没有哈希索引和有映射,则新建哈希映射,设置物理地址指纹标志为true,物理地址映射标志加1,4m数据块划分4k粒度,跳转到步骤2重复检测数据。
18.上述的步骤3中,若有哈希索引和没有映射,则新建逻辑地址和物理地址的映射,物理地址映射标志加1,实现数据重删。
19.上述的步骤3中,若有哈希索引和有映射,则4m数据块划分4k粒度,跳转到步骤2重复检测数据。
20.本发明具有以下有益效果:
21.基于块页映射算法和块页指纹算法,进行4m块检测和4k页检测两次数据检测,通过哈希指纹和逻辑地址映射的对应物理地址,使用标志位标记物理地址使用,提升重删效率,提升了虚拟化平台下存储服务器存储设备的使用效率,降低了虚拟化存储资源的消耗,具体的:
22.1、数据块划分4m块和4k页划分
23.数据基于4m块划分数据块的大小,生成数据的指纹,做数据重删监测,如果检测不到重复数据,进一步把4m数据划分为1024个4k页做数据重删检测,提高数据重删检测的重删比,减小数据写入放大。
24.2、块设备块页指纹生成和块设备块页映射
25.块设备层先实现4m逻辑块和4m物理块的映射,4m物理块的指纹生成。
26.4m数据没有重删的数据,在4m数据内,把4m数据分为1024个4k页,实现4k逻辑页和物理页的映射,同时生成4k物理页指纹。
附图说明
27.图1为数据重复;
28.图2为重删dd-dedup示意图;
29.图3为dd-dedup重删流程图。
具体实施方式
30.以下结合附图对本发明的实施例作进一步详细描述。
31.一种基于device mapper的存储系统去重优化方法,重删内核模块基于device mapper的数据接口target_type实现重要回调函数,基于重要回调函数实现去重优化;
32.所述重要回调函数包括:
33.1)dm_ctr_fn
34.用来构造映射目标私有配置结构,数据块划分,元数据管理;
35.2)dm_dtr_fn
36.回调函数的逆过程,用来析构映射目标私有配置结构;
37.3)dm_map_fn
38.映射回调函数,用来根据映射目标私有配置结构映射请求到底层设备;
39.如图2所示,重删内核模块使用方法如下:
40.s101:编译重删内核模块。
41.进入到代码存储目录文件执行make,生成内核模块dd-dedup.ko,其中dd表示重复数据删除。
42.s102:安装内核模块
43.insmod安装内核模块insmod dd-dedup.ko,lsmod查看内核模块是否已经加载到内核lsmod|grep dd-dedup。
44.device mapper的数据重删技术加载到内核的同时数据重删生效。
45.s103:创建2gb的临时设备
46.dd if=/dev/zero of=/data/dedup bs=512count=4000000
47.s104:将循环设备加到此设备
48.losetup/dev/loop3/data/dedup
49.s105:创建dd-dedup_device设备使用数据重删技术
50.echo 0 20000dd-dedup/dev/loop3 0|dmsetup create dd-dedup_device,创建了一个新设备/dev/mapper/dd-dedup_device(查看/dev/mapper/下有dd-dedup_device设备,/dev/mapper/dd-dedup_device可以被格式之后挂载使用重删技术)
51.s106:格式化挂载到/mnt
52.mkfs.ext4/dev/mapper/dd-dedup_device
53.mount/dev/mapper/dd-dedup_device/mnt
54.s107:dd命令在设备上写入1024个扇区
55.dd if=/dev/zero of=/mnt bs=512seek=100count=1024
56.看到对设备的写入请求,其起始扇区为100,大小为512m字节。
57.如图3所示,重删技术细节,所述去重优化方法包括:
58.步骤1、将数据块划分为4m大小;
59.步骤2、数据块生成哈希值;
60.步骤3、根据哈希索引和映射情况进行数据粒度进一步划分与检测,实现去重优化。
61.相应的,本发明还提供一种基于device mapper的存储系统去重优化装置,以实现上述的去重优化方法,所述去重优化装置通过重删内核模块基于device mapper的数据接口target_type实现重要回调函数,基于重要回调函数实现去重优化,所述去重优化装置包括:
62.数据块划分单元,用于将数据块划分为4m大小;
63.哈希值生成单元,用于数据块生成哈希值;
64.去重优化单元,用于根据哈希索引和映射情况进行数据粒度进一步划分与检测,实现去重优化。
65.本发明具有以下有益效果:
66.基于块页映射算法和块页指纹算法,进行4m块检测和4k页检测两次数据检测,通过哈希指纹和逻辑地址映射的对应物理地址,使用标志位标记物理地址使用,提升重删效率,提升了虚拟化平台下存储服务器存储设备的使用效率,降低了虚拟化存储资源的消耗,具体的:
67.1、数据块划分4m块和4k页划分
68.数据基于4m块划分数据块的大小,生成数据的指纹,做数据重删监测,如果检测不到重复数据,进一步把4m数据划分为1024个4k页做数据重删检测,提高数据重删检测的重删比,减小数据写入放大。
69.2、块设备块页指纹生成和块设备块页映射
70.块设备层先实现4m逻辑块和4m物理块的映射,4m物理块的指纹生成。
71.4m数据没有重删的数据,在4m数据内,把4m数据分为1024个4k页,实现4k逻辑页和物理页的映射,同时生成4k物理页指纹。
72.在本实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施列仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
73.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
74.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
75.而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-0nly memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
76.需要强调的是,本发明所述实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1