一种虚拟化资源镜像存储系统及其实现方法技术方案

技术编号:30434554 阅读:59 留言:0更新日期:2021-10-24 17:32
本发明专利技术涉及一种虚拟化资源镜像存储系统及其实现方法,包括FUSE文件系统、镜像重复数据删除系统;FUSE文件系统接收来自若干镜像服务的R/W请求,将读写信息发送给镜像重复数据删除系统处理,处理完成后,所述FUSE文件系统将数据存储到磁盘或从磁盘中读取数据。本发明专利技术实现了虚拟化资源镜像的高效存储,解决了虚拟机镜像与容器镜像统一存储的管理问题,并在一定程度上减轻了镜像数据日益增多导致的存储压力大等问题。压力大等问题。压力大等问题。

【技术实现步骤摘要】
一种虚拟化资源镜像存储系统及其实现方法


[0001]本专利技术涉及云计算
,特别是涉及一种虚拟化资源镜像存储系统及其实现方法。

技术介绍

[0002]云计算技术与虚拟化技术的不断发展,使得越来越多的企业开始部署公有云与私有云,云计算的IaaS(基础设施即服务)与PaaS(平台即服务)模式以虚拟化资源镜像为服务形式向租户提供计算服务,用户可以根据自身需要在云端创建虚拟机或者容器资源,并以此获取操作系统以及平台服务。
[0003]为了对平台提供良好的运行支撑,虚拟机镜像被广泛应用于云计算的各个领域。某些企业中的虚拟机镜像数量会高达5000~20000个。而容器化技术依靠存储占用小,启动速度快,系统开销小,简化的应用程序开发、部署和管理等特点迅速发展,很大程度上增大了容器镜像存储市场规模。
[0004]虚拟机镜像的构成方式会导致大量添零数据块的产生,这些数据块对于镜像存储系统来说是重复的、无效的。此外,容器镜像是按层存储的,在容器镜像叠加层(Layer)的过程中,每新增加一层,镜像的大小就会有大幅度增长。不同镜像中包含相同的公共依赖项(例如,库文件),这也导致不同的容器镜像往往包含大量重复数据。
[0005]为了减少数据冗余,重复数据删除是一种常见的减少冗余数据的方法。在虚拟机镜像存储中,分块去重技术日渐成熟,通过分块去重算法去掉重复数据;而在容器镜像存储中,通常只对容器镜像的层进行去重处理,但是容器镜像的层很少完全相同,在容器镜像中使用的层共享技术不能有效降低存储空间损耗,直接像虚拟机镜像使用分块去重方案会提高性能开销。
[0006]现有的镜像重复数据删除系统为了提高检索性能通常使用Hash索引,使用Hash索引很大程度上提高了查询的速度,但是现有的Hash索引不支持使用索引进行排序,无法得到有序的索引表,同时在大规模的数据存储中的效率损失较为严重。而在磁盘存储上,直接使用HDD(Hard Disk Drive,硬盘驱动器)机械硬盘存储数据块降低了成本,但是读写速度达不到快速读取的要求。
[0007]此外,容器技术短期内无法完全替代虚拟机技术,所以较长一段时间内企业将处于虚拟机镜像和容器镜像共存的时期。基于上述内容,研究并实现一套虚拟化资源镜像存储系统是有必要的。

技术实现思路

