CN105677238A - 一种基于分布式存储重复数据删除的虚拟机系统盘的方法 - Google Patents

一种基于分布式存储重复数据删除的虚拟机系统盘的方法 Download PDF

Info

Publication number
CN105677238A
CN105677238A CN201511018317.9A CN201511018317A CN105677238A CN 105677238 A CN105677238 A CN 105677238A CN 201511018317 A CN201511018317 A CN 201511018317A CN 105677238 A CN105677238 A CN 105677238A
Authority
CN
China
Prior art keywords
fingerprint
distributed storage
distributed
virtual machine
memory system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201511018317.9A
Other languages
English (en)
Inventor
马桂成
杨松
季统凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201511018317.9A priority Critical patent/CN105677238A/zh
Publication of CN105677238A publication Critical patent/CN105677238A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Abstract

本发明涉及云平台存储虚拟化技术领域,特别是一种基于分布式存储重复数据删除的虚拟机系统盘的方法。本发明首先在分布式存储上创建存储卷;通过存储卷创建虚拟机系统盘;虚拟机写数据到系统盘;分布式存储卷服务将数据保存到缓存中;对缓存数据进行滑动分块;通过Rabin指纹算法扫描每块的指纹;查询指纹集合是否已经存在分布式存储系统指纹表;挑选指纹不存在分布式存储系统的文件块存入分布式存储系统中;最后分布式存储系统更新指纹表。本发明解决了减轻基于云平台分布式存储的虚拟机网络流量压力;可应用于云平台存储虚拟化。

Description

