[发明专利]基于存储引擎bluestore的压缩方法、装置及存储介质有效
申请号: | 201910496836.8 | 申请日: | 2019-06-10 |
公开(公告)号: | CN110377226B | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | 龚红斌 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F16/174;G06F16/182 |
代理公司: | 北京鸿元知识产权代理有限公司 11327 | 代理人: | 袁文婷;王迎 |
地址: | 518033 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 存储 引擎 bluestore 压缩 方法 装置 介质 | ||
本发明属于云存储的技术领域,提供一种基于存储引擎bluestore的压缩方法、装置及存储介质,其中的方法包括以下步骤:S110、将IO数据分为大块写数据和小块写数据;其中,所述大块写数据与最小分配单位对齐,所述小块写数据与最小分配单位不对齐;S120、将分类后的IO数据根据数据块的大小生成lextent和blob;为了实现大块写数据均为已使用状态,将所述大块写数据的lextent和blob的大小设定为同一预设长度值,其中,所述预设长度值大于所述最小分配单位;为了实现小块写数据均可被压缩,将所述小块写数据进行归并和补零形成大块写数据;S130、对大块写数据进行压缩。利用本发明,系统的压缩率不会因为写覆盖以后降低,为存储系统提供稳定的压缩率。
技术领域
本发明涉及云存储领域,更为具体地,涉及一种基于存储引擎bluestore的压缩方法、装置及计算机可读存储介质。
背景技术
随着社会的进步和技术的发展,在云存储技术领域,分布式文件系统的应用越来越广泛。分布式文件系统(ceph)在jewel版本引入新的存储引擎bluestore,并为其提供了压缩功能。
其中,存储引擎bluestore根据数据是否按min_alloc_size(即最小分配单位)对齐,将IO(输入/输出Input/Output),分为大块写(do_write_big)和小块写(do_write_small);对齐的大块写lextent是min_alloc_size的整数倍,压缩时将整块压缩然后下盘,能有较高的压缩率;如果是覆盖写,写入以后将原来对应的整个lextent回收。但是在覆盖写特别是小块覆盖写以后,压缩率降低非常厉害,多次小块覆盖写以后的压缩率几乎降到了5%以下,这是由存储引擎bluestore的设计缺陷引起的。
导致压缩率降低的原因如下:1、针对未对齐的小块写,在覆盖写的时候生成新的blob通过wal下盘,然后被覆盖的部分通过gc回收,而未覆盖的blob无法被压缩;2、另外在回收的时候,将原来的lextent拆分成3个部分(未覆盖的头、尾部分和被覆盖的中间部分,称为pouch_hole),这样打洞以后lextent拆分形成的小于设定的min_alloc_size的部分将无法被压缩;以至于在多次覆盖写以后,原来压缩的数据都将变为非压缩状态;3、存储引擎bluestore以min_alloc_size为最小物理块申请单位,导致压缩后即使需要的物理空间小于min_alloc_size,也会使用min_alloc_size大小的物理空间;4、在申请物理空间时,压缩状态下blob中存在未使用块没法复用的问题。
所以,亟需一种不影响或者尽量降低影响原有压缩性能的情况下提高分布式文件系统的存储引擎bluestore的压缩率的方法。
发明内容
鉴于上述问题,本发明的目的是提供一种基于存储引擎bluestore的压缩方法、装置及计算机可读存储介质,用保证存储系统的压缩率稳定。
根据本发明的一个方面,提供了一种基于存储引擎bluestore的压缩方法,包括以下步骤:S110、将IO数据分为大块写数据和小块写数据;其中,所述大块写数据与最小分配单位对齐,所述小块写数据与最小分配单位不对齐;S120、将分类后的IO数据根据数据块的大小生成lextent和blob;为了实现大块写数据均为已使用状态,将所述大块写数据的lextent和blob的大小设定为同一预设长度值,其中,所述预设长度值大于所述最小分配单位;为了实现小块写数据均可被压缩,将所述小块写数据进行归并和补零形成大块写数据;S130、对大块写数据进行压缩。
在步骤S110之前,所述的压缩方法还包括:将所述最小分配单位设置为一个物理块block_size=4k。所述预设长度值根据数据源块的大小和所需的压缩率进行设定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910496836.8/2.html,转载请声明来源钻瓜专利网。