CN114020415B - 基于Bitmap实现hyper-v虚拟机备份的方法及应用 - Google Patents

基于Bitmap实现hyper-v虚拟机备份的方法及应用 Download PDF

Info

Publication number
CN114020415B
CN114020415B CN202111321020.5A CN202111321020A CN114020415B CN 114020415 B CN114020415 B CN 114020415B CN 202111321020 A CN202111321020 A CN 202111321020A CN 114020415 B CN114020415 B CN 114020415B
Authority
CN
China
Prior art keywords
disk
bitmap
hyper
virtual machine
data block
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.)
Active
Application number
CN202111321020.5A
Other languages
English (en)
Other versions
CN114020415A (zh
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.)
Jiangsu Anchao Cloud Software Co Ltd
Original Assignee
Jiangsu Anchao Cloud Software 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 Jiangsu Anchao Cloud Software Co Ltd filed Critical Jiangsu Anchao Cloud Software Co Ltd
Priority to CN202111321020.5A priority Critical patent/CN114020415B/zh
Publication of CN114020415A publication Critical patent/CN114020415A/zh
Application granted granted Critical
Publication of CN114020415B publication Critical patent/CN114020415B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

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

Abstract

本发明公开了一种基于Bitmap实现hyper‑v虚拟机备份的方法及应用,该方法包括以下步骤:获取hyper‑v虚拟机的虚拟磁盘和快照磁盘的派生关系;按照所述派生关系依次构建所述虚拟磁盘和所述快照磁盘的Bitmap;以及根据所述Bitmap对hyper‑v虚拟机进行备份。该方法能够通过构建hyper‑v虚拟机的虚拟磁盘和快照磁盘的Bitmap,准确的将有效数据进行备份,并且该有效数据是最后一次快照记录的数据,避免了虚拟机备份时数据拷贝量过大,超过虚拟磁盘的实际存储容量的问题,有效的降低了hyper‑v虚拟机备份时的数据量,提高了备份效率。

Description

