CN109165120B - 分布式存储系统中管理快照和差异位图生成方法和产品 - Google Patents

分布式存储系统中管理快照和差异位图生成方法和产品 Download PDF

Info

Publication number
CN109165120B
CN109165120B CN201810900148.9A CN201810900148A CN109165120B CN 109165120 B CN109165120 B CN 109165120B CN 201810900148 A CN201810900148 A CN 201810900148A CN 109165120 B CN109165120 B CN 109165120B
Authority
CN
China
Prior art keywords
record
storage node
storage
lun
distributed
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
CN201810900148.9A
Other languages
English (en)
Other versions
CN109165120A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810900148.9A priority Critical patent/CN109165120B/zh
Publication of CN109165120A publication Critical patent/CN109165120A/zh
Priority to PCT/CN2019/095901 priority patent/WO2020029748A1/zh
Application granted granted Critical
Publication of CN109165120B publication Critical patent/CN109165120B/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

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

本发明实施例公开了一种分布式存储系统中管理快照和差异位图生成方法和产品,分布式存储系统包括N个存储节点,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间;管理快照的方法包括:存储节点Ni生成第一记录;第一记录只用于记录在第一快照时刻第一LUN分布在存储节点Ni的逻辑地址对应的更新地址;所述第一LUN分布在存储节点Ni的逻辑地址与第二LUN分布在存储节点Ni的逻辑地址属于相同的分区;存储节点Ni生成第二记录,第二记录只用于记录在第二快照时刻第一LUN分布在存储节点Ni的逻辑地址对应的更新地址;所述第一快照时刻与所述第二快照时刻是相邻的快照时刻,有利于提高差异位图的获取效率。

Description

