CN106716377A - 在分布式储存系统中的快照的同步 - Google Patents

在分布式储存系统中的快照的同步 Download PDF

Info

Publication number
CN106716377A
CN106716377A CN201580051450.6A CN201580051450A CN106716377A CN 106716377 A CN106716377 A CN 106716377A CN 201580051450 A CN201580051450 A CN 201580051450A CN 106716377 A CN106716377 A CN 106716377A
Authority
CN
China
Prior art keywords
snapshot
write request
node
destination node
request
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
CN201580051450.6A
Other languages
English (en)
Other versions
CN106716377B (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.)
Mellanox Technologies Ltd
Original Assignee
Stratos Calle 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 Stratos Calle Co Ltd filed Critical Stratos Calle Co Ltd
Publication of CN106716377A publication Critical patent/CN106716377A/zh
Application granted granted Critical
Publication of CN106716377B publication Critical patent/CN106716377B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种方法,包括通过将写入请求发送到多个目的节点(108A、108B、108C)而储存在源节点(100)中生成的数据。目的节点被请求以创建数据的快照。在源节点处,写入请求采用标记进行标记,该标记向每个目的节点指示写入请求中的哪些是在用于目的节点当前正在储存的快照的快照请求之前发出的快照前写入请求,以及写入请求中的哪些是在用于目的节点当前正在储存的快照的快照请求之后发出的快照后写入请求。基于该标记,快照与在目的节点处的另一个快照进行同步。

Description

