CN109254871A - 一种高效的虚拟机数据在线去冗余方法 - Google Patents

一种高效的虚拟机数据在线去冗余方法 Download PDF

Info

Publication number
CN109254871A
CN109254871A CN201810915167.9A CN201810915167A CN109254871A CN 109254871 A CN109254871 A CN 109254871A CN 201810915167 A CN201810915167 A CN 201810915167A CN 109254871 A CN109254871 A CN 109254871A
Authority
CN
China
Prior art keywords
global
redundancy
local
data
hash
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
CN201810915167.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.)
State Grid Zhejiang Xianju County Power Supply Co Ltd
State Grid Zhejiang Electric Power Co Ltd
Zhejiang Huayun Information Technology Co Ltd
Original Assignee
State Grid Zhejiang Xianju County Power Supply Co Ltd
State Grid Zhejiang Electric Power Co Ltd
Zhejiang Huayun Information 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 State Grid Zhejiang Xianju County Power Supply Co Ltd, State Grid Zhejiang Electric Power Co Ltd, Zhejiang Huayun Information Technology Co Ltd filed Critical State Grid Zhejiang Xianju County Power Supply Co Ltd
Priority to CN201810915167.9A priority Critical patent/CN109254871A/zh
Publication of CN109254871A publication Critical patent/CN109254871A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种高效的虚拟机数据在线去冗余方法,所述方法为针对虚拟机采用本地存储、全局对比的分布式去冗余,使需要备份的虚拟机数据仅在本地存储一次,通过全局对比,发现该数据块是否已经在其它服务器磁盘上备份,然后通过索引定位其它虚拟机的相同数据块。

Description