分布式存储系统中管理快照和差异位图生成方法和产品
技术领域
本发明涉及分布式存储技术领域,尤其涉及分布式存储系统中管理快照和差异位图生成方法和产品。
背景技术
分布式存储系统通常采用图1A所示架构,包括存储节点集群。用户通过客户端对存储节点集群进行控制,比如触发存储节点集群为逻辑单元号(logical unit number,LUN)创建快照、创建差异位图,执行读写操作等。备份存储系统用于备份存储节点集群中LUN的数据,备份存储系统与分布式存储系统首次同步时,客户端触发存储节点集群为LUN创建快照,或者分布式存储系统按照预定时间间隔为LUN创建快照,比如创建首个版本号为0的快照,备份存储系统对存储节点集群中LUN的全部数据进行复制,因此此次创建的快照的全部数据复制到备份存储系统。后面可以采用快照将存储节点集群中LUN的增量数据备份到备份存储系统。
在分布式存储系统场景下,存储节点集群的结构可以如图1B所示,包括N个存储节点,N为大于或者等于2的整数,每个存储节点包含硬盘。
块修改跟踪(changed block tracking,CBT)又称差异位图,是用来记录两个快照版本之间LUN数据增量。在分布式存储系统中,一个LUN会分布在多个存储节点上。分布式存储系统中包含多个分区,一个存储节点会为多个分区提供存储空间。在分布式存储系统中,客户端访问LUN中的逻辑块地址(logical block address,LBA),首先会确定LBA所在的分区,然后查询分区映射表确定分区对应的存储节点,客户端访问相应的存储节点。存储节点提供该LBA对应的存储空间。
因为一个存储节点会为多个分区提供存储空间,多个LUN的LBA会分布在同一个分区上。在现有的分布式存储系统中,对某一个LUN进行快照操作,通常存储节点会以分区为粒度记录本存储节点上的快照数据。例如,存储节点A的分区A包含多个LUN的LBA,那么存储节点A就会记录分区A上所有的快照数据。分布式存储系统需要从存储节点A记录的分区A所有的快照数据中查询某一个LUN的LBA分布在存储节点A的分区A的快照数据。通常一个LUN的LBA又会分布在多个存储节点。因此,分布式存储系统场景下快照增量数据收集耗时长。
发明内容
本发明实施例提供了一种分布式存储系统中管理快照和差异位图生成方法和产品,用于提高差异位图的获取效率。
第一方面,本发明实施例提供了一种分布式存储系统中管理快照的方法,所述分布式存储系统包括N个存储节点,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间;所述方法包括:
存储节点Ni生成第一记录;所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点Ni的逻辑地址与第二LUN分布在所述存储节点Ni的逻辑地址属于相同的分区,N为不小于2的整数,并且i为1到N中的每一个值;
所述存储节点Ni生成第二记录,所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻。
需要说明的时,本发明实施例中的各条记录分别记录了当前快照和相邻的前一次快照之间,根据接收到的写输入指令写入数据时,数据发生变化的数据块对应的逻辑地址序列。比如,第二记录中记录了第一快照时刻和第二快照时刻之间根据写输入指令写入数据时,数据发生变化的数据块对应的逻辑地址序列。写输入指令通常携带待写入的数据、待写入的LUN标识、以及写入地址对应的数据块在待写入的LUN中的偏移量,根据偏移量可以确定写输入指令写入的是哪个存储节点。在每次快照后存储节点Ni为第一LUN生成一个空的记录,每当接收到对第一LUN进行操作的写输入指令,且写入位置位于存储节点Ni时,在记录中增加一条记录信息,用于记录写入位置,当有多个写输入指令对第一LUN执行写输入操作,且写入位置位于存储节点Ni时,在记录中相应地增加多条记录,记录写输入指令写入的地址。
采用本发明实施例提供的技术方案,在获取相邻两次快照间第一LUN的差异位图时,以存储节点粒度收集差异位图数据,存储节点按照LUN粒度管理差异数据对应的记录,在搜集差异位图时客户端只需要与N个存储节点建立N次连接,相对于现有技术以分区粒度搜集差异位图,存储节点按照分区粒度管理差异数据对应的索引来说,本发明实施例中客户端与存储节点集群建立通讯连接的次数减少了,提高了差异位图的获取效率,也有利于备份存储系统对存储节点集群中的数据进行及时备份。
在本发明一些可能的实施方式中,存储节点Ni向客户端提供所述第一记录和所述第二记录。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为链表。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为数组。
第二方面,本发明实施例提供了一种分布式存储系统中生成差异位图的方法,所述分布式存储系统包括N个存储节点,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间;
客户端向存储节点Ni获取第一记录和第二记录;其中,所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点Ni的逻辑地址与第二LUN分布在所述存储节点Ni的逻辑地址属于相同的分区,N为不小于2的整数,并且i为1到N中的每一个值;所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻;
所述客户端根据所述第一记录和所述第二记录生成所述第一LUN在所述存储节点Ni的差异位置。
在本发明一些可能的实施方式中,所述客户端在所述第一快照时刻向所述存储节点Ni发送第一快照指令;所述客户端在所述第二快照时刻向所述存储节点Ni发送第二快照指令;所述第一快照指令和所述第二快照指令分别用于对所述第一LUN执行快照操作。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为链表。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为数组。
第三方面,本发明实施例提供了一种分布式存储系统中的存储节点,所述存储节点为所述分布式存储系统包括的N个存储节点中的任意一个,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间,所述存储节点包括:
第一处理单元,用于生成第一记录;所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点的逻辑地址与第二LUN分布在所述存储节点的逻辑地址属于相同的分区,N为不小于2的整数;
第二处理单元,用于生成第二记录,所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻。
在本发明一些可能的实施方式中,所述存储节点还包括:
提供单元,用于向客户端提供所述第一记录和所述第二记录。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为链表。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为数组。
第四方面,本发明实施例提供了一种分布式存储系统中的客户端,所述分布式存储系统包括N个存储节点,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间;所述客户端包括:
获取单元,用于向存储节点Ni获取第一记录和第二记录;其中,所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点Ni的逻辑地址与第二LUN分布在所述存储节点Ni的逻辑地址属于相同的分区,N为不小于2的整数,并且i为1到N中的每一个值;所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻;
生成单元,用于根据所述第一记录和所述第二记录生成所述第一LUN在所述存储节点Ni的差异位置。
在本发明一些可能的实施方式中,所述客户端还包括:
发送单元,用于在所述第一快照时刻向所述存储节点Ni发送第一快照指令,以及在所述第二快照时刻向所述存储节点Ni发送第二快照指令;所述第一快照指令和所述第二快照指令分别用于对所述第一LUN执行快照操作。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为链表。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为数组。
采用本发明实施例提供的技术方案,在获取相邻两次快照间第一LUN的差异位图时,以存储节点粒度收集差异位图数据,存储节点按照LUN粒度管理差异数据对应的记录,在搜集差异位图时客户端只需要与N个存储节点建立N次连接,相对于现有技术以分区粒度搜集差异位图,存储节点按照分区粒度管理差异数据对应的索引来说,本发明实施例中客户端与存储节点集群建立通讯连接的次数减少了,提高了差异位图的获取效率,也有利于备份存储系统对存储节点集群中的数据进行及时备份。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1A是一种分布式系统的架构示意图。
图1B是现有技术中获取差异位图时客户端与存储节点集群之间通讯连接示意图。
图2是本发明实施例获取差异位图时客户端与存储节点集群之间通讯连接示意图。
图3是现有技术和本发明一个实施例中客户端与一个存储节点建立通讯连接的示意图。
图4是本发明一个实施例中分布式系统的交互示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
图1A是一种分布式存储系统的架构示意图。包括客户端101、存储节点集群102、和备份存储系统103。用户通过客户端101对存储节点集群102进行控制,比如触发存储节点集群102为LUN创建快照、创建差异位图、执行读写操作等,备份存储系统103用于备份存储节点集群102中LUN的数据,备份存储系统103与分布式存储系统首次同步时,客户端101触发存储节点集群102为LUN创建快照,比如创建版本号为0的快照,备份存储系统103对存储节点集群102中LUN的全部数据进行复制,因此此次创建的快照中的全部数据复制到备份存储系统103,后面可以采用快照,用户继续通过客户端101触发存储节点集群102为LUN创建快照,每次新创建的快照的版本号加1。比较相邻两次快照之间的差异,可以得到差异位图,根据差异位图,将相邻快照的差异位图对应的差量数据传到备份存储系统103,备份存储系统103接收到差量数据后写入更新数据。
图1B是现有技术中获取差异位图时客户端与存储节点集群之间通讯连接示意图。如图1B所示,存储节点集群可以包括N个存储节点,即:存储节点1、存储节点2、存储节点3、…、存储节点N,N为大于或者等于2的整数,每个存储节点可以是硬盘。每个存储节点包括3个分区,比如存储节点1包括的分区为:分区1、分区n+1、分区2n+1,存储节点2包括:分区2、分区n+2、分区2n+2,存储节点3包括:分区3、分区n+3、分区2n+3,存储节点N包括:分区n、分区2n和分区3n。为了获取快照的差异位图,客户端需要分别与各存储节点中的每个分区建立通讯连接,如图1B所示,客户端需要与存储节点1中的三个分区(分区1、分区n+1、分区2n+1)都建立通讯连接,才能得到存储节点1中LUN发生了数据更新的数据块的位置。客户端需要与存储节点2中的三个分区(分区2、分区n+2、和分区2n+2)都建立通讯连接,才能得到存储节点2中LUN发生了数据更新的数据块的位置。客户端需要与存储节点3中的三个分区(分区3、分区n+3、和分区2n+3)都建立通讯连接,才能得到存储节点3中LUN发生了数据更新的数据块的位置。客户端需要与存储节点N中的三个分区(分区n、分区2n和分区3n)都建立通讯连接,才能得到存储节点N中LUN发生了数据更新的数据块的位置。
本发明的一个实施例公开了一种分布式存储系统中管理快照的方法,所述分布式存储系统包括N个存储节点,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间;
存储节点Ni生成第一记录;所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点Ni的逻辑地址与第二LUN分布在所述存储节点Ni的逻辑地址属于相同的分区,N为不小于2的整数,并且i为1到N中的每一个值;即:在一个实施例中i可以是1到N中的任意一个整数值。所述存储节点Ni生成第二记录,所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻。例如,每隔10分钟对第一LUN进行快照操作,例如22:00对第一LUN进行一次快照操作,22:10对第一LUN再次进行快照操作,则22:00和22:10是相邻的快照时刻。一个快照时刻对应快照的一个版本号。第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址为第一LUN分布在所述存储节点Ni的逻辑地址发生数据数据更新的数据块的位置。
在本发明一些可能的实施例中,储节点Ni向客户端提供所述第一记录和所述第二记录。其中,所述第一记录和所述第二记录可以为链表或者数组。
本发明的一个实施例还公开了一种分布式存储系统中生成差异位图的方法,所述分布式存储系统包括N个存储节点,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间;客户端向存储节点Ni获取第一记录和第二记录;其中,所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点Ni的逻辑地址与第二LUN分布在所述存储节点Ni的逻辑地址属于相同的分区,N为不小于2的整数,并且i为1到N中的每一个值;所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻;所述客户端根据所述第一记录和所述第二记录生成所述第一LUN在所述存储节点Ni的差异位置。
在本发明一些可能的实施例中,所述方法还包括:所述客户端在所述第一快照时刻向所述存储节点Ni发送第一快照指令;所述客户端在所述第二快照时刻向所述存储节点Ni发送第二快照指令;所述第一快照指令和所述第二快照指令分别用于对所述第一LUN执行快照操作。
在本发明一些可能的实施例中,所述第一记录和所述第二记录可以为链表或者数组。
为了便于理解本发明实施例所要保护的技术方案,下面结合具体实例对本发明所要保护的技术方案进行描述。在下面的实施例中记录以链表为例进行描述。
图3左边为现有技术中客户端与一个存储节点建立通讯连接的示意图,如图3左边所示,现有技术为了得到差异位图,需要遍历指定逻辑单元(比如逻辑单元标识为111)中所有的分区,根据每个分区对应的索引来查找每个分区内输入了新的数据的存储块的位置,比如客户端先与逻辑单元标识为111中标识为0的分区建立通讯连接,从标识为0的分区开始查找,通过查找得到在该分区中有两个数据进行了更新,分别对应的存储块标识为1和3。进一步地,需要继续查找标识为50的分区中发生了数据更新的位置,为此,客户端需要与标识为50的分区先建立通讯连接,通过查找得到该分区内的更新位置对应的存储块的标识为7、9、和10。进一步地,客户端还需要与该存储节点的逻辑单元标识为111的逻辑单元内标识为75的分区建立通讯连接,查找得到该分区内的更新位置对应的存储块的标识为12和14。类似地,客户端还需要与该存储节点的逻辑单元标识为111的逻辑单元内标识为51200的分区建立通讯连接,查找得到该分区内的更新位置对应的存储块的标识为1023997。由前面描述可知,现有技术为了得到每个存储节点中发生了变化的数据的位置,需要与多个分区分别建立通讯连接,花费的时间较长。
图2是本发明提供的获取差异位图时客户端与存储节点集群之间通讯连接示意图。由该图可知,为了获取差异位图,客户端只需要与各存储节点建立一次连接。具体地,如图2所示,存储节点集群包括N个存储节点,即:存储节点1、存储节点2、存储节点3、…、存储节点N,N为大于或者等于2的整数,每个存储节点可以是硬盘。每个存储节点包括3个分区,比如存储节点1包括的分区为:分区1、分区n+1、分区2n+1,存储节点2包括:分区2、分区n+2、分区2n+2,存储节点3包括:分区3、分区n+3、分区2n+3,存储节点N包括:分区n、分区2n和分区3n。为了获取差异位图,客户端只需要与各存储节点分别建立一次通讯连接,如图1B所示,客户端只需要与存储节点1建立一次通讯连接,就可以得到存储节点1中第一LUN发生了数据更新的数据块的位置。客户端只需要与存储节点2建立一次通讯连接,就可以得到存储节点2中第一LUN发生了数据更新的数据块的位置。客户端只需要与存储节点3建立一次通讯连接,就可以得到存储节点3中第一LUN发生了数据更新的数据块的位置。客户端只需要与存储节点N建立一次通讯连接,就可以得到存储节点N中第一LUN发生了数据更新的数据块的位置。
图3右边为本发明一个实施例中客户端与一个存储节点建立通讯连接的示意图,如图3右边所示,本发明为了得到差异位图,对同一个存储节点只需要与各存储节点分别建立通讯连接即可,具体地,通过查找与逻辑单元标识为111和两个相邻快照对应的索引,就可以得到该存储节点中第一LUN发生了数据更新的位置为1、3、7、9、10、12、14、1023998。由前面描述可知,本发明实施例中客户端与各存储节点建立通讯连接的次数减少了,提高了差异位图的获取效率。
图4是本发明一个实施例中分布式存储系统的交互示意图。分布式系统包括:客户端、存储节点集群、和备份存储系统;其中,存储节点集群包括N个存储节点,在所述N个存储节点上设置有所述客户端能够识别的M个LUN,所述N和M为整数,所述N≥2,所述M≥1。图4所示交互示意图包括如下步骤:
S401.用户向客户端发送第一触发指令。所述第一触发指令指示所述存储节点集群对所述M个LUN分别创建版本号为V-1的快照。
S402.客户端获取第一触发指令。
S403.客户端向存储节点集群发送第一触发指令。
S404.存储节点集群获取第一触发指令,根据第一触发指令对所述M个LUN分别创建版本号为V-1的快照;所述第一触发指令指示所述存储节点集群对所述M个LUN分别创建版本号为V-1的快照。
S405.存储节点集群中的所述N个存储节点中的任一存储节点分别为所述M个LUN中的每个LUN创建一个与快照版本号V对应的索引。
S406.用户向客户端发送至少零个用户写输入指令,所述至少零个用户写输入指令中的任一用户写输入指令K包括:待写入的数据Dk和所述数据Dk的写入位置Pk,所述写入位置Pk包括:所述数据Dk待写入的逻辑单元的逻辑单元标识LUN_idk'以及所述写入位置Pk对应的存储块在所述待写入的逻辑单元内的偏移量Yk;所述idk'是整数,1≤idk'≤M。
S407.客户端获取所述至少零个用户写输入指令。
S408.客户端向存储节点集群发送所述至少零个用户写输入指令。
S409.存储节点集群获取所述至少零个用户写输入指令,所述存储节点集群对所述任一用户写输入指令K,根据所述写入位置Pk确定所述写入位置Pk位于存储节点j,在所述存储节点j给LUN标识为LUN_idk'的LUN以及该LUN的快照版本号为V的快照建立的索引增加一个条目,在增加的所述条目中记录所述位置Pk,所述j为整数,1≤j≤N。
需要说明的时,客户端获取零个用户写输入指令是指客户端没有获取用户写输入指令,这种情况下,不执行步骤S408和S409,索引中也不增加条目。
S410.用户向客户端发送第二触发指令。所述第二触发指令指示所述存储节点集群对所述M个LUN分别创建版本号为V的快照。
S411.客户端获取第二触发指令。
S412.客户端向存储节点集群发送第二触发指令。
S413.存储节点集群获取所述第二触发指令,根据所述第二触发指令对所述M个LUN分别创建版本号为V的快照。
S414.用户向客户端发送第一指令。
所述第一指令携带指定LUN的LUN标识LUN_id和对所述指定LUN创建的快照的快照版本号V-1和V;所述第一指令指示获取所述指定LUN的快照版本号为V-1和快照版本号为V的两个相邻快照间的差异位图,所述id和V是整数,V≥1,1≤id≤M。
S415.客户端获取第一指令。
S416.客户端与所述N个存储节点中的每个存储节点建立通讯连接。
S417.客户端查找所述N个存储节点中的任一存储节点i建立的与所述指定LUN以及所述指定LUN的快照版本号为V的快照对应的索引Liv;所述索引Liv记录了所述两个相邻快照间更新的各数据的位置信息,所述i为整数,1≤i≤N。
S418.所述客户端根据索引集合{L1v、L2v、…LNV}确定所述差异位图。
S419.所述存储节点集群将所述差量数据和各差量数据在所述指定LUN的快照版本号为V的快照中的位置发送给所述备份存储系统。
在本发明一些可能的实施方式中,差量数据和各差量数据在所述指定LUN的快照版本号为V的快照中的位置可以是存储节点集群从客户端获取得到的。
S420.所述备份存储系统利用接收到的所述差量数据和各差量数据在所述指定LUN的快照版本号为V的快照中的位置进行更新。
本发明实施例在获取相邻两次快照间指定LUN的差异位图时,以存储节点粒度收集差异位图数据,存储节点按照LUN粒度管理差异数据对应的索引,在搜集差异位图时客户端只需要与N个存储节点建立N次连接,相对于现有技术以分区粒度搜集差异位图,存储节点按照分区粒度管理差异数据对应的索引来说,本发明实施例中客户端与存储节点集群建立通讯连接的次数减少了,提高了差异位图的获取效率,也有利于备份存储系统对存储节点集群中的数据进行及时备份。
本发明实施例还提供了一种分布式存储系统中的存储节点,所述存储节点为所述分布式存储系统包括的N个存储节点中的任意一个,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间,所述存储节点包括:
第一处理单元,用于生成第一记录;所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点的逻辑地址与第二LUN分布在所述存储节点的逻辑地址属于相同的分区,N为不小于2的整数;
第二处理单元,用于生成第二记录,所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻。
在本发明一些可能的实施方式中,所述存储节点还包括:
提供单元,用于向客户端提供所述第一记录和所述第二记录。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为链表。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为数组。
本发明实施例还提供了一种分布式存储系统中的客户端,所述分布式存储系统包括N个存储节点,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间;所述客户端包括:
获取单元,用于向存储节点Ni获取第一记录和第二记录;其中,所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点Ni的逻辑地址与第二LUN分布在所述存储节点Ni的逻辑地址属于相同的分区,N为不小于2的整数,并且i为1到N中的每一个值;所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻;
生成单元,用于根据所述第一记录和所述第二记录生成所述第一LUN在所述存储节点Ni的差异位置。
在本发明一些可能的实施方式中,所述客户端还包括:
发送单元,用于在所述第一快照时刻向所述存储节点Ni发送第一快照指令,以及在所述第二快照时刻向所述存储节点Ni发送第二快照指令;所述第一快照指令和所述第二快照指令分别用于对所述第一LUN执行快照操作。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为链表。
在本发明一些可能的实施方式中,所述第一记录和所述第二记录均为数组。
本发明实施例还提供了一种计算机存储介质,其中,该计算机存储介质可存储有程序,所述程序执行时包括上述方法实施例中记载的任意一种分布式存储系统中管理快照的方法的部分或全部步骤。
本发明实施例还提供了一种计算机存储介质,其中,该计算机存储介质可存储有程序,所述程序执行时包括上述方法实施例中记载的任意一种分布式存储系统中生成差异位图的方法的部分或全部步骤。
本发明实施例还提供了一种应用程序,其中,该应用程序用于在运行时执行本发明实施例所述的一种分布式存储系统中管理快照的方法。
本发明实施例还提供了一种应用程序,其中,该应用程序用于在运行时执行本发明实施例所述的一种分布式存储系统中生成差异位图的方法。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。
本发明实施例中,一种实现,存储节点和客户端可以是通用的计算机结构,包含存储器和处理器,存储器与处理器通信,存储器中包含计算机指令,处理器执行存储器中的计算机指令,分别用于实现本发明实施例中存储节点和客户端的功能。
本发明实施例中存储节点和客户端的各单元结构,具体实现可以是硬件实现,如处理器和存储器共同实现,也可以是软件模块,如存储器中的计算机指令。本发明实施例对此不作限定。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的介质。

