CN115599601A - 基于磁盘cbt的卷备份方法和系统 - Google Patents

基于磁盘cbt的卷备份方法和系统 Download PDF

Info

Publication number
CN115599601A
CN115599601A CN202211248363.8A CN202211248363A CN115599601A CN 115599601 A CN115599601 A CN 115599601A CN 202211248363 A CN202211248363 A CN 202211248363A CN 115599601 A CN115599601 A CN 115599601A
Authority
CN
China
Prior art keywords
component
cbt
disk
snapshot
data
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
CN202211248363.8A
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.)
Nanjing Ecloud Technology Co ltd
Original Assignee
Nanjing Ecloud 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 Nanjing Ecloud Technology Co ltd filed Critical Nanjing Ecloud Technology Co ltd
Priority to CN202211248363.8A priority Critical patent/CN115599601A/zh
Publication of CN115599601A publication Critical patent/CN115599601A/zh
Pending legal-status Critical Current

Links

Images

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/1458Management of the backup or restore process
    • 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

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

本发明公开了一种基于磁盘CBT的卷备份方法和系统,涉及磁盘备份技术领域。该方法包括:通过用户层控制组件扫描磁盘结构并构建磁盘偏移地址‑数据卷的映射表D2V‑Table,提取目标数据卷的有效数据区域,下发创建快照以及启动同步的控制命令给内核层组件;通过内核层组件为目标数据卷创建一致性快照并通过写时拷贝和主动同步的方式将快照数据复制到位于备份服务器上的快照副本;基于备份服务器接收并处理内核层组件传输的数据,并进行数据存储备份。本发明提供持续的数据卷变化块追踪,支持获取两次快照中间产生的增量数据,支持对数据卷进行增量备份。

Description