一种基于分布式存储重复数据删除的虚拟机系统盘的方法
技术领域
本发明涉及云平台存储虚拟化技术领域,特别是一种基于分布式存储重复数据删除的虚拟机系统盘的方法。
背景技术
一般的云计算平台上有多个计算节点,而每个计算节点上都有多个分布式存储的虚拟机,有些性能较高的节点甚至有几十个虚拟机,监控代理监控这些虚拟机在高峰期使用大量的网络IO,并且分布式存储副本数越多,网络IO的压力更大,这样会带来以下问题:
一是客户不想花费额外的钱来升级交换机。
二是高峰期大量的虚拟机同时读写,分布式存储多副本的情况下,网络IO流量大。
三是分布式存储成本高。
为了解决上述问题,需要有一种基于分布式存储重复数据删除的虚拟机系统盘方法;减轻网络IO的压力并同时节省分布式存储的成本。
发明内容
本发明解决的技术问题在于提供一种基于分布式存储重复数据删除的虚拟机系统盘的方法;解决高峰期大量的虚拟机同时读写及分布式存储多副本的情况下网络IO流量大、分布式存储成本高等问题。
本发明解决上述技术问题的技术方案是:
所述的方法包括如下步骤:
步骤1:分布式存储上创建存储卷;
步骤2:通过存储卷创建虚拟机系统盘;
步骤3:虚拟机写数据到系统盘;
步骤4:分布式存储卷服务将数据保存到缓存中;
步骤5:对缓存数据进行滑动分块;
步骤6:通过Rabin指纹算法扫描每块的指纹;
步骤7:查询指纹集合是否已经存在分布式存储系统指纹表;
步骤8:挑选指纹不存在分布式存储系统的文件块存入分布式存储系统中;
步骤9:分布式存储系统更新指纹表。
所述的分布式存储上创建存储卷,在分布式存储创建一个存储卷;
所述的通过存储卷创建虚拟机系统盘,分布式存储卷先映射到本地文件块,此文件块作为虚拟机的系统盘来使用;
所述的虚拟机写数据到系统盘,虚拟机在系统盘读写通过分布式存储卷服务进行读写;
所述的分布式存储卷服务将数据保存到缓存中,分布式存储卷服务将虚拟机读写的数据先放在本地缓存上,并不是马上存入到分布式存储上。
所述的对缓存数据进行滑动分块,是对缓冲区的数据进行滑动分块,通常每块默认最小大小是4K;用户可以通过分布式存储系统对分块的默认大小进行设置。
所述的通过Rabin指纹算法扫描每块的指纹,通过Rabin指纹算法计算整块,得出一个唯一的指纹,并将每块的指纹组成一个指纹集合;
所述的查询指纹集合是否已经存在分布式存储系统指纹表,查询指纹集合各个指纹是否存在通过分布式存储系统的指纹表中,并返回结果,分布式存储卷服务标记每个指纹是否已在分布式存储上存在;
所述的挑选指纹不存在分布式存储系统的文件块存入分布式存储系统中,凡是被标记为不存在的指纹,该指纹对应的块文件全部都上传到分布式存储系统中;如被标记为存在的指纹,分布式存储系统上的存储卷做一个简单的文件块引用即可;
所述的分布式存储系统更新指纹表,分布式存储系统根据上传文件块的指纹集合,更新指纹表。
本发明由虚拟机提供分布式存储卷服务,虚拟机可以连续读写,区别于一般基于文件的重复数据删除方法。本发明提供虚拟机系统盘,区别于一般只能提供虚拟机镜像的重复数据删除方法。本发明提供数据重复删除放在虚拟机所在的宿主机上,区别于一般只能在服务端上执行重复删除的方法。本发明使用Rabin指纹算法,性能更加高效,区域于一般的指纹扫描方法。本发明解决了高峰期大量的虚拟机同时读写及分布式存储多副本的情况下网络IO流量大、分布式存储成本高等问题。
附图说明
下面结合附图对本发明进一步说明:
图1为流程图;
图2为本发明逻辑结构图。
具体实施方式
本发明的实施方式有多种,这里以云平台为例说明其中一种实现方法,如图1、2所示,具体实施过程如下:
1、分布式存储上创建存储卷;
/**
*分布式存储上创建存储卷
*paramname卷名称
*paramsize卷大小
*returnboolean返回结果
*/
publicbooleancreateVolume(Stringname,intsize){
returnDistribute.createVolume(name,size);
}
2、通过存储卷创建虚拟机系统盘;
/**
*通过存储卷创建虚拟机系统盘
*paraminstanceId虚拟机ID
*paramname卷名称
*return无返回值
*/
publicvoidcreateVm(StringinstanceId,Stringname){
returnVmService.createVm(instanceId,name);
}
3、虚拟机写数据到系统盘;实则就是把数据写入分布式存储卷服务中
4、分布式存储卷服务将数据保存到缓存中;
/**
*分布式存储卷服务将数据保存到缓存中
*paramdata带写入的数据
*returnint成功写入的字节数
*/
publicintwriteBuffer(byte[]data){
returnDataEngine.writeBuffer(data);
}
5、对缓存数据进行滑动分块;
/**
*对缓存数据进行滑动分块
*paramperiod时间间隔
*return无返回值
*/
publicvoidchunk(){
returnDataEngine.chunk();
}
6、通过Rabin指纹算法扫描每块的指纹;
/**
*通过Rabin指纹算法扫描每块的指纹
*returnList<String>指纹集合对象
*/
publicList<String>getHashCodeSet(){
returnDataEngine.getHashCodeSet();
}
7、查询指纹集合是否已经存在分布式存储系统指纹表;
/**
*查询指纹集合是否已经存在分布式存储系统指纹表
*paramhashCodes指纹集合对象
*returnboolean返回结果
*/
publicList<String>muticastHashCodeIsExists(List<String>hashCodes){
returnDistribute.muticastHashCodeIsExists(hashCodes);
}
8、挑选指纹不存在分布式存储系统的文件块存入分布式存储系统中;
/**
*挑选指纹不存在分布式存储系统的文件块存入分布式存储系统中
*paramhashCodes指纹集合对象
*returnboolean返回结果
*/
publicbooleanupload(List<String>hashCodes){
returnDataEngine.upload(hashCodes);
}
9、分布式存储系统更新指纹表。
/**
*分布式存储系统更新指纹表
*paramhashCodes指纹集合对象
*returnboolean返回结果
*/
publicbooleanupdateHashCode(List<String>hashCodes){
returnDistribute.setThreshold(hashCodes);
}
整个流程结束。

Claims (5)

