CN113568788A - Linux非逻辑卷块设备的快照方法、***及存储介质 - Google Patents

Linux非逻辑卷块设备的快照方法、***及存储介质 Download PDF

Info

Publication number
CN113568788A
CN113568788A CN202111126898.3A CN202111126898A CN113568788A CN 113568788 A CN113568788 A CN 113568788A CN 202111126898 A CN202111126898 A CN 202111126898A CN 113568788 A CN113568788 A CN 113568788A
Authority
CN
China
Prior art keywords
snapshot
block
copy
bio
module
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.)
Granted
Application number
CN202111126898.3A
Other languages
English (en)
Other versions
CN113568788B (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.)
Chengdu Vinchin Science And Technology Co
Original Assignee
Chengdu Vinchin Science And Technology Co
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 Chengdu Vinchin Science And Technology Co filed Critical Chengdu Vinchin Science And Technology Co
Priority to CN202111126898.3A priority Critical patent/CN113568788B/zh
Publication of CN113568788A publication Critical patent/CN113568788A/zh
Application granted granted Critical
Publication of CN113568788B publication Critical patent/CN113568788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion

Landscapes

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

Abstract

本发明涉及一种Linux非逻辑卷块设备的快照方法、***及存储介质,属于存储灾备技术领域。所述方法包括:基本信息获取步骤,文件创建及基本信息发送步骤,预处理步骤,第一截获步骤,计算步骤,第一判断步骤,数据拷贝步骤,第一发送步骤。所述***包括:基本信息获取模块,文件创建及基本信息发送模块,预处理模块,第一截获模块,计算模块,第一判断模块,数据拷贝模块,第一发送模块。本发明在快照设备创建后截获快照源设备的通用块层I/O(bio)请求并做COW,在存在一个快照或多个快照的情况下,源设备的写效率所受影响较小,快照数据完整一致;快照数据可以储存在源块设备上,不需要添加额外块设备,节省储存成本与操作成本。

Description

