CN117573612A - 一种分布式文件系统的目录快照管理方法及装置 - Google Patents

一种分布式文件系统的目录快照管理方法及装置 Download PDF

Info

Publication number
CN117573612A
CN117573612A CN202311462678.7A CN202311462678A CN117573612A CN 117573612 A CN117573612 A CN 117573612A CN 202311462678 A CN202311462678 A CN 202311462678A CN 117573612 A CN117573612 A CN 117573612A
Authority
CN
China
Prior art keywords
snapshot
file
directory
distributed
tag
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
CN202311462678.7A
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.)
Orca Data Technology Xian Co Ltd
Original Assignee
Orca Data Technology Xian 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 Orca Data Technology Xian Co Ltd filed Critical Orca Data Technology Xian Co Ltd
Priority to CN202311462678.7A priority Critical patent/CN117573612A/zh
Publication of CN117573612A publication Critical patent/CN117573612A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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/18File system types
    • G06F16/182Distributed file systems

Landscapes

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

Abstract

本发明公开了一种分布式文件系统的目录快照管理方法及装置,为文件系统中每个目录文件生成快照选项;接收目录文件的快照请求,并为目录文件添加快照标签;将快照标签对应的快照信息同步至分布式文件系统的快照管理节点;当接收到首次写时拷贝请求时,根据具有快照标签的目录文件生成快照文件;其中,快照文件与目录文件位于同级文件目录中;将目录快照信息同步至分布式文件系统的快照管理节点;本发明使用存储池下目录保存数据,与原文件存放于同级目录下,不存在持久化性能瓶颈;不同文件的快照文件分布在不同的元数据节点上,使元数据服务器的负载均衡;回滚时按照目录回滚,不需要全盘数据回滚,有效减少快照回滚的时间和数据量。

Description