Claims (16)

1.一种分布式存储系统中管理快照的方法,其特征在于,所述分布式存储系统包括N个存储节点,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间,所述方法包括:
存储节点Ni生成第一记录;所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点Ni的逻辑地址与第二LUN分布在所述存储节点Ni的逻辑地址属于相同的分区,N为不小于2的整数,并且i为1到N中的每一个值;
所述存储节点Ni生成第二记录,所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻;
所述方法还包括:
所述存储节点Ni向客户端提供所述第一记录和所述第二记录。
2.根据权利要求1所述的方法,其特征在于,所述第一记录和所述第二记录均为链表。
3.根据权利要求1所述的方法,其特征在于,所述第一记录和所述第二记录均为数组。
4.一种分布式存储系统中生成差异位图的方法,其特征在于,所述分布式存储系统包括N个存储节点,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间;
客户端向存储节点Ni获取第一记录和第二记录;其中,所述存储节点Ni向客户端提供所述第一记录和所述第二记录,所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点Ni的逻辑地址与第二LUN分布在所述存储节点Ni的逻辑地址属于相同的分区,N为不小于2的整数,并且i为1到N中的每一个值;所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻;
所述客户端根据所述第一记录和所述第二记录生成所述第一LUN在所述存储节点Ni的差异位置。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述客户端在所述第一快照时刻向所述存储节点Ni发送第一快照指令;
所述客户端在所述第二快照时刻向所述存储节点Ni发送第二快照指令;所述第一快照指令和所述第二快照指令分别用于对所述第一LUN执行快照操作。
6.根据权利要求4或5所述的方法,其特征在于,所述第一记录和所述第二记录均为链表。
7.根据权利要求4或5所述的方法,其特征在于,所述第一记录和所述第二记录均为数组。
8.一种分布式存储系统中的存储节点,其特征在于,所述存储节点为所述分布式存储系统包括的N个存储节点中的任意一个,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间,所述存储节点包括:
第一处理单元,用于生成第一记录;所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点的逻辑地址与第二LUN分布在所述存储节点的逻辑地址属于相同的分区,N为不小于2的整数;
第二处理单元,用于生成第二记录,所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻;
提供单元,用于向客户端提供所述第一记录和所述第二记录。
9.根据权利要求8所述的存储节点,其特征在于,所述第一记录和所述第二记录均为链表。
10.根据权利要求8所述的存储节点,其特征在于,所述第一记录和所述第二记录均为数组。
11.一种分布式存储系统中的客户端,其特征在于,所述分布式存储系统包括N个存储节点,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间;所述客户端包括:
获取单元,用于向存储节点Ni获取第一记录和第二记录;其中,所述存储节点Ni向客户端提供所述第一记录和所述第二记录,所述第一记录只用于记录在第一快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一LUN分布在所述存储节点Ni的逻辑地址与第二LUN分布在所述存储节点Ni的逻辑地址属于相同的分区,N为不小于2的整数,并且i为1到N中的每一个值;所述第二记录只用于记录在第二快照时刻所述第一LUN分布在所述存储节点Ni的逻辑地址对应的更新地址;其中,所述第一快照时刻与所述第二快照时刻是相邻的快照时刻;
生成单元,用于根据所述第一记录和所述第二记录生成所述第一LUN在所述存储节点Ni的差异位置。
12.根据权利要求11所述的客户端,其特征在于,所述客户端还包括:
发送单元,用于在所述第一快照时刻向所述存储节点Ni发送第一快照指令,以及在所述第二快照时刻向所述存储节点Ni发送第二快照指令;所述第一快照指令和所述第二快照指令分别用于对所述第一LUN执行快照操作。
13.根据权利要求11或12所述的客户端,其特征在于,所述第一记录和所述第二记录均为链表。
14.根据权利要求11或12所述的客户端,其特征在于,所述第一记录和所述第二记录均为数组。
15.一种分布式存储系统中的存储节点,其特征在于,所述存储节点为所述分布式存储系统包括的N个存储节点中的任意一个,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间,所述存储节点包含存储器和处理器,所述存储器与所述处理器通信,所述存储器中包含计算机指令,所述处理器执行所述存储器中的所述计算机指令用于执行权利要求1-3任一所述的方法。
16.一种分布式存储系统中的存储节点,其特征在于,所述分布式存储系统包括N个存储节点,所述N个存储节点用于为第一逻辑单元号LUN提供存储空间;所述客户端包括点包含存储器和处理器,所述存储器与所述处理器通信,所述存储器中包含计算机指令,所述处理器执行所述存储器中的所述计算机指令用于执行权利要求4-7任一所述的方法。
CN201810900148.9A 2018-08-08 2018-08-08 分布式存储系统中管理快照和差异位图生成方法和产品 Active CN109165120B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810900148.9A CN109165120B (zh) 2018-08-08 2018-08-08 分布式存储系统中管理快照和差异位图生成方法和产品
PCT/CN2019/095901 WO2020029748A1 (zh) 2018-08-08 2019-07-13 分布式存储系统中管理快照和差异位图生成方法和产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810900148.9A CN109165120B (zh) 2018-08-08 2018-08-08 分布式存储系统中管理快照和差异位图生成方法和产品