Linux非逻辑卷块设备的快照方法、***及存储介质
技术领域
本发明属于存储灾备技术领域,特别涉及一种Linux非逻辑卷块设备的快照方法、***及存储介质。
背景技术
Linux块设备是指Linux***中能够随机访问固定大小数据块的设备。快照是关于指定数据集在某个时间点的完全可拷贝映像,可以作为一种备份方法使***中的数据得到有效保护。常用的快照实现方法有写时拷贝(copy-on-write, COW)和写重定向(redirect–on-write, ROW),这两种快照方法均可实现在线快照并生成快照卷。
目前,针对Linux非逻辑卷块设备的快照方法,官方的Linux操作***仅仅自带有逻辑卷块设备快照创建功能,而无非逻辑卷块设备快照创建功能,导致非逻辑卷块设备上的多文件定时备份缺少一致性保证。在市面上,开源软件dattobd基于块层利用虚拟文件***读写方法能够实现非逻辑卷块设备的快照并将快照数据存储于快照源设备,但是开源软件dattobd创建快照后快照源设备的写效率较低,对于实际生产的影响较大。
因此,提供一种高效的Linux非逻辑卷块设备的快照方法、***及存储介质,是本领域技术人员亟待解决的问题。
发明内容
本发明为了解决上述背景技术中的技术问题,提供一种Linux非逻辑卷块设备的快照方法、***及存储介质。所述技术方案如下:
第一个方面,提供一种Linux非逻辑卷块设备的快照方法,所述方法包括步骤:
基本信息获取步骤,用户层获取基本信息,其中,所述基本信息包括:源块设备的设备号、挂载点、设备大小和设备起始扇区号;
文件创建及基本信息发送步骤,在用户层的源块设备挂载点下创建Bitmap文件和快照数据文件,并将Bitmap文件的逻辑扇区分布、快照数据文件的逻辑扇区分布和所述基本信息发送给内核层;
预处理步骤,内核层创建位于通用块层的过滤器,创建快照设备,并根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件;
第一截获步骤,当源块设备有I/O请求时,内核层通过所述过滤器截获写请求bio;
计算步骤,根据所述快照数据文件的逻辑扇区分布和截获的所述写请求bio,内核层计算出拷贝块拷贝存储的目的地址和所述写请求bio指向的数据块所在的拷贝块地址;
第一判断步骤,根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则执行数据拷贝步骤和第一发送步骤;
数据拷贝步骤,根据所述拷贝块地址和所述拷贝存储的目的地址,内核层对所述源块设备进行数据读取和数据写入;
第一发送步骤,内核层将截获的写请求bio转发回源块设备。
在其中一个实施例中,所述预处理步骤,包括:
入口函数获取步骤,根据所述基本信息,内核层获取通用块层的入口函数;
过滤器创建步骤,将所述通用块层的入口函数替换为过滤函数,创建过滤器;
快照设备链创建步骤,内核层创建快照设备链;
快照设备创建步骤,在内核层创建内存块设备作为快照设备,并添加到快照设备链,完成创建;
Bitmap文件初始化步骤,根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件。
在其中一个实施例中,所述数据拷贝步骤,包括:
数据读取步骤,根据所述拷贝块地址,内核层构造读请求bio,并将构造的读请求bio发送给源块设备;
数据写入步骤,根据所述拷贝块拷贝存储的目的地址,内核层构造写请求bio,并将构造的写请求bio发送给源块设备。
在其中一个实施例中,所述第一判断步骤,包括:根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则先执行修改Bitmap文件步骤,再执行数据拷贝步骤和第一发送步骤;
修改Bitmap文件步骤,将所述拷贝块拷贝存储的目的地址写回经初始化的Bitmap文件,形成修改的Bitmap文件;
所述快照方法还包括步骤:
第二截获步骤,内核层截获发送到快照设备的bio;
第二判断步骤,内核层判断所述发送到快照设备的bio是否是读请求bio,若是,执行第三判断步骤;若否,则结束;
第三判断步骤,根据所述修改的Bitmap文件,内核层判断所述发送到快照设备的bio所在的拷贝块有无拷贝记录,若有,则执行地址获取步骤至第二发送步骤;若无,将所述发送到快照设备的bio发送给源块设备;
地址获取步骤,根据所述发送到快照设备的bio和所述修改的Bitmap文件,获取数据块的拷贝目的地址,其中,所述数据块为所述发送到快照设备的bio指向的数据块;
地址修改步骤,内核层将所述发送到快照设备的bio指向的数据块的源地址修改为所述数据块的拷贝目的地址;
第二发送步骤,将所述发送到快照设备的bio转发给源块设备。
在其中一个实施例中,所述快照方法还包括步骤:
删除命令接收步骤,用户层接收删除快照命令;
第四判断步骤,判断删除对象是否存在,若存在,则执行删除对象名称传递步骤至第二删除步骤;若不存在,则删除完成;
删除对象名称传递步骤,用户层将删除对象的名称传递到内核层;
第一删除步骤,根据删除对象名称,内核层查询到删除对象对应的快照设备,并将所述删除对象从内核中删除;
第二删除步骤,用户层删除所述删除对象分别对应的Bitmap文件和对应的快照数据文件。
第二个方面,还提供了一种Linux非逻辑卷块设备的快照***,所述***包括:
基本信息获取模块,用于用户层获取基本信息,其中,所述基本信息包括:源块设备的设备号、挂载点、设备大小和设备起始扇区号;
文件创建及基本信息发送模块,用于在用户层的源块设备挂载点下创建Bitmap文件和快照数据文件,并将Bitmap文件的逻辑扇区分布、快照数据文件的逻辑扇区分布和所述基本信息发送给内核层;
预处理模块,用于内核层创建位于通用块层的过滤器,创建快照设备,并根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件;
第一截获模块,用于当源块设备有I/O请求时,内核层通过所述过滤器截获写请求bio;
计算模块,用于根据所述快照数据文件的逻辑扇区分布和截获的所述写请求bio,内核层计算出拷贝块拷贝存储的目的地址和所述写请求bio指向的数据块所在的拷贝块地址;
第一判断模块,用于根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则执行数据拷贝模块和第一发送模块;
数据拷贝模块,用于根据所述拷贝块地址和所述拷贝存储的目的地址,内核层对所述源块设备进行数据读取和数据写入;
第一发送模块,用于内核层将截获的写请求bio转发回源块设备。
在其中一个实施例中,所述预处理模块,包括:
入口函数获取单元,用于根据所述基本信息,内核层获取通用块层的入口函数;
过滤器创建单元,用于将所述通用块层的入口函数替换为过滤函数,创建过滤器;
快照设备链创建单元,用于内核层创建快照设备链;
快照设备创建单元,用于在内核层创建内存块设备作为快照设备,并添加到快照设备链,完成创建;
Bitmap文件初始化单元,用于根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件。
在其中一个实施例中,所述第一判断模块,用于根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则先执行修改Bitmap文件模块,再执行数据拷贝模块和第一发送模块;
修改Bitmap文件模块,用于将所述拷贝块拷贝存储的目的地址写回经初始化的Bitmap文件,形成修改的Bitmap文件;
所述快照***还包括:
第二截获模块,用于内核层截获发送到快照设备的bio;
第二判断模块,用于内核层判断所述发送到快照设备的bio的类型,若所述发送到快照设备的bio是读请求bio,执行第三判断模块;若是写请求bio,则结束;
第三判断模块,用于根据所述修改的Bitmap文件,内核层判断所述发送到快照设备的bio所在的拷贝块有无拷贝记录,若有,则执行地址获取模块至第二发送模块;若无,将所述发送到快照设备的bio发送给源块设备;
地址获取模块,用于根据所述发送到快照设备的bio和所述修改的Bitmap文件,获取数据块的拷贝目的地址,其中,所述数据块为所述发送到快照设备的bio指向的数据块;
地址修改模块,用于内核层将所述发送到快照设备的bio指向的数据块的源地址修改为所述数据块的拷贝目的地址;
第二发送模块,用于将所述发送到快照设备的bio转发给源块设备。
在其中一个实施例中,所述快照***还包括:
删除命令接收模块,用于用户层接收删除快照命令;
第四判断模块,用于判断删除对象是否存在,若存在,则执行删除对象名称传递模块至第二删除模块;若不存在,则删除完成;
删除对象名称传递模块,用于用户层将删除对象的名称传递到内核层;
第一删除模块,用于根据删除对象名称,内核层查询到删除对象对应的快照设备,并将所述删除对象从内核中删除;
第二删除模块,用于用户层删除所述删除对象分别对应的Bitmap文件和对应的快照数据文件。
第三个方面,还提供计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述Linux非逻辑卷块设备的快照方法。
本发明的有益效果:
(1)本发明基于截获快照源设备的通用块层I/O(bio)请求并做COW,在单个快照的情况下,对于快照源设备的新增写性能最低影响低于10%;在一定范围内的多个快照存在的情况下,源块设备的新增写性能保持良好;
(2)本发明***创建的非逻辑卷块设备快照能够确保在定时备份过程中数据的一致性,从而为数据备份做保证,为数据恢复奠定基础;
(3)本发明快照数据储存在源块设备上,不需要添加额外块设备,节省储存成本,方便使用;
(4)本发明还弥补了原生Linux操作***无法对非逻辑卷块设备创建快照的缺陷。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图1为本发明Linux非逻辑卷块设备的快照方法的流程示意图。
图2为本发明快照方法中Bitmap存储结构图。
图3为利用本发明快照方法进行快照数据获取操作的流程示意图。
图4为利用本发明快照方法进行快照删除操作的流程示意图。
图5为本发明Linux非逻辑卷块设备的快照***示意图。
图6为本发明预处理模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供的方法,应用范围包括但不限于以下环境:Linux操作***,快照实现过程由C语言编写,块设备为非逻辑卷块设备。
术语解释:
(1)非逻辑卷:Linux操作***中,逻辑卷管理LVM用于管理块设备,其中,添加到LVM进行管理的块设备为逻辑卷,未添加到LVM进行管理的块设备为非逻辑卷;
(2)bio:bio(Block input output)也称为块设备的输入/输出,是linux内核中通用块层的一个核心数据结构,它描述了块设备的I/O操作,联系了内存缓冲区与块设备;
(3)数据块:数据块是指Linux里文件io中数据的读写的单位,一个数据块的大小通常为4KB;
(4)拷贝块:拷贝块是指一片连续的数据区域,自定义数据区域的大小,数据区域中存储的是待拷贝的数据。
实施例一
在一个实施例中,如图1所示,提供一种Linux非逻辑卷块设备的快照方法,所述快照方法包括步骤:
S1.用户层获取基本信息,其中,所述基本信息包括:源块设备的设备号、挂载点、设备大小和设备起始扇区号。
值得说明的是,一般,设备信息包括源设备的设备号、设备挂载点、设备的起始逻辑扇区号和设备大小。其中,设备号唯一标识块设备,通过设备号可以获取块设备的设备对象;设备挂载点为操作***中的某一目录,通过该目录可以访问块设备中的数据;设备起始逻辑扇区号标识块设备从此处开始存储数据;设备大小为块设备包含多少扇区,一个扇区占512字节。
可以理解的是,所述源块设备的设备号、挂载点、设备大小和设备起始扇区号是指源块设备的设备号、源块设备的挂载点、源块设备的设备大小和源块设备的设备起始扇区号。
S2.在用户层的源块设备挂载点下创建Bitmap文件和快照数据文件,并将Bitmap文件的逻辑扇区分布、快照数据文件的逻辑扇区分布和所述基本信息发送给内核层。
在用户层的源块设备挂载点下创建快照文件目录,在快照文件目录下创建Bitmap文件和快照数据文件,Bitmap文件和快照数据文件均为空洞文件,通过空洞文件可实现文件的预分配,为拷贝模块提供数据存储的物理支持。其中,Bitmap文件大小根据块设备大小计算得出,快照数据文件大小根据空闲空间计算得出。使用文件***方法可以获取文件在块设备分布的逻辑扇区号。
S3.内核层创建位于通用块层的过滤器,创建快照设备,并根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件。
可选的,所述步骤S3,包括:
S301.根据所述基本信息,内核层获取通用块层的入口函数;
S302.将所述通用块层的入口函数替换为过滤函数,创建过滤器;
S303.内核层创建快照设备链;
S304.在内核层创建内存块设备作为快照设备,并添加到快照设备链,完成创建;
S305.根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件。
S4.当源块设备有I/O请求时,内核层通过所述过滤器截获写请求bio。
需要注意的是,过滤器截获到bio,首先需要对bio进行分类,对于读请求bio则直接转发回源块设备,对于写请求bio则进行步骤S5至S7的写时拷贝过程。
S5.根据所述快照数据文件的逻辑扇区分布和截获的所述写请求bio,内核层计算出拷贝块拷贝存储的目的地址和所述写请求bio指向的数据块所在的拷贝块地址。
计算出拷贝目的地址和数据块所在的拷贝块地址可以知道数据的读取位置和写入位置,并在Bitmap文件中建立拷贝前地址和拷贝后地址的映射关系,完成逻辑上的拷贝。
为便于理解,具体的,提供一个操作实例:
当前bio即将发往的数据块地址为sector,拷贝块为4MB,数据块大小为4KB,则所述当前bio指向的数据块所在的拷贝块地址为sector / 8192。
快照文件起始扇区号为start_sec,已拷贝的拷贝块数为b,则拷贝块拷贝存储的目的地址为start_sec + b * 8192。
S6.根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则执行步骤S7和步骤S8。
根据拷贝块地址(拷贝块是bio即将发往的数据块所在的拷贝块),可以计算出拷贝源地址,再从初始化Bitmap中查询拷贝源地址所在的Bitmap记录的标记位,从而可以了解到写时拷贝的情况,例如:如果Bitmap记录的标记位为1,则表示拷贝块已经进行过写时拷贝,则将截获的写请求bio转发回源块设备;如果Bitmap记录的标记位为0,则表示拷贝块未进行过写时拷贝,则进行步骤S7和步骤S8。
值得说明的是,如图2所示,一条Bitmap记录占18字节,从左起第1字节作为标志位,用于标记当前拷贝块(一次COW拷贝多少数据,自定义大小,不同于操作***的数据块)有无拷贝记录,第2~9字节用于记录该拷贝块在快照源设备中的逻辑扇区号即拷贝源地址,第10字节为保留位,第11~18字节用于记录该拷贝块拷贝后的逻辑扇区号即拷贝目的地址。Bitmap初始化完成后存储于Bitmap文件所对应的逻辑扇区上。通过该Bitmap存储结构可以记录原始拷贝块的拷贝标记和拷贝地址映射。因此,Bitmap记录了块设备中的拷贝映射信息。
S7.根据所述拷贝块地址和所述拷贝存储的目的地址,内核层对所述源块设备进行数据读取和数据写入。
可选的,所述S7步骤,包括:
S701.根据所述拷贝块地址,内核层构造读请求bio,并将构造的读请求bio发送给源块设备,以完成数据的读取;
S702.根据所述拷贝块拷贝存储的目的地址,内核层构造写请求bio,并将构造的写请求bio发送给源块设备,以完成数据的写入。
为便于理解,具体的,提供一个操作实例:
构造读请求bio:需要读取拷贝块大小为4MB的数据,拷贝块的拷贝源地址为a,所构造的单个bio大小为4KB;将构造的读bio的目标设备设置为源块设备,将构造的读bio所指向的数据块地址设置为拷贝源地址a;构造下一个读bio,目标设备为源块设备,指向的数据块地址为a+8;以此类推,构造1024个bio。
构造写请求bio:与构造读请求bio区别在于,在构造过程中将bio构造为写bio,将写bio指向的数据块的地址设置为拷贝目的地址。
S8.内核层将截获的写请求bio转发回源块设备。
可选的,如图3所示,所述S6步骤包括:根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则先执行步骤S100,再执行步骤S7和步骤S8。
S100.将所述拷贝块拷贝存储的目的地址写回经初始化的Bitmap文件,形成修改的Bitmap文件。
所述快照方法还包括步骤:
S9内核层截获发送到快照设备的bio。
S10.内核层判断所述发送到快照设备的bio是否是读请求bio,若是,执行第三判断步骤;若否,则结束。
为便于理解,具体的,提供一个操作实例:截获到的bio所指向的数据块地址为sector,拷贝块为4MB,一个数据块大小为4KB,计算出拷贝块地址为copy_sector,计算方法同步骤S5计算方法。查找到Bitmap中拷贝块的对应的记录,读取本记录的标志位判定有无拷贝记录。
S11.根据所述修改的Bitmap文件,内核层判断所述发送到快照设备的bio所在的拷贝块有无拷贝记录,若有,则执行步骤S12至步骤S14;若无,将所述发送到快照设备的bio发送给源块设备。
S12.根据所述发送到快照设备的bio和所述修改的Bitmap文件,获取数据块的拷贝目的地址,其中,所述数据块为所述发送到快照设备的bio指向的数据块。
S13.内核层将所述发送到快照设备的bio指向的数据块的源地址修改为所述数据块的拷贝目的地址。
S14.将所述发送到快照设备的bio转发给源块设备。
通过步骤9至步骤14,本实施例可以有效提取快照数据,这样有利于实现文件的定时备份。
可选的,如图4所示,所述快照方法还包括步骤:
S15.用户层接收删除快照命令。
S16.判断删除对象是否存在,若存在,则执行删除对象名称传递步骤至第二删除步骤;若不存在,则删除完成。
S17.用户层将删除对象的名称传递到内核层。
S18.根据删除对象名称,内核层查询到删除对象对应的快照设备,并将所述删除对象从内核中删除。
S19.用户层删除所述删除对象分别对应的Bitmap文件和对应的快照数据文件。
本实施例的技术方案,用户层对用户的快照创建或删除命令分析并传递到通用块层部分,通用块层部分创建或删除快照设备,在快照设备创建后截获快照源设备的通用块层I/O(bio)请求并做COW,使得对于源块设备的影响较小,并且数据一致性较好,可用于对文件做定时备份;同时使用方便实现了快照数据储存在源块设备上,不用添加额外块设备,节省储存成本以及操作成本。
实施例二
在一个实施例中,如图5所示,还提供了一种Linux非逻辑卷块设备的快照***,所述***包括:
基本信息获取模块1001,用于用户层获取基本信息,其中,所述基本信息包括:源块设备的设备号、挂载点、设备大小和设备起始扇区号;
文件创建及基本信息发送模块1002,用于在用户层的源块设备挂载点下创建Bitmap文件和快照数据文件,并将Bitmap文件的逻辑扇区分布、快照数据文件的逻辑扇区分布和所述基本信息发送给内核层;
预处理模块1003,用于内核层创建位于通用块层的过滤器,创建快照设备,并根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件;
第一截获模块1004,用于当源块设备有I/O请求时,内核层通过所述过滤器截获写请求bio;
计算模块1005,用于根据所述快照数据文件的逻辑扇区分布和截获的所述写请求bio,内核层计算出拷贝块拷贝存储的目的地址和所述写请求bio指向的数据块所在的拷贝块地址;
第一判断模块1006,用于根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则执行数据拷贝模块1008和第一发送模块1009;
数据拷贝模块1008,用于根据所述拷贝块地址和所述拷贝存储的目的地址,内核层对所述源块设备进行数据读取和数据写入;
第一发送模块1009,用于内核层将截获的写请求bio转发回源块设备。
可选的,如图6所示,所述预处理模块1003,包括:
入口函数获取单元10031,用于根据所述基本信息,内核层获取通用块层的入口函数;
过滤器创建单元10032,用于将所述通用块层的入口函数替换为过滤函数,创建过滤器;
快照设备链创建单元10033,用于内核层创建快照设备链;
快照设备创建单元10034,用于在内核层创建内存块设备作为快照设备,并添加到快照设备链,完成创建;
Bitmap文件初始化单元10035,用于根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件。
可选的,如图5所示,所述第一判断模块1006,用于根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则先执行修改Bitmap文件模块1007,再执行数据拷贝模块1008和第一发送模块1009;
修改Bitmap文件模块1007,用于将所述拷贝块拷贝存储的目的地址写回经初始化的Bitmap文件,形成修改的Bitmap文件;
所述快照***还包括:
第二截获模块1010,用于内核层截获发送到快照设备的bio;
第二判断模块1011,用于内核层判断所述发送到快照设备的bio的类型,若所述发送到快照设备的bio是读请求bio,执行第三判断模块1012;若是写请求bio,则结束;
第三判断模块1012,用于根据所述修改的Bitmap文件,内核层判断所述发送到快照设备的bio所在的拷贝块有无拷贝记录,若有,则执行地址获取模块1013至第二发送模块1015;若无,将所述发送到快照设备的bio发送给源块设备;
地址获取模块1013,用于根据所述发送到快照设备的bio和所述修改的Bitmap文件,获取数据块的拷贝目的地址,其中,所述数据块为所述发送到快照设备的bio指向的数据块;
地址修改模块1014,用于内核层将所述发送到快照设备的bio指向的数据块的源地址修改为所述数据块的拷贝目的地址;
第二发送模块1015,用于将所述发送到快照设备的bio转发给源块设备。
可选的,如图5所示,所述快照***还包括:
删除命令接收模块1016,用于用户层接收删除快照命令;
第四判断模块1017,用于判断删除对象是否存在,若存在,则执行删除对象名称传递模块1018至第二删除模块;若不存在,则删除完成;
删除对象名称传递模块1018,用于用户层将删除对象的名称传递到内核层;
第一删除模块1019,用于根据删除对象名称,内核层查询到删除对象对应的快照设备,并将所述删除对象从内核中删除;
第二删除模块1020,用于用户层删除所述删除对象分别对应的Bitmap文件和对应的快照数据文件。
本实施例的技术方案,文件创建及基本信息发送模块1002,用于创建Bitmap文件和快照数据文件,并将Bitmap文件、快照数据文件的逻辑扇区分布和基本信息发送给内核层;预处理模块1003,用于内核层创建位于通用块层的过滤器,创建快照设备,初始化Bitmap文件;第一截获模块1004,用于当源块设备有I/O请求时,内核层通过所述过滤器截获写请求bio;计算模块1005,用于内核层计算出拷贝块拷贝存储的目的地址和所述写请求bio指向的数据块所在的拷贝块地址;第一判断模块1006,用于内核层判断拷贝块有无拷贝记录;数据拷贝模块1008,用于内核层对所述源块设备进行数据读取和数据写入;第一发送模块1009,用于内核层将截获的写请求bio转发回源块设备。解决了现有技术中操作***不能对非逻辑卷块设备做快照的技术问题,本实施例***能正确创建和删除快照,对于快照源设备的新增写性能最低影响低于10%,对源块设备新增写影响较小。
下面,我们提供一组对比实验,以便于进一步阐述本实施例,具体如下:
本实验的实验环境如表1所示,所有实验均在虚拟化环境中进行,采用直接I/O的方式将数据写入块设备上的文件,单次I/O块文件大小为4KB,其中块设备1名为/dev/sdb1,为非逻辑卷块设备,挂载点为/sdb1。块设备2名为/dev/sdc1,为逻辑卷块设备,逻辑卷为/dev/vg_1/lv_test。对比例还有开源软件dattobd。
Figure DEST_PATH_IMAGE002
(1)一致性测试
本实验在对块设备/dev/sdb1创建快照前在其挂载点/sdb1目录下创建一个1GB的文件test_1G,计算该文件的MD5。在对/dev/sdb1创建快照后修改test_1G文件,随后将生成的快照设备/dev/sdb1-snapshot1挂载于/snap目录下,计算/snap目录下的 test_1G文件的MD5。MD5记录如表2所示。
表2 文件MD5表
文件名 MD5值
/sdb1/test_1G b2e0c41ec875aec1ec538935590c3c7b
/snap/test_1G b2e0c41ec875aec1ec538935590c3c7b
通过表2可知,对/dev/sdb1创建快照后快照设备/dev/sdb1-snapshot1中的test_1G文件的MD5值与快照前快照源设备中的test_1G文件的MD5值一致,这说明快照设备中的文件内容与快照源设备快照前的文件内容一致,进而证明了本***创建的非逻辑卷块设备快照能够确保数据的一致性。
(2)单快照新增写速率及损耗测试
本实验对块设备/dev/sdb1分别利用本***和dattobd创建1个快照,然后向其中新增写1GB文件,对逻辑卷/dev/vg_1/lv_test创建1个快照,然后同样向其中新增写1GB文件,记录三者所创建快照存在的情况下快照源设备的新增写速率并计算出速率损耗,实验结果如表3所示。
表3.不同***下快照对新增写速率的影响
*** 0个快照写速率(MB/s) 单个快照写速率(MB/s) 速率损耗(%)
本*** 20.25 18.86 6.68
dattobd 20.25 12.79 36.83
逻辑卷 19.79 8.73 55.89
从表3可以看出,在只创建一个快照的情况下,本***对于快照源设备的新增写速率损耗低于7%,开源软件dattobd的速率损耗高于35%,逻辑卷的速率损耗高于55%。这是因为本***在通用块层进行COW,而dattobd和逻辑卷分别在虚拟文件***层和逻辑卷管理层进行COW,二者在Linux内核中的层次均高于通用块层,因此通用块层I/O落盘速率远高于上层,本***对于快照源设备的新增写速率良好,损耗率较低。
(3)多快照新增写速率及损耗测试
本实验对块设备/dev/sdb1创建6个快照并进行新增写,新增写文件大小为1GB,记录不同快照个数下快照源设备的新增写速率及其损耗百分比进而衡量***性能,实验结果如表4所示。
Figure 636268DEST_PATH_IMAGE004
从表4可知,随着快照个数增多,快照源设备新增写速率降低,这是由于快照个数增多,COW次数增多导致的,属于正常衰减。当快照个数为1时,新增写速率损耗低于7%;当快照个数为4时,新增写速率损耗低于31%;当快照个数为6时,新增写速率损耗超过50%。因此在快照个数为1时,本***性能最优,快照个数为 5以下时其性能表现良好。
实施例三
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一所述的Linux非逻辑卷块设备的快照方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种Linux非逻辑卷块设备的快照方法,其特征在于,所述快照方法包括步骤:
基本信息获取步骤,用户层获取基本信息,其中,所述基本信息包括:源块设备的设备号、挂载点、设备大小和设备起始扇区号;
文件创建及基本信息发送步骤,在用户层的源块设备挂载点下创建Bitmap文件和快照数据文件,并将Bitmap文件的逻辑扇区分布、快照数据文件的逻辑扇区分布和所述基本信息发送给内核层;
预处理步骤,内核层创建位于通用块层的过滤器,创建快照设备,并根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件;
第一截获步骤,当源块设备有I/O请求时,内核层通过所述过滤器截获写请求bio;
计算步骤,根据所述快照数据文件的逻辑扇区分布和截获的所述写请求bio,内核层计算出拷贝块拷贝存储的目的地址和所述写请求bio指向的数据块所在的拷贝块地址;
第一判断步骤,根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则执行数据拷贝步骤和第一发送步骤;
数据拷贝步骤,根据所述拷贝块地址和所述拷贝存储的目的地址,内核层对所述源块设备进行数据读取和数据写入;
第一发送步骤,内核层将截获的写请求bio转发回源块设备。
2.根据权利要求1所述的Linux非逻辑卷块设备的快照方法,其特征在于,所述预处理步骤,包括:
入口函数获取步骤,根据所述基本信息,内核层获取通用块层的入口函数;
过滤器创建步骤,将所述通用块层的入口函数替换为过滤函数,创建过滤器;
快照设备链创建步骤,内核层创建快照设备链;
快照设备创建步骤,在内核层创建内存块设备作为快照设备,并添加到快照设备链,完成创建;
Bitmap文件初始化步骤,根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件。
3.根据权利要求1所述的Linux非逻辑卷块设备的快照方法,其特征在于,所述数据拷贝步骤,包括:
数据读取步骤,根据所述拷贝块地址,内核层构造读请求bio,并将构造的读请求bio发送给源块设备;
数据写入步骤,根据所述拷贝块拷贝存储的目的地址,内核层构造写请求bio,并将构造的写请求bio发送给源块设备。
4.根据权利要求1至3任一项所述的Linux非逻辑卷块设备的快照方法,其特征在于,所述第一判断步骤,包括:根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则先执行修改Bitmap文件步骤,再执行数据拷贝步骤和第一发送步骤;
修改Bitmap文件步骤,将所述拷贝块拷贝存储的目的地址写回经初始化的Bitmap文件,形成修改的Bitmap文件;
所述快照方法还包括步骤:
第二截获步骤,内核层截获发送到快照设备的bio;
第二判断步骤,内核层判断所述发送到快照设备的bio是否是读请求bio,若是,执行第三判断步骤;若否,则结束;
第三判断步骤,根据所述修改的Bitmap文件,内核层判断所述发送到快照设备的bio所在的拷贝块有无拷贝记录,若有,则执行地址获取步骤至第二发送步骤;若无,将所述发送到快照设备的bio发送给源块设备;
地址获取步骤,根据所述发送到快照设备的bio和所述修改的Bitmap文件,获取数据块的拷贝目的地址,其中,所述数据块为所述发送到快照设备的bio指向的数据块;
地址修改步骤,内核层将所述发送到快照设备的bio指向的数据块的源地址修改为所述数据块的拷贝目的地址;
第二发送步骤,将所述发送到快照设备的bio转发给源块设备。
5.根据权利要求1至3任一项所述的Linux非逻辑卷块设备的快照方法,其特征在于,所述快照方法还包括步骤:
删除命令接收步骤,用户层接收删除快照命令;
第四判断步骤,判断删除对象是否存在,若存在,则执行删除对象名称传递步骤至第二删除步骤;若不存在,则删除完成;
删除对象名称传递步骤,用户层将删除对象的名称传递到内核层;
第一删除步骤,根据删除对象名称,内核层查询到删除对象对应的快照设备,并将所述删除对象从内核中删除;
第二删除步骤,用户层删除所述删除对象分别对应的Bitmap文件和对应的快照数据文件。
6.一种Linux非逻辑卷块设备的快照***,其特征在于,所述***包括:
基本信息获取模块,用于用户层获取基本信息,其中,所述基本信息包括:源块设备的设备号、挂载点、设备大小和设备起始扇区号;
文件创建及基本信息发送模块,用于在用户层的源块设备挂载点下创建Bitmap文件和快照数据文件,并将Bitmap文件的逻辑扇区分布、快照数据文件的逻辑扇区分布和所述基本信息发送给内核层;
预处理模块,用于内核层创建位于通用块层的过滤器,创建快照设备,并根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件;
第一截获模块,用于当源块设备有I/O请求时,内核层通过所述过滤器截获写请求bio;
计算模块,用于根据所述快照数据文件的逻辑扇区分布和截获的所述写请求bio,内核层计算出拷贝块拷贝存储的目的地址和所述写请求bio指向的数据块所在的拷贝块地址;
第一判断模块,用于根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则执行数据拷贝模块和第一发送模块;
数据拷贝模块,用于根据所述拷贝块地址和所述拷贝存储的目的地址,内核层对所述源块设备进行数据读取和数据写入;
第一发送模块,用于内核层将截获的写请求bio转发回源块设备。
7.根据权利要求6所述Linux非逻辑卷块设备的快照***,其特征在于,所述预处理模块,包括:
入口函数获取单元,用于根据所述基本信息,内核层获取通用块层的入口函数;
过滤器创建单元,用于将所述通用块层的入口函数替换为过滤函数,创建过滤器;
快照设备链创建单元,用于内核层创建快照设备链;
快照设备创建单元,用于在内核层创建内存块设备作为快照设备,并添加到快照设备链,完成创建;
Bitmap文件初始化单元,用于根据所述Bitmap文件的逻辑扇区分布和所述基本信息初始化Bitmap文件。
8.根据权利要求6所述Linux非逻辑卷块设备的快照***,其特征在于,所述第一判断模块,用于根据所述拷贝块地址和经初始化的Bitmap文件,内核层判断拷贝块有无拷贝记录,若有,则将截获的写请求bio转发回源块设备;若无,则先执行修改Bitmap文件模块,再执行数据拷贝模块和第一发送模块;
修改Bitmap文件模块,用于将所述拷贝块拷贝存储的目的地址写回经初始化的Bitmap文件,形成修改的Bitmap文件;
所述快照***还包括:
第二截获模块,用于内核层截获发送到快照设备的bio;
第二判断模块,用于内核层判断所述发送到快照设备的bio的类型,若所述发送到快照设备的bio是读请求bio,执行第三判断模块;若是写请求bio,则结束;
第三判断模块,用于根据所述修改的Bitmap文件,内核层判断所述发送到快照设备的bio所在的拷贝块有无拷贝记录,若有,则执行地址获取模块至第二发送模块;若无,将所述发送到快照设备的bio发送给源块设备;
地址获取模块,用于根据所述发送到快照设备的bio和所述修改的Bitmap文件,获取数据块的拷贝目的地址,其中,所述数据块为所述发送到快照设备的bio指向的数据块;
地址修改模块,用于内核层将所述发送到快照设备的bio指向的数据块的源地址修改为所述数据块的拷贝目的地址;
第二发送模块,用于将所述发送到快照设备的bio转发给源块设备。
9.根据权利要求6所述Linux非逻辑卷块设备的快照***,其特征在于,所述快照***还包括:
删除命令接收模块,用于用户层接收删除快照命令;
第四判断模块,用于判断删除对象是否存在,若存在,则执行删除对象名称传递模块至第二删除模块;若不存在,则删除完成;
删除对象名称传递模块,用于用户层将删除对象的名称传递到内核层;
第一删除模块,用于根据删除对象名称,内核层查询到删除对象对应的快照设备,并将所述删除对象从内核中删除;
第二删除模块,用于用户层删除所述删除对象分别对应的Bitmap文件和对应的快照数据文件。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至3任一项所述Linux非逻辑卷块设备的快照方法。
CN202111126898.3A 2021-09-26 2021-09-26 Linux非逻辑卷块设备的快照方法、***及存储介质 Active CN113568788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111126898.3A CN113568788B (zh) 2021-09-26 2021-09-26 Linux非逻辑卷块设备的快照方法、***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111126898.3A CN113568788B (zh) 2021-09-26 2021-09-26 Linux非逻辑卷块设备的快照方法、***及存储介质