[0008]为了克服上述技术问题的缺点,本专利技术提供了一种虚拟化资源镜像存储系统及其实现方法。
[0009]术语解释:
[0010]1、Docker Registry,是Docker官方提供的私有镜像仓库,用于存储Docker镜像。
[0011]2、OpenStack Glance,是OpenStack镜像服务组件,提供虚拟机镜像的发现、注册和获取服务。
[0012]3、R/W请求,读/写请求。
[0013]4、B树,是为磁盘存储而专门设计的一类平衡搜索树,B树的高度仅随着它所包含的节点数按对数增长。
[0014]5、Hash算法,又称摘要算法,对任意一组输入数据进行计算,得到一个固定长度的输出摘要。
[0015]本专利技术的技术方案为:
[0016]一种虚拟化资源镜像存储系统,包括FUSE文件系统、镜像重复数据删除系统;
[0017]所述FUSE文件系统接收来自若干镜像服务例如包括Docker Registry和OpenStack Glance镜像服务的R/W请求,并将R/W请求发送给镜像重复数据删除系统,镜像重复数据删除系统分析R/W请求中R请求的内容,调用FUSE文件系统从磁盘中取出所需的数据返回给镜像服务;根据R/W请求中W请求对镜像去重并通过FUSE文件系统将去重产生的镜像元数据、索引数据和数据块存储到磁盘。
[0018]根据本专利技术优选的,所述镜像重复数据删除系统包括分块去重模块以及与其连接的元数据管理模块、索引单元、多级缓存管理模块;
[0019]所述分块去重模块用于:对虚拟机镜像和容器镜像进行分块并删除重复数据;所述元数据管理模块用于:对元数据表进行读/写操作,元数据表中存储虚拟机镜像(容器镜像层)指纹值、名称、作者、版本号、数据块指纹值及其数据块排列顺序;所述索引单元用于:对索引表进行读/写操作,索引表中存储键值对索引数据;所述多级缓存管理模块用于:处理磁盘间的数据提取、数据写入操作。
[0020]根据本专利技术优选的,所述分块去重模块包括虚拟机镜像分块去重单元和容器镜像分块去重单元;
[0021]根据虚拟机镜像中零块多的特点,所述虚拟机镜像分块去重单元用于:采用固定块长分块算法对虚拟机镜像按照8KB大小的固定长度分割,得到若干数据块,使用Hash算法(SHA

1算法)计算出数据块的指纹值,通过查询索引表中的节点key值,查看该指纹值是否存在于索引表中,如果存在,则证明该数据块及其指纹值已经存储在系统中;如果不存在,将该指纹值和数据块地址按照<key:value>的方式存储到索引表中;所述容器镜像分块去重单元用于:使用CDC(Content

Defined Chunking)可变长分块算法对容器镜像分块,数据块的长度定义在最小值r和最大值D之间,可变长度的数据块用一个大小为w滑动窗口来划分,当滑动窗口在位置k的Hash值f满足f mod D=r时,该位置k为数据块的一个边界,重复这个过程,直到整个容器镜像都被分块;分块结束后通过Hash算法计算出数据块的指纹值,并将该指纹值和数据块地址按照<key:value>的方式存储到索引表中。
[0022]根据本专利技术优选的,所述元数据管理模块存储元数据表,并对元数据表中的数据包括虚拟机镜像(容器镜像层)指纹值、名称、作者、版本号、数据块指纹值及其数据块排列顺序进行增、删、改、查处理。
[0023]根据本专利技术优选的,所述多级缓存管理模块包括对HDD(Hard Disk Drive,硬盘驱动器)机械硬盘、SSD(Solid State Disk,固态硬盘)硬盘、NVMe(Non

Volatile Memory Express,非易失性存储器)磁盘和内存的管理;
[0024]在NVMe磁盘中存储索引表和元数据表;SSD硬盘中存储容器镜像层、高热度的虚拟机镜像数据块,高热度的虚拟机镜像数据块是指访问次数多的数据块,即访问次数多于某一数值的数据块;HDD机械硬盘中存储容器镜像数据库、低热度的虚拟机镜像数据块,低热度的虚拟机镜像数据块是指访问次数少的数据块,即访问次数少于某一数值的数据块。
[0025]根据本专利技术优选的,所述索引单元为三级B树索引单元,每级索引均存放键值对数据<key:value>,其中,key为数据块指纹值,value为key所对应数据块地址;所述索引单元的三级索引的索引表均存储于NVMe磁盘中。以提高访问速度。
[0026]进一步优选的,在索引单元中,通过数据块热度置换方法将被访问次数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟化资源镜像存储系统,其特征在于,包括FUSE文件系统、镜像重复数据删除系统;所述FUSE文件系统接收来自若干镜像服务的R/W请求,并将R/W请求发送给镜像重复数据删除系统,镜像重复数据删除系统分析R/W请求中R请求的内容,调用FUSE文件系统从磁盘中取出所需的数据返回给镜像服务;根据R/W请求中W请求对镜像去重并通过FUSE文件系统将去重产生的镜像元数据、索引数据和数据块存储到磁盘。2.根据权利要求1所述的一种虚拟化资源镜像存储系统,其特征在于,所述镜像重复数据删除系统包括分块去重模块以及与其连接的元数据管理模块、索引单元、多级缓存管理模块;所述分块去重模块用于:对虚拟机镜像和容器镜像进行分块并删除重复数据;所述元数据管理模块用于:对元数据表进行读/写操作,元数据表中存储虚拟机镜像指纹值、名称、作者、版本号、数据块指纹值及其数据块排列顺序;所述索引单元用于:对索引表进行读/写操作,索引表中存储键值对索引数据;所述多级缓存管理模块用于:处理磁盘间的数据提取、数据写入操作。3.根据权利要求2所述的一种虚拟化资源镜像存储系统,其特征在于,所述分块去重模块包括虚拟机镜像分块去重单元和容器镜像分块去重单元;根据虚拟机镜像中零块多的特点,所述虚拟机镜像分块去重单元用于:采用固定块长分块算法对虚拟机镜像按照8KB大小的固定长度分割,得到若干数据块,使用Hash算法计算出数据块的指纹值,通过查询索引表中的节点key值,查看该指纹值是否存在于索引表中,如果存在,则证明该数据块及其指纹值已经存储在系统中;如果不存在,将该指纹值和数据块地址按照<key:value>的方式存储到索引表中;所述容器镜像分块去重单元用于:使用CDC可变长分块算法对容器镜像分块,数据块的长度定义在最小值r和最大值D之间,可变长度的数据块用一个大小为w滑动窗口来划分,当滑动窗口在位置k的Hash值f满足f mod D=r时,该位置k为数据块的一个边界,重复这个过程,直到整个容器镜像都被分块;分块结束后通过Hash算法计算出数据块的指纹值,并将该指纹值和数据块地址按照<key:value>的方式存储到索引表中。4.根据权利要求2所述的一种虚拟化资源镜像存储系统,其特征在于,所述元数据管理模块存储元数据表,并对元数据表中的数据包括虚拟机镜像指纹值、名称、作者、版本号、数据块指纹值及其数据块排列顺序进行增、删、改、查处理。5.根据权利要求2所述的一种虚拟化资源镜像存储系统,其特征在于,所述多级缓存管理模块包括对HDD机械硬盘、SSD硬盘、NVMe磁盘和内存的管理;在NVMe磁盘中存储索引表和元数据表;SSD硬盘中存储容器镜像层、高热度的虚拟机镜像数据块,高热度的虚拟机镜像数据块是指访问次数多的数据块,即访问次数多于某一数值的数据块;HDD机械硬盘中存储容器镜像数据库、低热度的虚拟机镜像数据块,低热度的虚拟机镜像数据块是指访问次数少的数据块,即访问次数少于某一数值的数据块。6.根据权利要求5所述的一种虚拟化资源镜像存储系统,其特征在于,所述索引单元为三级B树索引单元,每级索引均存放键值对数据<key:value&g...

【专利技术属性】
技术研发人员:杨美红王天伟郭莹王继彬袁梦孙明辉曹文泰陈泳杰
申请(专利权)人:山东省计算中心国家超级计算济南中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1