1.一种基于分布式存储重复数据删除的虚拟机系统盘的方法,其特征在于:所述的方法包括如下步骤:
步骤1:分布式存储上创建存储卷;
步骤2:通过存储卷创建虚拟机系统盘;
步骤3:虚拟机写数据到系统盘;
步骤4:分布式存储卷服务将数据保存到缓存中;
步骤5:对缓存数据进行滑动分块;
步骤6:通过Rabin指纹算法扫描每块的指纹;
步骤7:查询指纹集合是否已经存在分布式存储系统指纹表;
步骤8:挑选指纹不存在分布式存储系统的文件块存入分布式存储系统中;
步骤9:分布式存储系统更新指纹表。
2.根据权利要求1所述的方法,其特征在于:所述的分布式存储上创建存储卷,在分布式存储创建一个存储卷;
所述的通过存储卷创建虚拟机系统盘,分布式存储卷先映射到本地文件块,此文件块作为虚拟机的系统盘来使用;
所述的虚拟机写数据到系统盘,虚拟机在系统盘读写通过分布式存储卷服务进行读写;
所述的分布式存储卷服务将数据保存到缓存中,分布式存储卷服务将虚拟机读写的数据先放在本地缓存上,并不是马上存入到分布式存储上。
3.根据权利要求1所述的方法,其特征在于:所述的对缓存数据进行滑动分块,是对缓冲区的数据进行滑动分块,通常每块默认最小大小是4K;用户可以通过分布式存储系统对分块的默认大小进行设置。
4.根据权利要求2所述的方法,其特征在于:所述的对缓存数据进行滑动分块,是对缓冲区的数据进行滑动分块,通常每块默认最小大小是4K;用户可以通过分布式存储系统对分块的默认大小进行设置。
5.根据权利要求1至4任一项所述的方法,其特征在于:所述的通过Rabin指纹算法扫描每块的指纹,通过Rabin指纹算法计算整块,得出一个唯一的指纹,并将每块的指纹组成一个指纹集合;
所述的查询指纹集合是否已经存在分布式存储系统指纹表,查询指纹集合各个指纹是否存在通过分布式存储系统的指纹表中,并返回结果,分布式存储卷服务标记每个指纹是否已在分布式存储上存在;
所述的挑选指纹不存在分布式存储系统的文件块存入分布式存储系统中,凡是被标记为不存在的指纹,该指纹对应的块文件全部都上传到分布式存储系统中;如被标记为存在的指纹,分布式存储系统上的存储卷做一个简单的文件块引用即可;
所述的分布式存储系统更新指纹表,分布式存储系统根据上传文件块的指纹集合,更新指纹表。
CN201511018317.9A 2015-12-28 2015-12-28 一种基于分布式存储重复数据删除的虚拟机系统盘的方法 Pending CN105677238A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511018317.9A CN105677238A (zh) 2015-12-28 2015-12-28 一种基于分布式存储重复数据删除的虚拟机系统盘的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511018317.9A CN105677238A (zh) 2015-12-28 2015-12-28 一种基于分布式存储重复数据删除的虚拟机系统盘的方法

Publications (1)

Publication Number Publication Date
CN105677238A true CN105677238A (zh) 2016-06-15

Family

ID=56297931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511018317.9A Pending CN105677238A (zh) 2015-12-28 2015-12-28 一种基于分布式存储重复数据删除的虚拟机系统盘的方法

Country Status (1)

