CN110071821B - 确定事务日志的状态的方法,节点和存储介质 - Google Patents

确定事务日志的状态的方法,节点和存储介质 Download PDF

Info

Publication number
CN110071821B
CN110071821B CN201910007977.9A CN201910007977A CN110071821B CN 110071821 B CN110071821 B CN 110071821B CN 201910007977 A CN201910007977 A CN 201910007977A CN 110071821 B CN110071821 B CN 110071821B
Authority
CN
China
Prior art keywords
node
service
loss
transaction
cluster
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
CN201910007977.9A
Other languages
English (en)
Other versions
CN110071821A (zh
Inventor
S·拉杰维迪雅
R·维迪雅
R·韦马
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN110071821A publication Critical patent/CN110071821A/zh
Application granted granted Critical
Publication of CN110071821B publication Critical patent/CN110071821B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开涉及确定集群数据事务日志的状态的方法,节点和存储介质。所述方法包括:确定在包括多个节点的集群中的主节点和备用节点之间的服务的丢失,其中主节点用于管理集群并存储节点事务数据日志,并且备用节点用于存储节点事务数据日志的同步复制的拷贝;当服务的丢失出现时确定集群数据事务日志的状态;并且,(i)当在服务的丢失期间在主节点处被载入日志的新事务超过事务阈值之前且在超时阈值被达到之前、备用节点的服务重新开始时,由主节点将新事务的日志发送到备用节点,并且否则(ii)当在备用节点的服务重新开始之前、在服务的丢失期间在主节点处被载入日志的新事务超过事务阈值时或在超时阈值被达到时,由主节点指定新备用节点。

Description

确定事务日志的状态的方法,节点和存储介质
技术领域
本公开涉及计算节点,尤其涉及用于确定集群数据事务日志的状态的方法,节点集群中的节点和存储介质。
背景技术
计算集群包括例如经由有线或无线联网一起工作的连接的计算节点(计算节点可以是任何形式的计算实体,例如服务器、虚拟机、微处理器等)。例如,计算集群可提供分布式或共享存储器和/或处理资源。
发明内容
根据本公开的一个方面,提供了一种用于确定事务日志的状态的方法。所述方法包括:确定在包括多个节点的集群中的主节点和备用节点之间的服务的丢失,其中所述主节点用于管理所述集群并存储事务日志,并且所述备用节点用于存储所述事务日志的同步复制的拷贝;当所述服务的丢失出现时确定所述事务日志的所述状态;并且,(i)当在所述服务的丢失期间在所述主节点处被载入日志的新事务超过事务阈值之前且在超时阈值被达到之前、所述备用节点的服务重新开始时,由所述主节点将所述新事务的日志发送到所述备用节点,并且否则(ii)当在所述备用节点的所述服务重新开始之前、在所述服务的丢失期间在所述主节点处被载入日志的新事务超过所述事务阈值时或在所述超时阈值被达到时,由所述主节点指定新备用节点。
根据本公开的另一个方面,提供了一种节点集群中的节点。所述节点集群中的节点包括:同步引擎,用于使事务日志与指定备用节点同步;服务检测引擎,用于监控在所述节点和所述备用节点之间的服务的存在或丢失;监控引擎,用于监控在所述节点和所述备用节点之间的服务的丢失的持续时间以及在所述服务的丢失期间新事务的累积大小,并且确定所述新事务的所述累积大小是否超过事务阈值和所述持续时间是否超过预定超时阈值中的至少一个;以及,备用节点指定引擎,用于将所述节点集群中的节点指定为备用节点。当所述服务检测引擎确定在所述阈值中的任一个被超过之前所述备用节点的服务重新开始时,所述同步引擎用于将自从所述服务的丢失出现以来被载入日志的任何新事务的记录发送到所述指定备用节点,并且当所述监控引擎确定所述新事务的所述累积大小超过所述事务阈值和所述持续时间超过所述预定超时阈值中的至少一个时,所述备用节点指定引擎用于将所述集群中的另一节点指定为备用节点。
根据本公开的另一个方面,提供了一种非暂时性机器可读存储介质。该非暂时性机器可读存储介质包括指令,所述指令当由处理器执行时使所述处理器:监控多节点集群中的至少一个节点是否正在提供预期服务;指定所述集群中的备用节点,以保存所述集群中的主节点的事务日志的同步拷贝;同步所述主节点和所指定的备用节点的所述事务日志;监控在所述主节点和所指定的备用节点之间的服务的丢失的持续时间;监控在所述服务的丢失期间在所述主节点的事务日志中被载入的新事务;并且,当在所述服务的丢失的所述持续时间超过超时阈值之前、在所指定的备用节点和所述主节点之间的所述服务的丢失期间在所述事务日志中被载入的所述新事务超过事务阈值时,将新节点指定为备用节点。
附图说明
现在将参考附图描述非限制性示例,其中:
图1是集群管理的示例方法的流程图;
图2是多节点集群中的节点的示例的方框图;
图3是多节点集群中的节点的另一示例的方框图;
图4是用于确定阈值的方法的示例的流程图;
图5是集群管理的方法的示例的流程图;
图6是集群管理的方法的另一示例的流程图;
图7是与处理资源相关的示例机器可读介质的方框图;以及
图8是多节点集群的示例的图。
具体实施方式
下面的讨论指向本公开的各种示例。本文公开的示例不应被解释或以另外方式被使用为限制本公开的范围。此外,下面的描述具有广泛的应用,且任何示例的讨论仅意味着描述那个示例,且并不意欲暗示本公开的范围被限制到那个示例。在整个本公开中,术语“一”意欲表示至少一个特定的元件。此外,如在本文使用的,术语“包括”意指包括但不限于。术语“基于”意指至少部分地基于。
在多节点计算集群的一些示例中,存在负责集群的管理的指定的“主”或主要节点以及指定的“备用”或次要节点,备用”或次要节点与主节点同步,使得它可充当主节点,假定主节点遭受服务的丢失。在这样的集群中,备用节点可被描述为在“热备用”中。同步可包括确保备用节点保存例如集群事务日志的集群数据的最新拷贝,集群事务日志可以是由集群执行的行动的历史(例如包括列出对存储在集群中的记录做出的变化的文件)。这样的事务日志可在恢复单独事务、在故障之后修复或重新运行事务等时被使用。
因此,如果主节点停止服务,则备用节点准备好接管为主节点。然而,情况也可能是备用节点至少暂时地停止服务。在这样的情况下,集群由于主节点的故障而变得不可用的风险增加(即,集群现在具有单个故障点)。而且,在确保主节点和备用节点同步时以及在将备用节点带回到同步(如果备用节点由于在服务中的临时故障而滞后)时存在挑战,这消耗集群处理资源。
为了减小这样的风险,一些集群指定多个节点来充当备用节点,但这消耗额外的集群处理资源。在其它示例中,事务日志可例如使用共享存储来被分配,且例如存储在集群外部。这允许备用节点从资源同步而不是主节点(例如专用“恢复节点”)同步,但可能是相对慢的,且可能涉及在集群外部的存储(且因此将单个故障点引入到集群内)。
在本文所述的示例中,“节点”可以是计算装置,例如服务器、存储阵列、存储装置、桌上型或膝上型计算机、交换机、路由器或包括处理资源的任何其它处理装置或装备。在本文所述的示例中,处理资源可包括例如包括在单个计算装置中或分布在多个计算装置当中的一个处理资源或多个处理资源。如在本文使用的,“处理资源”可以是被配置为取回并执行指令的中央处理单元(CPU)、基于半导体的微处理器、图形处理单元(GPU)、现场可编程门阵列(FPGA)、适合于取回并执行存储在机器可读存储介质上的指令的其它电子电路中的至少一个或其组合。在本文所述的示例中,节点可经由直接连接、经由一个或多个计算机网络或其组合而彼此通信。在本文所述的示例中,计算机网络可包括例如局域网(LAN)、虚拟LAN(VLAN)、无线局域网(WLAN)、虚拟私人网络(VPN)、互联网等或其组合。
图1是一种方法的示例的流程图,该方法可以是管理计算资源的集群或“计算集群”的方法。在这个示例中,集群包括多个节点,多个节点包括管理集群并存储节点事务数据日志的主节点和存储节点事务数据日志的同步复制的拷贝(至少当如预期的操作时)的备用节点。在本文关于图1所述的功能可由节点例如主节点执行,并可以以存储在机器可读存储介质上的处理资源可执行指令、一个或多个引擎(如在本文所述的)、电子电路或其任何组合的形式来实现。
在一些示例中,集群的单个节点在任一时间充当主节点。主节点可负责集群的管理操作,包括例如指定集群的应用编程接口(API)端点节点。主节点也可负责将集群中的另一节点设置为备用节点,并将集群数据例如事务日志复制给备用节点,为集群数据提供冗余。在一些示例中,主节点可执行例如软件更新的操作、例如添加/移除节点的集群会员资格操作、审核记录和用户管理。在一些示例中,主节点可提供集群的虚拟IP地址。
在一些示例中,集群的单个节点在任一时间充当备用节点。备用节点是集群中的、至少当如预期的操作时具有来自主节点的集群数据的同步复制的拷贝的节点。这可以通常是集群中的由主节点选择的任何节点,虽然在一些示例中,备用节点可以由主节点基于备用节点的能力和/或历史可靠性来选择或挑选。这个节点可在主节点的故障(在一些示例中,灾难性故障)的情况下用作主节点。
该方法包括在块102中确定在主节点和备用节点之间的服务的丢失。例如,这可包括在预定时隙内从备用节点接收“心跳”消息的失败、备用节点对请求做出响应的失败、错误消息的接收等。在其它示例中,可通过使用在备用节点上的IP地址的连续“ping测试”(例如互联网控制消息协议(ICMP)ping)监控备用节点的网络可达性,来检测备用节点的故障。响应的失败可导致备用节点的故障的检测。
块104包括:当服务的丢失出现时确定集群数据事务日志的状态。例如,主节点可记下集群数据事务日志的当前位置。主节点可接着继续在集群中操作,继续取回并处理事务,虽然与在稳态操作中不同,事务被“异步地”载入日志,即没有与任何其它节点的同步。
块106包括:确定在服务的丢失期间在主节点处被载入日志的新事务超过事务阈值之前并且在达到超时阈值之前备用节点的服务是否重新开始。在一些示例中,事务阈值可被规定为多个事务(例如输入/输出操作)的阈值累积大小。在其它示例中,事务阈值可不同地被规定。例如,事务阈值可被规定为事务的阈值数量。事务阈值可被预先确定,而在服务的丢失期间在主节点处被载入日志的新事务的累积大小或数量可动态地被计算。如果当服务重新开始时事务阈值和持续时间阈值都未被超过,块108包括由主节点将新事务的日志发送到备用节点。可注意到,新事务的日志直接从主节点被发送,而不是从某个其它资源例如外部存储器资源或专用恢复节点被发送。
然而,当在备用节点的服务重新开始之前新事务超过至少一个事务阈值或达到超时阈值时,该方法继续进行到块110,并包括由主节点指定新备用节点。在这样的情况下,完整的数据集日志可被拷贝到新备用节点。这是比使事务日志同步更快的过程。
该方法允许在集群由于备用节点和主节点的双重故障而变得不可用的风险、在使备用节点重新同步中消耗的集群资源、和新备用节点的相对资源密集的指定之间的平衡。例如,可能只有在事务日志的新条目变得足够多(或累积地大)使重新同步演习将过度的负担置于集群资源上时,和/或备用节点的不可用的时期变得如此长以致于集群由于备用节点和主节点的双重故障而变得不可用的风险超过指定新备用节点的资源密集演习被执行的阈值时。在一些示例(其中之一在下面被更详细地讨论)中,阈值可取决于服务水平协议、在集群内的处理速度和/或待添加到日志的事务的大小(例如以字节、千字节、兆字节等为单位)。
在一些示例中,在块102中描述的备用节点中的服务的丢失和/或如在块106中描述的集群数据事务日志的状态由主节点确定。
图2是可在多节点集群中操作的节点200的示例的方框图。节点200包括同步引擎204、服务检测引擎206、监控引擎208和备用节点指定引擎210。
节点200可作为集群的主节点来操作。当作为集群的主节点在操作中时,同步引擎204可以至少在备用节点是可用的时使事务日志与指定备用节点(其可以是单个指定备用节点)同步。服务检测引擎206可监控在主节点和备用节点之间的服务的存在(例如经由至少一个计算机网络进行通信的能力)或服务的丢失(例如经由至少一个计算机网络进行通信的能力的丢失)。监控引擎208可监控在备用节点中的服务的丢失的持续时间,并可监控在服务的丢失期间在主节点处的新事务的数量。监控引擎208可确定在主节点和备用节点之间的服务的丢失的持续时间是否超过预定超时阈值。监控引擎208也可确定在服务的丢失期间在主节点处的新事务是否超过事务阈值(即,在服务的丢失的持续时间超过超时阈值之前)。在一些示例中,监控引擎208可确定在服务的丢失期间在主节点处的新事务的累积大小是否超过事务阈值(如下所述)。在其它示例中,监控引擎208可确定在服务的丢失期间在主节点处的新事务的数量是否超过事务阈值(被规定为事务的阈值数量)。备用节点指定引擎210可将集群中的一节点指定为备用节点。
引擎204、206、208、210可以是硬件和编程的任何组合以实现引擎的功能。在本文所述的示例中,可以以多种不同的方式实现硬件和编程的这样的组合。例如,引擎204、206、208、210的编程可以是存储在至少一个非暂时性机器可读存储介质上的处理资源可执行指令,且引擎的硬件可包括至少一个处理资源以执行那些指令。在一些示例中,硬件还可包括其它电子电路以至少部分地实现引擎204、206、208、210中的至少一个。在一些示例中,至少一个机器可读存储介质可存储指令,当该指令由至少一个处理资源执行时至少部分地实现引擎204、206、208、210中的一些或全部。在这样的示例中,至少部分地实现处理电路的计算装置可包括存储指令的至少一个机器可读存储介质和至少一个处理资源以执行指令。在其它示例中,引擎204、206、208、210可由电子电路实现。
在节点200作为主节点的操作中,当服务检测引擎206确定在超时阈值被超过之前并且在事务阈值被超过之前备用节点的服务重新开始时,同步引擎204可向指定备用节点发送自从服务的丢失出现以来在主节点处被载入日志的任何新事务的记录(即,日志条目)。当监控引擎208检测到在服务的丢失期间在主节点处的新事务的累积大小超过事务阈值(在持续时间超过超时阈值之前)时,备用节点指定引擎210可将集群中的新节点指定为备用节点。当监控引擎208检测到持续时间超过超时阈值时,备用节点指定引擎210可将集群中的新节点指定为备用节点。
在一些示例中,节点200可确定另一节点的可靠性的指示。例如,备用节点指定引擎210可监控集群中的节点的服务丢失事件的频率(例如基于由监控引擎208收集的数据),并确定服务丢失事件的频率是否超过阈值(或换个角度看,可确定在预定时间段内的故障事件的数量),并且在特定节点的服务丢失事件的频率超过阈值的情况下,备用节点指定引擎210可将集群中的不同节点指定为备用节点。在其它示例中,除了服务丢失事件的频率以外或可选地,还可考虑节点停止服务的时间的长度。在其它示例中,监控引擎208可考虑所有类型的同步故障以确定有希望的备用节点的可靠性,以导致在历史上更可靠的节点被选择为备用节点。
在一些示例中,每个节点的可靠性可与集群中的其它节点的可靠性进行比较。在其它节点中之一被认为是可靠的、并且监控引擎208检测到在服务的丢失的持续时间超过超时阈值之前新事务的累积大小超过事务阈值或超时阈值被超过的情况下,这样的更可靠的节点可由备用节点指定引擎210选择。
这允许一贯地不可靠的节点随着时间的过去经由它的行为识别。如果在集群中的特定节点是不可靠的且太频繁地停止服务、或在备用节点上的服务一贯地花费相对长的时期来重新开始,则这样的监控引擎208允许不同的备用节点被选择来代替先前的备用节点。
在一些示例中,同步引擎204可与单个指定备用节点同步事务日志直到新指定备用节点被指定为止,且最新指定的备用节点可代替集群中的先前指定的备用节点(作为备用节点)。换句话说,在一些示例中,在任何时间只有一个备用节点被主节点200指定。
在一些示例中,在包括如上所述的引擎204、206、208和210的集群内可以有多个节点(或许集群的所有节点)。在一些示例中,引擎可被禁用(或否则不操作),除非这个节点充当主节点。换句话说,情况可以是集群中的多个节点能够充当主节点,但在任何特定的时间只有一个节点这么做。
图3是节点300的另一示例的方框图,其中与图2的节点200共有的特征用相似的数字被标记并具有上面讨论的特征。在这个示例中,节点300额外包括存储装置302以存储事务日志。存储装置302可存储其它集群数据,例如当前指定的集群端点、网关等。在一些示例中,主节点可存储关于集群用户及其许可的信息、关于集群客户端(例如互联网小计算机系统接口(iSCSI)和/或光纤通道(FC)端点)的信息、与用户数据如何在集群的各种节点上分布有关的数据、关于数据访问的模式和/或集群的性能的统计、加密密钥、审核事件等中的任何信息或信息的任何组合。
此外,节点300包括集群管理引擎304,当节点300充当主节点时,集群管理引擎304管理集群。例如,集群管理引擎304可指定集群的一个或多个端点(例如API端点)、管理集群的成员资格、使配置更新同步到集群的成员、并维持该同步的一致性等等。可以用与上面所述的引擎的任何实现相同的方式实现集群管理引擎304。
如关于图1所述的,在主节点和备用节点之间的服务的丢失期间并且在服务的丢失的持续时间达到超时阈值之前,除了不将新事务的日志备份到备用节点(即,主节点异步地操作)以外,主节点可基本上正常地继续操作,同时主节点累积日志事务,否则日志事务将被写到不可及的备用节点。一旦事务的累积大小(或数量)累积以超过事务阈值,主节点就可中止等待备用节点重新开始服务的策略。在被复制到备用节点的事务中的这个累积的“滞后”可被认为是“滞后阈值”。
图4是确定新事务的累积大小的方法的示例的流程图,该新事务在新备用节点的指定之前在备用节点的服务的丢失期间可被记录(例如由主节点载入日志)。在特定的示例中,这可取决于服务水平协议。在一些示例中,服务水平协议可以是提供高可用性集群的协议。在本文关于图4所述的功能可由节点(例如主节点)执行,并可以存储在机器可读存储介质上的处理资源可执行指令、一个或多个引擎(如在本文所述的)、电子电路或其任何组合的形式来实现。
在块402中,确定备用节点与主节点重新同步所花费的时间的量(即,完成重新同步过程的时间的量)(时间t)。实际上,情况可能是这个时间的大部分可以是重新同步所花费的时间。这个时间段可以例如在集群的服务水平协议中被规定,在一些示例中这个时间段可以是集群的任何节点的标准时间(即,这个时间段可以是非节点特定的),且可以是可配置的。在一些示例中,时间可包括服务的丢失的可接受的持续时间以及节点恢复时间。
在块404中,确定备用节点的事务速度。例如,这可包括确定备用节点的每秒操作的最小数量(其被特征化为每秒输入输出操作或IOPS)。操作的最小数量可以是“最坏情况”值,即,在负载下的最小速度。这在本文被称为minIOPS,且可取决于变量,例如集群的类型,例如哪种类型的处理器被包括在集群中,集群是否是全闪存集群、是混合集群(例如包括一些基于磁盘的服务、常常比基于闪存的服务慢),各种集群节点的速度,等等。这可基于由主节点保存的数据来导出,主节点可基于每个节点的型号和配置来存储与在集群中的每个节点的速度有关的数据,且因此可包括备用节点的速度的数据记录。
此外,在块406中,确定事务大小,这个示例包括每个输入/输出操作的大小(即,IOPsize)。这些可以是例如标准大小或平均大小。在一些集群中,大小可以是可配置的,但一旦被建立,每个事务就可具有标准大小。在这样的示例中,可从配置数据确定大小,该配置数据可例如存储在主节点上。在一些示例中,这个大小可以是备用节点特定的。在一些示例中,这可以以兆字节为单位被确定。
在块408中,可确定在指定新备用节点之前在服务的丢失期间在主节点处可累积的新事务的阈值累积大小。这个累积大小可以是如在本文所述的事务阈值,并在下面由“lag_threshold”表示。在一些示例中,这个事务阈值(例如“lag_threshold”)可被计算为:
lag_threshold=minIOPS*IOPSize*t
例如,minIOPS可以是大约1到10IOPS,IOPSize可以是几千字节的数量级(例如在5KB和15KB之间),并且t可以是大约10秒到2分钟。在minIOPS是2、IOPSize是8KB并且t=60的特定示例中,在新备用节点被指定之前允许的新事务的累积大小(Lag_threshold)是960KB。
如果在超时持续时间内且在lag_threshold被超过之前备用节点重新投入使用,则主节点可继续使用当前指定的备用节点来操作。如上所述的这个lag_threshold值可用作如本文所述的事务阈值。
通常,主节点可以比备用节点快(这是因为最快的节点可被选择为主节点),并可承担重要活动,而备用节点是不可达的:在日志数据以快速率增加的场合,这可意味着,相比于在日志数据正以较慢的速率增长的示例中,新备用节点可以更快地被指定。
超时阈值(即,持续时间)可以是对备用节点特定的,例如与那些节点的型号和/或配置(其可以是存储在主节点中的数据)相关。一些节点可以通常(例如在常规临时停运的情况下)比其它节点更快地重新连接,且因此与较短的超时阈值相关。超时持续时间是当主节点丢失与备用节点的联系时主节点将等待的时间,希望备用节点将快速(或在节点的预期“临时”停运内,与更严重的停运比较)复原。然而在这个等待时间段期间,如果主节点确定备用节点将花费太长时间来恢复(即,事务阈值被超过),则它可以“拆除”当前备用节点并选择新备用节点。
换句话说,如果超时持续时间或事务阈值被超过,则主节点可“拆除”指定备用节点并可例如通过选举来选择新备用节点。在一些示例中,备用节点可基于它的能力和/或它的历史可靠性(即,它在过去遭受了多少服务故障)来被选择。
图5是可在集群的指定备用节点中的服务的丢失期间和之后由主节点执行的方法的另一示例的方框图。在本文关于图5所述的功能可由节点(例如主节点)执行,并可以以存储在机器可读存储介质上的处理资源可执行指令、一个或多个引擎(如在本文所述的)、电子电路或其任何组合的形式来实现。
块502包括:在指示备用节点的正常操作的消息未在预定时间段内接收到的情况下,由主节点检测在备用节点和主节点之间的服务的丢失。换句话说,指示备用节点的健康的心跳信号(或类似信号)的接收的失败可触发主节点确定在备用节点和主节点之间存在服务的丢失。
块504包括:由主节点异步地将新事务载入日志。通常,新事务的日志条目可被添加到现有的日志。换句话说,事务日志的新条目被做出且这些新条目不被备份到任何其它装置或节点(例如备用节点)。块506包括:由主节点监控在服务的丢失期间在主节点处的新事务的累积大小,并且将新事务的累积大小与事务阈值进行比较,该事务阈值可以是如由图4的方法确定的阈值。在其它实施方式中,块506可包括:由主节点监控在服务的丢失期间在主节点处的新事务的数量,并且将新事务的数量与事务阈值(当事务阈值规定事务的阈值数量时)进行比较。与块506同时执行的块508包括:由主节点监控服务的丢失的持续时间,并且将服务的丢失的持续时间与超时阈值进行比较。
块510包括:确定在块506的事务阈值或块508的超时阈值被超过之前备用节点是否重新开始服务。如果备用节点在任一阈值被超过之前重新开始服务,则在块512中,该方法还包括:将在主节点处的任何新事务(在服务的丢失期间)从主节点发送到备用节点,以及在块514中由备用节点将从主节点发送的新事务载入日志。然而,如果任一阈值被超过,则该方法以块516继续进行并包括由主节点指定新备用节点,如上面关于图1的块110所述的。
图6示出一种方法的示例,该方法可以是识别不可靠的节点的方法。块602包括:确定节点的服务丢失事件的频率是否超过频率阈值,以及块604包括:确定随着时间的过去给定备用节点的多个服务丢失事件的累积持续时间是否超过累积时间阈值。在对于给定节点这些阈值中的任一个或两个被超过的情况下,节点可在块606中被指定为不可靠的。在一些示例中,这样的节点将较不可能被选择为如本文所述(例如在图1的块110或图5的块516所述的)的新备用节点。在其它示例中,确定节点是不可靠的可取决于块602和604的确定中的仅仅一个。在本文关于图6所述的功能可由节点(例如主节点)执行,并可以以存储在机器可读存储介质上的处理资源可执行指令、一个或多个引擎(如在本文所述的)、电子电路或其任何组合的形式来实现。
图7示出与处理资源702相关的非暂时性机器可读存储介质700的示例。机器可读存储介质700包括指令704,指令704当由处理资源702执行时使处理资源702执行各种操作。在这个示例中,指令704包括使处理资源监控集群中的至少一个节点是否提供预期服务的指令706、使处理资源702指定集群中的备用节点以保存集群的主节点的事务日志的同步拷贝的指令708、使处理资源702同步主节点和指定备用节点的事务日志的指令710、使处理资源702监控在主节点和指定备用节点之间的服务的丢失的持续时间的指令712、使处理资源702监控在服务的丢失期间在主节点的事务日志中被载入日志的新事务(例如监控被添加到主节点的事务日志的新事务的记录)的指令714、以及使处理资源702在服务的丢失的持续时间超过超时阈值之前、当在指定备用节点和主节点之间的服务的丢失期间在事务日志中载入的新事务超过事务阈值(例如累积大小阈值、事务数量阈值)时将新节点指定为备用节点的指令716。
在一些示例中,机器可读存储介质700还包括指令,该指令当由处理资源702执行时使处理资源702在服务的丢失(在该丢失期间,事务日志中载入的新事务低于事务阈值并且服务的丢失的持续时间低于超时阈值)之后,通过将在服务的丢失期间接收的任何新事务的日志条目发送到指定备用节点,来同步主节点和指定备用节点的事务日志。
在一些示例中,机器可读存储介质700还包括指令,该指令当由处理资源702执行时使处理资源702监控节点的服务丢失事件的频率、并确定服务丢失事件的频率是否超过阈值,并且在服务丢失事件的频率超过阈值的情况下将集群中的不同的一节点指定为备用节点。
在一些示例中,指令可包括使处理资源702执行上面关于图1、图4或图5中的一个或多个块所述的功能的指令。在一些示例中,指令可包括关于图2和图3所述的引擎204、206、208、210、304中的任一个的编程。在这样的示例中,处理资源702可包括关于图2和3所述的引擎204、206、208、210、304中的任一个的硬件。如在本文使用的,“机器可读存储介质”可以是任何电子、磁性、光学或其它物理存储装置,以包含或存储例如可执行指令、数据等的信息。例如,本文所述的任何机器可读存储介质可以是随机存取存储器(RAM)、易失性存储器、非易失性存储器、闪存、存储驱动器(例如硬盘驱动器(HDD)、固态驱动器、任何类型的存储磁盘(例如光盘、DVD等)等中的任一个或其任何组合。此外,本文所述的任何机器可读存储介质可以是非暂时性的。在本文所述的示例中,机器可读存储介质可以是物品(或制造物品)的一部分。物品或制造物品可以指任何所制造的部件或多个部件。
图8是根据示例的集群800的示例的图。集群800包括单个主节点802和单个指定备用节点804。剩余节点806a-c中的至少一个在一些示例中可具有充当主节点或备用节点的能力,然而,在如本文所述的处理集群的示例中,主节点的角色可由一个单独指定的节点履行,以及备用节点的角色可由另一单独指定的节点履行。在这个示例中的主节点802执行图1的方法。
节点802、804、806可包括任何处理资源,且在一些示例中可包括不同类型的处理资源。例如,节点802、804、806可包括CPU、磁盘、存储卡、网卡、微处理器等中的任一个或任何组合。在一些示例中,节点可包括服务器、处理核心、虚拟机等。
在一些示例中,集群800可包括数据存储集群。例如,节点802、804、806可以每个提供存储器资源和事务,例如数据库条目或其它数据可存储在节点802、804、806中的不同节点上。在一些示例中,主节点802可指定事务可被发送到哪个节点802、804、806以用于存储。
在一些示例中,集群800可被配置为提供高度可用的API端点和/或允许成员节点管理。
在本公开中的示例可被提供为方法、系统或机器可读指令,例如软件、硬件、固件等的任何组合。这样的机器可读指令可被包括在计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上,计算机可读存储介质具有在其中或其上的计算机可读程序代码。
参考根据本公开的示例的方法、装置和系统的流程图和方框图描述了本公开。虽然上面所述的流程图显示特定的执行顺序,执行顺序可不同于所描绘的执行顺序。关于一个流程图所述的块可与另一流程图的块组合。应理解,在流程图和/或方框图中的每个流程和/或块以及在流程图和/或方框图中的流程和/或图示的组合可由机器可读指令实现。
机器可读指令可例如由通用计算机、专用计算机、嵌入式处理器或其它可编程数据处理装置的处理器来执行,以实现在本描述和图示中所述的功能。特别是,处理器或处理电路可执行机器可读指令。因此,设备的功能模块(例如同步引擎204、服务检测引擎206、监控引擎208、备用节点指定引擎210和集群管理引擎304)可由执行存储在存储器中的机器可读指令的处理资源来实现或根据嵌入逻辑电路中的指令而操作的处理资源来实现。方法和功能模块都可由单个处理器执行或在几个处理器当中被划分。
这样的机器可读指令也可存储在可引导计算机或其它可编程数据处理装置在特定的模式中操作的计算机可读存储介质中。
这样的机器可读指令也可被加载到计算机或其它可编程数据处理装置上,使得计算机或其它可编程数据处理装置执行一系列操作来产生计算机实现的处理,因而在计算机或其它可编程装置上执行的指令实现由流程图中的流程和/或方框图中的块规定的功能。
此外,本文的教导可以计算机软件产品的形式中实现,计算机软产品存储在存储介质中并包括用于使计算机装置实现在本公开的示例中详述的方法的多个指令。
虽然参考某些示例描述了方法、设备和有关方面,但可做出各种修改、变化、省略和替换而不偏离本公开的精神。因此,旨在方法、设备和有关方面仅由本公开的实施例及其等效物的范围限制。应注意,上面提到的示例说明而不是限制在本文中描述的内容,并且本领域技术人员将能够设计任何可选的实现而不偏离本公开的实施例的范围。关于一个示例描述的特征可与另一示例的特征组合。
词“包括”并不排除除了在实施例中列出的那些元素以外的元素的存在,“一”并不排除多个,且单个处理器或其它单元可实现在实施例中详述的几个单元的功能。
任何实施例的特征可以在任何组合中与其它实施例的特征组合。

Claims (13)

1.一种用于确定事务日志的状态的方法,所述方法包括:
确定在包括多个节点的集群中的主节点和第一备用节点之间的服务的丢失,其中所述主节点用于管理所述集群并存储所述事务日志,并且所述第一备用节点用于存储所述事务日志的同步复制的拷贝;
当所述服务的丢失出现时,确定在所述主节点中存储的所述事务日志的所述状态;
确定在所述服务的丢失期间在所述主节点处被载入日志的新事务的量是否超过事务阈值;
在所述第一备用节点的服务重新开始之前,将所述服务的丢失的持续时间与超时阈值进行比较;并且
响应于在所述第一备用节点的所述服务重新开始之前、在所述服务的丢失期间在所述主节点处被载入日志的所述新事务的量超过所述事务阈值或所述服务的丢失的所述持续时间超过所述超时阈值,由所述主节点指定第二备用节点作为新备用节点。
2.如权利要求1所述的方法,包括:
在所述服务的丢失之前,与所述第一备用节点处的所述事务日志的复制拷贝同步地复制所述主节点处的事务数据;以及
在所述服务的丢失期间,异步地在所述主节点上将所述新事务载入日志,使得所述新事务与所述集群中的任何其它节点不同步。
3.如权利要求1所述的方法,包括:
基于所述第一备用节点的事务速度、输入/输出操作的事务大小或用于所述第一备用节点的重新同步的预定时间中的至少一个,来确定所述事务阈值。
4.如权利要求1所述的方法,进一步包括:由所述第一备用节点将从所述主节点发送的所述新事务中的任一个载入日志到所述第一备用节点。
5.如权利要求1所述的方法,进一步包括:监控在所述集群中的节点的服务丢失事件的频率或持续时间中的至少一个,并且响应于所述节点的服务丢失事件的所述频率或所述持续时间中的至少一个超过阈值,由所述主节点将所述节点指定为不可靠的。
6.一种节点集群中的第一节点,包括:
处理资源;以及
非暂时性机器可读存储介质,包括指令,所述指令能够由所述处理资源执行用于:
使事务日志与指定的第一备用节点同步;
检测在所述第一节点和所述第一备用节点之间的服务的丢失;
确定在所述第一节点和所述第一备用节点之间的所述服务的丢失的持续时间、以及在所述服务的丢失期间新事务的量;
确定以下中的至少一者:所述新事务的所述量是否超过事务阈值、或所述持续时间是否超过超时阈值;
响应于确定在所述新事务的所述量超过所述事务阈值之前并且在所述持续时间超过所述超时阈值之前所述第一备用节点的服务已重新开始,将自发生所述服务的丢失以来在所述第一节点处被载入日志的任何新事务的记录发送到所述第一备用节点;以及
响应于确定以下中的至少一者:所述新事务的所述量已超过所述事务阈值、或所述持续时间已超过所述超时阈值,将所述节点集群中的另一节点指定为第二备用节点。
7.如权利要求6所述的第一节点,其中所述指令能够由所述处理资源执行以在任何时间使所述事务日志与单个指定备用节点同步。
8.如权利要求6所述的第一节点,其中所述指令能够由所述处理资源执行以:
监控所述节点集群中的给定节点的服务丢失事件的频率;
确定所述给定节点的所述服务丢失事件的频率是否超过频率阈值;并且
响应于所述服务丢失事件的所述频率超过所述频率阈值,将所述节点集群中的所述给定节点之外的节点指定为备用节点。
9.如权利要求6所述的第一节点,其中所述指令能够由所述处理资源执行以管理所述节点集群。
10.如权利要求9所述的第一节点,其中所述指令能够由所述处理资源执行以指定所述节点集群的端点。
11.一种非暂时性机器可读存储介质,包括指令,所述指令当被执行时使系统执行以下操作:
指定集群中的第一备用节点,以保存所述集群中的主节点的事务日志的同步拷贝;
同步所述主节点的所述事务日志和所述第一备用节点处的所述事务日志的所述拷贝;
监控在所述主节点和所述第一备用节点之间的服务的丢失的持续时间;
监控在所述服务的丢失期间被添加到所述主节点的所述事务日志的记录的量;并且
响应于在所述服务的丢失期间被添加到所述主节点的所述事务日志的所述记录的量超过事务阈值或所述服务的丢失的所述持续时间超过超时阈值,将所述集群的新节点指定为第二备用节点。
12.如权利要求11所述的非暂时性机器可读存储介质,包括当被执行时使所述系统执行以下操作的指令:
响应于被添加到所述主节点的所述事务日志的所述记录的量不超过所述事务阈值并且所述服务的丢失的所述持续时间不超过所述超时阈值,通过将在所述服务的丢失期间在所述主节点处接收到的任何新事务的日志发送到所述第一备用节点来同步所述主节点的所述事务日志和所述第一备用节点的所述事务日志的所述拷贝。
13.如权利要求11所述的非暂时性机器可读存储介质,包括当被执行时使所述系统执行以下操作的指令:
监控所述集群中的给定节点的服务丢失事件的频率;
确定所述给定节点的所述服务丢失事件的频率是否超过频率阈值;并且
响应于所述服务丢失事件的频率超过所述频率阈值,将所述集群中的所述给定节点之外的节点指定为备用节点。
CN201910007977.9A 2018-01-24 2019-01-04 确定事务日志的状态的方法,节点和存储介质 Active CN110071821B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/878,802 US10972335B2 (en) 2018-01-24 2018-01-24 Designation of a standby node
US15/878,802 2018-01-24

Publications (2)

Publication Number Publication Date
CN110071821A CN110071821A (zh) 2019-07-30
CN110071821B true CN110071821B (zh) 2022-04-05

Family

ID=64900760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910007977.9A Active CN110071821B (zh) 2018-01-24 2019-01-04 确定事务日志的状态的方法,节点和存储介质

Country Status (3)

Country Link
US (1) US10972335B2 (zh)
EP (1) EP3518110B1 (zh)
CN (1) CN110071821B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11755226B2 (en) 2020-09-18 2023-09-12 Hewlett Packard Enterprise Development Lp Tracking changes of storage volumes during data transfers
US11620156B2 (en) * 2020-12-04 2023-04-04 Red Hat, Inc. Live migration with guaranteed maximum migration downtimes
US11720274B2 (en) 2021-02-03 2023-08-08 Hewlett Packard Enterprise Development Lp Data migration using cache state change
US11740811B2 (en) 2021-03-31 2023-08-29 Netapp, Inc. Reseeding a mediator of a cross-site storage solution
US11360867B1 (en) 2021-03-31 2022-06-14 Netapp, Inc. Re-aligning data replication configuration of primary and secondary data serving entities of a cross-site storage solution after a failover event
US11934670B2 (en) 2021-03-31 2024-03-19 Netapp, Inc. Performing various operations at the granularity of a consistency group within a cross-site storage solution
US11709743B2 (en) 2021-03-31 2023-07-25 Netapp, Inc. Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US11481139B1 (en) 2021-03-31 2022-10-25 Netapp, Inc. Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity
US11550679B2 (en) 2021-03-31 2023-01-10 Netapp, Inc. Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US11409622B1 (en) 2021-04-23 2022-08-09 Netapp, Inc. Methods and systems for a non-disruptive planned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system without using an external mediator
US11928352B2 (en) 2021-05-05 2024-03-12 Netapp, Inc. Maintaining the benefit of parallel splitting of ops between primary and secondary storage clusters in synchronous replication while adding support for op logging and early engagement of op logging
US11693565B2 (en) 2021-08-10 2023-07-04 Hewlett Packard Enterprise Development Lp Storage volume synchronizations responsive to communication link recoveries
US11892982B2 (en) 2021-10-20 2024-02-06 Netapp, Inc. Facilitating immediate performance of volume resynchronization with the use of passive cache entries
CN116781691A (zh) * 2022-03-07 2023-09-19 中兴通讯股份有限公司 业务容灾备份方法、业务容灾备份系统及tof节点
CN115277377A (zh) * 2022-05-19 2022-11-01 亿点云计算(珠海)有限公司 基于分布式云的服务获取方法、装置、终端及存储介质
US11907562B2 (en) 2022-07-11 2024-02-20 Netapp, Inc. Methods and storage nodes to decrease delay in resuming input output (I/O) operations after a non-disruptive event for a storage object of a distributed storage system by utilizing asynchronous inflight replay of the I/O operations

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6609213B1 (en) * 2000-08-10 2003-08-19 Dell Products, L.P. Cluster-based system and method of recovery from server failures
WO2002033551A1 (en) 2000-10-18 2002-04-25 Tricord Systems, Inc. Controller fault recovery system for a distributed file system
US7058703B2 (en) * 2002-03-08 2006-06-06 Intel Corporation System management controller (SMC) negotiation protocol for determining the operational mode of SMCs
US7392421B1 (en) 2002-03-18 2008-06-24 Symantec Operating Corporation Framework for managing clustering and replication
US8689043B1 (en) 2003-06-30 2014-04-01 Symantec Operating Corporation Fast failover with multiple secondary nodes
US7409576B2 (en) * 2004-09-08 2008-08-05 Hewlett-Packard Development Company, L.P. High-availability cluster with proactive maintenance
JP4277873B2 (ja) 2006-05-23 2009-06-10 日本電気株式会社 トランザクション処理装置、トランザクション処理方法
US7434096B2 (en) * 2006-08-11 2008-10-07 Chicago Mercantile Exchange Match server for a financial exchange having fault tolerant operation
US20090157766A1 (en) * 2007-12-18 2009-06-18 Jinmei Shen Method, System, and Computer Program Product for Ensuring Data Consistency of Asynchronously Replicated Data Following a Master Transaction Server Failover Event
TWI476610B (zh) 2008-04-29 2015-03-11 Maxiscale Inc 同級間冗餘檔案伺服器系統及方法
US8572031B2 (en) * 2010-12-23 2013-10-29 Mongodb, Inc. Method and apparatus for maintaining replica sets
US9116862B1 (en) * 2012-01-17 2015-08-25 Amazon Technologies, Inc. System and method for data replication using a single master failover protocol
US9697226B1 (en) 2013-06-28 2017-07-04 Sanmina Corporation Network system to distribute chunks across multiple physical nodes
US9836363B2 (en) * 2014-09-30 2017-12-05 Microsoft Technology Licensing, Llc Semi-automatic failover
US10042692B1 (en) * 2015-09-29 2018-08-07 Xilinx, Inc. Circuit arrangement with transaction timeout detection

Also Published As

Publication number Publication date
CN110071821A (zh) 2019-07-30
US20190229978A1 (en) 2019-07-25
EP3518110B1 (en) 2020-07-22
EP3518110A3 (en) 2019-08-14
US10972335B2 (en) 2021-04-06
EP3518110A2 (en) 2019-07-31

Similar Documents

Publication Publication Date Title
CN110071821B (zh) 确定事务日志的状态的方法,节点和存储介质
US11163653B2 (en) Storage cluster failure detection
US10609159B2 (en) Providing higher workload resiliency in clustered systems based on health heuristics
US9916113B2 (en) System and method for mirroring data
JP2007279890A (ja) バックアップシステム及びバックアップ方法
US9450700B1 (en) Efficient network fleet monitoring
WO2016070375A1 (zh) 一种分布式存储复制系统和方法
US9659078B2 (en) System and method for supporting failover during synchronization between clusters in a distributed data grid
JP2005209201A (ja) 高可用性クラスタにおけるノード管理
CN109491609B (zh) 一种缓存数据处理方法、装置、设备及可读存储介质
JP2017504880A (ja) 分散データグリッドにおいて永続性パーティションリカバリをサポートするためのシステムおよび方法
CN111176888B (zh) 云存储的容灾方法、装置及系统
CN111752488B (zh) 存储集群的管理方法、装置、管理节点及存储介质
CN114138732A (zh) 一种数据处理方法及装置
CN111342986B (zh) 分布式节点管理方法及装置、分布式系统、存储介质
JP2010160660A (ja) ネットワークインタフェース、計算機システム、それらの動作方法、及びプログラム
US10001826B2 (en) Power management mechanism for data storage environment
CN110377487A (zh) 一种处理高可用集群脑裂的方法及装置
JP2012014674A (ja) 仮想環境における故障復旧方法及びサーバ及びプログラム
JP5285044B2 (ja) クラスタシステム復旧方法及びサーバ及びプログラム
CN115314361B (zh) 一种服务器集群管理方法及其相关组件
US20230129446A1 (en) Disaggregated storage with mutiple cluster levels
US10645163B2 (en) Site-aware cluster management
CN114518973A (zh) 分布式集群节点宕机重启恢复方法
JP4485560B2 (ja) コンピュータ・システム及びシステム管理プログラム

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