分布式存储系统中的恢复同步技术方案

技术编号:15529608 阅读:223 留言:0更新日期:2017-06-04 16:55
用于数据存储的方法包括向第一存储节点(28A)发送写入命令,用于将数据存储在第一存储节点上的数据卷(56A)中。响应于在第二存储节点(28B)上创建数据卷的副本(56B)的决定,(i)写入命令被发送到第一存储节点和第二存储节点,以及(ii)创建数据卷的快照并从第一存储节点发送到第二存储节点。基于快照和在第二存储节点处接收到的一个或多个写入命令,由第二存储节点创建数据卷的副本。

Recovery synchronization in a distributed memory system

A method for data storage includes sending a write command to a first storage node (28A) for storing data in a data volume (56A) on the first storage node. In response to the second storage node (28B) create a copy of the data volume (56B) decision (I) write command is transmitted to the first storage node and second storage nodes, and (II) create a snapshot of the volume of data from the first storage node to the second node storage. A replica of the data volume is created by the second storage node based on snapshot and one or more write commands received at the second storage node.

【技术实现步骤摘要】
【国外来华专利技术】分布式存储系统中的恢复同步相关申请的交叉引用该申请要求提交于2014年12月28日的美国临时专利申请62/097,077的权益,其公开内容通过引用并入本文。
本专利技术总体上涉及数据存储,尤其是涉及用于数据存储系统中的故障恢复的方法和系统。专利技术背景在许多数据存储方案中,系统在不同存储设备或计算节点上保持数据卷的两个或更多个副本,以抵御故障。当数据卷由于故障而丢失或损坏时,系统可能会从现有副本创建卷的新副本,以保留原始的冗余级别。专利技术概述本文描述的本专利技术的实施例提供了一种用于数据存储的方法,包括向第一存储节点发送写入命令,用于将数据存储在第一存储节点上的数据卷中。响应于在第二存储节点上创建数据卷的副本的决定,(i)写入命令被发送到第一存储节点和第二存储节点,以及(ii)创建数据卷的快照并从第一存储节点发送到第二存储节点。基于快照和在第二存储节点处接收到的一个或多个写入命令,由第二存储节点创建数据卷的副本。在一些实施例中,创建快照包含在快照中至少包含具有指定序列号的写入命令,并且创建数据卷的副本包含,在第二存储节点中,接收快照,并从接收到的快照以及序列号大于指定序列号的接收到的写入命令来创建数据卷的副本。在一个实施例中,方法包含从第二存储节点向第一存储节点发送指定了指定序列号的快照请求,以及在第二存储节点中丢弃序列号小于或等于指定的序列号的任何接收到的写入命令。在另一个实施例中,方法包含在第一存储节点中检测(i)在快照被创建之后接收的且(ii)具有大于指定序列号的序列号的写入命令,并请求客户端节点重新发出带有新序列号的写入命令。通常,创建数据卷的副本包含:从快照初始化第二存储节点中的副本,然后在初始化副本中执行一个或多个接收到的写入命令。根据本专利技术的实施例,另外提供包含客户端节点和至少第一存储节点和第二存储节点的计算系统。客户端节点被配置为向第一存储节点发送写入命令,用于将数据存储在第一存储节点上的数据卷中。响应于在第二存储节点上创建数据卷的副本的决定,客户端节点被配置为向第一存储节点和第二存储节点发送写入命令,第一存储节点被配置为创建并向第二存储节点发送数据卷的快照,并且第二存储节点被配置为基于快照以及在第二存储节点处接收到的一个或多个写入命令,由第二存储节点创建数据卷的副本。根据本专利技术的实施例,本专利技术还提供包含接口和处理器的存储节点。该接口被配置用于通过计算机网络与客户端节点和附加存储节点进行通信。处理器被配置为从客户端节点接收用于在数据卷中存储数据的、具有相应序列号的写入命令,从附加存储节点接收创建至少包括具有指定序列号的写入命令的、数据卷的快照的请求,并创建快照并将其发送到附加存储节点。根据本专利技术的实施例,本专利技术还提供包含接口和处理器的存储节点。该接口被配置用于通过计算机网络与客户端节点和附加存储节点进行通信。处理器被配置为,响应于在存储节点上创建存储在附加存储节点上的数据卷的副本的决定,开始接收用于将数据存储在数据卷的副本中的写入命令,请求附加存储节点创建和发送数据卷的快照,并根据快照和一个或多个接收到的写入命令创建数据卷的副本。从结合附图进行的本专利技术的实施例的以下详细描述,本专利技术将被更完全地理解,其中:附图简述图1为根据本专利技术的实施例示意性示出计算系统的方框图;图2是根据本专利技术的实施例的示意性示出数据集的同步恢复的图;以及图3为根据本专利技术的实施例示意性示出用于数据卷的同步恢复的方法的流程图。实施例的详细描述综述在本文中描述的本专利技术的实施例提供用于恢复数据卷的改善的方法和系统。在一些实施例中,计算系统包括多个计算节点。在某个时间点,将从存储在源节点上的数据卷的现有副本在目标节点上创建数据卷的新副本。在恢复过程中,源节点继续接收从客户端节点到数据卷的新写入命令。在一些公开的实施例中,一旦作出创建新副本的决定,客户端节点开始向源节点和目标节点发送每个写入命令。客户端节点发送附有相应序列号的写入命令。此外,目标节点请求源节点创建并发送数据卷的快照。在请求中,目标节点指定某个序列号X,并请求快照包含直到并包括此序列号的写入命令。直到从源节点接收到快照,如果从客户端节点到达的写入命令的序列号小于或等于X,则丢弃该写入命令,并累积具有大于X的序列号的写入命令。在接收到来自源节点的快照之后,目标节点从(范围直到序列号X的写入命令的)快照加上本地累积的写入命令(从序列号X+1开始)创建数据卷的新副本。上述恢复过程创建与现有副本相同的新副本,前提是写入命令在源节点处按顺序到达。如果写入命令可能无序到达,那么在源节点已经创建快照之后,序列号大于X的写入命令到达源节点是可能的。除非另有应对措施,否则这样的写入命令不会被包含在数据卷的新副本中,因为(i)它不包括在由源节点创建的快照中,并且(ii)它被目标节点丢弃。在一些实施例中,系统使用称为“提升(promotion)”的附加机制来应对写入命令的可能的无序到达。在这些实施例中,在创建快照之后,源节点检查每个新到达的写入命令并验证其序列号是否确实大于X。在检测到在创建快照之后到达但具有大于X的序列号的写入命令,源节点将该写入命令发送回客户端节点,并请求客户端节点重新发出带有新序列号的写入命令。新发布的(“提升的”)写入命令被发送到目标节点,并被添加到新副本。总而言之,本文描述的方法和系统是运行中的新副本,即不必停止接收对数据卷的写入命令。此外,所公开的技术不假定写入命令按顺序到达。系统描述图1为根据本专利技术的实施例示意性示出计算系统20的方框图。系统20可以包括例如数据中心、高性能计算(HPC)集群或任何其他合适类型的计算系统。系统20包括各种各样的计算节点,为了简便,简称为“节点”。在图1的例子中,系统包括一个或多个客户端节点24和也称为存储节点的多个磁盘节点28。为了清楚起见,图1示出了单个客户端节点和三个磁盘节点。然而,系统20的现实实现可以包括大量客户端节点和磁盘节点。在一些实施例中,给定的计算节点(或甚至所有计算节点)可以用作客户端节点和磁盘节点两者。客户端节点24和磁盘节点28通过计算机网络32(例如,局域网(LAN))彼此通信。每个客户端节点24通常运行客户端应用,该客户端应用除了其他任务之外还发送用于持久存储的数据并从持久存储器检索数据。在本示例中,客户端节点24包括:网络接口,其用于通过网络32进行通信,例如网络接口控制器(NIC)36;以及处理器40,其用于运行客户端应用并执行客户端节点的各种其他处理任务。每个磁盘节点28包括用于存储客户端节点24产生的数据的一个或多个存储设备52,例如固态硬盘(SSD)或硬盘驱动器(HDD)。在本示例中,磁盘节点28包括:网络接口,其用于通过网络32通信,诸如NIC44;以及处理器48,用于管理存储设备52中的数据的存储并执行磁盘节点的各种其他处理任务。通常,运行在客户端节点24上的应用将数据存储在磁盘节点28的存储设备52上存储的数据卷56中。每个客户端节点24通常通过发送写入命令来存储数据。每个写入命令指定数据以及要存储数据的数据卷。在一些实施例中,每个数据卷跨越多个磁盘节点28复制以用于冗余。换句话说,系统20通常将每个数据卷的两个或多个副本存储在不同的磁盘节点上。当一副本丢失或损坏时,例如,本文档来自技高网...
分布式存储系统中的恢复同步