Publications (2)

Publication Number Publication Date
CN109165120A CN109165120A (zh) 2019-01-08
CN109165120B true CN109165120B (zh) 2022-04-05

Family

ID=64895215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810900148.9A Active CN109165120B (zh) 2018-08-08 2018-08-08 分布式存储系统中管理快照和差异位图生成方法和产品

Country Status (2)

Country Link
CN (1) CN109165120B (zh)
WO (1) WO2020029748A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165120B (zh) * 2018-08-08 2022-04-05 华为技术有限公司 分布式存储系统中管理快照和差异位图生成方法和产品
CN112306746B (zh) * 2019-07-30 2024-08-20 伊姆西Ip控股有限责任公司 在应用环境中管理快照的方法、设备和计算机程序产品
CN114564321B (zh) * 2022-02-28 2024-10-15 苏州浪潮智能科技有限公司 一种快照创建方法、系统及计算机可读存储介质
CN117421159A (zh) * 2023-11-01 2024-01-19 广州鼎甲计算机科技有限公司 分布式块存储系统中的数据备份方法、装置、设备和介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770088A (zh) * 2004-11-02 2006-05-10 惠普开发有限公司 存储网络中的增量备份操作
CN101482801A (zh) * 2005-09-20 2009-07-15 株式会社日立制作所 存储网络系统
US8266402B2 (en) * 2007-03-09 2012-09-11 International Business Machines Corporation Retaining disk identification in operating system environment after a hardware-driven snapshot restore from a snapshot-LUN created using software-driven snapshot architecture
CN104375904A (zh) * 2014-10-30 2015-02-25 浪潮电子信息产业股份有限公司 一种基于快照差异化数据传输的容灾备份方法
CN104750573A (zh) * 2014-12-17 2015-07-01 杭州斯凯网络科技有限公司 分布式数据系统数据节点的全局一致性备份和还原方法
CN106557274A (zh) * 2015-09-30 2017-04-05 中兴通讯股份有限公司 虚拟快照处理方法及装置
CN106557385A (zh) * 2015-09-28 2017-04-05 成都华为技术有限公司 数据快照方法和存储设备
CN106716377A (zh) * 2015-01-12 2017-05-24 斯特拉托斯卡莱有限公司 在分布式储存系统中的快照的同步

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100464307C (zh) * 2006-05-26 2009-02-25 任永坚 一种实现数据备份和恢复的方法及系统
US20150288758A1 (en) * 2014-04-07 2015-10-08 Strato Scale Ltd. Volume-level snapshot management in a distributed storage system
US10387266B2 (en) * 2015-12-23 2019-08-20 Commvault Systems, Inc. Application-level live synchronization across computing platforms including synchronizing co-resident applications to disparate standby destinations and selectively synchronizing some applications and not others
CN105938457B (zh) * 2016-03-31 2018-10-02 华为技术有限公司 数据的过滤方法、装置及数据读取系统
CN109165120B (zh) * 2018-08-08 2022-04-05 华为技术有限公司 分布式存储系统中管理快照和差异位图生成方法和产品

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770088A (zh) * 2004-11-02 2006-05-10 惠普开发有限公司 存储网络中的增量备份操作
CN101482801A (zh) * 2005-09-20 2009-07-15 株式会社日立制作所 存储网络系统
US8266402B2 (en) * 2007-03-09 2012-09-11 International Business Machines Corporation Retaining disk identification in operating system environment after a hardware-driven snapshot restore from a snapshot-LUN created using software-driven snapshot architecture
CN104375904A (zh) * 2014-10-30 2015-02-25 浪潮电子信息产业股份有限公司 一种基于快照差异化数据传输的容灾备份方法
CN104750573A (zh) * 2014-12-17 2015-07-01 杭州斯凯网络科技有限公司 分布式数据系统数据节点的全局一致性备份和还原方法
CN106716377A (zh) * 2015-01-12 2017-05-24 斯特拉托斯卡莱有限公司 在分布式储存系统中的快照的同步
CN106557385A (zh) * 2015-09-28 2017-04-05 成都华为技术有限公司 数据快照方法和存储设备
WO2017054539A1 (zh) * 2015-09-28 2017-04-06 华为技术有限公司 数据快照方法和存储设备
CN106557274A (zh) * 2015-09-30 2017-04-05 中兴通讯股份有限公司 虚拟快照处理方法及装置