在分布式储存系统中的快照的同步
发明领域
本发明总体上涉及计算系统,并且具体涉及用于在计算节点集群中的数据储存的方法和系统。
发明背景
已经提出了各种解决方案以用于将存储器资源分配给计算机集群中的客户端。例如,公开内容以引用的方式并入本文的美国专利8,266,238描述了一种装置,其包括被配置成储存数据的物理存储器和被配置成支持虚拟机监控器(VMM)的芯片组。VMM设置成将虚拟机的虚拟存储器地址空间的区域内的虚拟存储器地址映射到网络地址,以俘获由客户操作系统做出的存储器读取或写入访问,以确定针对大于装置的物理存储器上可用的物理存储器地址范围的存储器地址发生了存储器读取或写入访问,并从而将对应于存储器读取或写入访问的数据读取或写入请求转发至与多个虚拟存储器地址之一对应的多个网络地址之一相关联的网络设备。
公开内容以引用的方式并入本文的美国专利8,082,400描述了用于共享存储池的固件,该存储池包括系统的多个计算节点中的至少一个计算节点中的至少一个物理存储器。固件将存储池分区为被分配给计算节点中的至少一些计算节点中的对应的计算节点的存储空间,并且将至少一个物理存储器的一部分映射到存储器空间。存储空间中的至少一个包括来自计算节点中的另一个计算节点的物理存储器部分。
公开内容以引用的方式并入本文的美国专利8,544,004描述了基于集群的操作系统–不可知(agnostic)虚拟计算系统。在实施例中,使用常规的计算机硬件实现了节点的基于集群的集合。提供了一种软件,该软件使至少一个VM能够被呈现给客户操作系统,其中参与虚拟机的每个节点具有自身的模拟器或VMM。通过钩子(hook)提供了VM存储一致性和I/O一致性,这导致对内部处理器结构的操纵。专用网络提供了节点之间的通信。
发明概述
本文描述的本发明的实施例提供了一种方法,该方法包括通过将写入请求发送到多个目的节点来储存在源节点中生成的数据。目的节点被请求创建数据的快照。在源节点处,写入请求采用标记进行标记,该标记向每个目的节点指示写入请求中的哪些是在用于目的节点当前正在储存的快照的快照请求之前发出的快照前写入请求,以及写入请求中的哪些是在用于目的节点当前正在储存的快照的快照请求之后发出的快照后写入请求。在目的节点处,基于该标记,快照彼此同步。
在一些实施例中,发送写入请求包括向多个目的节点发送相同数据的多个相应的副本。在一些实施例中,使快照同步包括在每个目的节点中使用标记区分快照前写入请求和快照后写入请求,并且仅服务快照前写入请求。在示例实施例中,该方法包括在每个目的节点中使每个快照后写入请求排队,直到其由于后续的快照请求到达而变成快照前写入请求为止。
在另一个实施例中,使快照同步包括在每个目的节点中使写入请求排队,并且仅服务变成快照前写入请求的排队的写入请求。在公开的实施例中,对写入请求进行标记包括对每个写入请求采用指示由源节点最近请求的快照的相应的计数器值加标签。使快照同步可以包括通过将每个写入请求的相应的计数器值与目的节点当前正在储存的快照的参考计数器值进行比较,在每个目的节点中区分快照前写入请求和快照后写入请求。
根据本发明的实施例,另外提供一种包括至少一个源节点和多个目的节点的系统。源节点被配置成通过向目的节点发送写入请求来储存数据,并且采用标记对写入请求进行标记,该标记向每个目的节点指示写入请求中的哪些是在用于目的节点当前正在储存的快照的快照请求之前发出的快照前写入请求,以及写入请求中的哪些是在用于目的节点当前正在储存的快照的快照请求之后发出的快照后写入请求。目的节点被配置成基于该标记使快照彼此同步。
根据本发明的实施例,还提供了一种计算机软件产品,该产品包括程序指令被储存于其中的有形的非暂时性计算机可读介质,当指令由通过通信网络互相连接的源节点和多个目的节点的处理器读取的时候,使处理器通过向多个目的节点发送写入请求而储存在源节点中生成的数据;请求目的节点创建数据的快照;采用标记对在源节点处的写入请求进行标记,该标记向每个目的节点指示写入请求中的哪些是在用于目的节点当前正在储存的快照的快照请求之前发出的快照前写入请求,以及写入请求中的哪些是在用于目的节点当前正在储存的快照的快照请求之后发出的快照后写入请求;并且,在目的节点处基于标记使快照彼此同步。
从结合附图进行的本发明的实施例的以下详细描述中,本发明将得到更完全地理解,其中:
附图简述
图1是根据本发明的实施例示意性示出计算节点集群的框图;
图2是根据本发明的实施例示意性示出在计算节点集群中的分布式储存过程的图;
图3是根据本发明的实施例示意性示出在计算节点集群中的分布式储存方案的框图;
图4是示意性示出在快照之间缺少同步的影响的图;
图5是根据本发明的实施例示意性示出用于请求在计算节点集群之间同步的虚拟盘的快照的方法的流程图;以及
图6是根据本发明的实施例示意性示出使用快照同步在计算节点集群中处理写入请求的方法的流程图。
实施例的详细描述
综述
本文描述的本发明的实施例提供用于在计算节点集群中的数据储存的改善的方法和系统。计算节点运行通过访问逻辑卷(也被称作虚拟盘)储存并且检索数据的客户端。给定逻辑卷的数据通常分布在多个计算节点的多个物理储存设备之间。
在公开的实施例中,每个计算节点运行一个或多个管理该节点的物理储存设备的本地文件系统(FS)。当客户端发送用于储存的数据的时候,数据被分成多条,并且每条均被复制并且转发到被指定储存该数据的节点的本地FS。每个本地FS均将数据作为文件储存在其本地物理储存设备中。计算节点集群还支持创建逻辑卷的快照的过程,即使每个逻辑卷的数据通常分布在多个计算节点之间。
为了促进集群范围的快照,每个节点为每个逻辑卷指派单独的本地FS。采用这个配置,通过请求多个计算节点创建与该逻辑卷关联的所有本地FS的多个相应的FS级快照来创建逻辑卷的快照。
通常,需要快照包括在快照创建之前确认的所有写入命令,而不必包括在快照创建之前已发布但未确认的“飞行中”写入命令。然而,当储存的数据被复制的时候,数据的不同的副本将有必要包括完全相同的飞行中写入请求的集合。换句话说,给定的飞行中写入请求可以被包括在所有副本中,或者从所有副本中被删除,但是不能被包括在一个副本中而在另一个副本中被删除。如果违背了这个一致性要求,则后续的读取命令可以根据被访问的是数据的哪个副本而返回不同的值。
公开的技术使得计算节点集群能够满足以上的一致性要求,即,确保所复制的数据的所有FS级快照保持完全相同的飞行中写入请求的集合。在一些实施例中,某个计算节点(被称作源节点)发送复制的数据以用于储存在多个计算节点(被称作目的节点)中。源节点以如下方式来标记每个传出的写入请求:使得每个目的节点能够确定写入请求是快照前的(即,在用于目的节点当前正在储存的快照的快照请求之前发出的)还是快照后的(即,在用于目的节点当前正在储存的快照的快照请求之后发出的)。
每个目的节点接收写入请求,使用标记将它们分类成快照前写入请求和快照后写入请求,并且仅执行快照前写入请求。每个快照后请求在目的节点中保持排队,直到其变成快照前的为止,即,直到目的节点接收到下一个快照请求为止。
在示例实施例中,源节点向连续的快照请求指派增量的序列号。另外,源节点采用最新发布的快照请求的序列号对每个传出的写入请求进行标记。每个目的节点保持其目前正在储存的快照的序列号。通过将在目的节点中保持的序列号与所接收的写入请求的序列号进行比较,目的节点能够判定写入请求是快照前的还是快照后的。
以上的机制缓解了对不同节点的快照请求和写入请求的到达顺序(order-of-arrival)中的可能的差异,并因此确保不同数据副本的FS级快照包括完全相同的飞行中写入请求的集合。公开的技术因此保持储存在不同计算节点上的快照之间的同步。无论在不同节点中的到达顺序和分组延迟中是否有可能的差异,均保持在多个快照之间的一致性,而不必在数据路径中添加不同于在储存节点中的现有缓冲区的专用缓冲资源。不同于其他可能的解决方案,公开的技术没有停止或者暂停系统I/O以便实现同步。
系统描述
图1是示意性示出根据本发明的实施例的计算系统20的方框图,计算系统20包括多个计算节点24的集群。例如,系统20可包括数据中心、云计算系统、高性能计算(HPC)系统、或任何其他合适的系统。
计算节点24(为了简洁,而简称为“节点”)通常包括服务器,但可以可选地包括任何其他合适类型的计算节点。系统20可包括任何合适数量的节点,这些节点或是相同类型或是不同类型。节点24由通常是局域网(LAN)的通信网络28连接。网络28可根据任何合适的网络协议(诸如,以太网或Infiniband)运行。
每个节点24均包括中央处理单元(CPU)32。根据计算节点的类型,CPU 32可包括多个处理核心和/或多个集成电路(IC)。无论具体的节点配置如何,节点的处理电路在本文中作为整体被视为节点CPU。每个节点24还包括存储器36(通常是易失性存储器,诸如动态随机存取存储器DRAM)以及用于与网络28进行通信的网络接口卡(NIC)44。节点24中的一些节点(而不必是全部节点)包括一个或多个非易失性储存设备40(例如,磁性硬盘驱动-HDD,或固态驱动-SSD)。储存设备40在本文中还被称作物理盘或者为了简洁而简称为盘。
节点24可以运行各种类型的客户端。除了其他功能之外,客户端还访问非易失性储存设备40,例如,发布用于储存和检索数据的写入命令和读取命令。公开的技术共享在整个计算节点集群之间的储存设备40的非易失性储存资源,并且使非易失性储存资源可用于各种客户端。以下详细描述这些技术。
出于清楚的目的,以下描述主要涉及虚拟机(VM),其转而运行客户应用。然而,公开的技术并不限于VM,而是可以在虚拟环境和非虚拟环境中任何其他合适类型的客户端中使用。
美国专利申请14/181,791和14/260,304中提出了在计算节点集群上运行VM的另一个方面,该专利被转让给本专利申请的受让人并且其公开内容通过引用的方式并入本文。
在图1中显示的系统和计算节点配置是示例配置,其仅仅为了概念上清晰起见而被选择。在可选实施例中,可使用任何其他合适的系统和/或节点配置。可使用硬件/固件(诸如在一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA))中实现设备20的多种元件,特别是节点24的元件。可选地,一些系统或节点元件(例如CPU 32)可在软件中实现或使用硬件/固件与软件元素的组合来实现。在一些实施例中,CPU 32包括通用处理器,该通用处理器在软件中被编辑以执行在本文中描述的功能。例如,软件可通过网络以电子形式被下载到处理器,或者软件可以可选地或附加地被提供和/或储存在非暂时性有形介质(诸如,磁存储器、光存储器或电子存储器)上。
分布式数据储存方案
在计算节点24上运行的VM(或者其他客户端)通常通过访问虚拟盘(也被称作逻辑卷(LV))来储存并且检索数据。在系统20中的每个虚拟盘通常被指派了逻辑逻辑单元号(逻辑LUN,或者为了简洁而简称为LUN),并且在每个虚拟盘内的地址空间通过逻辑块地址(LBA)的范围来限定。节点24将各种逻辑盘的数据以分布式方式储存在物理盘(储存设备40)上。通常,与给定的虚拟盘关联的数据分布在多个节点24上的多个物理盘40上。
来自储存系统的基本要求之一是创建并且管理虚拟盘的快照。在本专利申请的上下文中以及在权利要求中,术语“快照”指的是对逻辑盘的冻结,其在指定时间点创建并且保持逻辑盘在此时的内容。冻结是在不需要复制逻辑盘的数据的情况下创建的。快照使得系统能够(例如,在有故障的情况下)恢复到对于特定时间点的虚拟盘的内容。
在一些实施例中,节点24执行以下详细描述的分布式而又同步的快照创建和管理方案。以下描述以在系统20中使用的储存方案的综述开始,随后是对快照管理方案的解释。美国专利申请14/333,521中提出了分布式快照管理的另一个方面,其被转让给本专利申请的受让人并且其公开内容通过引用的方式并入本文。
在一些实施例中,在系统20中的基本逻辑数据储存单元被称作分配单元(DU)。在本示例中,每个DU包括1GB的数据。然而,可选地,可以使用任何其他合适的DU的大小,例如,(然而不必)在1GB和10GB之间。每个DU通常整体储存在给定的物理盘40上,并且通常被限定为可以从一个物理盘移动到另一个物理盘(例如,在添加或者移除物理盘的时候)的最小的数据块。DU通常被复制用于冗余,即,DU的多个副本可以储存在不同的物理盘和节点上,以便在出故障的情况下免受数据丢失。
图2是示意性示出根据本发明的实施例的系统20中的分布式储存过程的图。一般来说,在给定的节点24上运行的、通过VM(或者其他客户端)储存的数据可以物理地储存在系统20上的一个或多个节点24的一个或多个盘40上。针对VM的特殊的储存操作,托管VM的节点被称作客户端节点,并且将数据物理地储存在其盘40上的节点被称作盘节点。在一些情况下,VM中的一些数据可以储存在运行该VM的相同节点上。在这个场景中同样保持在客户端节点和盘节点之间的逻辑分离。如以上提到的,VM相关示例仅仅是通过示例的方式描绘的,并且所公开的技术还可以用于各种其他类型的客户端。
在图2中,该图的左手侧显示了过程的客户端节点部分,并且该图的右手侧显示了过程的盘节点部分。该过程是客户端-服务器过程,其中,客户端侧在客户端节点上运行,并且服务器侧在盘节点上运行。在可选的实施例中,图2中的各种元素可以以任何其他合适的方式分布在集群的节点上。
客户端节点运行一个或多个VM 50(也被称作客户VM)。管理程序52向VM 50分配系统资源(例如,存储器、储存器、网络和计算资源)。除了其他任务之外,管理程序还服务由客户VM发布的储存命令(也被称作I/O请求)。管理程序52可以包括或者可以基于QEMU或者任何其他合适的管理程序类型。
对于VM 50来说另外地或者可选地,生成写入请求的其他可能的客户端可包括主机块设备60和/或练习程序(exerciser)62。由这些模块发布的储存命令在存储器中排队,例如,以在操作系统(例如,UNIX)队列中为例。
分配器66识别与在储存命令中指定的逻辑LUN和LBA对应的物理盘40,并且将储存命令分配给适当的盘节点。通常,分配器66首先评估分配功能,其将每个{逻辑LUN,LBA}对转换成相应的DU。在确定将要访问的期望的DU之后,分配器66查阅将每个DU映射到节点24之一上的物理盘40的分配表。在这个阶段,分配器66已识别了每个储存命令将被转发到的盘节点。
分配器66将储存命令转发给复制器72,复制器72复制每个DU以便将每个DU储存在(通常在不同节点24上的)两个或更多个物理储存设备40上。储存命令随后转发到适当的盘节点。
在每个盘节点中,一个或多个异步块储存器80管理在盘节点上运行的一个或多个相应的本地文件系统(FS)86中的数据的储存。通常,给定的盘节点为每个DU每个LUN运行单独的本地FS。本地FS 86管理所讨论的盘节点的本地盘40中的文件的储存。通常,本地FS执行诸如逻辑至物理地址转换、盘空闲空间管理、快照管理、自动精简配置(thinprovisioning)以及FS级复制的任务。
本地FS 86可以使用任何合适的本地文件系统来实施。一个可能的示例是ZFS文件系统。具体来说,本地FS支持通过公开的技术使用的嵌入式快照管理机制。
通过盘节点接收的储存命令通常指定某个逻辑LUN和LBA。客户端节点将{逻辑LUN,LBA}对转换成其中储存有对应的数据的本地文件的名称、以及文件内的偏移。块储存器80随后向本地FS 86发布具有适当的文件名的文件读取或者写入命令。本地FS通过访问指定的文件来读取或者写入数据。
以上的描述主要涉及从客户端节点到盘节点的数据流。在相反方向上的数据流(例如,写入命令的检索的数据和确认)通常沿着从盘节点返回到客户端节点的相反路径。在图2中显示的各种元素(例如,管理程序52、分配器66、复制器72和块储存器80)通常包括在节点24的CPU 32上运行的软件模块。
图3是示意性示出根据本发明的实施例的系统20中的分布式储存方案的框图。该图显示运行客户VM 104的客户端节点100,以及三个盘节点108A…108C。在本示例中,VM104访问被指派了逻辑LUN#133的虚拟盘。对应于逻辑LUN#133的数据分配于三个盘节点之间。
每个盘节点运行多个本地FS 86,每个本地FS与相应的LUN的属于相应的DU的一部分关联。在本示例中,节点108A保持用于逻辑LUN#133和逻辑LUN#186的本地FS,节点108B保持用于逻辑LUN#177和逻辑LUN#133的本地FS,并且节点108C保持用于逻辑LUN#133的单一本地FS。如图可见,(通过VM 104访问的)逻辑LUN#133的数据被分配于所有三个磁盘节点上。
每个本地FS(也被称作数据集-DS)包括(有可能处于具有一个或多个子目录的层级中的)一个或多个文件110。每个文件110包括一定量的数据,例如,4MB。按照这种方式,储存块转换成文件,并且由本地FS管理。
每个本地FS(包括其文件和子目录)储存与相应的逻辑LUN和相应的DU(例如,在本示例中的#133、#186和#172)完全关联的数据。这个关联由在每个盘节点中的块储存器80管理。块储存器将对逻辑LUN/DU的每个写入命令转换成对与该LUN/DU关联的本地FS中储存的文件的写入命令。
在一些场景中,可产生创建某个逻辑LUN的快照的要求。快照通常由管理者或者其他用户请求。在一些实施例中,系统20创建并且管理逻辑LUN的快照(逻辑卷或者虚拟盘),然而每个逻辑LUN的数据分布于多个不同的计算节点中的多个不同的物理盘上。这个特征使用本地文件系统86的嵌入式快照管理机制来实现。
如以上解释的,在计算节点24中的块储存器80确保在盘40上的每个本地FS包括具有专属于相应逻辑LUN和相应DU的数据的文件110。此外,每个本地文件系统86支持FS级快照操作,该快照操作创建了本地FS的具有其所有底层子目录和文件的本地快照。因此,创建与给定的逻辑LUN关联的各个本地FS的时间同步的FS级快照等同于创建整个逻辑LUN的快照。
在计算节点集群之间的快照的有效同步
如以上解释的,LUN的快照是由在多个节点上由相应的本地FS创建的多个FS级快照组成的。快照通常需要包括在快照被创建之前已被确认的所有写入命令。对于在创建快照之前发出但未确认的写入命令(被称作“飞行中写入命令”),通常没有严格的要求。
然而,当储存的数据被复制的时候,数据的不同的副本将有必要包括相同的飞行中写入请求的集合。换句话说,给定的飞行中写入请求可以被包括在所有副本中,或者从所有副本中被删除,但是不能被包括在一个副本中而在另一个副本中被删除。这类一致性被称作“崩溃一致性”。
图4是示意性示出在复制的数据的快照之间缺少崩溃一致性的影响的图示。该图显示其中客户端节点120将某些数据的两个副本储存在两个相应的盘节点124A和124B上的场景。
最初,给定的数据项在两个节点上都具有值“1”。在某个时间点,客户端节点120向节点124A和124B发布快照请求,并随后向给定的数据项发布写入“2”的值的写入请求。在本示例中,节点124A接收快照请求以及随后的写入请求。另一方面,节点124B以相反的顺序接收请求(即,写入请求以及随后的快照请求)。
因此,给定的数据项将在节点124A上的快照中具有值“1”,并且在节点124B上的快照中具有值“2”。当从快照读取数据的时候,用户应用将根据所访问的是哪个副本而读取到不同的数据值。这种不一致性通常是不可接受的。将副本之一定义为首要的并且将其他的定义为次要的并未解决问题,这是由于次要副本在首要副本出故障的情况下仍然可以被使用。
在系统20的一些实施例中,每个DU被复制,并且给定的DU的多个副本被发送以用于储存在不同节点24的储存设备40上。考虑对给定的DU所属的LUN进行快照。为了使这个快照一致,包括这个DU的副本的FS级快照都必须包括完全相同的飞行中写入请求的集合。在以下描述中,这个要求被称作“同步”或者“一致性”,并且其FS级快照满足这个条件的快照被称作同步的或者一致的快照。
在一些实施例中,系统20的节点使给定DU的不同副本同步,使得DU的所有FS级快照均保持完全相同的飞行中写入请求的集合。考虑被复制并且从客户端节点(也被称作源节点)被发送到两个或更多个盘节点(也被称作目的节点)的给定的DU。在一些实施例中,客户端节点以如下方式标记每个传出写入请求:使每个盘节点能够确定写入请求是快照前的(即,在用于盘节点当前正在储存的快照的快照请求之前发出的)还是快照后的(即,在用于盘节点当前正在储存的快照的快照请求之后发出的)。
每个盘节点接收写入请求,使用标记将写入请求分类成快照前写入请求和快照后写入请求,并且仅执行快照前写入请求。每个快照后请求在盘节点中保持排队,直到其变成快照前的为止,即,直到盘节点开始储存后来的快照为止,后来的快照请求是在写入请求之后被发出的。以上的机制确保了给定DU的不同副本的FS级快照包括完全相同的写入请求的集合。
客户端节点可以以各种方式对传出写入请求进行标记,并且盘节点可以以不同的方式使用该标记,以便将写入请求分类成快照前的或者快照后的。在一些实施例中,客户端节点采用增量的序列号对连续的快照请求进行编号(每DU)。另外,客户端节点采用最新发布的快照请求的序列号对每个传出的写入请求进行标记。
每个盘节点保持其目前正在储存的快照的序列号。通过将盘节点中保持的序列号与写入请求的序列号进行比较,盘节点可以判定写入请求是快照前的(在用于当前正在储存的快照的快照请求之前发出的)还是快照后的(在用于当前正在储存的快照的快照请求之后发出的)。
然而,在可选的实施例中,客户端节点和盘节点可以使用任何其他合适的标记和分类方案。
图5是示意性示出根据本发明的实施例的用于在计算节点集群之间同步地请求虚拟盘的快照的方法的流程图。该方法在LUN快照请求步骤130处以对于某个LUN发布快照请求来开始。
所讨论的LUN已指派给在某个客户端节点上运行的某个VM。在分裂步骤134处,在这个客户端节点处,分配器66针对组成LUN的各个DU而将LUN快照请求转换成多个DU特定的快照请求。
在计数器增量步骤138处,在客户端节点中的复制器72使保持当前快照的序列号的DU特定的计数器增量。在检查步骤142处,复制器72检查DU是否仍有任何未确认的写入请求。
在快照请求分配步骤146处,在用于当前快照相关的DU的所有写入请求均已被确认的时候,复制器72复制并且将DU特定的快照请求分配于储存DU的副本的所有盘节点。快照请求采用在步骤138处设定的新的计数器值(即,采用所请求的快照的序列号)进行标记。
在快照发起步骤150处,每个盘节点接收快照请求,更新其快照计数器的本地值,并且发起新的快照。对于组成LUN的所有DU,对每个DU重复步骤138-150的过程。
图6是示意性示出根据本发明的实施例的用于使用快照同步来处理在计算节点集群中的写入请求的方法的流程图。该方法在写入发起步骤160处以某个VM(或者其他客户端)向某个LUN发布写入请求来开始。
在分裂步骤162处,在客户端节点中的分配器66使写入请求分裂成DU特定的写入请求。在加标签和复制步骤164处,分配器66识别每个DU特定的写入请求所属的DU,并且采用该DU的快照计数器值对每个写入请求进行标记。在客户端节点中复制器72随后复制加标签的写入请求。在发送步骤168处,客户端节点随后将复制的写入请求发送给服务所讨论的DU的多个盘节点。
在接收步骤172处,多个盘节点中的每个盘节点接收DU特定的写入请求。以下的描述涉及由给定的盘节点接收的给定的DU特定的写入请求。在插入步骤174处,写入请求被插入适当的写入队列。在比较步骤176处,在盘节点中的块储存器80将接收到的写入请求中的快照的计数器值与在盘节点处保持的快照的计数器值(即,与盘节点当前正在储存的快照的序列号)进行比较。
在分类步骤180处,块储存器80基于以上的比较而判定接收到的写入请求是快照前的还是快照后的。如果写入请求是快照前的请求,那么在快照前处理步骤184处,块储存器80将写入请求转发给适当的本地FS 86(与请求的LUN/DU关联的本地FS)以用于执行(即,用于作为当前快照的一部分而储存在储存设备40中)。如果写入请求是快照后的请求,那么在快照后处理步骤188处,块储存器80将该写入请求保持在盘节点队列中。
块储存器使写入请求排队,直到写入请求变成快照前的为止(即,直到盘节点接收到其序列号指示它是在该写入请求之后发出的后来的快照请求为止)。在这个阶段,块储存器将写入请求转发到FS 86,以用于在步骤184处的执行。
在示例实施方式中,在盘节点中的块储存器80可以通过使所有到达的写入请求排队,并且(根据写入请求携带的快照的计数器值)选择性地仅服务属于当前处理的快照的写入请求,来执行步骤176-188。(根据写入请求的快照的计数器值)属于下一个快照的写入请求保持排队,直到下一个快照请求到达为止。
以上的图5和图6的方法描述是为了概念上清晰起见而选择的示例方法。在可选的实施例中,任何其他合适的过程可以用于请求快照以及用于处理写入请求。此外,以上的方法描述涉及执行不同的方法步骤的、在客户端节点和盘节点中的特定模块(例如,分配器、复制器和块储存器)。在可选的实施例中,各个方法步骤可以通过在客户端节点和盘节点中的任何其他合适的模块执行。
虽然本文描述的实施例主要处理使用多个FS级快照的LUN快照的创建,但是公开的技术可以使用任何其他合适的子树结构以及能够创建这种子树的快照的节点来执行。
将要理解的是,以上描述的实施例是通过示例的方式引用的,并且本发明不限于上文中已经特别示出和描述的那些。相反,本发明的范围包括上文所描述的各种特征的组合和子组合以及本领域技术人员在阅读以上描述之后将想到的且未在现有技术中公开的其变型和修改。通过引用结合在本专利申请中的文档被视为本申请的组成部分,除了在这些结合的文档中定义的任何术语与本说明书中明确地或隐含地作出的定义冲突时,仅应考虑本说明书中的定义。
权利要求书(按照条约第19条的修改)
1.一种方法,包括:
通过将与逻辑卷关联的写入请求发送到多个目的节点,储存属于所述逻辑卷的并且在源节点中生成的数据;
请求所述目的节点创建所述数据的快照;
在所述源节点处,采用标记对所述写入请求进行标记,所述标记向每个目的节点指示所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之前发出的快照前写入请求,以及所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之后发出的快照后写入请求;以及
在所述目的节点处,通过下列方式,使所述快照彼此同步:
分别在所述目的节点中的每个目的节点中,基于所述标记区分所述快照前写入请求和所述快照后写入请求,而不论在所述目的节点之间的所述快照请求和所述写入请求的到达顺序中的差异;以及
分别在所述目的节点中的每个节点中,仅服务所述快照前写入请求。
2.根据权利要求1所述的方法,其中,发送所述写入请求包括向所述多个目的节点发送相同数据的多个相应的副本。
3.根据权利要求1所述的方法,还包括在每个目的节点中使每个快照后写入请求排队,直到其由于后续的快照请求的到达而变成快照前写入请求为止。
4.根据权利要求1或2所述的方法,其中,使所述快照同步包括在每个目的节点中使所述写入请求排队,并且仅服务变成快照前写入请求的所排队的写入请求。
5.根据权利要求1或2所述的方法,其中,对所述写入请求进行标记包括对每个写入请求采用相应的计数器值加标签,所述相应的计数器值指示由所述源节点最近请求的所述快照。
6.根据权利要求5所述的方法,其中,使所述快照同步包括:在每个目的节点中,通过将每个写入请求的相应的计数器值与所述目的节点当前正在储存的所述快照的参考计数器值进行比较,来区分所述快照前写入请求和所述快照后写入请求。
7.一种系统,包括至少一个源节点和多个目的节点,其中,所述源节点被配置成通过将与逻辑卷关联的写入请求发送到所述目的节点来储存属于所述逻辑卷的数据;并且采用标记对所述写入请求进行标记,所述标记向每个目的节点指示所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之前发出的快照前写入请求,以及所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之后发出的快照后写入请求;
并且其中,所述目的节点被配置成基于所述标记通过下列方式使所述快照彼此同步:
分别在所述目的节点中的每个目的节点中,基于所述标记区分所述快照前写入请求和所述快照后写入请求,而不论在所述目的节点之间的所述快照请求和所述写入请求的到达顺序中的差异;以及
分别在所述目的节点中的每个节点中,仅服务所述快照前写入请求。
8.根据权利要求7所述的系统,其中,所述源节点被配置成向所述多个目的节点发送相同数据的多个相应的副本。
9.根据权利要求7所述的系统,其中,每个目的节点被配置成使每个快照后写入请求排队,直到其由于后续的快照请求的到达而变成快照前写入请求为止。
10.根据权利要求7或8所述的系统,其中,每个目的节点被配置成使所述写入请求排队,并且仅服务变成快照前写入请求的排队的写入请求。
11.根据权利要求7或8所述的系统,其中,所述源节点被配置成对每个写入请求采用相应的计数器值进行标记,所述相应的计数器值指示由所述源节点最近请求的所述快照。
12.根据权利要求11所述的系统,其中,每个目的节点被配置成通过将每个写入请求的相应的计数器值与所述目的节点当前正在储存的所述快照的参考计数器值进行比较,以区分所述快照前写入请求和所述快照后写入请求。
13.一种计算机软件产品,所述产品包括程序指令被储存于其中的有形的非暂时性计算机可读介质,当所述指令由通过通信网络互相连接的源节点和多个目的节点的处理器读取的时候,使所述处理器:通过将与逻辑卷关联的写入请求发送到所述多个目的节点而储存属于所述逻辑卷的并且在所述源节点中生成的数据;请求所述目的节点创建所述数据的快照;采用标记对在所述源节点处的所述写入请求进行标记,所述标记向每个目的节点指示所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之前发出的快照前写入请求,以及所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之后发出的快照后写入请求;以及在所述目的节点处基于所述标记通过下列方式使所述快照彼此同步:
分别在所述目的节点中的每个目的节点中,基于所述标记区分所述快照前写入请求和所述快照后写入请求,而不论在所述目的节点之间的所述快照请求和所述写入请求的到达顺序中的差异;以及
分别在所述目的节点中的每个节点中,仅服务所述快照前写入请求。

Claims (15)

1.一种方法,包括:
通过将写入请求发送到多个目的节点,储存在源节点中生成的数据;
请求所述目的节点创建所述数据的快照;
在所述源节点处,采用标记对所述写入请求进行标记,所述标记向每个目的节点指示所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之前发出的快照前写入请求,以及所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之后发出的快照后写入请求;
在所述目的节点处,基于所述标记使所述快照彼此同步。
2.根据权利要求1所述的方法,其中,发送所述写入请求包括向所述多个目的节点发送相同数据的多个相应的副本。
3.根据权利要求1或2所述的方法,其中,使所述快照同步包括在每个目的节点中使用所述标记区分所述快照前写入请求和所述快照后写入请求,并且仅服务所述快照前写入请求。
4.根据权利要求3所述的方法,还包括在每个目的节点中使每个快照后写入请求排队,直到其由于后续的快照请求的到达而变成快照前写入请求为止。
5.根据权利要求1或2所述的方法,其中,使所述快照同步包括在每个目的节点中使所述写入请求排队,并且仅服务变成快照前写入请求的所排队的写入请求。
6.根据权利要求1或2所述的方法,其中,对所述写入请求进行标记包括对每个写入请求采用相应的计数器值加标签,所述相应的计数器值指示由所述源节点最近请求的所述快照。
7.根据权利要求6所述的方法,其中,使所述快照同步包括:在每个目的节点中,通过将每个写入请求的相应的计数器值与所述目的节点当前正在储存的所述快照的参考计数器值进行比较,来区分所述快照前写入请求和所述快照后写入请求。
8.一种系统,包括至少一个源节点和多个目的节点,其中,所述源节点被配置成通过将写入请求发送到所述目的节点来储存数据;并且采用标记对所述写入请求进行标记,所述标记向每个目的节点指示所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之前发出的快照前写入请求,以及所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之后发出的快照后写入请求;并且其中,所述目的节点被配置成基于所述标记使所述快照彼此同步。
9.根据权利要求8所述的系统,其中,所述源节点被配置成向所述多个目的节点发送相同数据的多个相应的副本。
10.根据权利要求8或9所述的系统,其中,每个目的节点被配置成使用所述标记区分所述快照前写入请求和所述快照后写入请求,并且仅服务所述快照前写入请求。
11.根据权利要求10所述的系统,其中,每个目的节点被配置成使每个快照后写入请求排队,直到其由于后续的快照请求的到达而变成快照前写入请求为止。
12.根据权利要求8或9所述的系统,其中,每个目的节点被配置成使所述写入请求排队,并且仅服务变成快照前写入请求的排队的写入请求。
13.根据权利要求8或9所述的系统,其中,所述源节点被配置成对每个写入请求采用相应的计数器值进行标记,所述相应的计数器值指示由所述源节点最近请求的所述快照。
14.根据权利要求13所述的系统,其中,每个目的节点被配置成通过将每个写入请求的相应的计数器值与所述目的节点当前正在储存的所述快照的参考计数器值进行比较,以区分所述快照前写入请求和所述快照后写入请求。
15.一种计算机软件产品,所述产品包括程序指令被储存于其中的有形的非暂时性计算机可读介质,当所述指令由通过通信网络互相连接的源节点和多个目的节点的处理器读取的时候,使所述处理器:通过将写入请求发送到所述多个目的节点而储存在所述源节点中生成的数据;请求所述目的节点创建所述数据的快照;采用标记对在所述源节点处的所述写入请求进行标记,所述标记向每个目的节点指示所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之前发出的快照前写入请求,以及所述写入请求中的哪些是在用于所述目的节点当前正在储存的快照的快照请求之后发出的快照后写入请求;以及在所述目的节点处基于所述标记使所述快照彼此同步。
CN201580051450.6A 2015-01-12 2015-11-16 在分布式储存系统中的快照的同步 Active CN106716377B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/594,188 2015-01-12
US14/594,188 US9912748B2 (en) 2015-01-12 2015-01-12 Synchronization of snapshots in a distributed storage system
PCT/IB2015/058841 WO2016113607A1 (en) 2015-01-12 2015-11-16 Synchronization of snapshots in a distributed storage system

Publications (2)

Publication Number Publication Date
CN106716377A true CN106716377A (zh) 2017-05-24
CN106716377B CN106716377B (zh) 2021-06-25

Family

ID=56368381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580051450.6A Active CN106716377B (zh) 2015-01-12 2015-11-16 在分布式储存系统中的快照的同步

Country Status (4)

Country Link
US (1) US9912748B2 (zh)
EP (1) EP3245590A4 (zh)
CN (1) CN106716377B (zh)
WO (1) WO2016113607A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165120A (zh) * 2018-08-08 2019-01-08 华为技术有限公司 分布式存储系统中管理快照和差异位图生成方法和产品
CN109358812A (zh) * 2018-10-09 2019-02-19 郑州云海信息技术有限公司 一种集群系统中io请求的处理方法、装置及相关设备
CN110018996A (zh) * 2018-07-23 2019-07-16 郑州云海信息技术有限公司 一种分布式存储系统的快照回滚方法及相关装置
CN110351386A (zh) * 2019-07-23 2019-10-18 无锡华云数据技术服务有限公司 一种不同副本间的增量同步方法及装置
CN110765071A (zh) * 2019-11-08 2020-02-07 无锡华云数据技术服务有限公司 一种分布式存储进行快照的方法及相关装置
CN111164584A (zh) * 2017-07-26 2020-05-15 Netapp股份有限公司 用于管理针对低延迟存储装置的分布式快照的方法及其设备

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10678650B1 (en) * 2015-03-31 2020-06-09 EMC IP Holding Company LLC Managing snaps at a destination based on policies specified at a source
US10326836B2 (en) * 2015-12-08 2019-06-18 Pure Storage, Inc. Partially replicating a snapshot between storage systems
US11616834B2 (en) 2015-12-08 2023-03-28 Pure Storage, Inc. Efficient replication of a dataset to the cloud
US10218804B2 (en) * 2016-03-31 2019-02-26 International Business Machines Corporation Selective token clash checking for a data write
WO2018130294A1 (en) * 2017-01-13 2018-07-19 Huawei Technologies Co., Ltd. Method and system for global snapshots of distributed storage
US10503427B2 (en) * 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US10534652B1 (en) * 2017-06-29 2020-01-14 Amazon Technologies, Inc. Efficient movement of virtual nodes during reconfiguration of computing cluster
US20200034474A1 (en) * 2018-07-30 2020-01-30 EMC IP Holding Company LLC Creating identical snap pairs during sync replication with no performance impact
CN110955720B (zh) * 2018-09-27 2023-04-07 阿里巴巴集团控股有限公司 一种数据加载方法、装置及系统
CN112805949B (zh) * 2018-10-01 2022-08-09 华为技术有限公司 处理快照创建请求的方法以及存储设备
US20230273742A1 (en) * 2022-02-28 2023-08-31 Nebulon, Inc. Recovery of clustered storage systems

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647473B1 (en) * 2000-02-16 2003-11-11 Microsoft Corporation Kernel-based crash-consistency coordinator
US20030212869A1 (en) * 2002-05-09 2003-11-13 Burkey Todd R. Method and apparatus for mirroring data stored in a mass storage system
US20060059242A1 (en) * 2004-08-30 2006-03-16 International Business Machines Corporation Lazy deregistration of user virtual machine to adapter protocol virtual offsets
US20090055447A1 (en) * 2007-08-20 2009-02-26 Gosukonda Naga Sudhakar Techniques for snapshotting
CN101520743A (zh) * 2009-04-17 2009-09-02 杭州华三通信技术有限公司 基于写时拷贝的数据存储方法、系统及设备
CN102103530A (zh) * 2009-12-16 2011-06-22 成都市华为赛门铁克科技有限公司 快照方法、设备及系统
CN102239479A (zh) * 2008-12-18 2011-11-09 Lsi公司 使用写队列机制实施多阵列一致性组的方法
US8417907B2 (en) * 2009-10-29 2013-04-09 Symantec Corporation Synchronizing snapshot volumes across hosts
WO2014134092A1 (en) * 2013-02-27 2014-09-04 Netapp, Inc. System and method for a scalable crash-consistent snapshot operation

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159667A (en) 1989-05-31 1992-10-27 Borrey Roland G Document identification by characteristics matching
US6148377A (en) 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6044438A (en) 1997-07-10 2000-03-28 International Business Machiness Corporation Memory controller for controlling memory accesses across networks in distributed shared memory processing systems
US6591355B2 (en) 1998-09-28 2003-07-08 Technion Research And Development Foundation Ltd. Distributed shared memory system with variable granularity
US6530035B1 (en) 1998-10-23 2003-03-04 Oracle Corporation Method and system for managing storage systems containing redundancy data
US6507891B1 (en) 1999-07-22 2003-01-14 International Business Machines Corporation Method and apparatus for managing internal caches and external caches in a data processing system
US7127577B2 (en) 2003-01-21 2006-10-24 Equallogic Inc. Distributed snapshot process
US9020801B2 (en) 2003-08-11 2015-04-28 Scalemp Inc. Cluster-based operating system-agnostic virtual computing system
US7162476B1 (en) 2003-09-11 2007-01-09 Cisco Technology, Inc System and method for sharing global data within distributed computing systems
US7694151B1 (en) 2003-11-20 2010-04-06 Johnson Richard C Architecture, system, and method for operating on encrypted and/or hidden information
US7421533B2 (en) 2004-04-19 2008-09-02 Intel Corporation Method to manage memory in a platform with virtual machines
US8364849B2 (en) * 2004-08-30 2013-01-29 International Business Machines Corporation Snapshot interface operations
US20060053139A1 (en) * 2004-09-03 2006-03-09 Red Hat, Inc. Methods, systems, and computer program products for implementing single-node and cluster snapshots
US20060143389A1 (en) 2004-12-28 2006-06-29 Frank Kilian Main concept for common cache management
US8073926B2 (en) 2005-01-07 2011-12-06 Microsoft Corporation Virtual machine image server
US7363444B2 (en) * 2005-01-10 2008-04-22 Hewlett-Packard Development Company, L.P. Method for taking snapshots of data
US7640363B2 (en) 2005-02-16 2009-12-29 Microsoft Corporation Applications for remote differential compression
US7617370B2 (en) 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US7949845B2 (en) 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US8355569B2 (en) 2006-08-10 2013-01-15 Nec Corporation Object region extracting device
US8266238B2 (en) 2006-12-27 2012-09-11 Intel Corporation Memory mapped network access
US8315984B2 (en) 2007-05-22 2012-11-20 Netapp, Inc. System and method for on-the-fly elimination of redundant data
US7913046B2 (en) 2007-08-06 2011-03-22 Dell Global B.V. - Singapore Branch Method for performing a snapshot in a distributed shared file system
US7774568B2 (en) * 2007-08-13 2010-08-10 Novell, Inc. Clustered snapshots in networks
US7877570B2 (en) 2007-08-14 2011-01-25 Red Hat, Inc. Consolidation of matching memory pages
CN101809559B (zh) 2007-09-05 2013-10-16 伊姆西公司 在虚拟化服务器和虚拟化存储环境中的去重复
US8209506B2 (en) 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
US20090204718A1 (en) 2008-02-08 2009-08-13 Lawton Kevin P Using memory equivalency across compute clouds for accelerated virtual memory migration and memory de-duplication
US20090204636A1 (en) 2008-02-11 2009-08-13 Microsoft Corporation Multimodal object de-duplication
US8082400B1 (en) 2008-02-26 2011-12-20 Hewlett-Packard Development Company, L.P. Partitioning a memory pool among plural computing nodes
US8352940B2 (en) 2008-06-09 2013-01-08 International Business Machines Corporation Virtual cluster proxy to virtual I/O server manager interface
US8041877B2 (en) 2008-06-09 2011-10-18 International Business Machines Corporation Distributed computing utilizing virtual memory having a shared paging space
US7971027B2 (en) 2008-06-09 2011-06-28 International Business Machines Corporation Mark page-out pages as critical for cooperative memory over-commitment
US8234655B2 (en) 2008-07-29 2012-07-31 International Business Machines Corporation Detection of duplicate memory pages across guest operating systems on a shared host
US10642794B2 (en) 2008-09-11 2020-05-05 Vmware, Inc. Computer storage deduplication
JP2010191647A (ja) 2009-02-18 2010-09-02 Hitachi Ltd ファイル共有システム、ファイルサーバ、ファイル管理方法
US9176883B2 (en) 2009-04-30 2015-11-03 HGST Netherlands B.V. Storage of data reference blocks and deltas in different storage devices
US8451281B2 (en) 2009-06-23 2013-05-28 Intel Corporation Shared virtual memory between a host and discrete graphics device in a computing system
CN102460400B (zh) 2009-06-29 2014-09-24 惠普开发有限公司 基于管理程序的本地和远程虚拟内存页面管理
WO2011023134A1 (en) 2009-08-28 2011-03-03 Beijing Innovation Works Technology Company Limited Method and system for managing distributed storage system through virtual file system
US20110055471A1 (en) 2009-08-28 2011-03-03 Jonathan Thatcher Apparatus, system, and method for improved data deduplication
US8719547B2 (en) 2009-09-18 2014-05-06 Intel Corporation Providing hardware support for shared virtual memory between local and remote physical memory
US9015441B2 (en) 2010-04-30 2015-04-21 Microsoft Technology Licensing, Llc Memory usage scanning
US20120005207A1 (en) 2010-07-01 2012-01-05 Yahoo! Inc. Method and system for web extraction
US9032398B2 (en) 2010-07-12 2015-05-12 Vmware, Inc. Online classification of memory pages based on activity level represented by one or more bits
US9152573B2 (en) 2010-11-16 2015-10-06 Vmware, Inc. Sharing memory pages having regular expressions within a virtual machine
JP5207088B2 (ja) 2010-11-24 2013-06-12 株式会社Jvcケンウッド アイテム選択装置、アイテム選択方法およびコンピュータプログラム
US8364716B2 (en) 2010-12-17 2013-01-29 Netapp, Inc. Methods and apparatus for incrementally computing similarity of data sources
CN102567407B (zh) 2010-12-22 2014-07-16 北大方正集团有限公司 一种论坛回帖增量采集方法及系统
US8793427B2 (en) 2011-02-10 2014-07-29 Hewlett-Packard Development Company, L.P. Remote memory for virtual machines
US8943260B2 (en) 2011-03-13 2015-01-27 International Business Machines Corporation Dynamic memory management in a virtualized computing environment
EP2633386A1 (en) 2011-03-25 2013-09-04 Hitachi, Ltd. Storage system and storage area allocation method
US9189419B2 (en) 2011-04-14 2015-11-17 Vmware, Inc. Detecting and suppressing redundant input-output operations
US9047313B2 (en) 2011-04-21 2015-06-02 Red Hat Israel, Ltd. Storing virtual machines on a file system in a distributed environment
US8782003B1 (en) 2011-05-13 2014-07-15 Emc Corporation Synchronization of storage using log files and snapshots
US9619263B2 (en) 2011-06-11 2017-04-11 Microsoft Technology Licensing, Llc Using cooperative greedy ballooning to reduce second level paging activity
US8965937B2 (en) 2011-09-28 2015-02-24 International Business Machines Corporation Automated selection of functions to reduce storage capacity based on performance requirements
CA2890516C (en) 2011-11-07 2018-11-27 Nexgen Storage, Inc. Primary data storage system with quality of service
US9026759B2 (en) 2011-11-21 2015-05-05 Hitachi, Ltd. Storage system management apparatus and management method
US8818951B1 (en) 2011-12-29 2014-08-26 Emc Corporation Distributed file system having separate data and metadata and providing a consistent snapshot thereof
JP2013143039A (ja) 2012-01-11 2013-07-22 Canon Inc 頻出パターン抽出装置、頻出パターン抽出方法、及びプログラム
WO2013107029A1 (zh) 2012-01-19 2013-07-25 华为技术有限公司 一种基于块存储的数据处理方法、装置及系统
WO2013118194A1 (en) 2012-02-10 2013-08-15 Hitachi, Ltd. Storage system with virtual volume having data arranged astride storage devices, and volume management method
WO2013128578A1 (ja) 2012-02-28 2013-09-06 株式会社安川電機 制御装置および制御装置の制御方法
US8954698B2 (en) 2012-04-13 2015-02-10 International Business Machines Corporation Switching optically connected memory
US9753831B2 (en) 2012-05-30 2017-09-05 Red Hat Israel, Ltd. Optimization of operating system and virtual machine monitor memory management
US9940228B2 (en) 2012-06-14 2018-04-10 Vmware, Inc. Proactive memory reclamation for java virtual machines
US9565651B2 (en) 2012-07-11 2017-02-07 Qualcomm Incorporated System and method for controlling paging delay with timing arrangements and dual page scans
US8671445B1 (en) * 2012-07-17 2014-03-11 Netapp, Inc. Method and system for transferring replicated information from source storage to destination storage
US9348538B2 (en) 2012-10-18 2016-05-24 Netapp, Inc. Selective deduplication
KR101505263B1 (ko) 2013-03-07 2015-03-24 포항공과대학교 산학협력단 데이터 중복 제거 방법 및 장치
US9729659B2 (en) 2013-03-14 2017-08-08 Microsoft Technology Licensing, Llc Caching content addressable data chunks for storage virtualization
US9213715B2 (en) 2013-06-03 2015-12-15 International Business Machines Corporation De-duplication with partitioning advice and automation
US9547600B2 (en) 2013-07-30 2017-01-17 Vmware, Inc. Method and system for restoring consumed memory after memory consolidation
US9342253B1 (en) 2013-08-23 2016-05-17 Nutanix, Inc. Method and system for implementing performance tier de-duplication in a virtualization environment
US9053068B2 (en) 2013-09-25 2015-06-09 Red Hat Israel, Ltd. RDMA-based state transfer in virtual machine live migration
US9183035B2 (en) 2013-11-08 2015-11-10 International Business Machines Corporation Virtual machine migration with swap pages
US20150286414A1 (en) 2014-04-03 2015-10-08 Strato Scale Ltd. Scanning memory for de-duplication using rdma
US9330015B2 (en) 2014-06-11 2016-05-03 Vmware, Inc. Identification of low-activity large memory pages
EP3210366B1 (en) * 2014-10-20 2021-04-28 Hitachi Vantara LLC Managing synchronized data protection operations at the nodes of a data system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647473B1 (en) * 2000-02-16 2003-11-11 Microsoft Corporation Kernel-based crash-consistency coordinator
US20030212869A1 (en) * 2002-05-09 2003-11-13 Burkey Todd R. Method and apparatus for mirroring data stored in a mass storage system
US20060059242A1 (en) * 2004-08-30 2006-03-16 International Business Machines Corporation Lazy deregistration of user virtual machine to adapter protocol virtual offsets
US20090055447A1 (en) * 2007-08-20 2009-02-26 Gosukonda Naga Sudhakar Techniques for snapshotting
CN102239479A (zh) * 2008-12-18 2011-11-09 Lsi公司 使用写队列机制实施多阵列一致性组的方法
CN101520743A (zh) * 2009-04-17 2009-09-02 杭州华三通信技术有限公司 基于写时拷贝的数据存储方法、系统及设备
US8417907B2 (en) * 2009-10-29 2013-04-09 Symantec Corporation Synchronizing snapshot volumes across hosts
CN102103530A (zh) * 2009-12-16 2011-06-22 成都市华为赛门铁克科技有限公司 快照方法、设备及系统
WO2014134092A1 (en) * 2013-02-27 2014-09-04 Netapp, Inc. System and method for a scalable crash-consistent snapshot operation

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111164584A (zh) * 2017-07-26 2020-05-15 Netapp股份有限公司 用于管理针对低延迟存储装置的分布式快照的方法及其设备
CN110018996A (zh) * 2018-07-23 2019-07-16 郑州云海信息技术有限公司 一种分布式存储系统的快照回滚方法及相关装置
CN110018996B (zh) * 2018-07-23 2021-11-09 郑州云海信息技术有限公司 一种分布式存储系统的快照回滚方法及相关装置
CN109165120A (zh) * 2018-08-08 2019-01-08 华为技术有限公司 分布式存储系统中管理快照和差异位图生成方法和产品
WO2020029748A1 (zh) * 2018-08-08 2020-02-13 华为技术有限公司 分布式存储系统中管理快照和差异位图生成方法和产品
CN109165120B (zh) * 2018-08-08 2022-04-05 华为技术有限公司 分布式存储系统中管理快照和差异位图生成方法和产品
CN109358812A (zh) * 2018-10-09 2019-02-19 郑州云海信息技术有限公司 一种集群系统中io请求的处理方法、装置及相关设备
CN110351386A (zh) * 2019-07-23 2019-10-18 无锡华云数据技术服务有限公司 一种不同副本间的增量同步方法及装置
CN110351386B (zh) * 2019-07-23 2022-09-16 华云工业互联网有限公司 一种不同副本间的增量同步方法及装置
CN110765071A (zh) * 2019-11-08 2020-02-07 无锡华云数据技术服务有限公司 一种分布式存储进行快照的方法及相关装置
CN110765071B (zh) * 2019-11-08 2022-05-06 华云数据控股集团有限公司 一种分布式存储进行快照的方法及相关装置

Also Published As

Publication number Publication date
EP3245590A1 (en) 2017-11-22
US20160205182A1 (en) 2016-07-14
EP3245590A4 (en) 2018-08-29
WO2016113607A1 (en) 2016-07-21
US9912748B2 (en) 2018-03-06
CN106716377B (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
CN106716377A (zh) 在分布式储存系统中的快照的同步
US10956246B1 (en) Isolated read channel management interfaces at streaming data service
EP3230868B1 (en) Multiple transaction logs in a distributed storage system
JP6371858B2 (ja) 複数エクステント動作のための原子書き込み
US11075984B1 (en) Workload management at streaming data service supporting persistent connections for reads
CN110226157A (zh) 用于减少行缓冲冲突的动态存储器重新映射
US10365980B1 (en) Storage system with selectable cached and cacheless modes of operation for distributed storage virtualization
CN105980991A (zh) 在多个计算节点之间的存储资源共享
CN107046563A (zh) 一种分布式高效云盘的实现方法、系统及云平台
US10140032B1 (en) Multi-tier storage system with dynamic power management utilizing configurable data mover modules
CN105468296B (zh) 基于虚拟化平台的无共享存储管理方法
CN111033471B (zh) 用于控制只追加文件的方法、系统以及介质
US20130080389A1 (en) Allocation of absent data within filesystems
US9984139B1 (en) Publish session framework for datastore operation records
US10705764B2 (en) Performing nearline storage of a file
US11509700B2 (en) Stream data record reads using push-mode persistent connections
CN107357522B (zh) 数据处理方法和装置
US11914894B2 (en) Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system
US11675501B2 (en) Streaming data service with isolated read channels
US8078798B2 (en) Managing first level storage in a multi-host environment
US20230239345A1 (en) Isolated read channel categories at streaming data service
CN112334891A (zh) 用于搜索服务器的集中式存储
CN104484136B (zh) 一种可支撑高并发内存数据的方法
US20150212847A1 (en) Apparatus and method for managing cache of virtual machine image file
US11070600B1 (en) Optimization techniques to support lagging readers at streaming data service

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200826

Address after: Israel Yuekeni Mourinho

Applicant after: Mellanox Technologies, Ltd.

Address before: Israel Hertz Leah

Applicant before: STRATO SCALE Ltd.

GR01 Patent grant
GR01 Patent grant