基于磁盘CBT的卷备份方法和系统
技术领域
本发明涉及磁盘备份技术领域,具体而言,涉及一种基于磁盘CBT的卷备份方法和系统。
背景技术
一些第三方备份软件利用Windows提供的卷影拷贝服务(VSS,Volume ShadowsCopy Service)为重要数据卷创建一致性快照,结合备份软件提供的数据传输和备份数据管理能力可以实现卷备份功能。由于VSS不提供CBT能力,每次通过VSS创建的快照都是目标数据卷的完整数据副本,因此利用VSS技术无法获取自上次备份以来的增量数据。
Linux的各种发行版本仅支持基于逻辑卷的块设备快照以及ZFS、BTRFS等文件系统快照,对于其他标准分区或建立在标准分区上的ext系列文件系统和XFS等主流文件系统并未提供成熟的快照方案。
针对现有技术方案的不足,本发明提出一种基于磁盘CBT的卷备份方法和系统。
发明内容
为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种基于磁盘CBT的卷备份方法和系统,采用统一的机制和处理流程对Windows和Linux下的数据卷创建一致性快照,具有更好的系统兼容性;提供持续的数据卷变化块追踪,支持获取两次快照中间产生的增量数据,支持对数据卷进行增量备份。
本发明的实施例是这样实现的:
第一方面,本发明实施例提供一种基于磁盘CBT的卷备份系统,包括用户层控制组件、内核层组件和备份服务器,其中:
用户层控制组件,用于扫描磁盘结构并构建磁盘偏移地址-数据卷的映射表D2V-Table,提取目标数据卷的有效数据区域,下发创建快照以及启动同步的控制命令给内核层组件;
内核层组件,用于为目标数据卷创建一致性快照并通过写时拷贝和主动同步的方式将快照数据复制到位于备份服务器上的快照副本;
备份服务器,用于接收并处理内核层组件传输的数据,并进行数据存储备份。
为了解决现有技术中的问题,本系统通过用户层控制组件、内核层组件和备份服务器三大部分相互配合,采用统一的机制和处理流程对Windows和Linux下的数据卷创建一致性快照,与VSS、LVM快照等快照机制相比,该技术有更好的系统兼容性;提供持续的数据卷变化块追踪,支持获取两次快照中间产生的增量数据,支持对数据卷进行增量备份。
基于第一方面,在本发明的一些实施例中,上述内核层组件包括IO监控组件、COW组件、同步组件和传输组件,其中:
IO监控组件,用于负责实时截获上层驱动提交的磁盘IO写请求并将该磁盘IO请求根据用户层控制组件下发的D2V-Table转换为针对数据卷的IO请求;若IO请求命中目标数据卷,则根据IO请求生成CBT记录并存储到增量CBT表,并将CBT记录提交给COW组件;
COW组件,用于基于IO监控组件生成的CBT记录结合COW-Bitmap对目标数据卷执行写时拷贝动作,将CBT记录对应区域的旧数据被动同步到备份服务器上的快照副本;
同步组件,用于主动将目标数据卷上自创建快照以来未被写入的区域同步到备份服务器上的快照副本;
传输组件,用于实时将COW组件和同步组件的数据记录传输到备份服务器。
第二方面,本发明实施例提供一种基于磁盘CBT的卷备份方法,包括以下步骤:
通过用户层控制组件扫描磁盘结构并构建磁盘偏移地址-数据卷的映射表D2V-Table,提取目标数据卷的有效数据区域,下发创建快照以及启动同步的控制命令给内核层组件;
通过内核层组件为目标数据卷创建一致性快照并通过写时拷贝和主动同步的方式将快照数据复制到位于备份服务器上的快照副本;
基于备份服务器接收并处理内核层组件传输的数据,并进行数据存储备份。
本方法基于上述系统实现,采用统一的机制和处理流程对Windows和Linux下的数据卷创建一致性快照,与VSS、LVM快照等快照机制相比,该技术有更好的系统兼容性;提供持续的数据卷变化块追踪,支持获取两次快照中间产生的增量数据,支持对数据卷进行增量备份。
基于第二方面,在本发明的一些实施例中,上述通过内核层组件为目标数据卷创建一致性快照并通过写时拷贝和主动同步的方式将快照数据复制到位于备份服务器上的快照副本的方法包括以下步骤:
通过内核层组件中的IO监控组件负责实时截获上层驱动提交的磁盘IO写请求并将该磁盘IO请求根据用户层控制组件下发的D2V-Table转换为针对数据卷的IO请求;若IO请求命中目标数据卷,则根据IO请求生成CBT记录并存储到增量CBT表,并将CBT记录提交给COW组件;
通过内核层组件中的COW组件基于IO监控组件生成的CBT记录结合COW-Bitmap对目标数据卷执行写时拷贝动作,将CBT记录对应区域的旧数据被动同步到备份服务器上的快照副本;
通过内核层组件中的同步组件主动将目标数据卷上自创建快照以来未被写入的区域同步到备份服务器上的快照副本;
通过内核层组件中的传输组件实时将COW组件和同步组件的数据记录传输到备份服务器。
基于第二方面,在本发明的一些实施例中,该基于磁盘CBT的卷备份方法还包括以下步骤:
若IO请求未命中目标数据卷,则直接将IO请求提交给下层驱动处理。
基于第二方面,在本发明的一些实施例中,该基于磁盘CBT的卷备份方法还包括以下步骤:
通过IO监控组件持续追踪目标数据卷所在磁盘的变化数据块,并根据D2V-Table将磁盘的变化数据块转换为目标数据卷的变化数据块。
基于第二方面,在本发明的一些实施例中,该基于磁盘CBT的卷备份方法还包括以下步骤:
首次全量备份时,通过同步组件从用户层控制组件获取完整CBT记录并生成同步CBT表。
基于第二方面,在本发明的一些实施例中,该基于磁盘CBT的卷备份方法还包括以下步骤:
增量备份时,通过IO监控组件将增量CBT表转换为同步CBT表并提交给同步组件;
通过同步组件根据同步CBT表结合COW-Bitmap执行同步操作,将创建快照以来目标数据卷上未被写入的磁盘块同步到备份服务上的快照副本。
第三方面,本申请实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当一个或多个程序被处理器执行时,实现如上述第一方面中任一项的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的方法。
本发明实施例至少具有如下优点或有益效果:
本发明实施例提供一种基于磁盘CBT的卷备份方法和系统,基于用户层控制组件、内核层组件和备份服务器等各个板块相互配合,采用统一的机制和处理流程对Windows和Linux下的数据卷创建一致性快照,与VSS、LVM快照等快照机制相比,该技术有更好的系统兼容性;提供持续的数据卷变化块追踪,支持获取两次快照中间产生的增量数据,支持对数据卷进行增量备份。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例一种基于磁盘CBT的卷备份系统的结构框图;
图2为本发明实施例一种基于磁盘CBT的卷备份方法的流程图;
图3为本发明实施例中的变化数据块追踪和写时拷贝示意图;
图4为本发明实施例中的基于CBT的增量备份示意图;
图5为本发明实施例提供的一种电子设备的结构框图。
附图标记说明:101、存储器;102、处理器;103、通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
实施例:
如图1所示,第一方面,本发明实施例提供一种基于磁盘CBT的卷备份系统,包括用户层控制组件、内核层组件和备份服务器,其中:
用户层控制组件,用于扫描磁盘结构并构建磁盘偏移地址-数据卷的映射表D2V-Table,提取目标数据卷的有效数据区域,下发创建快照以及启动同步的控制命令给内核层组件;
内核层组件,用于为目标数据卷创建一致性快照并通过写时拷贝和主动同步的方式将快照数据复制到位于备份服务器上的快照副本;
进一步地,上述内核层组件包括IO监控组件、COW组件、同步组件和传输组件,其中:
IO监控组件,用于负责实时截获上层驱动提交的磁盘IO写请求并将该磁盘IO请求根据用户层控制组件下发的D2V-Table转换为针对数据卷的IO请求;若IO请求命中目标数据卷,则根据IO请求生成CBT记录并存储到增量CBT表,并将CBT记录提交给COW组件;COW组件,用于基于IO监控组件生成的CBT记录结合COW-Bitmap对目标数据卷执行写时拷贝动作,将CBT记录对应区域的旧数据被动同步到备份服务器上的快照副本;同步组件,用于主动将目标数据卷上自创建快照以来未被写入的区域同步到备份服务器上的快照副本;传输组件,用于实时将COW组件和同步组件的数据记录传输到备份服务器。
备份服务器,用于接收并处理内核层组件传输的数据,并进行数据存储备份。
用户层控制组件,负责扫描磁盘结构并构建磁盘偏移地址-数据卷的映射表(D2V-Table, Disk to Volume Table),提取目标数据卷的有效数据区域,下发创建快照以及启动同步等控制命令等工作。
内核层组件主要包括IO监控组件、COW-组件、同步组件和传输组件,这四大组件相互协作实现为目标数据卷创建一致性快照并将快照数据通过写时拷贝和主动同步等操作复制到位于备份服务器上的快照副本。
IO监控组件和COW-组件相互协作完成变化数据块追踪和写时拷贝工作,其详细工作流程如图3所示,IO监控组件位于磁盘过滤驱动层,负责实时截获上层驱动提交的磁盘IO写请求并将该磁盘IO请求根据用户层下发的D2V-Table转换为针对数据卷的IO请求。如果IO请求未命中目标数据卷则直接将IO请求提交给下层驱动处理,如果IO请求命中目标数据卷则根据IO请求信息生成CBT记录<volume_id, volume_offset, length>并存储到增量CBT表(Inc-CBT Table),然后将CBT记录提交给COW-组件。
COW组件为每一个目标数据卷维护一个写时拷贝位图(COW-Bitmap),该位图在逻辑上将目标数据卷划分为固定大小的磁盘块,然后通过一个bit位标记一个磁盘块。对于每一个CBT,COW-组件将其转换为COW-Bitmap的一个或多个bit位,然后检查并设置相应bit位。如果相应bit位之前未设置,表示该bit位对应的磁盘块自创建快照以来为首次写入,COW-组件从目标数据卷拷贝旧数据构造数据记录并提交给传输组件。COW-组件处理完成后,通知IO监控组件将CBT对应的IO请求提交给下层驱动处理。
同步组件负责主动将目标数据卷上自创建快照以来未被写入的区域同步到备份服务器上的快照副本。该组件基于一个同步CBT表(Sync-CBT Table)执行同步操作,Sync-CBT Table的每一条记录代表目标数据卷上的一个有效数据区域或待同步区域。首次全量备份情况下,Sync-CBT Table由用户层控制组件获取并通过用户态-内核态交互接口传给同步组件。增量备份情况下,IO监控组件将Inc-CBT Table转换为Sync-CBT Table,如图4所示。同步组件根据CBT从目标数据卷上读取一块连续数据,如果CBT超过同步组件的单次最大读取长度,同步组件将CBT拆分为多个更小的CBT记录进行数据读取。读取数据完成后,同步组件向COW-组件查询CBT对应的数据卷区域自创建快照以来是否已被写入新数据。基于COW-组件的返回结果,同步组件将未写入区域的数据构造成数据记录提交给传输组件。
传输组件负责为COW-组件和同步组件提供数据传输服务,该组件维护一个缓存队列(Cache)。待COW-组件或同步组件将数据记录提交到Cache后,传输组件实时将数据记录通过TCP/IP网络传输到备份服务器。由于COW组件产生的数据记录通常较小,如果传输组件以数据记录为单位进行数据传输会导致传输带宽利用率低,产生传输瓶颈。为解决小数据记录引起的传输带宽利用率问题,传输组件引入数据记录合并技术。传输合并技术总体思路是传输组件设置一个单次最大发送长度MSL,当Cache缓存了足够的数据记录,传输组件将多个数据记录进行合并使数据包总体数据长度最大限度接近且不超过MSL。除数据记录合并技术外,传输组件还引入异步确认机制进一步提高传输效率。异步确认机制的总体思路是传输组件将数据包发送到备份服务器后,并不需要等待备份服务器确认是否已成功解析数据包和重放数据记录。如果备份服务器成功处理数据包,无需给传输组件确认处理结果,如果备份服务器处理数据包失败,在后续传输确认包中附带处理异常结果。
为了解决现有技术中的问题,本系统通过用户层控制组件、内核层组件和备份服务器三大部分相互配合,采用统一的机制和处理流程对Windows和Linux下的数据卷创建一致性快照,与VSS、LVM快照等快照机制相比,该技术有更好的系统兼容性;提供持续的数据卷变化块追踪,支持获取两次快照中间产生的增量数据,支持对数据卷进行增量备份。
如图2所示,第二方面,本发明实施例提供一种基于磁盘CBT的卷备份方法,包括以下步骤:
S1、通过用户层控制组件扫描磁盘结构并构建磁盘偏移地址-数据卷的映射表D2V-Table,提取目标数据卷的有效数据区域,下发创建快照以及启动同步的控制命令给内核层组件;
S2、通过内核层组件为目标数据卷创建一致性快照并通过写时拷贝和主动同步的方式将快照数据复制到位于备份服务器上的快照副本;
S3、基于备份服务器接收并处理内核层组件传输的数据,并进行数据存储备份。
本方法基于上述系统实现,采用统一的机制和处理流程对Windows和Linux下的数据卷创建一致性快照,与VSS、LVM快照等快照机制相比,该技术有更好的系统兼容性;提供持续的数据卷变化块追踪,支持获取两次快照中间产生的增量数据,支持对数据卷进行增量备份。通过用户层控制组件负责扫描磁盘结构并构建磁盘偏移地址-数据卷的映射表(D2V-Table, Disk to Volume Table),提取目标数据卷的有效数据区域,下发创建快照以及启动同步等控制命令等工作。通过内核层组件实现为目标数据卷创建一致性快照并将快照数据通过写时拷贝和主动同步等操作复制到位于备份服务器上的快照副本。
基于第二方面,在本发明的一些实施例中,上述通过内核层组件为目标数据卷创建一致性快照并通过写时拷贝和主动同步的方式将快照数据复制到位于备份服务器上的快照副本的方法包括以下步骤:
通过内核层组件中的IO监控组件负责实时截获上层驱动提交的磁盘IO写请求并将该磁盘IO请求根据用户层控制组件下发的D2V-Table转换为针对数据卷的IO请求;若IO请求命中目标数据卷,则根据IO请求生成CBT记录并存储到增量CBT表,并将CBT记录提交给COW组件;若IO请求未命中目标数据卷,则直接将IO请求提交给下层驱动处理。
通过内核层组件中的COW组件基于IO监控组件生成的CBT记录结合COW-Bitmap对目标数据卷执行写时拷贝动作,将CBT记录对应区域的旧数据被动同步到备份服务器上的快照副本;
通过内核层组件中的同步组件主动将目标数据卷上自创建快照以来未被写入的区域同步到备份服务器上的快照副本;
通过内核层组件中的传输组件实时将COW组件和同步组件的数据记录传输到备份服务器。
IO监控组件和COW-组件相互协作完成变化数据块追踪和写时拷贝工作,其详细工作流程如图3所示,IO监控组件位于磁盘过滤驱动层,负责实时截获上层驱动提交的磁盘IO写请求并将该磁盘IO请求根据用户层下发的D2V-Table转换为针对数据卷的IO请求。如果IO请求未命中目标数据卷则直接将IO请求提交给下层驱动处理,如果IO请求命中目标数据卷则根据IO请求信息生成CBT记录<volume_id, volume_offset, length>并存储到增量CBT表(Inc-CBT Table),然后将CBT记录提交给COW-组件。
在IO监控组件基础上增加内核COW-组件,COW-组件基于IO监控组件生成的CBT记录结合COW-Bitmap对目标数据卷执行写时拷贝动作,将CBT对应区域的旧数据被动同步到备份服务器上快照副本。COW组件为每一个目标数据卷维护一个写时拷贝位图(COW-Bitmap),该位图在逻辑上将目标数据卷划分为固定大小的磁盘块,然后通过一个bit位标记一个磁盘块。对于每一个CBT,COW-组件将其转换为COW-Bitmap的一个或多个bit位,然后检查并设置相应bit位。如果相应bit位之前未设置,表示该bit位对应的磁盘块自创建快照以来为首次写入,COW-组件从目标数据卷拷贝旧数据构造数据记录并提交给传输组件。COW-组件处理完成后,通知IO监控组件将CBT对应的IO请求提交给下层驱动处理。
同步组件负责主动将目标数据卷上自创建快照以来未被写入的区域同步到备份服务器上的快照副本。该组件基于一个同步CBT表(Sync-CBT Table)执行同步操作,Sync-CBT Table的每一条记录代表目标数据卷上的一个有效数据区域或待同步区域。首次全量备份情况下,Sync-CBT Table由用户层控制组件获取并通过用户态-内核态交互接口传给同步组件。增量备份情况下,IO监控组件将Inc-CBT Table转换为Sync-CBT Table,如图4所示。同步组件根据CBT从目标数据卷上读取一块连续数据,如果CBT超过同步组件的单次最大读取长度,同步组件将CBT拆分为多个更小的CBT记录进行数据读取。读取数据完成后,同步组件向COW-组件查询CBT对应的数据卷区域自创建快照以来是否已被写入新数据。基于COW-组件的返回结果,同步组件将未写入区域的数据构造成数据记录提交给传输组件。
传输组件负责为COW-组件和同步组件提供数据传输服务,该组件维护一个缓存队列(Cache)。待COW-组件或同步组件将数据记录提交到Cache后,传输组件实时将数据记录通过TCP/IP网络传输到备份服务器。由于COW组件产生的数据记录通常较小,如果传输组件以数据记录为单位进行数据传输会导致传输带宽利用率低,产生传输瓶颈。为解决小数据记录引起的传输带宽利用率问题,传输组件引入数据记录合并技术。传输合并技术总体思路是传输组件设置一个单次最大发送长度MSL,当Cache缓存了足够的数据记录,传输组件将多个数据记录进行合并使数据包总体数据长度最大限度接近且不超过MSL。除数据记录合并技术外,传输组件还引入异步确认机制进一步提高传输效率。异步确认机制的总体思路是传输组件将数据包发送到备份服务器后,并不需要等待备份服务器确认是否已成功解析数据包和重放数据记录。如果备份服务器成功处理数据包,无需给传输组件确认处理结果,如果备份服务器处理数据包失败,在后续传输确认包中附带处理异常结果。
基于第二方面,在本发明的一些实施例中,该基于磁盘CBT的卷备份方法还包括以下步骤:
通过IO监控组件持续追踪目标数据卷所在磁盘的变化数据块,并根据D2V-Table将磁盘的变化数据块转换为目标数据卷的变化数据块。
在磁盘过滤驱动层插入IO监控组件持续追踪目标数据卷所在磁盘的变化数据块,并根据D2V-Table将磁盘的变化数据块转换为目标数据卷的变化数据块。 IO监控组件将目标数据卷的变化数据块构造为CBT记录存储在Inc-CBT Table,将Inc-CBT Table作为目标数据卷两次快照间的增量数据集。
基于第二方面,在本发明的一些实施例中,该基于磁盘CBT的卷备份方法还包括以下步骤:
首次全量备份时,通过同步组件从用户层控制组件获取完整CBT记录并生成同步CBT表。
增量备份时,通过IO监控组件将增量CBT表转换为同步CBT表并提交给同步组件;
通过同步组件根据同步CBT表结合COW-Bitmap执行同步操作,将创建快照以来目标数据卷上未被写入的磁盘块同步到备份服务上的快照副本。
在COW-组件被动同步基础上增加内核同步组件,首次全量备份情况下,内核同步组件从用户层控制组件获取完整CBT记录生成Sync-CBT Table;增量备份情况下,IO监控组件将Inc-CBT Table转换为Sync-CBT Table提交给内核同步组件。内核同步组件根据Sync-CBT Table结合COW-Bitmap执行同步操作,将创建快照以来目标数据卷上未被写入的磁盘块同步到备份服务上的快照副本。
如图5所示,第三方面,本申请实施例提供一种电子设备,其包括存储器101,用于存储一个或多个程序;处理器102。当一个或多个程序被处理器102执行时,实现如上述第一方面中任一项的方法。
还包括通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。
其中,存储器101可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请所提供的实施例中,应该理解到,所揭露的方法及系统和方法,也可以通过其它的方式实现。以上所描述的方法及系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的方法及系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器102执行时实现如上述第一方面中任一项的方法。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