Publications (2)

Publication Number Publication Date
CN113568788A true CN113568788A (zh) 2021-10-29
CN113568788B CN113568788B (zh) 2021-11-30

Family

ID=78174553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111126898.3A Active CN113568788B (zh) 2021-09-26 2021-09-26 Linux非逻辑卷块设备的快照方法、***及存储介质

Country Status (1)

Country Link
CN (1) CN113568788B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115826878A (zh) * 2023-02-14 2023-03-21 浪潮电子信息产业股份有限公司 一种写时拷贝方法、装置、设备及计算机可读存储介质
CN117724905A (zh) * 2024-02-05 2024-03-19 成都云祺科技有限公司 Linux下文件***的实时复制方法、***及恢复方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105659213A (zh) * 2013-10-18 2016-06-08 日立数据***工程英国有限公司 无共享分布式存储***中的目标驱动独立数据完整性和冗余恢复
CN106844095A (zh) * 2016-12-27 2017-06-13 上海爱数信息技术股份有限公司 文件备份方法、***及具有该***的客户端
US20180039547A1 (en) * 2013-03-14 2018-02-08 EMC IP Holding Company LLC Excluding files in a block based backup
CN108845891A (zh) * 2018-04-07 2018-11-20 长沙开雅电子科技有限公司 一种新型基于快照实现快速容灾备份实现方法
US10353780B1 (en) * 2015-03-31 2019-07-16 EMC IP Holding Company LLC Incremental backup in a distributed block storage environment
CN110058959A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 数据备份方法、设备和计算机程序产品
CN110837441A (zh) * 2019-11-14 2020-02-25 北京京航计算通讯研究所 基于脏数据位图和网络块设备的kvm虚拟机备份方法
CN111158955A (zh) * 2019-12-30 2020-05-15 航天壹进制(南京)数据科技有限公司 一种基于卷复制的高可用***以及多服务器数据同步方法
CN111552437A (zh) * 2020-04-22 2020-08-18 上海天玑科技股份有限公司 一种应用于分布式存储***的快照方法及快照装置
CN111722962A (zh) * 2020-06-19 2020-09-29 艾索信息股份有限公司 一种针对cdp数据的存储***及其方法
CN112380050A (zh) * 2020-10-22 2021-02-19 中科热备(北京)云计算技术有限公司 一种利用快照在***备份中的方法
CN112527562A (zh) * 2020-12-15 2021-03-19 北京华胜天成科技股份有限公司 分布式存储***的数据备份方法、装置和计算机设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180039547A1 (en) * 2013-03-14 2018-02-08 EMC IP Holding Company LLC Excluding files in a block based backup
CN105659213A (zh) * 2013-10-18 2016-06-08 日立数据***工程英国有限公司 无共享分布式存储***中的目标驱动独立数据完整性和冗余恢复
US10353780B1 (en) * 2015-03-31 2019-07-16 EMC IP Holding Company LLC Incremental backup in a distributed block storage environment
CN106844095A (zh) * 2016-12-27 2017-06-13 上海爱数信息技术股份有限公司 文件备份方法、***及具有该***的客户端
CN110058959A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 数据备份方法、设备和计算机程序产品
CN108845891A (zh) * 2018-04-07 2018-11-20 长沙开雅电子科技有限公司 一种新型基于快照实现快速容灾备份实现方法
CN110837441A (zh) * 2019-11-14 2020-02-25 北京京航计算通讯研究所 基于脏数据位图和网络块设备的kvm虚拟机备份方法
CN111158955A (zh) * 2019-12-30 2020-05-15 航天壹进制(南京)数据科技有限公司 一种基于卷复制的高可用***以及多服务器数据同步方法
CN111552437A (zh) * 2020-04-22 2020-08-18 上海天玑科技股份有限公司 一种应用于分布式存储***的快照方法及快照装置
CN111722962A (zh) * 2020-06-19 2020-09-29 艾索信息股份有限公司 一种针对cdp数据的存储***及其方法
CN112380050A (zh) * 2020-10-22 2021-02-19 中科热备(北京)云计算技术有限公司 一种利用快照在***备份中的方法
CN112527562A (zh) * 2020-12-15 2021-03-19 北京华胜天成科技股份有限公司 分布式存储***的数据备份方法、装置和计算机设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DY2903: ""数据保护与备份技术"", 《HTTPS://WWW.CNBLOGS.COM/DY2903/P/8449683.HTML》 *
JIANXIN LI: ""Towards an efficient snapshot approach for virtual machines in clouds"", 《INFORMATION SCIENCES》 *
杨皓森: ""面向OpenStack/Ceph的虚拟机备份***研究"", 《计算机***应用》 *
赵瑞君: ""基于网络的连续数据保护***设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115826878A (zh) * 2023-02-14 2023-03-21 浪潮电子信息产业股份有限公司 一种写时拷贝方法、装置、设备及计算机可读存储介质
CN117724905A (zh) * 2024-02-05 2024-03-19 成都云祺科技有限公司 Linux下文件***的实时复制方法、***及恢复方法
CN117724905B (zh) * 2024-02-05 2024-04-19 成都云祺科技有限公司 Linux下文件***的实时复制方法、***及恢复方法