基于Bitmap实现hyper-v虚拟机备份的方法及应用
技术领域
本发明是关于计算机领域,特别是关于一种基于Bitmap实现hyper-v虚拟机备份的方法及应用。
背景技术
在互联网高速发展中,每天会产生大量的数据,这些数据对使用者来说都是宝贵的物质财富。所以在生产环境中通常需要有备份容灾系统将数据备份来保证数据安全,但是备份本身是一种占用系统资源很多的行为(主要消耗系统CPU、IO),所以如何低消耗存储、低消耗带宽、快速回复数据,不影响生产系统性能成为该系统中主要问题。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
在VMWARE、KVM、XEN这些虚拟机进行备份时,往往是基于派生镜像法,即使用户的虚拟机已经有若干快照,我们依然可以从最后一个快照备份出完整的备份数据(比如说虚拟机仅有一块100GB的磁盘,不管用户做了多少次快照,一次全量备份出来的数据大小上限就是100GB,不会超出这个数值)。hyper-v虚拟机的备份依赖于window的VSS技术,即在虚拟机卷所在的磁盘做一致性快照,而后通过VSS接口拷贝各个磁盘文件。hyper-v本身用户对虚拟机做一次快照的话,虚拟机会新建一个快照磁盘指向父磁盘,用户做了多少次快照,就会有对应数量的快照磁盘。
由于hyper-v虚拟磁盘是动态扩展的模式,划分bitmap并不能简单的依据定长划分,举例说明动态扩展模式是指,创建指定这个虚拟机的大小上限是100GB,虚拟磁盘并不是立即占满100GB的存储空间,而是随着使用数据的增长动态扩展,逐渐增长到100GB为止。简单的以定长划分可能只在厚置备的磁盘模式下有效,可能这次虚拟机磁盘只有30GB,但是他的快照磁盘扩展到了80GB,90GB等等,有数据不一致的风险。
发明内容
本发明的目的在于提供一种基于Bitmap实现hyper-v虚拟机备份的方法及应用,解决虚拟机备份时数据拷贝量过大,超过虚拟磁盘的实际存储容量的问题。
为实现上述目的,本发明的实施例提供了一种基于Bitmap实现hyper-v虚拟机备份的方法。
在本发明的一个或多个实施方式中,所述方法包括:获取hyper-v虚拟机的虚拟磁盘和快照磁盘的派生关系;按照所述派生关系依次构建所述虚拟磁盘和所述快照磁盘的Bitmap;以及根据所述Bitmap对hyper-v虚拟机进行备份。
在本发明的一个或多个实施方式中,所述根据所述Bitmap对hyper-v虚拟机进行备份前,还包括:将所述虚拟磁盘对应的Bitmap和所有快照磁盘对应的Bitmap进行比对,生成所述hyper-v虚拟机的Bitmap。
在本发明的一个或多个实施方式中,所述将所述虚拟磁盘对应的Bitmap和所有快照磁盘对应的Bitmap进行比对,生成所述hyper-v虚拟机的Bitmap,包括:按照磁盘的更新顺序从最后一次更新的磁盘开始检索所述数据块对应的Bitmap;若同一数据块在任意磁盘的Bitmap标记为有效,则标记hyper-v虚拟机的所述数据块对应的Bitmap有效;以及记录标记所述数据块对应的Bitmap有效的最后一次更新的磁盘。
在本发明的一个或多个实施方式中,根据所述Bitmap对hyper-v虚拟机进行备份,包括:创建一个空白的备份文件;将所有有效的数据块的数据从标记所述数据块对应的Bitmap有效的最后一次更新的磁盘中备份至所述备份文件对应的数据块中。
在本发明的一个或多个实施方式中,所述方法还包括:将所述备份文件复制至待恢复集群,并将所述hyper-v虚拟机的配置文件中磁盘的路径信息更改为所述备份文件的路径信息。
在本发明的一个或多个实施方式中,所述方法还包括:解析所述虚拟磁盘和所述快照磁盘的文件系统;记录所述文件系统中每个文件的数据块的逻辑地址信息;以及根据所述逻辑地址信息和预设定长判断对应的数据块是否有效;若是,所述虚拟磁盘或所述快照磁盘对应的数据块的Bitmap标记为有效。
在本发明的一个或多个实施方式中,所述方法还包括:若所述虚拟磁盘已占满存储空间,则所述数据块的逻辑地址信息中的起始逻辑地址从0开始按照预设定长划分数据块。
在本发明的另一个方面当中,提供了一种基于Bitmap实现hyper-v虚拟机备份的装置,其包括获取模块、构建模块和备份模块。
获取模块,用于获取hyper-v虚拟机的虚拟磁盘和快照磁盘的派生关系。
构建模块,用于按照所述派生关系依次构建所述虚拟磁盘和所述快照磁盘的Bitmap。
备份模块,用于根据所述Bitmap对hyper-v虚拟机进行备份。
在本发明的一个或多个实施方式中,所述构建模块还用于:将所述虚拟磁盘对应的Bitmap和所有快照磁盘对应的Bitmap进行比对,生成所述hyper-v虚拟机的Bitmap。
在本发明的一个或多个实施方式中,所述构建模块还用于:按照磁盘的更新顺序从最后一次更新的磁盘开始检索所述数据块对应的Bitmap;若同一数据块在任意磁盘的Bitmap标记为有效,则标记hyper-v虚拟机的所述数据块对应的Bitmap有效;以及记录标记所述数据块对应的Bitmap有效的最后一次更新的磁盘。
在本发明的一个或多个实施方式中,所述备份模块还用于:创建一个空白的备份文件;将所有有效的数据块的数据从标记所述数据块对应的Bitmap有效的最后一次更新的磁盘中备份至所述备份文件对应的数据块中。
在本发明的一个或多个实施方式中,所述备份模块还用于:将所述备份文件复制至待恢复集群,并将所述hyper-v虚拟机的配置文件中磁盘的路径信息更改为所述备份文件的路径信息。
在本发明的一个或多个实施方式中,所述构建模块还用于:解析所述虚拟磁盘和所述快照磁盘的文件系统;记录所述文件系统中每个文件的数据块的逻辑地址信息;以及根据所述逻辑地址信息和预设定长判断对应的数据块是否有效;若是,所述虚拟磁盘或所述快照磁盘对应的数据块的Bitmap标记为有效。
在本发明的一个或多个实施方式中,所述构建模块还用于:若所述虚拟磁盘已占满存储空间,则所述数据块的逻辑地址信息中的起始逻辑地址从0开始按照预设定长划分数据块。
在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的基于Bitmap实现hyper-v虚拟机备份的方法。
在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的基于Bitmap实现hyper-v虚拟机备份的方法的步骤。
与现有技术相比,根据本发明实施方式的基于Bitmap实现hyper-v虚拟机备份的方法及应用,其能够通过构建hyper-v虚拟机的虚拟磁盘和快照磁盘的Bitmap,准确的将有效数据进行备份,并且该有效数据是最后一次快照记录的数据,避免了虚拟机备份时数据拷贝量过大,超过虚拟磁盘的实际存储容量的问题,有效的降低了hyper-v虚拟机备份时的数据量,提高了备份效率。
附图说明
图1是根据本发明一实施方式的基于Bitmap实现hyper-v虚拟机备份的方法的流程图;
图2是根据本发明一实施方式的基于Bitmap实现hyper-v虚拟机备份的方法的磁盘派生关系图;
图3是根据本发明一实施方式的基于Bitmap实现hyper-v虚拟机备份的方法的具体流程图;
图4是根据本发明一实施方式的基于Bitmap实现hyper-v虚拟机备份的装置的结构图;
图5是根据本发明一实施方式的基于Bitmap实现hyper-v虚拟机备份的计算设备的硬件结构图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
如图1至图2所示,介绍本发明的一个实施例中基于Bitmap实现hyper-v虚拟机备份的方法,该方法包括如下步骤。
在步骤S101中,获取hyper-v虚拟机的虚拟磁盘和快照磁盘的派生关系。
磁盘快照是针对整个磁盘卷册进行快速的档案系统备份,目的是通过磁盘快照将系统的某个瞬间进行备份。hyper-v虚拟机自身做一次快照,hyper-v虚拟机会新建一个快照磁盘指向其父磁盘,快照磁盘数量与快照次数相对应。
在本实施例中,hyper-v虚拟机的虚拟磁盘和快照磁盘的派生关系如图2所示,hyper-v虚拟机自身具有虚拟磁盘,对hyper-v虚拟机做3次快照,第一次快照生成快照磁盘1,第二次快照生成快照磁盘2,以此类推,还有快照磁盘3。
在步骤S102中,按照派生关系依次构建虚拟磁盘和快照磁盘的Bitmap。
由于虚拟机磁盘中的文件不一定是以连续的方式存储,在构建虚拟磁盘和快照磁盘的Bitmap前,需要解析虚拟磁盘和快照磁盘的文件系统,并记录每个文件的数据块占用的逻辑地址信息。
由于hyper-v虚拟磁盘是动态扩展的模式,因此在划分Bitmap时不能简单的依据定长划分,简单的以定长划分只在厚置备的磁盘模式下有效。在本实施例中,根据hyper-v虚拟机的存储容量预先设置定长,根据逻辑地址信息和预设定长判断对应的逻辑数据块是否有效,若该逻辑数据块有效,则在对应磁盘的Bitmap中将该逻辑数据块标记为有效,否则标记为0,代表该逻辑数据块无有效数据。以此类推,根据虚拟磁盘和快照磁盘的派生关系依次构建对应的Bitmap。
在步骤S103中,根据Bitmap对hyper-v虚拟机进行备份。
将虚拟磁盘对应的Bitmap和所有快照磁盘对应的Bitmap进行比对,生成hyper-v虚拟机的Bitmap。根据hyper-v虚拟机的Bitmap可以得知具有有效数据的数据块,在对hyper-v虚拟机进行备份时,只需将有效数据进行备份即可。hyper-v虚拟机的Bitmap还标记出最后一次进行快照的快照磁盘,在备份时,同一数据块只对最后一次进行快照的快照磁盘的有效数据进行备份,也可以有效的降低备份时的数据量。
以hyperv虚拟机的磁盘容量为100GB为例,进行四次快照后,存储中具有一个虚拟磁盘和4个快照磁盘,假设每个磁盘的数据使用率是80%,则根据现有技术实现hyper-v虚拟机备份的数据量是400GB(即100GB*80%*5),因为按照现有技术实现hyper-v虚拟机备份需要将存储中的虚拟磁盘和4个快照磁盘全部的数据备份或者挂载至生产系统。
根据本发明实施方式的基于Bitmap实现hyper-v虚拟机备份的方法实现hyper-v虚拟机备份的数据量小于等于100GB。因为在本实施例中,不同磁盘中同一个数据块只在具有最新的数据的磁盘中备份一次,hyper-v虚拟机实际备份的数据量不会大于hyperv虚拟机的磁盘容量,可以有效的降低备份时的数据备份量,并提高备份速率。
实施例2
如图3所示,介绍本发明的一个实施例中基于Bitmap实现hyper-v虚拟机备份的方法,该方法包括如下步骤。
在步骤S201中,获取hyper-v虚拟机的虚拟磁盘和快照磁盘的派生关系。
磁盘快照是针对整个磁盘卷册进行快速的档案系统备份,目的是通过磁盘快照将系统的某个瞬间进行备份。hyper-v虚拟机自身做一次快照,hyper-v虚拟机会新建一个快照磁盘指向其父磁盘,快照磁盘数量与快照次数相对应。
在步骤S202中,解析虚拟磁盘和快照磁盘的文件系统。
由于虚拟机文件系统中的文件可以以连续的方式存储,也可以以不连续的方式存储,因此需要解析虚拟机的虚拟磁盘和快照磁盘对应的的文件系统。通过对应的文件系统获取虚拟磁盘和快照磁盘中文件的逻辑地址信息。
在步骤S203中,记录文件系统中每个文件的数据块的逻辑地址信息。
文件系统中每个文件可以被划分为若干个数据块存储数据,每个文件对应的数据块个数可以相同,也可以不同。每个数据块都具有起始逻辑地址和结束逻辑地址。记录每个文件所有数据块的起始逻辑地址和结束逻辑地址。
文件系统中每个文件具有起始逻辑地址和结束逻辑地址,该文件的起始逻辑地址就是该文件的第一个数据块的起始逻辑地址,该文件的结束逻辑地址就是该文件的最后一个数据块的结束逻辑地址。
举例来说,虚拟机文件系统中的一个文件被分成了两个数据块存储,第一个数据块的起始逻辑地址是1048577byte,结束逻辑地址是2097151byte;第二个数据块的起始逻辑地址是33554433byte,结束逻辑地址是35651888byte;该文件的起始逻辑地址是1048577byte,结束逻辑地址是35651888byte。
在步骤S204中,根据逻辑地址信息和预设定长判断对应的逻辑数据块是否有效。
将虚拟磁盘和快照磁盘分别从其起始逻辑地址按照预设定长对磁盘进行划分,磁盘可以划分为对应个数的逻辑数据块。如果虚拟磁盘已占满存储空间,则直接从起始逻辑地址0开始按照预设定长对磁盘进行划分,排除具有空洞数据的数据块即可,空洞数据是无效的或者全为0的数据。
根据每个数据块的起始逻辑地址和结束逻辑地址判断对应的逻辑数据块是否有效。具体的,通过每个数据块的起始逻辑地址和结束逻辑地址可以确定对应的数据块地址,数据块的逻辑地址范围是在对应的数据块地址范围内的。通过数据块地址可以确定当前数据块对应的逻辑数据块,当前数据块对应的逻辑数据块存储了有效数据,因此该逻辑数据块的Bitmap标记为有效。若逻辑数据块未占满预设定长,该逻辑数据块也被认为已占用,该逻辑数据块的Bitmap也被标记为有效。
以预设定长是1024KB,文件的起始逻辑地址是0为例,从起始逻辑地址0开始,每1024KB大小为一个逻辑数据块,第一个数据块占用存储的逻辑地址范围是1048577byte-2097151byte,可以确定第一个数据块地址范围是1024KB-2048KB,对应的逻辑数据块是第二个逻辑数据块,标记第二个逻辑数据块的Bitmap为有效。以此类推,第二个数据块占用存储的逻辑地址范围是33554433byte-35651888byte,则第二个数据块地址范围是32*1024KB-35*1024KB,第二个数据块的逻辑地址范围在第二个数据块地址范围内,该数据块地址对应第32个逻辑数据块至第35个逻辑数据块,将标号为32-35逻辑数据块的Bitmap标记为有效。
在步骤S205中,将虚拟磁盘对应的Bitmap和所有快照磁盘对应的Bitmap进行比对,生成hyper-v虚拟机的Bitmap。
对比所有磁盘同一数据块的Bitmap,具体的,按照磁盘快照更新的顺序依次检索各个磁盘中同一数据块的Bitmap,在首次检索到磁盘中数据块的Bitmap为有效时,记录该有效数据块和对应的磁盘,(该磁盘的数据块中存储的是hyper-v虚拟机最后一次更新的有效数据),停止该数据块的检索,顺序检索下一个数据块。
如果数据块在任意磁盘的Bitmap中被标记为有效,则标记hyper-v虚拟机的该数据块的Bitmap有效,意味着hyper-v虚拟机的虚拟磁盘或快照磁盘的该数据块中存在有效数据。
在步骤S206中,将所有有效的数据块的数据从对应的磁盘中备份至备份文件对应的数据块中。
在hyper-v虚拟机对磁盘文件进行备份时,首先需要创建一个空白的备份文件,用于存储需要备份的磁盘文件。根据hyper-v虚拟机的Bitmap可知具有有效数据的数据块,及有效数据块对应的磁盘,从各磁盘的对应的数据块位置备份数据至备份文件的对应数据块位置,依次类推,直至最后一个数据块的数据备份至备份文件中,这样可以从不同的磁盘中获取对应位置数据块的有效数据进行备份,备份的数据量上限不会超过磁盘置备的大小。
在步骤S207中,将备份文件复制至待恢复集群,并将hyper-v虚拟机的配置文件中磁盘的路径信息更改为备份文件的路径信息。
在恢复集群时,将备份文件复制至待恢复集群后,需要更改hyper-v虚拟机的配置文件中磁盘的配置信息,具体的,将磁盘的路径信息更改为备份文件的路径信息。这样恢复后的集群可以通过备份文件的路径信息获取到备份文件中的有效数据,集群中的有效数据得以真正的恢复。
以图2为例,hyper-v虚拟机有一个虚拟磁盘,虚拟磁盘有三个派生的快照磁盘,分别是快照磁盘1、快照磁盘2和快照磁盘3。解析虚拟磁盘和快照磁盘的文件系统,分别构建虚拟磁盘和快照磁盘对应的Bitmap。具体的,设置定长为10242KB,从起始逻辑地址0开始按照1024KB对存储进行分块,用于记录这些逻辑数据块上是否具有有效数据(标记为1为有效数据,标记为0则为无效数据)。在本实施例中,存储按照预设定长被分为9个逻辑数据块,标号分别为0-8。
根据文件系统中每个文件的数据块的逻辑地址信息得出虚拟磁盘的Bitmap为101001000,快照磁盘1的Bitmap为100100000,快照磁盘2的Bitmap为000011001,快照磁盘3的Bitmap为000000110,将虚拟磁盘和快照磁盘的Bitmap进行比对,得出hyper-v虚拟机的Bitmap为101111111。
从第一个数据块开始,按照快照磁盘3、快照磁盘2、快照磁盘1、虚拟机磁盘的顺序检索同一个数据块,在检索到同一个数据块的Bitmap标记为有效时,就不再继续检索该数据块,按照该方法继续检索下一个数据块,直至最后一个数据块。得到对应的有效数据块实际所对应的磁盘,本实施例9个逻辑数据块实际对应的磁盘分别是快照磁盘1、0、虚拟磁盘、快照磁盘1、快照磁盘2、快照磁盘2、快照磁盘3、快照磁盘3、快照磁盘2。
按照上述结果,从对应的磁盘的对应逻辑数据块位置,复制数据至备份文件对应的数据块位置,直至磁盘末尾,完成hyper-v虚拟机的备份。
在hyper-v虚拟机恢复时,将备份文件中的数据复制回待恢复的集群,更改虚拟机的配置文件中磁盘配置信息,将磁盘的路径信息改为刚刚拷贝的文件路径即可。
如图4所示,介绍根据本发明具体实施方式的基于Bitmap实现hyper-v虚拟机备份的装置。
在本发明的实施方式中,基于Bitmap实现hyper-v虚拟机备份的装置包括获取模块401、构建模块402和备份模块403。
获取模块401,用于获取hyper-v虚拟机的虚拟磁盘和快照磁盘的派生关系。
构建模块402,用于按照派生关系依次构建虚拟磁盘和快照磁盘的Bitmap。
备份模块403,用于根据Bitmap对hyper-v虚拟机进行备份。
构建模块402还用于:将虚拟磁盘对应的Bitmap和所有快照磁盘对应的Bitmap进行比对,生成hyper-v虚拟机的Bitmap。
构建模块402还用于:按照磁盘的更新顺序从最后一次更新的磁盘开始检索数据块对应的Bitmap;若同一数据块在任意磁盘的Bitmap标记为有效,则标记hyper-v虚拟机的数据块对应的Bitmap有效;以及记录标记数据块对应的Bitmap有效的最后一次更新的磁盘。
备份模块403还用于:创建一个空白的备份文件;将所有有效的数据块的数据从标记数据块对应的Bitmap有效的最后一次更新的磁盘中备份至备份文件对应的数据块中。
备份模块403还用于:将备份文件复制至待恢复集群,并将hyper-v虚拟机的配置文件中磁盘的路径信息更改为备份文件的路径信息。
构建模块402还用于:解析虚拟磁盘和快照磁盘的文件系统;记录文件系统中每个文件的数据块的逻辑地址信息;以及根据逻辑地址信息和预设定长判断对应的数据块是否有效;若是,虚拟磁盘或快照磁盘对应的数据块的Bitmap标记为有效。
构建模块402还用于:若虚拟磁盘已占满存储空间,则数据块的逻辑地址信息中的起始逻辑地址从0开始按照预设定长划分数据块。
图5示出了根据本说明书的实施例的用于基于Bitmap实现hyper-v虚拟机备份的计算设备50的硬件结构图。如图5所示,计算设备50可以包括至少一个处理器501、存储器502(例如非易失性存储器)、内存503和通信接口504,并且至少一个处理器501、存储器502、内存503和通信接口504经由总线505连接在一起。至少一个处理器501执行在存储器502中存储或编码的至少一个计算机可读指令。
应该理解,在存储器502中存储的计算机可执行指令当执行时使得至少一个处理器501进行本说明书的各个实施例中以上结合图1-5描述的各种操作和功能。
在本说明书的实施例中,计算设备50可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-5描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
根据本发明实施方式的基于Bitmap实现hyper-v虚拟机备份的方法及应用,其能够通过构建hyper-v虚拟机的虚拟磁盘和快照磁盘的Bitmap,准确的将有效数据进行备份,并且该有效数据是最后一次快照记录的数据,避免了虚拟机备份时数据拷贝量过大,超过虚拟磁盘的实际存储容量的问题,有效的降低了hyper-v虚拟机备份时的数据量,提高了备份效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