一种高效的虚拟机数据在线去冗余方法
技术领域
本发明涉及数据处理领域,尤其涉及一种高效的虚拟机数据在线去冗余方法。
背景技术
随着云计算和虚拟化技术的快速发展,越来越多的电力应用程序以虚拟机形式封装并部署到云平台上。多个虚拟机之间通过虚拟网络相连,共享底层资源,为应用程序提供隔离的运行环境的同时,也提升了资源利用率,节约了用户的IT成本。与此同时,由于虚拟机具有可迁移性和可复制性,这为应用程序的动态部署和迁移提供了极大的便利。当应用的资源需求增大时,可以通过虚拟机扩容技术进行横向扩展,极大的提升了IT基础设施的灵活性和可扩展性。此外,由于虚拟机具有可复制特性,也有效提升了应用和数据的可靠性和可用性。其中,虚拟机快照作为一项核心技术为保障云平台中应用和数据的可靠性提供了重要支撑。
虚拟机快照技术通过定期保存虚拟机状态和数据,使得当虚拟机发生故障或崩溃时,可以回滚到之前保存的状态和数据,并从当前状态继续运行。这一技术极大地提升了虚拟机及应用程序的可靠性。然后,由于需要定期的对虚拟机数据和状态进行备份,长时间运行会占用大量的存储空间和网络带宽。特别对于云计算环境中大量虚拟机定期做快照的场景下,将产生海量快照数据。例如,对于32台具有2GB内存虚拟机,按每小时做一次快照计算,一天消耗的存储空间达1.5TB。另一方面,我们观察到,云环境中的大量虚拟机通常仅安装几种类型的操作系统(如windows xp,win 8,Linux Ubuntu等),大量虚拟机都采用相同的操作系统,因此多个虚拟机的快照中包含了大量的冗余数据和状态,造成了磁盘空间和网络带宽的巨大浪费。
发明内容
为了解决上述问题,本发明提出了一种高效的虚拟机数据在线去冗余方法。所述方法为针对虚拟机采用本地存储、全局对比的分布式去冗余,使需要备份的虚拟机数据仅在本地存储一次,通过全局对比,发现该数据块是否已经在其它服务器磁盘上备份,然后通过索引定位其它虚拟机的相同数据块。
本发明的所述在线去冗余的架构设置方法为,本地去冗余组件采用分布式部署模式,每台物理服务器之上部署一个;全局去冗余组件在整个系统中仅有1个,部署于全局服务器上。在本地去冗余组件中包含本地哈希表(local hashtable)模块,负责记录在这台物理服务器上的数据指纹信息;在全局去冗余组件中包含全局哈希表(global hashtable)模块,负责记录整个系统中全局数据的指纹信息。快照执行组件(snap daemon)负责执行虚拟机快照操作,同时获取虚拟机数据指纹值,并传递给本地去冗余组件。
本发明支持在多个虚拟机快照过程中在线进行去冗余操作,确保多个虚拟机间相同的快照数据仅被存储一次,有效降低了存储消耗;同时仅在网络中传输快照数据的指纹值,而无需传输快照数据本身,有效降低了网络带宽消耗;此外,本发明对虚拟机和应用程序具有透明性,无需在虚拟机中安装代理程序,可支持不同类型的虚拟机操作系统。
附图说明
图1为本发明的在线去冗余架构设置图;
图2为在线去冗余方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提出一种高效的虚拟机数据在线去冗余方法,针对虚拟机采用本地存储、全局对比的分布式去冗余,使需要备份的虚拟机数据仅在本地存储一次,通过全局对比,发现该数据块是否已经在其它服务器磁盘上备份,然后通过索引定位其它虚拟机的相同数据块。其架构核心组件为本地去冗余组件(local de-dup)和全局去冗余组件(global de-dup),本地去冗余组件采用分布式部署模式,每台物理服务器之上部署一个;全局去冗余组件在整个系统中仅有1个,部署于全局服务器上。在本地去冗余组件中包含本地哈希表(local hashtable)模块,负责记录在这台物理服务器上的数据指纹信息;在全局去冗余组件中包含全局哈希表(global hashtable)模块,负责记录整个系统中全局数据的指纹信息。快照执行组件(snap daemon)负责执行虚拟机快照操作,同时获取虚拟机数据指纹值,并传递给本地去冗余组件。
本发明对多虚拟机快照进行分布式去冗余的处理方法具体如下:
步骤1:快照开始后,快照执行组件首先计算被保存的虚拟机数据的指纹值(即哈希值),接着将指纹值、虚拟机id和数据地址传递给本地去冗余组件。
步骤2:本地去冗余组件首先检查该指纹值是否存在于本地哈希表中。如果存在,则本地去冗余组件将该虚拟机数据块的虚拟机id和数据地址作为索引,存储于位于本地的快照文件中;如果不存在,则本地去冗余组件将请求全局去冗余组件去搜索该指纹值是否存在于全局去冗余组件的全局哈希表中。
步骤3:如果在全局哈希表中搜索到该指纹值,则全局去冗余组件将返回代表该数据块的索引id给本地去冗余组件。如果在全局哈希表中未搜索到该指纹值,则证明此数据块尚未全局保存,将全局去冗余组件将新建索引id,并记录该指纹值,并返回“新建索引id”给本地去冗余组件。
步骤4:本地去冗余组件根据全局去冗余组件返回的消息,确定该数据块是否已经被备份。如果尚未备份,则通知快照执行组件将数据块写入快照文件,同时更新本地哈希表;如果已经备份,则更新本地哈希表索引,指向该数据块的全局索引id。
本发明使用重复数据搜索方法进行搜索,具体步骤如下:
步骤1,当对一个数据块执行快照操作时,首先使用SHA 128算法计算该数据块的128位的哈希值,其中前20位作为哈希桶的索引,而剩余的108位用于定位该哈希桶内二叉树节点。
步骤2,当该数据块的哈希值的前20位作为索引的哈希桶不存在时,则建立该哈希桶,同时新建该哈希桶内的二叉树,并根据后108位将该数据块插入该二叉树。当该数据块的哈希值的前20位作为索引的哈希桶存在时,搜索该哈希桶内的二叉树,如果存在二叉树节点,则范围该节点索引;如果不存在二叉树节点,则根据后108位将该数据块插入该二叉树。
步骤3,考虑到哈希碰撞的概率极低,本策略在绝大部分情况下是安全的。当出现哈希碰撞时,本策略将虚拟机回滚到上一个快照点,从而确保数据和状态的一致性。
本发明通过在线去冗余可有效降低快照的磁盘存储开销和网络传输开销。本发明支持在多个虚拟机快照过程中在线进行去冗余操作,无需停止虚拟机的运行;本发明通过对多虚拟机快照局部保存、全局比较的处理,确保多个虚拟机间相同的快照数据仅被存储一次,有效降低了存储消耗;同时仅在网络中传输快照数据的指纹值,而无需传输快照数据本身,有效降低了网络带宽消耗;此外,本发明对虚拟机和应用程序具有透明性,无需在虚拟机中安装代理程序,可支持不同类型的虚拟机操作系统。
与其它虚拟机数据去冗余方法相比,本发明具有不影响虚拟机运行、最优快照效用比和降低网络带宽消耗的优势,有助于降低云环境中虚拟机快照的磁盘存储消耗和网络带宽消耗,从而提升云环境的整体资源利用率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (4)