【技术保护点】
一种用于数据存储的方法,包括:向第一存储节点发送写入命令,用于将数据存储在所述第一存储节点上的数据卷中;响应于在第二存储节点上创建所述数据卷的副本的决定,(i)将所述写入命令发送到所述第一存储节点和所述第二存储节点,以及(ii)创建所述数据卷的快照并将其从所述第一存储节点发送到所述第二存储节点;以及基于所述快照和在所述第二存储节点处接收的所述写入命令中的一个或多个,由所述第二存储节点创建所述数据卷的副本。

【技术特征摘要】
【国外来华专利技术】2014.12.28 US 62/097,0771.一种用于数据存储的方法,包括:向第一存储节点发送写入命令,用于将数据存储在所述第一存储节点上的数据卷中;响应于在第二存储节点上创建所述数据卷的副本的决定,(i)将所述写入命令发送到所述第一存储节点和所述第二存储节点,以及(ii)创建所述数据卷的快照并将其从所述第一存储节点发送到所述第二存储节点;以及基于所述快照和在所述第二存储节点处接收的所述写入命令中的一个或多个,由所述第二存储节点创建所述数据卷的副本。2.根据权利要求1所述的方法,其中,创建所述快照包括至少将具有指定序列号的写入命令包括在所述快照中,并且其中,创建所述数据卷的副本包括:在所述第二存储节点中,接收所述快照,并根据所接收到的快照以及序列号大于所述指定序列号的所接收到的写入命令来创建所述数据卷的副本。3.根据权利要求2所述的方法,还包括从所述第二存储节点向所述第一存储节点发送指定所述指定序列号的快照请求,以及在所述第二存储节点中丢弃序列号小于或等于所述指定序列号的任何接收到的写入命令。4.根据权利要求2所述的方法,还包括在所述第一存储节点中检测(i)在所述快照被创建之后接收的且(ii)具有大于所述指定序列号的序列号的写入命令,并请求所述客户端节点重新发出带有新序列号的该写入命令。5.根据权利要求1所述的方法,其中,创建所述数据卷的副本包括:从所述快照初始化所述第二存储节点中的所述副本,然后在所初始化的副本中执行一个或多个接收到的写入命令。6.一种计算系统,包括:客户端节点;以及至少第一存储节点和第二存储节点,其中,所述客户端节点被配置为向所述第一存储节点发送写入命令,用于将数据存储在所述第一存储节点上的数据卷中,并且其中,响应于在所述第二存储节点上创建所述数据卷的副本的决定,所述客户端节点被配置为向所述第一存储节点和所述第二存储节点发送写入命令,所述第一存储节点被配置为创建并向所述第二存储节点发送所述数据卷的快照,并且所述第二存储节点被配置为基于所述快照以及在所述第二存储节点处接收到的所述写入命令中的一个或多个,由所述第二存储节点创建所述数据卷的所述副本。7.根据权利要...

【专利技术属性】
技术研发人员:艾伦·霍罗威茨拉斐尔·布赫宾德
申请(专利权)人:斯特拉托斯卡莱有限公司
类型:发明
国别省市:以色列,IL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1