Also Published As

Publication number Publication date
WO2020029748A1 (zh) 2020-02-13
CN109165120A (zh) 2019-01-08

Similar Documents

Publication Publication Date Title
CN109165120B (zh) 分布式存储系统中管理快照和差异位图生成方法和产品
US7774565B2 (en) Methods and apparatus for point in time data access and recovery
US7257690B1 (en) Log-structured temporal shadow store
US7836266B2 (en) Managing snapshot history in a data storage system
JP4117265B2 (ja) ファイルシステムのバージョンを管理する方法およびシステム
US7657721B2 (en) Method of maintaining a plurality of snapshots, server apparatus and storage apparatus
US7653800B2 (en) Continuous data protection
US8818954B1 (en) Change tracking
US20050027819A1 (en) Storage system, server apparatus, and method for creating a plurality of snapshots
JP2005018738A (ja) ストレージベースのジャーナリングを用いてバックアップ及びリカバリを行う方法と装置
CN112114753B (zh) 一种数据写入方法、装置及设备
CN106648993A (zh) 一致性组快照管理的方法及装置
CN109189759A (zh) Kv存储系统中的数据读取方法、数据查询方法、装置及设备
US11288006B2 (en) Storage system and volume copying method where changes to address conversion table is rolled back
JP4897885B2 (ja) データを管理するための方法
CN109582235B (zh) 管理元数据存储方法及装置
CN111752913B (zh) 分布式系统的数据恢复方法、介质、计算机设备、装置
CN114442944B (zh) 一种数据复制方法、系统及设备
US20060026460A1 (en) Bit map write logging with write order preservation in support of asynchronous update of secondary storage
CN113821476B (zh) 数据处理方法及装置
CN117312044A (zh) 一种备份方法及装置
US10635542B1 (en) Support for prompt creation of target-less snapshots on a target logical device that has been linked to a target-less snapshot of a source logical device
US10353920B2 (en) Efficient mirror data re-sync
CN114442941B (zh) 一种数据迁移方法、系统、存储介质及设备
CN113568583B (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