Claims (7)

1.一种基于Bitmap实现hyper-v虚拟机备份的方法,其特征在于,所述方法包括:
获取hyper-v虚拟机的虚拟磁盘和快照磁盘的派生关系;
解析所述虚拟磁盘和所述快照磁盘的文件系统;
记录所述文件系统中每个文件的数据块的逻辑地址信息;
根据所述逻辑地址信息和预设定长判断对应的数据块是否有效;若是,
所述虚拟磁盘或所述快照磁盘对应的数据块的Bitmap标记为有效;
按照磁盘的更新顺序从最后一次更新的磁盘开始检索所述数据块对应的Bitmap;
若同一数据块在任意磁盘的Bitmap标记为有效,则标记hyper-v虚拟机的所述数据块对应的Bitmap有效;
记录标记所述数据块对应的Bitmap有效的最后一次更新的磁盘;
根据所述Bitmap对所述hyper-v虚拟机进行备份。
2.如权利要求1所述的基于Bitmap实现hyper-v虚拟机备份的方法,其特征在于,根据所述Bitmap对hyper-v虚拟机进行备份,包括:
创建一个空白的备份文件;
将所有有效的数据块的数据从标记所述数据块对应的Bitmap有效的最后一次更新的磁盘中备份至所述备份文件对应的数据块中。
3.如权利要求2所述的基于Bitmap实现hyper-v虚拟机备份的方法,其特征在于,所述方法还包括:
将所述备份文件复制至待恢复集群,并将所述hyper-v虚拟机的配置文件中磁盘的路径信息更改为所述备份文件的路径信息。
4.如权利要求1所述的基于Bitmap实现hyper-v虚拟机备份的方法,其特征在于,所述方法还包括:
若所述虚拟磁盘已占满存储空间,则所述数据块的逻辑地址信息中的起始逻辑地址从0开始按照预设定长划分数据块。
5.一种基于Bitmap实现hyper-v虚拟机备份的装置,其特征在于,所述装置包括:
获取模块,用于获取hyper-v虚拟机的虚拟磁盘和快照磁盘的派生关系;
构建模块,用于解析所述虚拟磁盘和所述快照磁盘的文件系统;记录所述文件系统中每个文件的数据块的逻辑地址信息;根据所述逻辑地址信息和预设定长判断对应的数据块是否有效;若是,所述虚拟磁盘或所述快照磁盘对应的数据块的Bitmap标记为有效;
备份模块,用于按照磁盘的更新顺序从最后一次更新的磁盘开始检索所述数据块对应的Bitmap;若同一数据块在任意磁盘的Bitmap标记为有效,则标记hyper-v虚拟机的所述数据块对应的Bitmap有效;记录标记所述数据块对应的Bitmap有效的最后一次更新的磁盘;根据所述Bitmap对所述hyper-v虚拟机进行备份。
6.一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1至4中任一项所述的基于Bitmap实现hyper-v虚拟机备份的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的基于Bitmap实现hyper-v虚拟机备份的方法的步骤。
CN202111321020.5A 2021-11-09 2021-11-09 基于Bitmap实现hyper-v虚拟机备份的方法及应用 Active CN114020415B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111321020.5A CN114020415B (zh) 2021-11-09 2021-11-09 基于Bitmap实现hyper-v虚拟机备份的方法及应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111321020.5A CN114020415B (zh) 2021-11-09 2021-11-09 基于Bitmap实现hyper-v虚拟机备份的方法及应用