Country Link
CN (1) CN105677238A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201654A (zh) * 2016-06-30 2016-12-07 国云科技股份有限公司 一种虚拟机系统的拯救方法
CN107220002A (zh) * 2017-05-26 2017-09-29 郑州云海信息技术有限公司 一种支持内存快照重复数据删除的存储方法和装置
CN107273536A (zh) * 2017-06-30 2017-10-20 郑州云海信息技术有限公司 一种重复数据确定方法、系统及分布式存储系统
CN107330097A (zh) * 2017-07-05 2017-11-07 郑州云海信息技术有限公司 一种分布式重删装置、数据指纹存储、读取方法及系统
CN110427347A (zh) * 2019-07-08 2019-11-08 新华三技术有限公司成都分公司 重复数据删除的方法、装置、存储节点及存储介质
CN110532795A (zh) * 2019-07-11 2019-12-03 西安交通大学 一种基于rabin指纹与异或计算的重复数据检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722583A (zh) * 2012-06-07 2012-10-10 无锡众志和达存储技术有限公司 重复数据删除硬件加速装置和方法
CN103049263A (zh) * 2012-12-12 2013-04-17 华中科技大学 一种基于相似性的文件分类方法
CN103177111A (zh) * 2013-03-29 2013-06-26 西安理工大学 重复数据删除系统及其删除方法
CN103631933A (zh) * 2013-12-06 2014-03-12 中国科学院计算技术研究所 一种面向分布式去重系统的数据路由方法
US20150064138A1 (en) * 2013-09-05 2015-03-05 Massachusetts Institute Of Technology Tuning microbial populations with programmable nucleases

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722583A (zh) * 2012-06-07 2012-10-10 无锡众志和达存储技术有限公司 重复数据删除硬件加速装置和方法
CN103049263A (zh) * 2012-12-12 2013-04-17 华中科技大学 一种基于相似性的文件分类方法
CN103177111A (zh) * 2013-03-29 2013-06-26 西安理工大学 重复数据删除系统及其删除方法
US20150064138A1 (en) * 2013-09-05 2015-03-05 Massachusetts Institute Of Technology Tuning microbial populations with programmable nucleases
CN103631933A (zh) * 2013-12-06 2014-03-12 中国科学院计算技术研究所 一种面向分布式去重系统的数据路由方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201654A (zh) * 2016-06-30 2016-12-07 国云科技股份有限公司 一种虚拟机系统的拯救方法
CN107220002A (zh) * 2017-05-26 2017-09-29 郑州云海信息技术有限公司 一种支持内存快照重复数据删除的存储方法和装置
CN107220002B (zh) * 2017-05-26 2020-08-21 苏州浪潮智能科技有限公司 一种支持内存快照重复数据删除的存储方法和装置
CN107273536A (zh) * 2017-06-30 2017-10-20 郑州云海信息技术有限公司 一种重复数据确定方法、系统及分布式存储系统
CN107330097A (zh) * 2017-07-05 2017-11-07 郑州云海信息技术有限公司 一种分布式重删装置、数据指纹存储、读取方法及系统
CN107330097B (zh) * 2017-07-05 2020-11-10 郑州云海信息技术有限公司 一种分布式重删装置、数据指纹存储、读取方法及系统
CN110427347A (zh) * 2019-07-08 2019-11-08 新华三技术有限公司成都分公司 重复数据删除的方法、装置、存储节点及存储介质
CN110532795A (zh) * 2019-07-11 2019-12-03 西安交通大学 一种基于rabin指纹与异或计算的重复数据检测方法
CN110532795B (zh) * 2019-07-11 2021-02-19 西安交通大学 一种基于rabin指纹与异或计算的重复数据检测方法

Similar Documents

Publication Publication Date Title
CN105677238A (zh) 一种基于分布式存储重复数据删除的虚拟机系统盘的方法
US11010078B2 (en) Inline deduplication
US11461015B2 (en) Available storage space in a system with varying data redundancy schemes
US10402339B2 (en) Metadata management in a scale out storage system
US20200117362A1 (en) Erasure coding content driven distribution of data blocks
US9043540B2 (en) Systems and methods for tracking block ownership
US8996797B1 (en) Dense tree volume metadata update logging and checkpointing
US8583893B2 (en) Metadata management for virtual volumes
US9298707B1 (en) Efficient data storage and retrieval for backup systems
CN104881466B (zh) 数据分片的处理以及垃圾文件的删除方法和装置
EP1741021A2 (en) Sparse multi-component files
CN106105161A (zh) 在维持存储效率的同时向云数据存储装置备份数据
KR20140117994A (ko) 복제 파일 중복 제거 방법 및 장치
EP3316150A1 (en) Method and apparatus for file compaction in key-value storage system
US20160041904A1 (en) File system indirection technique for directly managing solid state devices
CN103152430B (zh) 一种缩减数据占用空间的云存储方法
JP2012089094A5 (zh)
KR20220137632A (ko) 데이터 관리 시스템 및 제어 방법
CN110347643B (zh) 一种磁盘间ntfs卷克隆方法及装置
CN105493080B (zh) 基于上下文感知的重复数据删除的方法和装置
CN103970875A (zh) 一种并行重复数据删除方法
WO2012021847A2 (en) Apparatus, system and method for caching data
CN106528703A (zh) 一种重复删除的模式切换方法及装置
CN110427347A (zh) 重复数据删除的方法、装置、存储节点及存储介质
US20220197861A1 (en) System and method for reducing read amplification of archival storage using proactive consolidation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160615