CN114175008A - 快速文件快照和克隆 - Google Patents
快速文件快照和克隆 Download PDFInfo
- Publication number
- CN114175008A CN114175008A CN202180004817.4A CN202180004817A CN114175008A CN 114175008 A CN114175008 A CN 114175008A CN 202180004817 A CN202180004817 A CN 202180004817A CN 114175008 A CN114175008 A CN 114175008A
- Authority
- CN
- China
- Prior art keywords
- file
- input
- files
- client node
- file system
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
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
本发明公开了一种用于克隆和级联文件系统中的两个或多个文件的方法(600)、客户端节点(702)和系统(700),用于提供通过NAS协议摄取的大型文件的有效级联,并通过智能使用文件快照和克隆消除各节点和/或各客户端之间的I/O突发。与传统的分布式存储系统不同,本发明通过智能使用文件快照和克隆来完全消除了各节点和/或各客户端之间的I/O突发。本发明的目的是动态地创建文件的即时快照,合并其元数据,并将结果文件克隆到其目的地中,从而完全消除I/O突发,并显著节省网络带宽。所述系统(700)包括服务器节点(701)和一个或多个客户端节点(702)。
Description
技术领域
本文描述的主题一般涉及数据存储,更具体地说,涉及用于克隆和级联文件系统中的两个或多个文件的方法、客户端节点和系统。
背景技术
世界各地的企业都认识到其数据的商业价值,因此,寻求可靠和经济有效的方法来保护存储在其计算机网络上的信息,同时将对生产力的影响降至最低。公司将备份其关键计算系统,如数据库、文件服务器、网页服务器等,作为每日、每周或每月维护计划的一部分。公司还将寻求保护其每位员工使用的计算机系统,如会计部门、营销部门、工程部门等使用的计算机系统。考虑到管理的数据量迅速扩大,除了保护数据之外,公司还继续寻求管理数据增长的创新技术。
从历史上看,快照和克隆操作一直在作为虚拟对象的存储容器上进行。克隆是现有虚拟机(virtual machine,VM)的副本。现有虚拟机称为克隆的父虚拟机。克隆操作完成后,克隆是一个单独的虚拟机,而快照是虚拟机磁盘文件在给定时间点的副本。快照为虚拟磁盘提供更改日志,用于在发生故障或系统错误时将虚拟机恢复到特定时间点。简单地说,克隆就是制作某物的完整副本,而快照则制作一个初始副本,然后只是进行简单的后续更改。此外,存储快照可用于创建克隆。
对于存储区域网络(Storage Area Network,SAN)阵列,这些操作是在逻辑单元号(Logical Unit Number,LUN)上进行的,而对于网络附属存储(Network AttachedStorage,NAS)阵列,这些操作是在卷或聚合上进行的,卷或聚合都是逻辑对象。这两个操作有效地使用户能够捕获数据集的一个或多个即时映像(称为快照),并以非重叠的方式(称为克隆)在多个用户之间共享映像。
新时代的应用程序,如无SQL数据库、对象或blob类型的存储,创建大量的小型文件。另一个应用程序实例,如大数据和Hadoop,创建少量大型文件。人工智能(ArtificialIntelligence,AI)和机器学习(Machine Learning,ML)应用程序,创建只能附加(无覆盖)的可变大小不可变文件的混合。最后,所有这些应用程序的组合创建了一个数据湖,保存了通过各种协议可互操作和可互访的各种文件。
在所有这些实例中,通常一个大型存储容器提供空间管理原语,大多数用户对数据的一小部分进行操作。因此,在整个存储容器上应用快照和克隆原语可能会迅速浪费大量宝贵的存储空间。其次,数据的多协议访问往往效率低下。例如,在Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)上下文中级联大型文件通常会导致读写请求的突发,否则这些请求可以使用快照和克隆进行高效处理。因此,迫切需要以单个文件或目录级提供这两个原语,即快照和克隆,以便不会锁定(因此,不会浪费)存储空间,并高效处理多协议操作。
有关某些最先进的技术,请参阅NetApp Snapshot和FlexClone,它们是存储行业领先的技术方案。这两种技术都具有高度的空间效率和速度,因为可以最大限度地共享和克隆底层块(写时复制)。这些技术在容器虚拟卷FlexVol上运行,文件和目录存储在其中。与这些最先进的技术相关的主要缺点是,即使只有很少的文件要进行快照或克隆,管理员也必须进行卷级快照。因此,在快照中捕获了不相关的数据,这导致了大量的存储浪费。在AI和ML应用的上下文中,这种浪费会迅速耗尽可用的物理存储空间。在支持HDFS语义的上下文中访问NAS数据时,与这些技术相关的另一个缺点出现了。HDFS用户经常会对多个大文件进行级联。通常,底层存储将从多个源文件读取大块数据,然后将结果级联数据刷新到目标文件,所有这些都会导致大的I/O峰值。一个快速而高效的技术方案是快照源文件并将其合并到目标目录中。但是,由于NetApp固有的体系结构限制,NetApp无法执行同样的操作。
此外,还参考了横向扩展NAS,有助于在特定目录级别进行更细粒度的快照。这个概念被称为“D树(D-tree)”。D树有自己的对象ID空间。创建D树时,系统为其分配唯一的D树标识符。D树标识符成为文件系统(file system,FS)键的一部分。在对象标识符(ObjectIdentifier,OID)中,每个键都与一个时间点关联,该时间点有助于捕获键的不同版本。创建快照时使用此机制。当拍摄D树级别的快照时,与该D树对应的时间点将递增。拍摄快照后对键的任何写入都将获得此新时间点,从而保留旧键(又名快照)。当拍摄整个FS快照时,我们在所有D树中选择最高的时间点,递增该时间点,并将其用于活动FS及其中的所有D树。在拍摄FS快照后,对键(在FS或D树中)的任何写入都将获得此新时间点,从而保留键的旧版本。与此技术相关的主要缺点是,它涉及将现有目录的物理副本带到新的D树中。因此,它变得具有限制性,特别是当目录具有大量文件或文件大小较大时,例如在大数据中。
因此,需要消除节点和/或客户端之间的I/O突发以及在快照中捕获的不相关数据,并且需要消除将现有目录的物理副本带到新的D树中,这两种情况都会导致存储资源的浪费。具体而言,需要提供通过NAS协议摄取的大型文件的高效级联,并通过智能使用文件快照和克隆消除节点和/或客户端之间的I/O突发。
上述对文件快照和克隆的智能使用的需求仅旨在概述传统系统/机制/技术的一些缺点,并不打算详尽无遗。在下文综述中,常规系统/机制/技术的其它问题/缺点以及本文描述的各种非限制性实施例的相应优点会变得更明显。
发明内容
提供本发明内容是为了介绍与克隆和级联文件系统中的两个或多个文件的方法、客户端节点和系统相关的概念,同样的概念将在下面的详细描述中进一步描述。本发明内容不旨在识别所要求保护的发明的基本特征,也不旨在用于确定或限制所要求保护的发明的范围。
本发明的一个目的是在HDFS语义的上下文中提供通过NAS协议摄取的大型文件的高效级联。
本发明的另一个目的是通过智能使用文件快照和克隆来消除节点和/或客户端之间的I/O突发。
本发明的又一个目的是动态地创建文件的即时快照,合并其元数据,并将结果文件克隆到其目的地,以完全消除I/O突发并显著节省网络带宽。
具体而言,本发明公开了一种用于克隆和级联文件系统中的两个或多个文件的方法、客户端节点和系统,用于提供通过NAS协议摄取的大型文件的高效级联,并通过智能使用文件快照和克隆来消除节点和/或客户端之间的I/O突发。本发明的目的是动态地创建文件的即时快照,合并其元数据,并将结果文件克隆到其目的地中,从而完全消除I/O突发,并显著节省网络带宽。
根据本发明的第一方面,提供了一种用于克隆和级联文件系统中的两个或多个文件的方法。所述方法包括以下步骤:客户端节点通过在带外调用克隆应用程序接口(Application Program Interface,API)到所述文件系统来创建所述两个或多个输入文件的克隆;所述客户端节点在目标目录中创建级联文件,以保存所述两个或多个输入文件的级联内容;所述客户端节点调用私人API以级联所述两个或多个输入文件的所述克隆;所述客户端节点将所述级联文件存储在所述文件系统上的所述目标目录中。
根据所述第一方面,在所述方法的第一种可能的实现方式中,在创建所述所述输入文件的克隆之前,所述方法包括以下步骤:所述客户端节点从服务器节点接收级联所述文件系统的所述两个或多个输入文件的请求;所述客户端节点确定所述文件系统中存在所述两个或多个输入文件;所述客户端节点通过调用查找API检索与所述输入文件相关的文件句柄。
根据所述第一方面,在所述方法的第二种可能的实现方式中,所述文件系统是横向扩展网络附属存储(Network Attached Storage,NAS)文件系统,所述文件系统包括多个存储节点。
根据所述第一方面,在所述方法的第三种可能的实现方式中,所述客户端节点是Ubique I/O客户端,所述服务器节点是远程过程调用(Remote Procedure Call,RPC)服务器。
根据所述第一方面,在所述方法的第四种可能的实现方式中,所述两个或多个输入文件是源文件,所述目标目录上的所述级联文件是级联所述两个或多个输入文件的所述克隆之后的输出文件。
根据所述第一方面,在所述方法的第五种可能的实现方式中,所述请求包括所述两个或多个输入文件的列表以及所述结果级联文件的名称和目标目录。
根据所述第一方面,在所述方法的第六种可能的实现方式中,所述确定所述文件系统中存在所述输入文件包括以下步骤:所述客户端节点调用所述文件系统的统计信息或获取属性API以确定存在所述输入文件;所述客户端节点调用所述文件系统的统计信息或获取属性API以确定所述目标目录中不存在所述级联文件。
根据所述第一方面,在所述方法的第七种可能的实现方式中,所述克隆所述两个或多个输入文件包括以下步骤:所述客户端节点中的所述克隆API,通过克隆与所述输入文件的OID相关的PLOG ID以创建对应于每个输入文件的新PLOG ID,来创建所述输入文件的快速即时映像。
根据所述第一方面,在所述方法的第八种可能的实现方式中,所述级联所述两个或多个输入文件的所述克隆包括以下步骤:所述客户端节点中的所述克隆API调用索引子系统以克隆与所述两个或多个输入文件的所述OID对应的PLOG ID;所述客户端节点中的所述克隆API请求所述文件系统为所述级联的PLOG ID分配OID,并通过索引API克隆与所述输入文件的OID对应的PLOG ID;所述客户端节点中的级联API以与所述输入文件相同的顺序组装所述克隆的PLOG ID;所述客户端节点的所述克隆API将OID分配给所述组装的PLOGID。
根据本发明的第二方面,提供了一种系统,用于克隆和级联所述系统中的两个或多个文件。所述系统包括服务器节点和至少一个客户端节点。所述客户端节点用于:通过在带外调用克隆应用程序接口(Application Program Interface,API)到所述文件系统来创建所述两个或多个输入文件的克隆;在目标目录中创建级联文件,以保存所述两个或多个输入文件的级联内容;调用私人API以级联所述两个或多个输入文件的所述克隆;将所述级联文件存储在所述文件系统上的所述目标目录中。
根据所述第二方面,在所述系统的第一种可能的实现方式中,所述服务器节点用于:向所述客户端节点发送级联所述文件系统的两个或多个输入文件的请求;所述客户端节点用于:确定所述文件系统中存在所述两个或多个输入文件;通过调用查找应用程序接口(Application Program Interface,API)检索与所述输入文件相关的文件句柄。
根据所述第二方面,在所述系统的第二种可能的实现方式中,所述文件系统是横向扩展网络附属存储(Network Attached Storage,NAS)文件系统,所述文件系统包括多个存储节点。
根据所述第二方面,在所述系统的第三种可能的实现方式中,所述客户端节点是Ubique I/O客户端,所述服务器节点是远程过程调用(Remote Procedure Call,RPC)服务器。
根据所述第二方面,在所述系统的第四种可能的实现方式中,所述两个或多个输入文件是源文件,所述目标目录上的所述级联文件是级联所述两个或多个输入文件的所述克隆之后的输出文件。
根据所述第二方面,在所述系统的第五种可能的实现方式中,所述请求包括所述两个或多个输入文件的列表以及所述结果级联文件的名称和目标目录。
根据所述第二方面,在所述系统的第六种可能的实现方式中,所述客户端节点通过以下步骤确定所述文件系统中存在所述输入文件:调用所述文件系统的统计信息或获取属性API以确定存在所述输入文件;调用所述文件系统的统计信息或获取属性API以确定所述目标目录中不存在所述级联文件。
根据所述第二方面,在所述系统的第七种可能的实现方式中,所述克隆所述两个或多个输入文件包括以下步骤:所述客户端节点通过克隆与所述输入文件的OID相关的PLOG ID以创建对应于每个输入文件的新PLOG ID,来创建所述输入文件的快速即时映像。
根据所述第二方面,在所述系统的第八种可能的实现方式中,所述级联所述两个或多个输入文件的所述克隆包括以下步骤:所述客户端节点调用索引子系统以克隆与所述两个或多个输入文件的所述OID对应的PLOG ID;所述客户端节点请求所述文件系统为所述级联的PLOG ID分配OID,并通过索引API克隆与所述输入文件的OID对应的PLOG ID;所述客户端节点以与所述输入文件相同的顺序组装所述克隆的PLOG ID;所述客户端节点将OID分配给所述组装的PLOG ID。
根据本发明的第三方面,提供了一种用于克隆和级联文件系统中的两个或多个文件的客户端节点。所述客户端节点包括:处理单元、通信单元和存储单元。所述通信单元用于从服务器节点接收级联所述文件系统的所述两个或多个输入文件的请求。所述处理单元用于:确定所述文件系统中存在所述两个或多个输入文件;通过调用查找应用程序接口(Application Program Interface,API)检索与所述输入文件相关的文件句柄;通过在带外调用克隆API到所述文件系统来创建所述两个或多个输入文件的克隆;在目标目录中创建级联文件,以保存所述两个或多个输入文件的级联内容;调用私人API以级联所述两个或多个输入文件的所述克隆。所述存储单元用于将所述级联文件存储在所述文件系统上的所述目标目录中。
本发明的其它方面、优点和显著特点将从以下详细描述中变得显而易见,该详细描述结合附图公开了本发明的示例性实施例。
附图说明
详细说明参照附图进行描述。在附图中,附图标记的数字标识该附图标记首次出现的附图。在整个附图中使用相同的数字来指代类似的特征和组件。
图1为本发明实施例提供的横向扩展NAS(FSS)和索引层之间交互的时序图。
图2为本发明提供的横向扩展NAS文件系统、索引子系统和持久层(PLOG)等服务层之间的关系的框图。
图3为本发明提供的索引子系统的框图。
图4为本发明提供的各种软件子系统部署的框图。
图5为本发明的另一个实施例提供的服务层(文件系统)和索引子系统之间交互的框图,并示出了索引子系统中OID的分配和存储。
图6为本发明的另一个实施例提供的用于克隆和级联文件系统中两个或多个文件的方法的流程图。
图7为本发明的另一个实施例提供的用于克隆和级联文件系统中两个或多个文件的系统的框图。
图8为本发明提供的用于克隆和级联文件系统中两个或多个文件的客户端节点的框图。
应当理解,所附附图是为了说明本发明的概念,并且可能不是按比例绘制的。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明可以以多种方式实现,作为过程、装置、系统、物质组成、计算机可读介质,例如计算机可读存储介质或计算机网络,其中程序指令通过光学或电子通信链路发送。在本说明书中,这些实现方式或本发明可以采取的任何其它形式可以称为技术。一般来说,所公开的方法的步骤的顺序可以在本发明的范围内改变。
下面提供了本发明的一个或多个实施例的详细描述,以及说明本发明原理的附图。结合这些实施例描述了本发明,但本发明不限于任何实施例。本发明的范围仅受权利要求的限制,本发明包括许多替代方案、修改和等价物。为了提供对本发明的彻底理解,在下面的描述中阐述了许多具体的细节。这些细节是为了示例的目的而提供的,并且本发明可以根据权利要求实施,而不需要这些特定细节中的一些或全部。为了清楚起见,在与本发明相关的技术领域中已知的技术材料没有被详细描述,以便本发明不会被不必要地模糊。
在以下详细描述中,阐述了许多具体细节以便提供对本发明的透彻理解。然而,所属领域的技术人员将理解,可以在没有这些具体细节的情况下实践本发明。在其它情况下,公知的方法、过程和组件、模块、单元和/或电路没有被详细描述,以便不掩盖本发明。
虽然本发明实施例在这方面不受限制,但使用诸如“处理”、“运算”、“计算”、“确定”、“建立”、“分析”、“检查”等术语的讨论,可指计算机、计算平台、计算系统或其它电子计算设备的操作和/或过程,这些操作和/或过程将计算机的寄存器和/或存储器中表示为物理(例如,电子)量的数据,操作和/或转化为计算机的寄存器和/或存储器或其它可存储用于执行操作和/或过程的指令的信息非瞬时性存储介质中的类似地表示为物理量的其它数据。
虽然本发明实施例在此方面不受限制,但本文中使用的术语“多数”和“多个”可以包括例如“倍数”或“两个或多个”。整个说明书中的术语“多数”或“多个”可用于描述两个及以上组件、设备、元件、单元、参数等。除非明确说明,本文描述的方法实施例不受特定顺序或顺序的限制。此外,此处所描述的方法实施例或元件中的一些可以同时发生或执行,也可以在同一时间点发生或执行,或者并行发生或执行。
在本发明中,“克隆”是指制作对象的完整可写副本。对象可以是文件、目录或卷。
在本发明中,“快照”是指在特定时间点拍摄原始图像,然后每个后续图像仅与前一张图像存在差异。
在本发明中,“逻辑单元号(Logical Unit Number,LUN)”是指用于指定与主机计算机执行输入/输出(I/O)命令的物理或虚拟存储设备的单个或集合的唯一标识符,由小型计算机系统接口(Small Computer System Interface,SCSI)标准定义。LUN是存储区域网络(storage-area network,SAN)中数据块存储阵列管理的核心,使用LUN可以简化存储资源的管理,因为可以通过逻辑标识符分配访问和控制权限。
在本发明中,“网络附属存储(Network Attached Storage,NAS)”是指连接到计算机网络的文件级(相对于块级)计算机数据存储服务器,提供对异构客户端组的数据访问。NAS专门用于通过其硬件、软件或两者的组合及其相关配置为文件提供服务。
在本发明中,“存储区域网络(Storage Area Network,SAN)”是指提供对整合的块级数据存储的访问的计算机网络。SAN主要用于增强存储设备(如磁盘阵列和磁带库)对服务器的可访问性,以便这些设备在操作系统中看起来是本地连接的设备。SAN通常是通过其自己的私人网络访问的存储设备的专用网络,因此其它设备无法通过局域网(local areanetwork,LAN)访问SAN,从而防止LAN流量在数据传输中的干扰。
在本发明中,“Inode”是指索引节点,它是Unix风格文件系统中描述文件或目录等文件系统对象的数据结构。每个Inode存储对象数据的属性和磁盘块位置。文件系统对象属性可以包括元数据(上次更改时间、访问时间、修改时间)以及所有者和权限数据。
在本发明中,“持久日志(Persistent Log,PLOG)标识符”是指持久层提供的存储空间管理单元。
在本发明中,“持久层”是指持久管理底层存储介质上的数据的子系统。该子系统是连接到节点的存储介质的控制器。
在本发明中,“对象标识符(object identifier,OID)”是指文件系统生成的用于存储对象和数据的标识符。每个Inode都有其唯一的OID,该OID作为键值(key-value,KV)对存储在PLOG中。
在本发明中,“横向扩展NAS子系统”是指其文件可以通过文件协议访问的分布式横向扩展文件系统,如网络文件系统(Network File System,NFS)和公共网络文件系统(Common Internet File System,CIFS)。
在本发明中,“源文件”是指横向扩展NAS文件系统的目录中存在的用户文件。
在本发明中,“Ubique I/O”是指私人客户端,它是通常运行在主机上的专用代理软件。
在本发明中,“文件句柄”是指横向扩展NAS文件系统返回给应用程序的标识符。文件句柄是横向扩展NAS文件系统中每个文件的唯一标识符。
在本发明中,“blob”是指逻辑存储块。索引子系统将唯一的blob返回到横向扩展NAS文件系统,而持久层将具有唯一PLOG ID的blob返回到索引子系统。索引子系统返回的blob由横向扩展NAS文件系统分配唯一的OID,并且由横向扩展NAS文件系统为每个文件永久存储相同的OID。
本发明公开了一种用于克隆和级联文件系统中两个或多个文件的方法、客户端节点和系统。虽然描述了用于在多个通信设备中基于能力的内容呈现的方面,但本发明可以在任何数量的不同计算系统、环境和/或配置中实现,但在以下示例性系统、设备/节点/装置和方法的上下文中描述了实施例。
此后,可借助示例性图表和一个或多个示例来解释本发明实施例。然而,提供此类示例性图和示例是为了说明目的,以便更好地理解本发明,不应解释为对本发明范围的限制。
与NetApp Snapshot和FlexClone等最新技术相关的问题是,它们需要管理员拍摄卷级快照,即使很少有文件需要进行快照或克隆,由此在快照中捕获到不相关的数据,从而导致存储空间的极大浪费。在AI和ML应用的背景下,这种浪费会迅速耗尽可用的物理存储空间。此外,在支持HDFS语义的上下文中访问NAS数据时,HDFS用户经常执行多个大型文件的级联。底层存储将从多个源文件读取大块数据,然后将结果级联数据刷新到目标文件,从而产生大的I/O峰值。由于NetApp固有的体系结构限制,NetApp无法拍摄快照并将源文件合并到目标目录中。
与横向扩展NAS技术相关的缺点是,其分布式特性固有地强制基于副本创建文件和目录快照克隆。此缺点源于它无法访问更高的软件层,如横向扩展NAS。因此,由于数据块的物理复制,快照和克隆效率极低。本发明描述了一种新的技术,以使用来自索引子系统的块共享技术使上述内容变得高效并消除先前的物理复制操作。
本发明要解决的技术问题如下:
a.通过控制索引子系统快速克隆PLOG标识符。横向扩展NAS文件系统为文件系统中的每个对象生成唯一的OID。这些OID由索引子系统以不透明的方式存储和管理。也就是说,索引子系统仅将OID视为不透明的数据blob,但在存储在存储介质上时,为每个此类blob分配唯一的持久日志(persistent log,PLOG)ID。在文件克隆期间,以有效的方式克隆这些OID,从而克隆PLOG ID是很重要的。作为PLOG ID的控制器,索引子系统调用其原生克隆功能来克隆源PLOG ID,所述源PLOG ID对应源文件的OID,并将新创建的PLOG ID的ID返回到文件系统层,这些PLOG ID具有相同的blob。因此,源OID将在索引子系统中克隆。
b.通过索引子系统在目标OID中组装多个PLOG ID。如(a)所述,克隆的PLOG ID是源PLOG ID(即源文件的OID)的副本,文件系统将这些克隆的PLOG ID与新的OID关联,这将是克隆的OID。索引子系统可以按任何顺序返回克隆的PLOG ID阵列,因此,由文件系统负责维护正确因果顺序。文件系统通过分析源文件中的相应关联或映射来执行此任务,并在目标文件(即克隆)中设置因果顺序,并保证克隆文件系统对象(可以是文件或目录)中的精确一致性语义。
c.将这些原语集成到横向扩展NAS的Ubique I/O(私人客户端)组件中,以便终端用户可以直接从提高的性能中受益。Ubique I/O客户端是一个专门的代理软件,通常在主机上运行。此软件位于I/O路径中,将用户请求重定向到最合适的节点,并为其用户提供最大的性能。在Ubique I/O软件中集成克隆应用程序接口(Application ProgramInterface,API)将使用户能够调用原生克隆功能,从而消除通常遇到的NAS协议的传统延迟。
因此,需要消除节点和/或客户端之间的I/O突发以及在快照中捕获的不相关数据,从而导致存储资源的浪费。具体而言,需要提供通过NAS协议摄取的大型文件的高效级联,并通过智能使用文件快照和克隆消除节点和/或客户端之间的I/O突发。
本发明简化了分布式存储系统多协议访问中的数据管理和数据操作。更具体地说,有助于在HDFS语义的上下文中提供通过NAS协议摄取的大型文件的高效级联。与传统的分布式存储系统不同,本发明通过智能使用文件快照和克隆来完全消除节点和/或客户端之间的I/O突发。更具体地说,本发明的目的是动态地创建文件的即时快照,合并其元数据,并将结果文件克隆到其目的地中,从而完全消除I/O突发,并显著节省网络带宽。值得注意的是,克隆是完整副本,而快照是特定版本的图像。
图1为本发明实施例提供的横向扩展NAS(FSS)和索引层之间交互的时序图。图1示出了运行Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)的主机使用克隆API的情况,HDFS是本实例中的用户。源PLOG ID的克隆、合并及其与目标文件OID的关联是一个原子操作。虽然不是强制性的,但原子性简化并保证了系统的数据一致性和完整性。
值得注意的是,横向扩展NAS文件系统是位于每个存储节点上的核心文件系统,特别是在图4所示的分布式元数据服务(Distributed Metadata Service,DMS)和本地目录划分(Local Directory Partition,LDP)中。多个存储节点连接形成集群。此外,横向扩展NAS导出多个API端点,克隆API就是这些API端点之一。其它端点包括级联API和索引API。级联API在内部调用克隆API,以按照与源文件和克隆API(通过索引API克隆的文件)相同的因果顺序组装克隆的PLOG ID。Ubique I/O客户端将调用克隆API。通常,如果源文件是存储节点的本地文件,或远程文件的远程过程调用(remote procedure call,RPC),则克隆API是函数调用。
级联操作涉及的各种步骤如下:
a.在第一步中,Ubique I/O客户端从RPC服务器接收请求,以级联驻留在横向扩展NAS文件系统中的两个或多个文件,并将结果(输出)文件存储在横向扩展NAS文件系统的某个目录中;
b.在第二步中,Ubique I/O客户端验证在横向扩展NAS文件系统中是否存在需要级联的源文件或文件,并通过调用横向扩展NAS文件系统的“查找”API获取这些文件的文件句柄,从而检索源文件的文件句柄;
c.在第三步中,Ubique I/O客户端创建一个目标文件,该文件会保存源文件的级联内容,目标文件可以存储在存储群集的任何节点上;
d.在第四步也是最后一步中,Ubique I/O客户端调用克隆API,该API创建源文件的高效克隆(副本),然后级联以创建一个目标文件。包括以下几个重要步骤:
i.首先,克隆API调用索引子系统为克隆的源文件和结果目标文件分配OID,调用横向扩展NAS文件系统为级联的PLOG ID分配唯一的OID,并通过索引API克隆与源文件的OID对应的PLOG ID;
ii.其次,级联API以与源文件相同的因果顺序组装克隆的PLOG ID;
iii.第三,克隆API为组装的PLOG ID分配唯一的OID。
来自RPC服务器的级联驻留在横向扩展NAS文件系统中的两个或多个文件的请求包括作为输入的源文件列表以及输出文件的名称和目标目录,其中包含源文件的级联。UbiqueI/O客户端通过向横向扩展NAS文件系统发出“统计”或“访问”API,验证横向扩展NAS文件系统中存在需要级联的源文件或文件。这是任一文件系统的标准检查。在这些步骤结束时,源文件的内容将有效地复制和级联在目标文件中,而不会破坏原始源文件,HDFS和横向扩展NAS文件系统之间也不会存在物理网络I/O。
更具体地说,在没有用户数据I/O的情况下级联多个源文件涉及以下步骤:
1.通过克隆与源文件的对象标识符(object identifier,OID)关联的持久日志(Persistent Log,PLOG)标识符,创建快速即时映像或快照;
2.合并源文件的快照(即克隆的PLOG ID),并将其组装到目标文件的OID中。在此阶段,目标文件是源文件的完整级联,存储节点之间没有任何重型数据复制操作;
3.将OID导出到横向扩展NAS子系统,该子系统为目标文件创建索引节点。
具体来说,在没有物理文件系统I/O的情况下复制大型文件包括以下步骤:
1.通过克隆源文件与OID关联的PLOG ID,创建源文件的快速即时映像或快照。在此阶段,源文件的“即时副本”已准备好。
2.将克隆的PLOG ID组装到新的OID中,并将该OID导出到横向扩展NAS子系统。在此阶段,目的地处的新OID本质上是创建的源文件的副本,而不在分布式存储的节点上执行任何重型I/O。
图2为本发明提供的横向扩展NAS文件系统、索引子系统和持久层(PLOG)等服务层之间的关系的概念框图。PLOG将物理存储逻辑分割成几个块。每个块都是一个存储blob,由PLOG ID(键)标识。索引子系统是PLOG的使用者,并在逻辑上将PLOG ID分组到分片中。服务层是上层子系统,它通过关联和存储文件的OID来消耗分片,同时提供文件系统语义。
图3为本发明提供的索引子系统的框图。索引子系统从服务层获取OID或其它Blob,并调用PLOG的服务,将这些服务作为键和值(KV)永久存储在存储介质上。
图4为本发明提供的各种软件子系统部署的框图。图中示出了托管应用程序的计算节点的组件和存储群集组件。计算节点通过NFS、服务器消息块(Server Message Block,SMB)、CIFS或其它相关协议与存储节点进行组网。存储群集,特别是横向扩展NAS文件系统上的对应块,以分布式方式处理用户请求。如图所示,有分布式元数据存储组件,即DMS及其对应的本地数据划分,或LDP,用于管理存储并保存用户文件和目录。LDP组件由服务层、索引子系统和管理物理存储的PLOG客户端组成,如前面各部分所述。
图5为本发明另一个实施例提供的服务层(文件系统)和索引子系统之间交互的框图,并示出了索引子系统中OID的分配和存储。图中还突出显示了横向扩展NAS中文件和目录的OID及其关联的分配和存储。克隆API调用索引子系统API以快速创建输入OID的副本,并随后将这些副本与作为克隆一部分的新OID关联。
图6为本发明另一个实施例提供的用于克隆和级联文件系统(700)中的两个或多个文件的方法(600)的流程图。方法(600)包括以下步骤:
步骤601:客户端节点(702)从服务器节点(701)接收级联文件系统(700)中的两个或多个输入文件的请求;
步骤602:客户端节点(702)确定文件系统(700)中存在两个或多个输入文件;
步骤603:客户端节点(702)通过调用查找应用程序接口(Application ProgramInterface,API)检索与输入文件相关的文件句柄;
步骤604:客户端节点(702)通过在带外调用克隆API到文件系统(700)来创建两个或多个输入文件的克隆;
步骤605:客户端节点(702)在目标目录中创建级联文件,以保存两个或多个输入文件的级联内容;
步骤606:客户端节点(702)调用私人API以级联两个或多个输入文件的克隆;
步骤607:客户端节点(702)在不损坏原始源文件的情况下将级联文件存储在文件系统(700)上的目标目录中。
请求包括两个或多个输入文件的列表以及结果级联文件的名称和目标目录。此外,如图6所示,确定文件系统(700)中存在输入文件的步骤还包括以下步骤:
客户端节点(702)调用文件系统(700)的统计信息或获取属性API以确定存在输入文件;
客户端节点(702)调用文件系统(700)的统计信息或获取属性API以确定目标目录中不存在级联文件。
此外,如图6所示,克隆两个或多个输入文件的步骤还包括以下步骤:
客户端节点(702)中的克隆API,通过克隆与输入文件的OID相关的PLOG ID以创建对应于每个输入文件的新PLOG ID,来创建输入文件的快速即时映像。
此外,如图6所示,级联两个或多个输入文件的克隆的步骤还包括以下步骤:
客户端节点(702)中的克隆API调用索引子系统以克隆与两个或多个输入文件的OID对应的PLOG ID;
客户端节点(702)中的克隆API请求文件系统(700)为级联的PLOG ID分配OID,并通过索引API克隆与输入文件的OID对应的PLOG ID;
客户端节点(702)中的级联API以与输入文件相同的顺序组装克隆的PLOG ID;
客户端节点(702)中的克隆API将OID分配给组装的PLOG ID。
图7为本发明另一个实施例提供的通过实现如图6所示的方法来克隆和级联两个或多个文件的系统(700)的框图。系统(700)包括服务器节点(701)和至少一个客户端节点(702)。服务器节点(701)用于将级联文件系统(700)的两个或多个输入文件的请求发送给客户端节点(702)。客户端节点(702)用于:确定文件系统(700)中存在两个或多个输入文件;通过调用查找应用程序接口(Application Program Interface,API)检索与输入文件相关的文件句柄;通过在带外调用克隆API到文件系统(700)来创建两个或多个输入文件的克隆;在目标目录中创建级联文件,以保存两个或多个输入文件的级联内容;调用私人API以级联两个或多个输入文件的克隆;将目标目录中的级联文件存储在文件系统(700)中。
客户端节点(702)通过以下步骤确定文件系统(700)中存在输入文件:调用文件系统(700)的统计信息或获取属性API以确定存在所述输入文件;调用文件系统(700)的统计信息或获取属性API以确定目标目录中不存在级联文件。
客户端节点(702)通过以下步骤克隆两个或多个输入文件:克隆与所述输入文件的OID相关的PLOG ID以创建对应于每个输入文件的新PLOG ID,来创建输入文件的快速即时映像。这些副本是使用文件系统的克隆API创建的。
客户端节点(702)通过以下步骤级联两个或多个输入文件的克隆:调用索引子系统以克隆与两个或多个输入文件的OID对应的PLOG ID;请求文件系统(700)为级联的PLOGID分配OID,并通过索引API克隆与输入文件的OID对应的PLOG ID;以与输入文件相同的顺序组装克隆的PLOG ID;将新的OID分配给组装的PLOG ID。
图8为本发明的另一个实施例提供的用于克隆和级联文件系统(700)中的两个或多个文件的客户端节点(702)的框图。客户端节点(702)包括:处理单元(7021)、通信单元(7022)和存储单元(7023)。通信单元(7021)用于从服务器节点(701)接收级联文件系统(700)中的两个或多个输入文件的请求。处理单元(7022)用于:确定文件系统(700)中存在两个或多个输入文件;通过调用查找应用程序接口(Application Program Interface,API)检索与输入文件相关的文件句柄;通过在带外调用克隆API到文件系统(700)来创建两个或多个输入文件的克隆;在目标目录中创建级联文件,以保存两个或多个输入文件的级联内容;调用私人API以级联两个或多个输入文件的克隆。存储单元(7023)用于将级联文件存储在文件系统(700)上的目标目录中。
文件系统(700)是横向扩展网络附属存储(Network Attached Storage,NAS)文件系统(700),文件系统(700)包括形成集群的多个存储节点。客户端节点(702)是Ubique I/O客户端,服务器节点(701)是远程过程调用(Remote Procedure Call,RPC)服务器。两个或多个输入文件是源文件,级联文件是在不引入网络流量和使用克隆API的情况下级联两个或多个输入文件的克隆后的输出文件。
本发明的另一个实施例是计算机可读存储介质,在所述计算机可读存储介质中存储有程序,其中,所述程序包括用于执行图6所示的方法(600)的指令。
本发明将在以下使用情形中有用:
1.单个文件级复制和恢复:文件级快照可用于备份和恢复横向扩展NAS中的单个文件。
2.通过对象协议支持,此框架可以有助于在横向扩展NAS中实现blob/块/页面blob存储,类似于Microsoft Azure中的功能。
本发明在两个实例中得到应用。首先,本发明在没有任何物理网络I/O的情况下级联大型HDFS文件,其次,还可以通过Ubique I/O客户端快速克隆虚拟机。
本发明提供的技术效果是显著减少网络流量,从而最大限度地减少对应用程序I/O的干扰。
本发明的一些非限制性优点和未来的实现方式如下所示:
本领域技术人员可以理解,任何已知的或新的算法都可用于实现本发明。然而,应当注意的是,本发明提供了一种用于克隆和级联文件系统中的两个或多个文件的方法、客户端节点和系统,以实现上述优点和技术进步,而不管使用任何已知或新算法。
本领域普通技术人员可以意识到,结合说明书中所公开的实施例描述的各个示例,本申请能够通过电子硬件或计算机软件与电子硬件的组合来实现单元和算法步骤。这种功能是通过硬件还是软件执行的,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定应用使用不同方法来实现所描述的功能,但是这种实现方式不应认为超出本发明的范围。
本领域技术人员可以清楚地理解,为了描述的方便和简洁,上述系统、装置和单元的具体工作过程可以参见上述方法实施例中的相应过程,在此不再赘述。
在本应用中提供若干实施例中,应理解,所公开的装置、方法或系统可通过其它方式实现。例如,所描述的装置实施例仅仅是示例性的。例如,单元划分仅仅是逻辑功能划分且在实际实现方式中可以是其它划分。例如,可将多个单元或部件合并或集成到另一系统中,或可忽略或不执行部分特征。另外,所显示或讨论的相互耦合或直接耦合或通信连接可以是通过一些接口来实现的。装置或单元之间的直接耦合或通信连接可通过电子、机械或其它形式实现。
当这些功能以软件功能单元的形式实现并作为独立产品销售或使用时,这些功能可以存储在计算机可读存储介质中。基于这种理解,本发明的技术方案基本上或构成现有技术的部分或技术方案的部分可通过软件产品的形式实现。所述计算机软件产品存储在存储介质中,并包括若干指令,用于指示计算机节点(其可能是个人计算机、服务器或网络节点)执行本发明实施例中所描述的方法的所有或部分步骤。上述的存储介质包括:U盘、可移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁盘或光盘等任何可以存储程序代码的介质。
相互通信的设备互相不需要互相保持连续通信,除非另有明确说明。此外,相互通信的设备可以通过一个或多个中间设备直接或间接地进行通信。
当本文描述单个装置或制品时,很明显,可以使用不止一个装置/制品(无论它们是否协作)来代替单个装置/制品。类似地,如果本文描述了不止一个设备或制品(不论它们是否协作),显然可以使用单个设备/制品来代替不止一个设备或制品,或者可以使用不同数量的设备/制品,而不是所示数量的设备或程序。设备的功能和/或特征可以替换地由一个或多个未明确描述为具有此类功能/特征的其它设备来体现。因此,本发明的其它实施例不需要包括设备本身。
最后,说明书中使用的语言主要是为了可读性和教学目的而选择的,可能不是为了描述或限制发明主题。因此,本发明的范围不受本详细描述的限制,而是受基于本文的申请提出的任何权利要求的限制。因此,本发明实施例的公开旨在说明但不是限制本发明的范围,本发明的范围在以下权利要求中提出。
关于本文中基本上任何复数和/或单数术语的使用,本领域技术人员可以根据上下文和/或应用从复数翻译为单数和/或从单数翻译为复数。为了清楚起见,各种单数/复数排列可以在此明确阐述。
虽然用于克隆和级联文件系统中的两个或多个文件的方法、客户端节点和系统的实现方式已经以特定于结构特征和/或方法的语言描述,应当理解,所附权利要求书不一定限于所描述的特定特征或方法。相反,揭露具体的功能和方法为快速文件快照和克隆的实现示例。
Claims (20)
1.一种用于克隆和级联文件系统(700)中的两个或多个文件的方法(600),其特征在于,所述方法(600)包括以下步骤:
客户端节点(702)通过在带外调用克隆应用程序接口(Application ProgramInterface,API)到所述文件系统(700)来创建(604)所述两个或多个输入文件的克隆;
所述客户端节点(702)在目标目录中创建(605)级联文件,以保存所述两个或多个输入文件的级联内容;
所述客户端节点(702)调用(606)私人API以级联所述两个或多个输入文件的所述克隆;
所述客户端节点(702)将所述级联文件存储(607)在所述文件系统(700)上的所述目标目录中。
2.根据权利要求1所述的方法(600),其特征在于,在创建所述输入文件的克隆之前,所述方法包括以下步骤:
所述客户端节点(702)从服务器节点(701)接收(601)级联所述文件系统(700)的所述两个或多个输入文件的请求;
所述客户端节点(702)确定(602)所述文件系统(700)中存在所述两个或多个输入文件;
所述客户端节点(702)通过调用查找API检索(603)与所述输入文件相关的文件句柄。
3.根据权利要求1所述的方法(600),其特征在于,所述文件系统(700)是横向扩展网络附属存储(Network Attached Storage,NAS)文件系统(700),所述文件系统(700)包括多个存储节点。
4.根据权利要求1所述的方法(600),其特征在于,所述客户端节点(702)是Ubique I/O客户端,所述服务器节点(701)是远程过程调用(Remote Procedure Call,RPC)服务器。
5.根据权利要求1所述的方法(600),其特征在于,所述两个或多个输入文件是源文件,所述目标目录上的所述级联文件是级联所述两个或多个输入文件的所述克隆之后的输出文件。
6.根据权利要求2所述的方法(600),其特征在于,所述请求包括所述两个或多个输入文件的列表以及所述结果级联文件的名称和目标目录。
7.根据权利要求1所述的方法(600),其特征在于,所述确定所述文件系统(700)中存在所述输入文件包括以下步骤:
所述客户端节点(702)调用所述文件系统(700)的统计信息或获取属性API以确定存在所述输入文件;
所述客户端节点(702)调用所述文件系统(700)的统计信息或获取属性API以确定所述目标目录中不存在所述级联文件。
8.根据权利要求1所述的方法(600),其特征在于,所述克隆所述两个或多个输入文件包括以下步骤:
所述客户端节点(702)中的所述克隆API,通过克隆与所述输入文件的OID相关的PLOGID以创建对应于每个输入文件的新PLOG ID,来创建所述输入文件的快速即时映像。
9.根据权利要求1所述的方法(600),其特征在于,所述级联所述两个或多个输入文件的所述克隆包括以下步骤:
所述客户端节点(702)中的所述克隆API调用索引子系统以克隆与所述两个或多个输入文件的所述OID对应的PLOG ID;
所述客户端节点(702)中的所述克隆API请求所述文件系统(700)为所述级联的PLOGID分配OID,并通过索引API克隆与所述输入文件的OID对应的PLOG ID;
所述客户端节点(702)中的级联API以与所述输入文件相同的顺序组装所述克隆的PLOG ID;
所述客户端节点(702)的所述克隆API将OID分配给所述组装的PLOG ID。
10.一种系统(700),用于克隆和级联所述系统中的两个或多个文件,其特征在于,所述系统(700)包括:
服务器节点(701);
至少一个客户端节点(702),用于:
通过在带外调用克隆应用程序接口(Application Program Interface,API)到所述文件系统(700)来创建(604)所述两个或多个输入文件的克隆;
在目标目录中创建(605)级联文件,以保存所述两个或多个输入文件的级联内容;
调用(606)私人API以级联所述两个或多个输入文件的所述克隆;
将所述级联文件存储(607)在所述文件系统(700)上的所述目标目录中。
11.根据权利要求10所述的系统(700),其特征在于,
所述服务器节点(701)用于:
向所述客户端节点(702)发送级联所述文件系统(700)的两个或多个输入文件的请求;
所述客户端节点(702)用于:
确定所述文件系统(700)中存在所述两个或多个输入文件;
通过调用查找应用程序接口(Application Program Interface,API)检索与所述输入文件相关的文件句柄。
12.根据权利要求10所述的系统(700),其特征在于,所述文件系统(700)是横向扩展网络附属存储(Network Attached Storage,NAS)文件系统(700),所述文件系统(700)包括多个存储节点。
13.根据权利要求10所述的系统(700),其特征在于,所述客户端节点(702)是UbiqueI/O客户端,所述服务器节点(701)是远程过程调用(Remote Procedure Call,RPC)服务器。
14.根据权利要求10所述的系统(700),其特征在于,所述两个或多个输入文件是源文件,所述目标目录上的所述级联文件是级联所述两个或多个输入文件的所述克隆之后的输出文件。
15.根据权利要求11所述的系统(700),其特征在于,所述请求包括所述两个或多个输入文件的列表以及所述结果级联文件的名称和目标目录。
16.根据权利要求10所述的系统(700),其特征在于,所述客户端节点(702)通过以下步骤确定所述文件系统(700)中存在所述输入文件:
调用所述文件系统(700)的统计信息或获取属性API以确定存在所述输入文件;
调用所述文件系统(700)的统计信息或获取属性API以确定所述目标目录中不存在所述级联文件。
17.根据权利要求10所述的系统(700),其特征在于,所述克隆所述两个或多个输入文件包括以下步骤:
所述客户端节点(702)通过克隆与所述输入文件的OID相关的PLOG ID以创建对应于每个输入文件的新PLOG ID,来创建所述输入文件的快速即时映像。
18.根据权利要求10所述的系统,其特征在于,所述级联所述两个或多个输入文件的所述克隆包括以下步骤:
所述客户端节点(702)调用索引子系统以克隆与所述两个或多个输入文件的所述OID对应的PLOG ID;
所述客户端节点(702)请求所述文件系统(700)为所述级联的PLOG ID分配OID,并通过索引API克隆与所述输入文件的OID对应的PLOG ID;
所述客户端节点(702)以与所述输入文件相同的顺序组装所述克隆的PLOG ID;
所述客户端节点(702)将OID分配给所述组装的PLOG ID。
19.一种用于克隆和级联文件系统(700)中的两个或多个文件的客户端节点(702),其特征在于,所述客户端节点(702)包括:
处理单元(7021);
通信单元(7022);
存储单元(7023),
其中,所述通信单元(7021)用于从服务器节点(701)接收(601)级联所述文件系统(700)的所述两个或多个输入文件的请求;
所述处理单元(7022)用于:
确定(602)所述文件系统(700)中存在所述两个或多个输入文件;
通过调用查找应用程序接口(Application Program Interface,API)检索(603)与所述输入文件相关的文件句柄;
通过在带外调用克隆API到所述文件系统(700)来创建(604)所述两个或多个输入文件的克隆;
在目标目录中创建(605)级联文件,以保存所述两个或多个输入文件的级联内容;
调用(606)私人API以级联所述两个或多个输入文件的所述克隆;
所述存储单元(7023)用于将所述级联文件存储(607)在所述文件系统(700)上的所述目标目录中。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有程序,所述程序包括用于执行根据权利要求1至9中任一项所述的方法(600)的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202031005501 | 2020-02-07 | ||
IN202031005501 | 2020-02-07 | ||
PCT/CN2021/075685 WO2021155857A1 (en) | 2020-02-07 | 2021-02-06 | Fast file snapshots and clones |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114175008A true CN114175008A (zh) | 2022-03-11 |
Family
ID=77199566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180004817.4A Pending CN114175008A (zh) | 2020-02-07 | 2021-02-06 | 快速文件快照和克隆 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114175008A (zh) |
WO (1) | WO2021155857A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024078029A1 (zh) * | 2022-10-11 | 2024-04-18 | 华为技术有限公司 | 文件系统管理方法、装置和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9454368B2 (en) * | 2009-01-21 | 2016-09-27 | Vmware, Inc. | Data mover permitting data transfer without transferring data between application and operating system |
US9367547B2 (en) * | 2013-03-14 | 2016-06-14 | Oracle International Corporation | Method and system for generating and deploying container templates |
CN104239575A (zh) * | 2014-10-08 | 2014-12-24 | 清华大学 | 一种虚拟机镜像文件存储、分发方法及装置 |
EP3198493A4 (en) * | 2015-12-03 | 2017-08-09 | Huawei Technologies Co., Ltd. | A method a source storage device to send a source file and a clone file of the source file to a backup storage device, a source storage device and a backup storage device |
-
2021
- 2021-02-06 CN CN202180004817.4A patent/CN114175008A/zh active Pending
- 2021-02-06 WO PCT/CN2021/075685 patent/WO2021155857A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024078029A1 (zh) * | 2022-10-11 | 2024-04-18 | 华为技术有限公司 | 文件系统管理方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021155857A1 (en) | 2021-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2923068C (en) | Method and system for metadata synchronization | |
US8650371B1 (en) | Method and system for efficient space management for single-instance-storage volumes | |
US8041888B2 (en) | System and method for LUN cloning | |
WO2020190558A1 (en) | Providing scalable and concurrent file systems | |
US9092290B1 (en) | Performing a non-disruptive software upgrade on physical storage processors having access to virtual storage processors | |
US20210344772A1 (en) | Distributed database systems including callback techniques for cache of same | |
US20150227543A1 (en) | Method and apparatus for replication of files and file systems using a deduplication key space | |
US7330862B1 (en) | Zero copy write datapath | |
US8341119B1 (en) | Flexible copies having different sub-types | |
US11797491B2 (en) | Inofile management and access control list file handle parity | |
US10848545B2 (en) | Managing cloud storage of block-based and file-based data | |
US11816348B2 (en) | Persistent hole reservation | |
US11157368B2 (en) | Using snapshots to establish operable portions of computing entities on secondary sites for use on the secondary sites before the computing entity is fully transferred | |
US11520665B2 (en) | Optimizing incremental backup for clients in a dedupe cluster to provide faster backup windows with high dedupe and minimal overhead | |
US20210365187A1 (en) | Freeing and utilizing unused inodes | |
US11907261B2 (en) | Timestamp consistency for synchronous replication | |
US11567680B2 (en) | Method and system for dynamic storage scaling | |
US10901943B1 (en) | Multi-tier storage system with direct client access to archive storage tier | |
US10635545B1 (en) | Data processing system with cloud archiving of data object snapshots | |
CN114175008A (zh) | 快速文件快照和克隆 | |
US20190121899A1 (en) | Apparatus and method for managing integrated storage | |
WO2023097229A1 (en) | Fast database scaling utilizing a decoupled storage and compute architecture | |
US20230169093A1 (en) | Fast database scaling utilizing a decoupled storage and compute architecture | |
US8943019B1 (en) | Lookup optimization during online file system migration | |
US10620883B1 (en) | Multi-format migration for network attached storage devices and virtual machines |
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 |