Claims (10)

1.一种基于磁盘CBT的卷备份系统,其特征在于,包括用户层控制组件、内核层组件和备份服务器,其中:
用户层控制组件,用于扫描磁盘结构并构建磁盘偏移地址-数据卷的映射表D2V-Table,提取目标数据卷的有效数据区域,下发创建快照以及启动同步的控制命令给内核层组件;
内核层组件,用于为目标数据卷创建一致性快照并通过写时拷贝和主动同步的方式将快照数据复制到位于备份服务器上的快照副本;
备份服务器,用于接收并处理内核层组件传输的数据,并进行数据存储备份。
2.根据权利要求1所述的一种基于磁盘CBT的卷备份系统,其特征在于,所述内核层组件包括IO监控组件、COW组件、同步组件和传输组件,其中:
IO监控组件,用于负责实时截获上层驱动提交的磁盘IO写请求并将该磁盘IO请求根据用户层控制组件下发的D2V-Table转换为针对数据卷的IO请求;若IO请求命中目标数据卷,则根据IO请求生成CBT记录并存储到增量CBT表,并将CBT记录提交给COW组件;
COW组件,用于基于IO监控组件生成的CBT记录结合COW-Bitmap对目标数据卷执行写时拷贝动作,将CBT记录对应区域的旧数据被动同步到备份服务器上的快照副本;
同步组件,用于主动将目标数据卷上自创建快照以来未被写入的区域同步到备份服务器上的快照副本;
传输组件,用于实时将COW组件和同步组件的数据记录传输到备份服务器。
3.一种基于磁盘CBT的卷备份方法,其特征在于,包括以下步骤:
通过用户层控制组件扫描磁盘结构并构建磁盘偏移地址-数据卷的映射表D2V-Table,提取目标数据卷的有效数据区域,下发创建快照以及启动同步的控制命令给内核层组件;
通过内核层组件为目标数据卷创建一致性快照并通过写时拷贝和主动同步的方式将快照数据复制到位于备份服务器上的快照副本;
基于备份服务器接收并处理内核层组件传输的数据,并进行数据存储备份。
4.根据权利要求3所述的一种基于磁盘CBT的卷备份方法,其特征在于,所述通过内核层组件为目标数据卷创建一致性快照并通过写时拷贝和主动同步的方式将快照数据复制到位于备份服务器上的快照副本的方法包括以下步骤:
通过内核层组件中的IO监控组件负责实时截获上层驱动提交的磁盘IO写请求并将该磁盘IO请求根据用户层控制组件下发的D2V-Table转换为针对数据卷的IO请求;若IO请求命中目标数据卷,则根据IO请求生成CBT记录并存储到增量CBT表,并将CBT记录提交给COW组件;
通过内核层组件中的COW组件基于IO监控组件生成的CBT记录结合COW-Bitmap对目标数据卷执行写时拷贝动作,将CBT记录对应区域的旧数据被动同步到备份服务器上的快照副本;
通过内核层组件中的同步组件主动将目标数据卷上自创建快照以来未被写入的区域同步到备份服务器上的快照副本;
通过内核层组件中的传输组件实时将COW组件和同步组件的数据记录传输到备份服务器。
5.根据权利要求4所述的一种基于磁盘CBT的卷备份方法,其特征在于,还包括以下步骤:
若IO请求未命中目标数据卷,则直接将IO请求提交给下层驱动处理。
6.根据权利要求4所述的一种基于磁盘CBT的卷备份方法,其特征在于,还包括以下步骤:
通过IO监控组件持续追踪目标数据卷所在磁盘的变化数据块,并根据D2V-Table将磁盘的变化数据块转换为目标数据卷的变化数据块。
7.根据权利要求4所述的一种基于磁盘CBT的卷备份方法,其特征在于,还包括以下步骤:
首次全量备份时,通过同步组件从用户层控制组件获取完整CBT记录并生成同步CBT表。
8.根据权利要求4所述的一种基于磁盘CBT的卷备份方法,其特征在于,还包括以下步骤:
增量备份时,通过IO监控组件将增量CBT表转换为同步CBT表并提交给同步组件;
通过同步组件根据同步CBT表结合COW-Bitmap执行同步操作,将创建快照以来目标数据卷上未被写入的磁盘块同步到备份服务上的快照副本。
9.一种电子设备,其特征在于,包括:
存储器,用于存储一个或多个程序;
处理器;
当所述一个或多个程序被所述处理器执行时,实现如权利要求3-8中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求3-8中任一项所述的方法。
CN202211248363.8A 2022-10-12 2022-10-12 基于磁盘cbt的卷备份方法和系统 Pending CN115599601A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211248363.8A CN115599601A (zh) 2022-10-12 2022-10-12 基于磁盘cbt的卷备份方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211248363.8A CN115599601A (zh) 2022-10-12 2022-10-12 基于磁盘cbt的卷备份方法和系统