1.一种高效的虚拟机数据在线去冗余方法,其特征在于,针对虚拟机采用本地存储、全局对比的分布式去冗余,使需要备份的虚拟机数据仅在本地存储一次,通过全局对比,发现该数据块是否已经在其它服务器磁盘上备份,然后通过索引定位其它虚拟机的相同数据块。
2.如权利要求1所述的方法,其特征在于,所述分布式去冗余包括以下4个步骤:步骤1,快照开始后,快照执行组件首先计算被保存的虚拟机数据的指纹值,所述指纹之即哈希值,接着将指纹值、虚拟机id和数据地址传递给本地去冗余组件;步骤2,本地去冗余组件首先检查该指纹值是否存在于本地哈希表中,如果存在,则本地去冗余组件将该虚拟机数据块的虚拟机id和数据地址作为索引存储于位于本地的快照文件中,如果不存在,则本地去冗余组件将请求全局去冗余组件去搜索该指纹值是否存在于全局去冗余组件的全局哈希表中;步骤3,如果在全局哈希表中搜索到该指纹值,则全局去冗余组件将返回代表该数据块的索引id给本地去冗余组件,如果在全局哈希表中未搜索到该指纹值,则将全局去冗余组件将新建索引id,并记录该指纹值,并返回“新建索引id”给本地去冗余组件;步骤4,本地去冗余组件根据全局去冗余组件返回的消息,确定该数据块是否已经被备份,如果尚未备份,则通知快照执行组件将数据块写入快照文件,同时更新本地哈希表;如果已经备份,则更新本地哈希表索引,指向该数据块的全局索引id。
3.如权利要求1所述的方法,所述搜索的方法包括以下三个步骤:步骤1,当对一个数据块执行快照操作时,首先使用SHA128算法计算该数据块的128位的哈希值,其中前20位作为哈希桶的索引,而剩余的108位用于定位该哈希桶内二叉树节点;步骤2,当该数据块的哈希值的前20位作为索引的哈希桶不存在时,则建立该哈希桶,同时新建该哈希桶内的二叉树,并根据后108位将该数据块插入该二叉树,当该数据块的哈希值的前20位作为索引的哈希桶存在时,搜索该哈希桶内的二叉树,如果存在二叉树节点,则范围该节点索引,如果不存在二叉树节点,则根据后108位将该数据块插入该二叉树;步骤3,当出现哈希碰撞时,将虚拟机回滚到上一个快照点,从而确保数据和状态的一致性。
4.如权利要求1所述的方法,进行所述在线去冗余处理的架构设置为:多个本地去冗余组件采用分布式部署模式,每台物理服务器之上部署一个;全局去冗余组件在整个系统中仅有1个,部署于全局服务器上;在所述本地去冗余组件中包含本地哈希表模块,负责记录在这台物理服务器上的数据指纹信息;在所述全局去冗余组件中包含全局哈希表模块,负责记录整个系统中全局数据的指纹信息;快照执行组件负责执行虚拟机快照操作,同时获取虚拟机数据指纹值,并传递给本地去冗余组件。
CN201810915167.9A 2018-08-13 2018-08-13 一种高效的虚拟机数据在线去冗余方法 Pending CN109254871A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810915167.9A CN109254871A (zh) 2018-08-13 2018-08-13 一种高效的虚拟机数据在线去冗余方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810915167.9A CN109254871A (zh) 2018-08-13 2018-08-13 一种高效的虚拟机数据在线去冗余方法