Also Published As

Publication number Publication date
CN113568788B (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
US11068455B2 (en) Mapper tree with super leaf nodes
US10430286B2 (en) Storage control device and storage system
US8521949B2 (en) Data deleting method and apparatus
US7694087B2 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
US9501231B2 (en) Storage system and storage control method
US7725673B2 (en) Storage apparatus for preventing falsification of data
CN113568788B (zh) Linux非逻辑卷块设备的快照方法、***及存储介质
US20100049754A1 (en) Storage system and data management method
JP5320557B2 (ja) ストレージシステム
CN107423233B (zh) 一种可写快照实现方法和装置
CN104360914A (zh) 增量快照方法和装置
KR20170010810A (ko) 플래시 메모리 내에 데이터를 판독/기록하기 위한 방법, 장치 및 사용자 장비
CN111427514B (zh) 视图迁移方法和装置
CN110147296B (zh) 数据处理方法、装置、设备及可读存储介质
US20160283148A1 (en) Backup control device, backup control method, and recording medium
US7152147B2 (en) Storage control system and storage control method
CN108431784A (zh) 访问请求处理方法、装置及计算机***
KR20090031102A (ko) 이동식 저장 장치의 포맷 방법 및 장치
US20100174880A1 (en) Method for fast format of a fully allocated volume when copied from a space efficient volume
US20150161009A1 (en) Backup control device, backup control method, disk array apparatus, and storage medium
US11436105B2 (en) Data processing method and memory controller utilizing the same
US20210303212A1 (en) Data processing method and memory controller utilizing the same
US11531474B1 (en) Storage system and data replication method in storage system
CN112597074B (zh) 数据处理方法及装置
CN114880277B (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