一种分布式文件系统的目录快照管理方法及装置
技术领域
本发明属于计算机存储技术领域,尤其涉及一种分布式文件系统的目录快照管理方法及装置。
背景技术
分布式文件系统(Distributed File System)是指文件系统管理的物理资源不一定直接连接在本地节点上,而是通过计算机网络相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。
分布式文件系统由众多的服务器和盘阵组成,每个输入输出(io)节点服务器对应着一套盘阵或者服务器自带的存储。分布式文件系统的管理员和用户在对目录进行文件读写、复制、删除、覆盖等操作的时候可能会误操作,从而造成数据破坏或丢失;或者管理员或用户在某些特定的需求下需要将一个目录还原到之前的某个状态。
目前,常用的回滚方法是利用快照(写时拷贝cow)技术对文件系统当前的状态进行快速备份,但并不涉及文件的复制动作,之后对文件系统快照下的文件的操作如删除、写等也不会对快照目录造成影响,如raid或lvm技术。但是,上述方法通常为全盘数据增量快照,消耗时间较长。
发明内容
本发明的目的是提供一种分布式文件系统的目录快照管理方法及装置,在目录级进行快照,减少快照或回滚时的数据量,减少快照消耗时间。
本发明采用以下技术方案:一种分布式文件系统的目录快照管理方法,包括以下步骤:
为文件系统中每个目录文件生成快照选项;
接收目录文件的快照请求,并为目录文件添加快照标签;
将快照标签对应的快照信息同步至分布式文件系统的快照管理节点;
当接收到首次写时拷贝请求时,根据具有快照标签的目录文件生成快照文件;其中,快照文件与目录文件位于同级文件目录中。
进一步地,接收目录文件的快照请求前包括:
接收目录文件的属性信息请求;
在属性显示中添加快照选项。
进一步地,当目录文件为元数据时,为目录文件添加快照标签包括:
以文件为单位为目录文件添加快照标签。
进一步地,当目录文件为存储数据时,为目录文件添加快照标签包括:
将目录文件分割为若干个切片文件;
以切片文件的切片大小为单位为目录文件添加快照标签。
进一步地,根据具有快照标签的目录文件生成快照文件包括:
在目录文件的同级文件目录中的快照文件中创建快照文件;其中,快照文件的文件名前增加快照编号,快照编号根据快照文件的时间戳生成。
进一步地,根据具有快照标签的目录文件生成快照文件包括:
当目录文件为数据文件时,选择与首次写时拷贝文件对应的切片大小生成快照文件。
进一步地,根据具有快照标签的目录文件生成快照文件包括:
当目录文件为元数据文件时,选择与首次写时拷贝文件对应的元数据文件生成快照文件。
本发明的另一种技术方案:一种分布式文件系统的目录快照管理装置,包括:
第一生成模块,用于为文件系统中每个目录文件生成快照选项;
接收模块,用于接收目录文件的快照请求,并为目录文件添加快照标签;
第二生成模块,在添加快照标签后接收到首次写时拷贝请求时,根据具有快照标签的目录文件生成快照文件;其中,快照文件与目录文件位于同级文件目录中;
同步模块,用于将目录快照信息同步至分布式文件系统的快照管理节点。
本发明的另一种技术方案:一种分布式文件系统的目录快照管理装置,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的方法。
本发明的另一种技术方案:一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述的方法。
本发明的有益效果是:本发明使用存储池下目录保存数据,与原文件存放于同级目录下,不存在持久化性能瓶颈;不同文件的快照文件分布在不同的元数据节点上,使元数据服务器的负载均衡;回滚时按照目录回滚,不需要全盘数据回滚,有效减少快照回滚的时间和数据量。
附图说明
图1为本发明实施例中分布式存储软件架构图;
图2为本发明实施例中元数据快照原理图;
图3为本发明实施例中数据快照原理图;
图4为本发明实施例中集群上电目录快照信息同步原理图;
图5为本发明实施例中目录快照的数据快照管理及数据快照信息同步原理图;
图6为本发明实施例中目录快照创建、删除信息流程原理图;
图7为本发明实施例中元数据目录快照文件的分布示意图;
图8为本发明实施例中数据文件的分布示意图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
用户对目录文件的误操作造成数据破坏或丢失,管理员或用户在某些特定的需求下需要将一个目录还原到之前的某个状态。在进行危险操作之前给目录做一个快照,有需要时可立即还原到之前的状态。
目前,快照大部分都是基于raid或逻辑卷lvm的全盘数据增量快照,基于系统设计进行全盘快照,不需要的数据也进行了快照。当需要回滚时,全盘数据回滚消耗时间长,不够灵活,且不需要回滚的数据也回滚出来,浪费资源和时间,维护成本增加,且运维人员需要额外学习raid或者lvm技术。
本发明的方法用于分布式存储中,分布式存储软件架构如图1所示,快照大体分为四个大部分,快照管理节点、元数据服务节点、存储数据服务节点以及IO请求。元数据响应快照IO请求,处理快照控制流程,后端数据存储模块实现处理本地的目录数据快照存储。
本发明公开了一种分布式文件系统的目录快照管理方法,包括以下步骤:为文件系统中每个目录文件生成快照选项;接收目录文件的快照请求,并为目录文件添加快照标签;将快照标签对应的快照信息同步至分布式文件系统的快照管理节点;在添加快照标签后接收到首次写时拷贝请求时,根据具有快照标签的目录文件生成快照文件;其中,快照文件与目录文件位于同级文件目录中。
本发明使用存储池下目录保存数据,与原文件存放于同级目录下,不存在持久化性能瓶颈;不同文件的快照文件分布在不同的元数据节点上,使元数据服务器的负载均衡;回滚时按照目录回滚,不需要全盘数据回滚,有效减少快照回滚的时间和数据量。
在一个实施例中,接收目录文件的快照请求前包括:接收目录文件的属性信息请求;在属性显示中添加快照选项,即在文件系统中为每个目录文件创建一个新的属性项,通过该新的属性项用户可以选择进行目录文件快照,从而避免对整个系统进行快照,节省快照时间。
存储系统中所有文件都有目录项元数据文件,在目录项元数据文件中新增snapIDList标记文件快照所属snapshot,通过dentryFeatureFlags中DIRINODE_FEATURE_SNAPSHOT判断文件是否是快照目录下的文件,判断flag中是否有DIRINODE_FEATURE_SNAP_FIRST_WRITE区分文件是否已经触发过cow。
当目录文件为元数据时,为目录文件添加快照标签包括:以文件为单位为目录文件添加快照标签。如图2所示,元数据快照是以文件为单位的cow(写入拷贝),快照只是给原文件的元数据文件dentry的dentryFeatureFlags打一个tag(标签),文件本身并不发生任何变化。具体的,对初始文件进行第一快照,此时仅仅是为该文件增加一个标签,并不会记录文件,这样可以减少元数据占用空间。接着,当数据发生变化前,将标签对应的文件进行快照,并与元数据文件存储在同一目录中,如图中的“第一次快照后写”所示。快照文件生成后,根据需要出发第二次快照,同样,也仅仅是在元数据文件上增加标签,直到下一次写拷贝发生时,重复进行快照即可。
元数据文件快照是以文件为单位的cow,图中小方格代表一个元数据文件,打完快照后此文件的第一次写或者读写打开文件或者删除文件,触发元数据文件的快照备份(写时拷贝)。
当目录文件为存储数据时,为目录文件添加快照标签包括:将目录文件分割为若干个切片文件;以切片文件的切片大小为单位为目录文件添加快照标签。如图3所示,快照后的首次写打开文件,元数据会发送快照首次写拷贝快照信息给文件对应的目标存储节点,目标存储节点维护当前切片文件的快照信息chunkDataMap,用户写文件时目标存储节点根据chunkDataMap信息做切片文件的切片大小为单位的首次写时拷贝(Copy OnWrite),并且对chunkDataMap对应的切片文件的切片做快照标记。即当目录文件为元数据文件时,选择与首次写时拷贝文件对应的元数据文件生成快照文件。
也就是说,数据文件是以切片文件的切片大小为单位的首写拷贝(Copy OnWrite),图中9块小方格代表一个切片文件,每一个小方格代表一个切片大小数据,数据服务触发数据文件的快照备份时,将数据快照消息发送给数据服务,数据服务根据切片文件的信息创建快照chunkDataMap,用户写目标时,目标根据chunkDataMap做切片文件以切片大小为单位的首写拷贝(Copy On Write)。即当目录文件为数据文件时,选择与首次写时拷贝文件对应的切片文件的切片大小生成快照文件。
如图4所示,为集群上电目录快照信息同步原理图,分布式存储集群上电时读取快照持久化文件snapshotMap文件,结合本机信息构建整个集群的snapshotMap快照信息,传入集群元数据节点。其中,集群管理节点负责快照信息管理,元数据服务节点与管理节点快照信息交互,管理节点快照snapshotMap持久化文件/data/orcafs/mgmt/data/snapshots。
如图5所示,为目录快照的数据快照管理及数据快照信息同步,分布式存储集群storage存储节点上电时读取数据快照持久化文件snapshot文件,结合本机信息构建当前storage存储节点的snapshotMap快照信息,集群各存储节点负责数据快照信息管理。集群各存储节点快照snapshotMap持久化文件/data/orcafs/storage-1001/data/snapshot。
在一个实施例中,目录快照创建、删除信息流程如图6所示,用户命令行cli向目录所在的元数据节点集群发送目录快照命令请求,创建快照、删除快照;快照目录的元数据节点收到快照请求信息,元数据节点处理快照请求;所有目录的快照信息按照快照请求处理完成,按照处理结果返回;快照目录的元数据节点根据目录快照返回值,同步目录快照信息至管理节点完成快照信息持久化。
在分布式存储系统中,元数据里面都是有两级Hash目录,每一级都有1到128的16进制命名的目录名,文件存放位置根据entryID进行二级Hash。而entryID是根据时间戳生成,所以理论上可以做到很好的均衡。
在本发明实施例中红,在目录文件的同级文件目录中的快照文件中创建快照文件;其中,快照文件的文件名前增加快照编号,快照文件的文件名与源文件的文件名相同,快照编号根据快照文件的时间戳生成。如图7所示,快照文件的元数据整体布局和原始文件元数据存放方式完全相同,可以便于寻址。元数据快照文件保存时,以snap_XXX_为前缀(XXX是snapID),使用不同的snapID区分同一文件的多个快照备份。
如图8所示,存储数据文件的快照文件整体布局和原始存储数据文件存放方式完全相同,同样便于寻址。数据快照文件保存时,以snapID为前缀,使用不同的snapID区分同一文件的多个快照备份。
综上,本发明方法用于分布式并行存储文件系统中的目录快照管理,基于分布式架构的目录快照的创建、删除、回滚合查询。不同文件的快照文件分布在不同的元数据节点上,使元数据服务器的负载均衡;回滚时按照目录回滚,不需要全盘数据回滚,有效减少快照回滚的时间。当用户对目录文件的误操作造成数据破坏或丢失、管理员或用户在某些特定的需求下需要将一个目录还原到之前的某个状态时,均可以使用本方法实现快照,能有效地解决问题。
本发明还公开了一种分布式文件系统的目录快照管理装置,包括:第一生成模块,用于为文件系统中每个目录文件生成快照选项;接收模块,用于接收目录文件的快照请求,并为目录文件添加快照标签;第二生成模块,在添加快照标签后接收到首次写时拷贝请求时,根据具有快照标签的目录文件生成快照文件;其中,快照文件与目录文件位于同级文件目录中;同步模块,用于将目录快照信息同步至分布式文件系统的快照管理节点。
本发明还公开了一种分布式文件系统的目录快照管理装置,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的方法。
本发明还公开了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述的方法。
本发明还公开了一种计算机程序产品,当计算机程序产品在数据存储设备上运行时,使得数据存储设备执行时可实现上述各个方法实施例中的步骤。
所述集成的单元模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到存储设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