Publications (1)

Publication Number Publication Date
CN115599601A true CN115599601A (zh) 2023-01-13

Family

ID=84847042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211248363.8A Pending CN115599601A (zh) 2022-10-12 2022-10-12 基于磁盘cbt的卷备份方法和系统

Country Status (1)

Country Link
CN (1) CN115599601A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116431396A (zh) * 2023-06-07 2023-07-14 成都云祺科技有限公司 一种卷实时备份缓存数据处理方法、系统及存储介质
CN116450418A (zh) * 2023-06-07 2023-07-18 成都云祺科技有限公司 基于卷备份的断点差异同步方法、系统及卷实时备份方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116431396A (zh) * 2023-06-07 2023-07-14 成都云祺科技有限公司 一种卷实时备份缓存数据处理方法、系统及存储介质
CN116450418A (zh) * 2023-06-07 2023-07-18 成都云祺科技有限公司 基于卷备份的断点差异同步方法、系统及卷实时备份方法
CN116450418B (zh) * 2023-06-07 2023-08-22 成都云祺科技有限公司 基于卷备份的断点差异同步方法、系统及卷实时备份方法
CN116431396B (zh) * 2023-06-07 2023-08-25 成都云祺科技有限公司 一种卷实时备份缓存数据处理方法、系统及存储介质