Publications (2)

Publication Number Publication Date
CN114020415A CN114020415A (zh) 2022-02-08
CN114020415B true CN114020415B (zh) 2022-10-14

Family

ID=80062541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111321020.5A Active CN114020415B (zh) 2021-11-09 2021-11-09 基于Bitmap实现hyper-v虚拟机备份的方法及应用

Country Status (1)

Country Link
CN (1) CN114020415B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10725966B1 (en) * 2014-06-30 2020-07-28 Veritas Technologies Llc Block level incremental backup for QCOW2 virtual disks
CN113220504A (zh) * 2021-05-26 2021-08-06 华云数据控股集团有限公司 虚拟机增量数据备份方法、系统及计算机可读介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10725966B1 (en) * 2014-06-30 2020-07-28 Veritas Technologies Llc Block level incremental backup for QCOW2 virtual disks
CN113220504A (zh) * 2021-05-26 2021-08-06 华云数据控股集团有限公司 虚拟机增量数据备份方法、系统及计算机可读介质

Also Published As

Publication number Publication date
CN114020415A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
EP2840495B1 (en) Container-based processing method and apparatus
CN103019888B (zh) 备份方法与装置
AU2012347883B2 (en) System and method for restoring application data
US8965850B2 (en) Method of and system for merging, storing and retrieving incremental backup data
US11093162B2 (en) Method and apparatus for deleting cascaded snapshot
EP2318927B1 (en) Systems and methods for tracking changes to a volume
CN113918385B (zh) 虚拟机在线增量备份恢复的方法、装置、电子设备及介质
CN111771193A (zh) 用于在生产集群中备份最终一致的数据库的系统和方法
CN103049539A (zh) 一种文件系统中文件数据的存储方法及其装置
US9003139B1 (en) Systems and methods for recovering virtual machines after disaster scenarios
CN111158858B (zh) 一种虚拟机的克隆方法和装置,及计算机可读存储介质
CN112256400A (zh) 一种虚拟机快照管理方法及装置
CN106502830B (zh) 一种基于Btrfs文件系统的系统备份还原方法
EP3343395A1 (en) Data storage method and apparatus for mobile terminal
US8595271B1 (en) Systems and methods for performing file system checks
CN111399780B (zh) 一种数据的写入方法、装置以及设备
CN114020415B (zh) 基于Bitmap实现hyper-v虚拟机备份的方法及应用
CN111722800A (zh) 一种分布式存储系统row快照实现方法及相关组件
CN114924911B (zh) Windows操作系统有效数据备份方法、装置、设备和存储介质
CN116610636A (zh) 一种文件系统的数据处理方法、装置、电子设备及存储介质
US11010332B2 (en) Set-based mutual exclusion using object metadata tags in a storage appliance
CN115328696A (zh) 一种数据库中的数据备份方法
CN112073218B (zh) 一种网络配置文件兼容方法、电子设备及存储介质
CN103577565A (zh) 一种将文件导出到磁带的方法和装置
CN113961147A (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
GR01 Patent grant
GR01 Patent grant