Claims (10)

1.一种分布式文件系统的目录快照管理方法,其特征在于,包括以下步骤:
为文件系统中每个目录文件生成快照选项;
接收目录文件的快照请求,并为所述目录文件添加快照标签;
将所述快照标签对应的快照信息同步至分布式文件系统的快照管理节点;
当接收到首次写时拷贝请求时,根据具有快照标签的所述目录文件生成快照文件;其中,所述快照文件与所述目录文件位于同级文件目录中。
2.如权利要求1所述的一种分布式文件系统的目录快照管理方法,其特征在于,接收目录文件的快照请求前包括:
接收所述目录文件的属性信息请求;
在属性显示中添加快照选项。
3.如权利要求2所述的一种分布式文件系统的目录快照管理方法,其特征在于,当所述目录文件为元数据时,为所述目录文件添加快照标签包括:
以文件为单位为所述目录文件添加快照标签。
4.如权利要求2所述的一种分布式文件系统的目录快照管理方法,其特征在于,当所述目录文件为存储数据时,为所述目录文件添加快照标签包括:
将所述目录文件分割为若干个切片文件;
以所述切片文件的切片大小为单位为所述目录文件添加快照标签。
5.如权利要求3或4所述的一种分布式文件系统的目录快照管理方法,其特征在于,根据具有快照标签的所述目录文件生成快照文件包括:
在所述目录文件的同级文件目录中的快照文件中创建快照文件;其中,所述快照文件的文件名前增加快照编号,所述快照编号根据所述快照文件的时间戳生成。
6.如权利要求5所述的一种分布式文件系统的目录快照管理方法,其特征在于,根据具有快照标签的所述目录文件生成快照文件包括:
当所述目录文件为数据文件时,选择与首次写时拷贝文件对应的切片大小生成快照文件。
7.如权利要求6所述的一种分布式文件系统的目录快照管理方法,其特征在于,根据具有快照标签的所述目录文件生成快照文件包括:
当所述目录文件为元数据文件时,选择与首次写时拷贝文件对应的元数据文件生成快照文件。
8.一种分布式文件系统的目录快照管理装置,其特征在于,包括:
第一生成模块,用于为文件系统中每个目录文件生成快照选项;
接收模块,用于接收目录文件的快照请求,并为所述目录文件添加快照标签;
第二生成模块,在添加快照标签后接收到首次写时拷贝请求时,根据具有快照标签的所述目录文件生成快照文件;其中,所述快照文件与所述目录文件位于同级文件目录中;
同步模块,用于将所述目录快照信息同步至分布式文件系统的快照管理节点。
9.一种分布式文件系统的目录快照管理装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现权利要求1-7任一项所述的方法。
CN202311462678.7A 2023-11-06 2023-11-06 一种分布式文件系统的目录快照管理方法及装置 Pending CN117573612A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311462678.7A CN117573612A (zh) 2023-11-06 2023-11-06 一种分布式文件系统的目录快照管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311462678.7A CN117573612A (zh) 2023-11-06 2023-11-06 一种分布式文件系统的目录快照管理方法及装置