Similar Documents

Publication Publication Date Title
CN115599601A (zh) 基于磁盘cbt的卷备份方法和系统
US10831614B2 (en) Visualizing restoration operation granularity for a database
US8176276B2 (en) Techniques for producing a consistent copy of source data at a target location
US7177994B2 (en) Checkpoint and consistency markers
US7774565B2 (en) Methods and apparatus for point in time data access and recovery
US20060200498A1 (en) Techniques for recording file operations and consistency points for producing a consistent copy
US9910621B1 (en) Backlogging I/O metadata utilizing counters to monitor write acknowledgements and no acknowledgements
US10101943B1 (en) Realigning data in replication system
US8521694B1 (en) Leveraging array snapshots for immediate continuous data protection
US7844856B1 (en) Methods and apparatus for bottleneck processing in a continuous data protection system having journaling
US8468313B2 (en) Asynchronous replication with write concurrency grouping
US7860836B1 (en) Method and apparatus to recover data in a continuous data protection environment using a journal
US8745004B1 (en) Reverting an old snapshot on a production volume without a full sweep
US9575974B2 (en) Distributed file system gateway
US8762342B1 (en) Method of inserting a validated time-image on the primary CDP subsystem in a continuous data protection and replication (CDP/R) subsystem
US20130204893A1 (en) Methods for generating a unified virtual snapshot and systems thereof
CN102272751B (zh) 在数据库环境通过背景同步的数据完整性
JPH11184744A (ja) メッセージキューイングシステム
AU2013403132A1 (en) Data storage method, data storage apparatus, and storage device
CN112822091B (zh) 一种消息处理方法和装置
WO2005109252A1 (en) System and method for facilitating a consistent point-in-time copy
US6874035B1 (en) System and methods for transforming data from a source to target platform using snapshot
CN109416617A (zh) 异构存储系统之间的复制
CN114780299B (zh) 基于磁盘cbt的bmr备份系统及方法
CN101807170A (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