Publications (1)

Publication Number Publication Date
CN109254871A true CN109254871A (zh) 2019-01-22

Family

ID=65048867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810915167.9A Pending CN109254871A (zh) 2018-08-13 2018-08-13 一种高效的虚拟机数据在线去冗余方法

Country Status (1)

Country Link
CN (1) CN109254871A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158952A (zh) * 2019-12-12 2020-05-15 浙江华云信息科技有限公司 一种利用外接存储设备自动备份配置文件的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775501A (zh) * 2017-02-14 2017-05-31 华南师范大学 基于非易失内存设备的数据去冗余方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775501A (zh) * 2017-02-14 2017-05-31 华南师范大学 基于非易失内存设备的数据去冗余方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
付印金: "面向云环境的重复数据删除关键技术研究", 《中国博士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158952A (zh) * 2019-12-12 2020-05-15 浙江华云信息科技有限公司 一种利用外接存储设备自动备份配置文件的方法
CN111158952B (zh) * 2019-12-12 2024-03-29 浙江华云信息科技有限公司 一种利用外接存储设备自动备份配置文件的方法

Similar Documents

Publication Publication Date Title
US10860532B2 (en) Sharing of snapshots among multiple computing machines
US9697053B2 (en) System and method for managing excessive distribution of memory
US10303450B2 (en) Systems and methods for a policy-driven orchestration of deployment of distributed applications
CN110247984B (zh) 业务处理方法、装置及存储介质
US11194569B2 (en) Method, electronic device and medium for upgrading a hyper-converged infrastructure node
US10324799B2 (en) Enhanced application write performance
US9521194B1 (en) Nondeterministic value source
CN102521063A (zh) 一种适用于虚拟机迁移和容错的共享存储方法
US10025630B2 (en) Operating programs on a computer cluster
CN102938784A (zh) 应用于分布式存储系统中的数据存储方法和系统
EP3432132B1 (en) Data storage method and device
EP3005113B1 (en) Improved deployment of virtual machines by means of differencing disks
EP4293510A1 (en) Data migration method and apparatus, and device, medium and computer product
CN109460345B (zh) 实时数据的计算方法及系统
JP5780377B2 (ja) 情報処理システム、及びアプリケーションの移転方法
CN112328365A (zh) 一种虚拟机迁移方法、装置、设备及存储介质
CN114090179A (zh) 有状态服务的迁移方法、装置及服务器
CN111078119B (zh) 一种数据重建方法、系统、装置及计算机可读存储介质
JP2012008854A (ja) ストレージ仮想化装置
CN107329836A (zh) 多系统的内存管理方法、管理装置以及移动终端
CN109254871A (zh) 一种高效的虚拟机数据在线去冗余方法
US20220229689A1 (en) Virtualization platform control device, virtualization platform control method, and virtualization platform control program
CN115293365A (zh) 机器学习模型的管理方法、装置、管理平台和存储介质
CN110532000B (zh) 一种用于运营发布的kbroker分布式操作系统和运营发布系统
CN115687250A (zh) 一种存储方法、设备、系统和计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for 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: 20190122