Publications (1)

Publication Number Publication Date
CN117573612A true CN117573612A (zh) 2024-02-20

Family

ID=89861549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311462678.7A Pending CN117573612A (zh) 2023-11-06 2023-11-06 一种分布式文件系统的目录快照管理方法及装置

Country Status (1)

Country Link
CN (1) CN117573612A (zh)

Similar Documents

Publication Publication Date Title
US8510271B1 (en) Application and file system data virtualization from image backup
US8965850B2 (en) Method of and system for merging, storing and retrieving incremental backup data
CN100472463C (zh) 用于对存储区中的选定数据执行操作的方法和设备
US20140236906A1 (en) Elimination of duplicate objects in storage clusters
US8433863B1 (en) Hybrid method for incremental backup of structured and unstructured files
CN109582443A (zh) 基于分布式存储技术的虚拟机备份系统
US11093387B1 (en) Garbage collection based on transmission object models
CN103929500A (zh) 一种分布式存储系统的数据分片方法
US20070061540A1 (en) Data storage system using segmentable virtual volumes
US11397749B2 (en) Asynchronous replication of in-scope table data
US10628298B1 (en) Resumable garbage collection
CN105339903A (zh) 恢复文件系统对象
CN103037004A (zh) 云存储系统操作的实现方法和装置
CN103019890A (zh) 一种块级别的磁盘数据保护系统及其方法
CN102360321A (zh) 一种基于云架构的终端程序快速备份及恢复方法
CN107885616A (zh) 一种基于文件系统解析的海量小文件备份恢复方法
CN108205482B (zh) 文件挂载恢复方法
CN112800019A (zh) 基于Hadoop分布式文件系统的数据备份方法及系统
CN110663034B (zh) 用于云环境中改进的数据复制的方法及其设备
JP6271581B2 (ja) 仮想テープライブラリシステム
US20200401313A1 (en) Object Storage System with Priority Meta Object Replication
CN117573612A (zh) 一种分布式文件系统的目录快照管理方法及装置
CN108271420B (zh) 管理文件的方法、文件系统和服务器系统
US6910214B1 (en) Method, system, and program for converting an input parameter list into an output parameter list
US9063656B2 (en) System and methods for digest-based storage

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