CN104160380A - 存储池中的磁盘所有权仲裁 - Google Patents

存储池中的磁盘所有权仲裁 Download PDF

Info

Publication number
CN104160380A
CN104160380A CN201380011496.6A CN201380011496A CN104160380A CN 104160380 A CN104160380 A CN 104160380A CN 201380011496 A CN201380011496 A CN 201380011496A CN 104160380 A CN104160380 A CN 104160380A
Authority
CN
China
Prior art keywords
node
section point
login key
memory device
key
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
CN201380011496.6A
Other languages
English (en)
Other versions
CN104160380B (zh
Inventor
S·S·A·帕德玛纳班
V·库兹耐特索夫
A·沃维克
A·达马托
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN104160380A publication Critical patent/CN104160380A/zh
Application granted granted Critical
Publication of CN104160380B publication Critical patent/CN104160380B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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]
    • 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/13File access structures, e.g. distributed indices
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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)
  • 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)
  • Storage Device Security (AREA)

Abstract

本发明涉及用于实现用于建立一个或多个物理磁盘的所有权的持久保留技术的方法、系统和计算机程序。这些持久保留技术可被用来确定存储池中以及任何其他存储配置中的物理磁盘的所有权。使用本发明的持久保留技术,在网络分区发生时,物理磁盘的防守者不移除挑战者的注册密钥,直到防守者接收到挑战者不再位于防守者的分区中的通知为止。以此方式,来自在挑战者上执行的应用的待决I/O将不会由于挑战者的密钥被移除而失败,直到该物理磁盘的适当所有权能被解除为止。

Description

存储池中的磁盘所有权仲裁
背景
1.背景和相关技术
计算机系统及相关技术影响社会的许多方面。的确,计算机系统处理信息的能力已转变了人们生活和工作的方式。现在,计算机系统通常执行在计算机系统出现以前手动执行的许多任务(例如,文字处理、日程安排、帐目管理等)。最近,计算机系统彼此耦合并耦合到其他电子设备以形成计算机系统及其他电子设备可在其上传输电子数据的有线和无线计算机网络。因此,许多计算任务的执行分布在多个不同的计算机系统和/或多个不同的计算环境中。
群集是指多个计算机系统(在本文中被称为节点)的编组。通常,群集利用共享存储来使得在这些节点中的任一节点上执行的应用能够访问相同的数据。共享存储实现群集中从节点到节点的应用的故障转移。例如,如果一节点故障,则正在故障节点上执行的应用可被切换到另一节点上,该应用在该另一节点上继续执行。因为故障转移应用所使用的数据被存储在任一节点均能访问的共享存储上,所以这些应用在切换到另一节点之后能继续执行(例如,访问相同数据)。以此方式,从用户角度,故障转移是基本透明的。
为了实现群集,必须跨各节点维持一致性。例如,即便每个节点均能访问群集配置数据,该配置数据也应当跨各节点保持一致。只要每个节点能与群集中的其他节点通信,一致性便能得以维持。在一些群集中,每个节点存储群集配置数据的一个副本,而群集服务跨各节点同步该数据。
在网络分区发生由此阻止节点通信时,出现了一个问题。图1(现有技术)示出一示例,其中网络分区107已在群集100中发生,阻止了第一节点分区(节点101-102)与第二节点分区(节点103-104)通信。共享存储106对于该群集中的每个节点而言仍能访问;然而,第一分区中的节点不能与第二分区中的节点通信。当在该群集中发生这种划分时,仅一个分区继续作为群集发挥功能是必要的,以便确保一致性得以维持。
为了确保群集中仅有一个分区继续执行(即,保持对共享存储106的访问权),该群集服务需要一分区具有法定数量(quorum)。一般而言,具有法定数量意味着该分区包括该群集中的元素的多数(majority)。取决于该群集的配置,元素可包括该群集的节点,还可能包括磁盘(有时被称为见证盘(diskwitness))或文件共享。在存在偶数个节点时使用见证盘来防止出现平手的情形(例如,如果在确定多数时仅考虑节点)。
在图1中,第一和第二两个分区具有相同数量的节点。相应地,具有共享存储106的所有权的那个分区将具有法定数量(即,2个节点+1个磁盘)。当节点拥有磁盘时,该节点具有对该磁盘的写访问权。其他节点也能写该磁盘,但是所有者能控制哪些节点能够具有访问权。以此方式,赋予单一节点对谁能访问该磁盘的控制权。在图1中,在发生网络分区107之前,节点101具有对共享存储106的所有权。
一般而言,所有者节点允许对该所有者节点知晓是该群集的成员并且在该所有者节点的分区内(例如,当分区发生时)的节点的访问。因此,当分区发生时,拥有该磁盘的节点负责防止多数节点外的节点访问共享存储。例如,在图1中,作为所有者的节点101将在网络分区107发生之后防止节点103-104访问共享存储106。
磁盘所有者通常是使用被称为持久保留(Persistent Reservation,PR)的一种SCSI协议来确定和管理的。PR是一种防守/挑战机制。在PR中,每个节点具有一个被称为注册密钥的唯一密钥。为了获得磁盘的所有权,节点必须注册其密钥,并随后必须用该密钥获得保留(reservation)。
图2A(现有技术)示出了在PR中使用的两个表格。图2A表示当节点101是该磁盘(共享存储106)的当前所有者时这两个表格的状态。尽管在此示例中示出两个表格,但是可使用单个表格或其他数据结构存储类似信息来实现PR。
为了对磁盘具有写访问权,节点必须注册其注册密钥。节点通过将其密钥添加到注册表格201来注册其密钥。例如,注册表格201示出节点101-104均已注册了其密钥。相应地,节点101-104具有对共享存储106的写访问权。
一旦注册,节点随后可尝试通过将其密钥添加到保留表格202来保留其密钥。例如,保留表格202显示:节点101已成功保留其密钥,由此使节点101成为该磁盘的所有者。一旦节点保留了其密钥,则该节点可使用其密钥来控制该磁盘。
然而,如果在一节点(被称为挑战者)尝试保留其密钥时一保留已经存在,则保留将失败。例如,因为节点101的密钥已经被保留,所以任何其他节点保留其密钥的尝试将失败。作为此失败保留的一部分,挑战者接收当前保留密钥(例如,节点101的密钥)。
当保留已经存在时,节点在能够保留它自己的密钥之前必须首先取代该保留。为了使所有者节点(被称为防守者)能够防守其对磁盘的所有权,PR规则要求在发出取代命令之前挑战者在保留失败后等待指定时间段(一般为6秒)。在此时间段后,挑战者醒来并且发出取代命令来尝试从保留表格移除挑战者的密钥。取代命令指定挑战者的密钥以及当前保留密钥(挑战者的密钥保留在其保留失败时该挑战者接收到的保留表格中)。例如,取代命令指定要从保留表格202移除的密钥(防守者的密钥)以及要保留在保留表格202中的密钥(挑战者的密钥)。
为了使取代命令成功,挑战者的密钥必须仍旧在注册表格201中。为了防守其所有权(即,为了使得挑战者的取代命令失效),防守者必须在挑战者发出取代命令之前从注册表格201移除挑战者的注册密钥。一般而言,每3秒,防守者将醒来并检查保留表格202以确定是否已有任何挑战被做出。因为防守者拥有该磁盘,所以防守者能够从注册表格201移除任何其他节点的注册密钥。
当节点101看到节点104的密钥在注册表格201中时,节点101将从注册表格201移除节点104的注册密钥。图2B(现有技术)表示在节点101已防守了节点104的挑战之后的两个表格的状态。如图所示,节点104的密钥不再列于注册表格201中。
相应地,在节点104醒来并且发出取代命令时,因为防守者已经移除了节点104的注册密钥,所以取代命令将失败。因为节点104的注册密钥已经被从注册表格201移除,所以节点104不再具有对共享存储106的访问权。
因为防守者比挑战者睡眠更短的时间段,所以只要防守者仍旧发挥功能并且没有理由不防守其所有权,该防守者就通过周期性地移除挑战所有权的任何节点的注册密钥来保持其所有权。然而,如果防守者无法或以其他方式丧失了对磁盘的访问权,则防守者将无法移除挑战者的注册密钥,由此允许挑战者成功取代所有权(即,从注册和保留表格移除防守者的密钥)。
除了在防守中移除挑战者的注册密钥以外,防守者还将周期性地移除该防守者没有识别为该活动群集的一部分的任何节点的注册密钥。换言之,群集中的节点在该节点能与哪些节点通信方面被周期性地更新。如果所有者节点接收到该所有者节点不能与该群集中的另一节点通信的通知(例如由于网络分区),则该所有者节点将该另一节点的注册密钥移除以防止该另一节点访问群集存储。
相应地,在传统PR中,存在两种移除一节点的注册密钥的一般方式:(1)当所有者节点接收到该所有者节点不能与该节点通信的通知时;以及(2)当该节点不成功地挑战该共享密钥的所有权时。
当网络分区发生时(即,当节点变得意识到该节点不能与群集中的每个节点通信时),对该磁盘不具有所有权的分区中的几点一般将开始挑战该磁盘的所有权。例如,在图1中,在网络分区107发生后,节点103-104中的一个或多个可开始挑战来取代节点101对共享存储106的所有权(因为节点103和104需要共享分区106的所有权来获得法定数量(以由此能够继续在该群集内发挥功能)。
在图1中,网络分区107不阻止这些节点中的任一节点访问共享存储106(即,其仅阻止节点101-102与节点103-104通信)。相应地,节点101将继续针对节点103或节点104的挑战防守其对共享存储106的所有权。
然而,如果节点101将要失败或以其他方式丧失对共享存储106的连接(或因为它不在本应具有法定数量的分区中而确定它不应当防守),则来自节点103或104的挑战将成功(因为节点101将不能够移除节点103或节点104的注册密钥)。作为结果,当挑战者(节点103或节点104)醒来时,该挑战者的注册密钥将仍旧列在注册表格201中,由此允许该挑战者取代节点101的所有权。该挑战者此时将取得共享存储106的所有权。作为所有者,如上所述地,该节点将开始防守其所有权(例如,如果节点101或102开始挑战所有权的话)。
以上示例描述了向节点和存储提供投票来确定所有权的群集。还存在使用上面描述的PR技术的其他投票方案。这些方案包括仅节点投票(其中仅节点具有投票权)和节点+文件共享投票(其中节点和文件共享投票)。当群集包括奇数个节点时通常使用仅节点投票。节点+文件共享投票类似于上面描述的节点+存储投票,但是在使用文件共享来进行共享存储时使用。
如上所述的PR在许多典型的存储配置下正确地工作。然而,如上所述,当在其他类型的存储配置中使用时,PR不总是令人满意的(例如,当群集利用虚拟磁盘作为共享存储时)。在Windows(视窗)操作系统中,虚拟磁盘被称为“存储空间”。在存储空间中,多个物理磁盘被聚集为存储池。该存储池随后可被划分为一个或多个逻辑“空间”(或虚拟磁盘)。每个空间对于各应用都表现为物理存储设备,即便该空间被虚拟化并且实际上可能跨越许多不同的物理存储设备。
例如,图3(现有技术)示出群集300,群集300与图1的群集100类似,不同之处在于共享存储106已被存储池306取代。存储池306包括三个物理存储设备310-312。从此池,该用户可创建一个或多个空间。图3示出该用户已创建单一空间307。从该群集中的每个节点上的应用的角度,空间307可被作为正常的物理磁盘来对待。
在使用空间时,该群集的节点需要对底层池中的每个物理磁盘具有访问权,因为这些空间可分布在各物理磁盘中。例如,在群集300中,写到空间307中的数据可能物理存储在存储池306中的三个物理存储设备的任何物理存储设备上。在使用空间时,单个节点拥有该存储池(意味着该节点拥有该池中的每个物理磁盘)。
应用具有空间的标准PR技术所导致的一个特殊问题是:每当挑战者尝试取代从其创建所述空间的池的所有权时,该池的所有者将移除挑战者的密钥,由此导致从挑战者上的应用到空间的任何I/O失败(因为挑战者的密钥必须要向物理磁盘注册来允许该挑战者上的应用对该物理磁盘写入)。
导致来自挑战者的I/O失败可以是挑战的不正确结果。例如,可以在防守者之前向挑战者通知网络分区。响应于网络分区,挑战者开始挑战该池。如果挑战者位于具有法定数量的分区中,则正确的结果将是挑战者赢得挑战而获得该池的所有权(以由此允许挑战者的分区继续执行)。
然而,如果防守者还没有得到网络分区的通知(并且相应地没有通知它位于不具有法定数量的分区中),则防守者将成功地防守它对于该池的所有权。使用如上所述的传统PR技术,此防守包括移除挑战者的注册密钥,以使从挑战者的任何写入均将失败。该防守者将继续成功防守其所有权,直到它接收到网络分区的通知为止。相应地,直到防守者接收到该网络分区的通知,该群集将不会开始对具有法定数量的分区(即,挑战者的分区)正常操作。在其他场景中,常规PR技术的应用也导致不期望的结果。
简要概述
本发明涉及用于实现用于建立一个或多个物理磁盘的所有权的持久保留技术的方法、系统和计算机程序。这些持久保留技术可被用来确定存储池中以及任何其他存储配置中的物理磁盘的所有权。使用本发明的持久保留技术,在网络分区发生时,物理磁盘的防守者不移除挑战者的注册密钥,直到防守者接收到挑战者不再位于防守者的分区中的通知为止。以此方式,来自在挑战者上执行的应用的待决I/O将不会由于挑战者的密钥被移除而失败,直到该物理磁盘的适当所有权能被解除为止。
在一个实施例中,第一节点防守另一节点取代该第一节点在存储设备上的持久保留的尝试。在阻止该第一节点与该群集中的另一节点通信的网络分区发生后,并且在向该第一节点通知该网络分区之前,该第一节点检测到该群集中的另一节点已尝试保留由该群集的各节点共享的存储设备。该检测包括标识该另一节点已改变了该另一节点在注册数据结构中的注册密钥。
该第一节点改变该第一节点的注册密钥,在该注册数据结构中注册该已改变的注册密钥,并且在保留数据结构中保留该已改变的注册密钥。
在另一实施例中,第二节点尝试移除该第一节点在存储设备上的持久保留以便获得该第二节点的持久保留。该第二节点接收阻止该第二节点与该第一节点通信的网络分区已发生的通知。
该第二节点尝试保留该第二节点的注册密钥以便获得在该存储设备上的持久保留。保留的尝试包括该第二节点读取在该保留数据结构中存储的该第一节点的注册密钥并且存储该第一节点的密钥。保留的尝试还包括该第二节点改变该第二节点的注册密钥并且注册该已改变的注册密钥。保留的尝试还包括在发出移除该第一节点的持久保留的取代命令之前该第二节点睡眠指定的时间段。
提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明的附加特征和优点将在以下描述中叙述,并且其一部分根据本描述将是显而易见的,或者可通过对本发明的实践来获知。本发明的特征和优点可通过在所附权利要求书中特别指出的工具和组合来实现和获得。本发明的这些以及其它特征、优点和特征将根据以下描述和所附权利要求而变得更显而易见,或者可通过如此后阐述的对本发明的实践而获知。
附图说明
为了描述可获得本发明的上述和其他优点和特征的方式,将通过参考附图中示出的本发明的具体实施例来呈现以上简要描述的本发明的更具体描述。可以理解,这些附图仅描述本发明的典型实施例,从而不被认为是对其范围的限制,本发明将通过使用附图用附加特征和细节来描述和说明,在附图中:
图1图解在其中使用常规持久保留技术的典型节点群集。
图2A-2B图解在实现常规持久保留时使用的示例性表格。
图3图解利用虚拟盘来用于共享存储的节点群集。
图4图解利用多个虚拟盘来用于共享存储的另一节点群集。
图5A-5F图解在实现本发明的持久保留技术时使用的示例性表格;
图6图解根据本发明的可用于持久保留的注册密钥的示例性格式;
图7图解第一节点防守另一节点取代该第一节点在存储设备上的持久保留的尝试的示例方法的流程图;以及
图8图解第二节点尝试移除该第一节点在存储设备上的持久保留以便获得该第二节点的持久保留的示例方法的流程图。
具体实施方式
本发明涉及用于实现用于建立对一个或多个物理磁盘的所有权的持久保留技术的方法、系统和计算机程序产品。这些持久保留技术可被用来确定存储池中以及任何其他存储配置中的物理磁盘的所有权。使用本发明的持久保留技术,在网络分区发生时,物理磁盘的防守者不移除挑战者的注册密钥,直到防守者接收到挑战者不再位于防守者的分区中的通知为止。以此方式,来自在挑战者上执行的应用的待决I/O不会由于挑战者的密钥被移除而失败,直到该物理磁盘的正确所有权能被解除为止。
在一个实施例中,第一节点防守另一节点取代该第一节点在一存储设备上的持久保留的尝试。在阻止第一节点与该群集中的另一节点通信的网络分区之后,并且在通知第一节点该网络分区之前,第一节点检测到该群集中的另一节点已尝试保留该群集的各节点共享的该存储设备。该检测包括标识该另一节点已改变了该另一节点在注册数据结构中的注册密钥。
该第一节点改变该第一节点的注册密钥、在该注册结构中注册该已改变的注册密钥、并且在保留数据结构中保留该已改变的注册密钥。
在另一实施例中,第二节点尝试移除第一节点在一存储设备上的持久保留以便为第二节点获得持久保留。第二节点接收阻止该第二节点与第一节点通信的网络分区已经发生的通知。
第二节点尝试保留第二节点的注册密钥以便获得在该存储设备上的持久保留。保留的尝试包括第二节点读取存储在保留数据结构中的第一节点的注册密钥并且存储第一节点的密钥。保留的尝试还包括第二节点改变第二节点的注册密钥并且注册该已改变的注册密钥。保留的尝试还包括在发出移除第一节点的持久保留的取代命令之前第二节点睡眠一指定时间段。
本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如举例而言一个或多个处理器和系统存储器的计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质(设备)。承载计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本发明的各实施例可包括至少两种明显不同种类的计算机可读介质:计算机存储介质(设备)和传输介质。
计算机存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(SSD)(如基于RAM)、闪存、相变存储器(PCM)、其他类型的存储器、其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其它电子设备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(设备)(或反之亦然)。例如,通过网络或数据链接接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质(设备)。因而,应当理解,计算机存储介质(设备)可被包括在还利用(甚至主要利用)传输介质的计算机系统组件中。
计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。更具体而言,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、平板、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
尽管本发明被描述成在图4中示出的群集400中实现,然而要理解,该PR技术还可在包括多个节点的其他计算机架构中实现。群集400包括4个互连节点(节点401-404)。每个节点连接到存储设备410-412中的每一个。存储设备410-412包括存储池420,已从该存储池创建了多个虚拟盘(或空间)430a-430n。相应地,每个节点上的应用能够访问虚拟盘430a-430n中的每一个。假定群集400中的法定数量是使用节点+存储投票方案来确定的。相应地,节点401-404中的每个节点和池420具有投票。在一给定时间,单一节点拥有池420中的每个存储设备。
此外,图5A-5F图解了可被维护以实现本发明的PR技术的注册表格501和保留表格502的各个状态。针对存储设备410-412中的每一存储设备维持一独立的注册和保留表格的集合。在以下描述中,假定注册表格501和保留表格502属于存储设备410,但是应当理解,可按照类似的过程来确定每个存储设备的所有权。而且,尽管示出了两个表格,但本发明也可使用单个表格或任何数量的其他数据结构来实现。相应地,被用于存储密钥的数据结构对本发明而言不是关键的。
图5A-5F还包括节点401和404以图解在本发明的PR过程期间各节点如何存储当前保留的密钥。当然,尽管未示出,但每个节点还存储其注册密钥。
图5A表示在网络分区405发生之前这两个表格的状态。在图5A中,注册表格501包括4个注册密钥,节点401-404中的每一节点均有一个注册密钥,所述注册密钥指示该群集中的每个节点能够对存储设备410写入。保留表格502还包括节点401的注册密钥,该注册密钥指示节点401已在存储设备410上具有保留(即,节点401是该物理磁盘的当前所有者)。
当网络分区405发生时,向该群集中的每个节点通知该分区。然而,未必同时通知每个节点。在此示例中,已向节点404通知网络分区405并且节点404已相应地开始了对池420中的每个存储设备的所有权的挑战(因为节点404的分区需要池520的所有权具有法定数量)。
然而,在节点404挑战的时刻,尚未向节点401通知网络分区405。如此,节点401将认为它仍旧与节点404处于同一分区中。在常规PR中,当节点404挑战存储设备410的所有权时,节点401仍认为节点404位于同一分区的事实没有关系,而节点401将从注册表格501中移除节点404的注册密钥,从而导致来自节点404的I/O失败。
相反,在本发明中,不同的PR技术被应用以确保节点401不移除节点404的注册密钥,直到节点401知晓节点404不再位于同一分区中为止。图5B-5E图解如何实现本发明的PR技术。
图5B表示在节点404已开始挑战存储设备410的所有权之后这两个表格的状态。相应地,图5B可表示节点404在睡眠而节点401尚未醒来以防守其所有权时的时间段。
节点404通过执行以下任务来尝试保留。节点404递增(或以其他方式改变)其自己的注册密钥并且将该密钥在注册表格501中注册(替换其旧注册密钥)。然而,因为节点401是当前所有者,所以节点404保留的尝试最初将失败,从而需要节点404在尝试取代节点401的保留之前睡眠。因为保留失败,所以节点404还读取当前保留密钥(节点401的密钥在保留表格502中)并存储该密钥。
相应地,图5B示出通过用节点404的经递增的注册密钥来取代节点404的旧注册密钥来改变了的注册表格501。在图5B中,节点404被示出为存储当前保留密钥、即节点401的注册密钥。
图5C图解在节点401已醒来防守其所有权之后但是在向节点401通知网络分区405之前这两个表格的状态。在防守时,节点移除没有被识别为所有者节点的分区的一部分的任何节点的注册密钥。相应地,当节点401在注册表格501中看到节点404的递增的注册密钥时,节点401将不移除节点404的注册密钥,因为节点401仍旧相信节点404位于同一分区中。
不是从注册表格501移除节点404的注册密钥(从而阻止节点404对存储设备410写入),而是节点401递增其自己的注册密钥、注册经递增的密钥、并保留经递增的密钥。这是在不知道位于一不同分区的节点挑战所有权时所有者节点的防守形式。
相应地,图5C示出注册表格501和保留表格502现在各自包括取代节点401的先前密钥的节点401的经递增的注册密钥。简言之,因为节点401尚未知道节点401和节点403不再处于同一分区中,则节点401对节点404的挑战的响应涉及递增和保留其注册密钥而不是从注册表格501移除节点404的注册密钥。
图5D表示节点404已醒来并发出取代命令530之后这两个表格的状态。取代命令530包括节点404的当前注册密钥以及节点404在睡眠前读取的保留密钥。因为节点401已递增其注册密钥并且保留其递增密钥,所以节点404所保持的保留密钥将与保留表格502中存储的当前保留密钥不匹配(Node_401_key_0001!=Node_401_key_0002(节点_401_密钥_0001!=节点_401_密钥_0002))。从而,节点404的取代尝试将失败,且节点401将仍旧是存储设备410的所有者。图5D相应地示出这两张表格与图5C中仍旧相同,因为节点410仍旧是所有者但是没有移除节点404的注册。
在稍后某个时刻,节点404(或类似地,节点403)可按针对图5A-5B描述的方式开始另一挑战。图5E表示在节点404已开始另一挑战之后这两个表格的状态。如图所示,注册表格501现在包括节点404的经递增的密钥(Node_404_key_0003(节点_404_密钥_003))。节点404现在也存储该当前保留密钥(Node_401_key_0002)。
在节点401唤醒以防守其所有权之前,已向节点401通知网络分区405。相应地,节点401不同地对节点404的挑战作出响应。具体而言,节点401现在知道节点404不在同一分区内,并且由此,节点401从注册表格501移除节点404的注册密钥,导致节点404的挑战失败,并且阻止节点404对存储设备410写入。
因此,图5F表示在已向节点401通知网络分区405之后并且在节点401已防守了节点404的挑战之后这两个表格的状态。如图所示,注册表格501不包括节点404的注册密钥。尽管节点404被示出为仍旧存储该当前保留密钥,但是节点404的取代尝试将失败,因为节点404的注册密钥不在注册表格501中。
尽管以上描述使用递增密钥的示例,然而本发明还可通过按任何其他方式改变密钥以向另一节点通知挑战来实现。例如,不是递增其密钥,而是节点404更改一位。实质上,注册密钥的更改充当在即便网络分区已阻止节点直接通信的情况下所述节点继续通信的方式。相应地,在本发明中可使用改变注册密钥以传达节点的挑战的任何手段。
注意,节点404的注册密钥还可在即便节点404没有开始挑战的情况下被移除。只要节点401醒来来防守所有权,节点401首先检查该节点401不能识别为同一分区的一部分的节点的任何注册密钥。例如,如果节点401在网络分区405之后并且在节点404开始挑战之前醒来,则节点401将从注册表格501中移除节点404的密钥(以及节点403的密钥),因为节点404和403不再位于同一分区内。
相应地,所有者节点不移除另一节点的注册密钥,直到该所有者节点知道该另一节点不与该所有者节点位于同一分区内为止。以此方式,所有者节点在网络分区发生时将不移除另一节点的密钥,直到该所有者节点知晓网络分区并且相应地做出响应(例如,通过防守或不防守其所有权)为止。
当然,在任何给定防守期间,该所有者节点可以既移除它不识别为同一分区的一部分的任何节点的注册密钥,又响应于来自该所有者节点尚未知道处于另一分区中的节点的挑战而递增、注册并且保留其注册密钥。使用图5A-5F的同一示例,如果节点403和404同时挑战,但是已向节点401通知节点404不再位于同一分区中,节点401将移除节点404的密钥,同时留下节点403的密钥并递增其自己的密钥。
类似地,如果在任何时刻节点401变得意识到该节点401处于它不具有法定数量的分区中(例如,如果网络分区405将节点401与节点402-404分开),则节点401将不防守其所有权,从而允许另一分区中的各节点中的一个节点成功取代节点401的所有权。
如同上面提及的,对存储池中的每个存储设备执行针对图5A-5F描述的过程。例如,节点404将按相同方式挑战存储设备411和412的所有权。然而,单一节点通常应当对池中的每个存储设备具有所有权。为了确保单一节点获得并维持每个存储设备的所有权,则将按预定义的次序在每个存储设备上执行上面描述的过程。
换言之,每个节点均知晓每个存储设备应当被挑战的次序。例如,可基于与该存储设备相关联的标识符(例如,池guid)来确定此次序。例如,当节点404醒来以发出取代命令时,该节点404能够按指定次序发出该取代命令(诸如通过在存储设备410上取代,随后在存储设备411上取代,随后在存储设备412上取代)。
如果任何取代命令失败,则挑战节点将停止对所有权的挑战。例如,如果节点404的取代命令在存储设备410上失败,则节点410将不会尝试取代存储设备411和412的所有权。通过按指定次序发出取代命令,可避免以下情形:其中一个节点赢得该池中的某些存储设备的所有权,而一个或多个其他节点赢得该池中的其他存储设备的所有权。
除了确保所有者节点或挑战者节点是具有法定数量的分区的一部分(或可能通过获得该池的所有权而具有法定数量)之外,节点还可以在开始对该池中的存储设备进行防守或挑战之前验证该池中的磁盘的法定数量是能被访问的。例如,在节点401醒来防守其自己的所有权时,该节点401可首先枚举池420中的所有存储设备。如果所枚举的存储设备的数量少于该池中的存储设备的多数(例如,少于存储设备410-412中的2个),则节点401可停止其防守。类似地,当节点404尝试挑战时,该节点404也可枚举存储设备并且如果不能访问存储设备的法定数量则停止挑战。如果存储设备故障或以其他方式停止正确工作,则存储设备可能是不可访问的。
图6图解注册密钥600的示例性格式。注册密钥600包括4个段:标识符段601、修订段602、节点标识符段603、以及签名段604。标识符段601包括针对其使用注册密钥的存储设备的标识符。修订段602是如上所述地递增的密钥的一部分。节点标识符段603包括该密钥所涉及的节点的标识符。签名部分604包括相应节点生成的唯一签名。
图7图解第一节点防守另一节点取代该第一节点在存储设备上的持久保留的尝试的示例方法700的流程图。方法700将参考图4和5A-5F描述。
方法700包括动作701:在阻止该第一节点与该群集中的另一节点通信的网络分区发生后,并且在向该第一节点通知该网络分区之前,该第一节点检测到该群集中的另一节点已尝试保留由该群集的各节点共享的存储设备。该检测包括标识该另一节点已改变了该另一节点在注册数据结构中的注册密钥。例如,节点401能检测到节点404已改变了该节点404在注册表格501中的与存储设备410有关的注册密钥,而节点401具有存储设备410上的持久保留。
方法700包括动作702:该第一节点改变该第一节点的注册密钥,在该注册数据结构中注册该已改变的注册密钥,并且在保留数据结构中保留该已改变的注册密钥。例如,节点401可改变(例如,递增)其注册密钥、在注册表格501中注册已改变的注册密钥、并且在保留表格502中保留已改变的注册密钥。
图8图解第二节点尝试移除该第一节点在存储设备上的持久保留以便获得该第二节点的持久保留的示例方法800的流程图。方法800将参考图4和5A-5F描述。
方法800包括动作801:该第二节点接收阻止该第二节点与该第一节点通信的网络分区已发生的通知。例如,节点404可接收网络分区405已发生的通知。
方法800包括动作802:该第二节点尝试保留该第二节点的注册密钥以便获得在该存储设备上的持久保留。动作802包括子动作802a-802c。
子动作802a包括:该第二节点读取在该保留数据结构中存储的该第一节点的注册密钥并且存储该第一节点的密钥。例如,节点404可读取保留表格502中的节点401的注册密钥。
子动作802b包括:该第二节点改变该第二节点的注册密钥并且注册该已改变的注册密钥。例如,节点404可改变其注册密钥并且在注册表格501中注册已改变的注册密钥。
子动作802c包括:在发出移除该第一节点的持久保留的取代命令之前该第二节点睡眠指定的时间段。例如,在醒来并且发出取代命令以移除节点401在存储设备410上的保留之前,节点404可睡眠防守者节点所睡眠的时间段的至少两倍(例如,如果节点401睡眠3秒则节点404睡眠6秒)。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。

Claims (15)

1.一种在群集的第一节点处,所述第一节点拥有所述群集的各节点所共享的存储设备上的持久保留,所述第一节点用于防守另一节点取代所述第一节点的持久保留的尝试的方法,所述方法包括:
在阻止所述第一节点与所述群集中的另一节点通信的网络分区发生后,并且在向所述第一节点通知所述网络分区之前,所述第一节点检测到所述群集中的另一节点已尝试保留由所述群集的各节点所共享的所述存储设备,所述检测包括标识所述另一节点已改变了所述另一节点在注册数据结构中的注册密钥;以及
所述第一节点改变所述第一节点的注册密钥,在所述注册数据结构中注册已改变的注册密钥,并且在保留数据结构中保留所述已改变的注册密钥。
2.如权利要求1所述的方法,其特征在于,还包括:
所述第一节点接收所述网络分区的通知;以及
所述第一节点从所述注册数据结构移除所述另一节点的注册密钥以阻止所述另一节点访问所述存储设备。
3.如权利要求2所述的方法,其特征在于,还包括:
在移除所述另一节点的注册密钥之前,所述第一节点确定所述第一节点是具有法定数量的分区的一部分。
4.如权利要求1所述的方法,其特征在于,还包括:
所述第一节点接收所述网络分区的通知;
所述第一节点确定所述第一节点是不具有法定数量的分区的一部分;以及
所述第一节点无法防守另一节点取代所述第一节点的持久保留的尝试。
5.如权利要求1所述的方法,其特征在于,所述第一和另一节点的已改变的注册密钥分别包括所述第一和另一节点的注册密钥的递增版。
6.如权利要求1所述的方法,其特征在于,所述注册数据结构和所述保留数据结构是同一数据结构或分开的数据结构。
7.一种在群集的第二节点处,所述群集共享存储设备,所述群集中的第一节点对所述存储设备具有持久保留,所述第二节点用于尝试移除所述第一节点的持久保留以便为所述第二节点获得持久保留的方法,所述方法包括:
所述第二节点接收阻止所述第二节点与所述第一节点通信的网络分区已发生的通知;以及
所述第二节点尝试保留所述第二节点的注册密钥以便获得在所述存储设备上的持久保留,所述尝试保留包括:
所述第二节点读取在保留数据结构中存储的所述第一节点的注册密钥并且存储所述第一节点的密钥;
所述第二节点改变所述第二节点的注册密钥并且注册已改变的注册密钥;以及
在发出移除所述第一节点的持久保留的取代命令之前所述第二节点睡眠指定的时间段。
8.如权利要求7所述的方法,其特征在于,还包括:
在所述指定时间段之后所述第二节点醒来;
所述第二节点发出取代命令以尝试移除所述第一节点的持久保留,所述取代命令包括所述第二节点的已改变的注册密钥、以及从所述保留数据结构读取的所述第一节点的注册密钥;以及
所述第二节点接收所述取代命令已失败的通知,所述取代命令失败是因为所述第一节点已改变了所述第一节点的注册密钥、以使得所述取代命令中的所述第一节点的注册密钥不匹配保留在所述保留数据结构中的所述第一节点的注册密钥的当前已改变版本。
9.如权利要求7所述的方法,其特征在于,还包括:
在所述指定时间段之后所述第二节点醒来;
所述第二节点发出取代命令以尝试移除所述第一节点的持久保留,所述取代命令包括所述第二节点的已改变的注册密钥、以及从所述保留数据结构读取的所述第一节点的注册密钥;以及
所述第二节点接收所述取代命令已成功的通知,所述取代命令已成功是因为所述第二节点的已改变的注册密钥被包括在所述注册数据结构中并且所述取代命令中的所述第一节点的注册密钥与所述保留数据结构中的所述第一节点的注册密钥相匹配。
10.如权利要求7所述的方法,其特征在于,所述存储设备是包括多个存储设备的存储池的一部分。
11.如权利要求10所述的方法,其特征在于,还包括:
在所述指定时间段之后所述第二节点醒来;
所述第二节点枚举所述池中的能够访问的所有存储设备;以及
如果能够访问的存储设备的数量小于所述池中的存储设备的多数,则所述第二节点无法发出取代命令。
12.如权利要求10所述的方法,其特征在于,还包括:
在所述指定时间段之后所述第二节点醒来;
所述第二节点按指定次序发出对所述池中的每个存储设备的取代命令。
13.如权利要求12所述的方法,其特征在于,还包括:
如果任一取代命令失败,则所述第二节点停止发出对所述池中的任何其他存储设备的取代命令。
14.如权利要求7所述的方法,其特征在于,还包括:
在所述第二节点尝试保留所述第二节点的注册密钥之前,所述第二节点确定所述第二节点位于具有法定数量、或者如果所述第二节点获得所述存储设备上的持久保留就将具有法定数量的分区中。
15.一种节点的群集,包括:
在所述群集的各节点共享的存储设备池中的多个存储设备的每个存储设备上拥有持久保留的第一节点,所述第一节点执行以下动作来防守其在所述池中的每个存储设备上的持久保留:
在阻止所述第一节点与所述群集中的第二节点通信的网络分区发生后、并且在向所述第一节点通知所述网络分区之前,检测所述群集中的所述第二节点想要获得所述池中的每个存储设备的所有权,所述检测包括标识所述第二节点已针对每个存储设备向注册数据结构添加了所述第二节点的注册密钥的经递增版;以及
对于每个存储设备,递增所述第一节点的注册密钥、在所述注册数据结构中注册经递增的注册密钥、以及在保留数据结构中保留所述经递增的注册密钥;
所述第二节点,所述第二节点执行以下动作以在被通知所述网络分区之际尝试获得所述池中的每个存储设备上的持久保留:
对于每个存储设备,读取在所述保留数据结构中存储的所述第一节点的注册密钥并且存储所述第一节点的密钥;
对于每个存储设备,递增所述第二节点的注册密钥,并且注册经递增的注册密钥;以及
在发出对所述存储设备中的每个存储设备的取代命令以尝试取代所述第一节点在每个存储设备上的持久保留之前睡眠指定时间段。
CN201380011496.6A 2012-02-28 2013-02-13 一种存储池中的磁盘所有权仲裁方法及节点群集 Expired - Fee Related CN104160380B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/407,428 US8738701B2 (en) 2012-02-28 2012-02-28 Arbitration of disk ownership in a storage pool
US13/407,428 2012-02-28
PCT/US2013/025798 WO2013130262A1 (en) 2012-02-28 2013-02-13 Arbitration of disk ownership in a storage pool

Publications (2)

Publication Number Publication Date
CN104160380A true CN104160380A (zh) 2014-11-19
CN104160380B CN104160380B (zh) 2017-08-15

Family

ID=49004471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380011496.6A Expired - Fee Related CN104160380B (zh) 2012-02-28 2013-02-13 一种存储池中的磁盘所有权仲裁方法及节点群集

Country Status (7)

Country Link
US (1) US8738701B2 (zh)
EP (1) EP2820549B1 (zh)
JP (1) JP6170512B2 (zh)
KR (1) KR102008042B1 (zh)
CN (1) CN104160380B (zh)
ES (1) ES2632558T3 (zh)
WO (1) WO2013130262A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652030B2 (en) 2009-01-30 2017-05-16 Microsoft Technology Licensing, Llc Navigation of a virtual plane using a zone of restriction for canceling noise
US9641614B2 (en) 2013-05-29 2017-05-02 Microsoft Technology Licensing, Llc Distributed storage defense in a cluster
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
US9389968B2 (en) * 2014-04-30 2016-07-12 Netapp, Inc. Preventing non-detectable data loss during site switchover
US10270735B2 (en) * 2014-10-10 2019-04-23 Microsoft Technology Licensing, Llc Distributed components in computing clusters
WO2016106682A1 (zh) 2014-12-31 2016-07-07 华为技术有限公司 一种集群脑裂后仲裁处理方法、仲裁存储装置以及系统
JP6472508B2 (ja) * 2015-04-06 2019-02-20 株式会社日立製作所 管理計算機およびリソース管理方法
US9923965B2 (en) 2015-06-05 2018-03-20 International Business Machines Corporation Storage mirroring over wide area network circuits with dynamic on-demand capacity
US9930140B2 (en) * 2015-09-15 2018-03-27 International Business Machines Corporation Tie-breaking for high availability clusters
US10341252B2 (en) * 2015-09-30 2019-07-02 Veritas Technologies Llc Partition arbitration optimization
US9843453B2 (en) * 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10581680B2 (en) 2015-11-25 2020-03-03 International Business Machines Corporation Dynamic configuration of network features
US9923839B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Configuring resources to exploit elastic network capability
US9923784B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Data transfer using flexible dynamic elastic network service provider relationships
US10057327B2 (en) 2015-11-25 2018-08-21 International Business Machines Corporation Controlled transfer of data over an elastic network
US10216441B2 (en) 2015-11-25 2019-02-26 International Business Machines Corporation Dynamic quality of service for storage I/O port allocation
US10177993B2 (en) 2015-11-25 2019-01-08 International Business Machines Corporation Event-based data transfer scheduling using elastic network optimization criteria
US10158743B2 (en) * 2016-06-12 2018-12-18 International Business Machines Corporation Compute node cluster management
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178529B1 (en) 1997-11-03 2001-01-23 Microsoft Corporation Method and system for resource monitoring of disparate resources in a server cluster
US6279032B1 (en) 1997-11-03 2001-08-21 Microsoft Corporation Method and system for quorum resource arbitration in a server cluster
US7774469B2 (en) 1999-03-26 2010-08-10 Massa Michael T Consistent cluster operational data in a server cluster using a quorum of replicas
US6845395B1 (en) * 1999-06-30 2005-01-18 Emc Corporation Method and apparatus for identifying network devices on a storage network
US6990606B2 (en) * 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
US6954881B1 (en) 2000-10-13 2005-10-11 International Business Machines Corporation Method and apparatus for providing multi-path I/O in non-concurrent clustering environment using SCSI-3 persistent reserve
US6965936B1 (en) 2000-12-06 2005-11-15 Novell, Inc. Method for detecting and resolving a partition condition in a cluster
US7127565B2 (en) * 2001-08-20 2006-10-24 Spinnaker Networks, Inc. Method and system for safely arbitrating disk drive ownership using a timestamp voting algorithm
US7277952B2 (en) * 2001-09-28 2007-10-02 Microsoft Corporation Distributed system resource protection via arbitration and ownership
US7631066B1 (en) 2002-03-25 2009-12-08 Symantec Operating Corporation System and method for preventing data corruption in computer system clusters
US20050132154A1 (en) 2003-10-03 2005-06-16 International Business Machines Corporation Reliable leader election in storage area network
US7260678B1 (en) * 2004-10-13 2007-08-21 Network Appliance, Inc. System and method for determining disk ownership model
US8719473B2 (en) 2008-09-19 2014-05-06 Microsoft Corporation Resource arbitration for shared-write access via persistent reservation
US7840730B2 (en) * 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes
US8046467B2 (en) 2008-08-29 2011-10-25 Microsoft Corporation Maintaining client affinity in network load balancing systems
US8417899B2 (en) 2010-01-21 2013-04-09 Oracle America, Inc. System and method for controlling access to shared storage device
US8443231B2 (en) 2010-04-12 2013-05-14 Symantec Corporation Updating a list of quorum disks

Also Published As

Publication number Publication date
ES2632558T3 (es) 2017-09-14
EP2820549B1 (en) 2017-04-19
JP6170512B2 (ja) 2017-07-26
US20130227009A1 (en) 2013-08-29
CN104160380B (zh) 2017-08-15
EP2820549A1 (en) 2015-01-07
WO2013130262A1 (en) 2013-09-06
KR102008042B1 (ko) 2019-10-21
KR20140131961A (ko) 2014-11-14
JP2015508213A (ja) 2015-03-16
EP2820549A4 (en) 2016-03-30
US8738701B2 (en) 2014-05-27

Similar Documents

Publication Publication Date Title
CN104160380A (zh) 存储池中的磁盘所有权仲裁
EP3357191B1 (en) Input/output fencing optimization
US7277952B2 (en) Distributed system resource protection via arbitration and ownership
CN102402395B (zh) 基于仲裁磁盘的高可用系统不间断运行方法
EP2434729A2 (en) Method for providing access to data items from a distributed storage system
CN105426439A (zh) 一种元数据的处理方法和装置
US20170270015A1 (en) Cluster Arbitration Method and Multi-Cluster Cooperation System
KR20060048419A (ko) 오동작 허용 분산 컴퓨팅 시스템에서의 레플리카 세트의효율적인 변경
US9723064B1 (en) Hybrid quorum policies for durable consensus in distributed systems
CN106776454A (zh) 经由持久保留的用于共享写访问的资源仲裁
CN102917010A (zh) 多计算机系统中的自动抢占
US11620087B2 (en) Implicit leader election in a distributed storage network
US11079971B2 (en) Input/output (i/o) fencing without dedicated arbitrators
CN105430052A (zh) 一种用于集群系统的仲裁方法和装置
CN102904946A (zh) 集群内节点管理方法和装置
US20080250421A1 (en) Data Processing System And Method
US11093171B2 (en) System and method for networkless peer communication for dual storage processor virtual storage appliances
CN113708960B (zh) 一种Zookeeper集群的部署方法、装置及设备
Balakrishnan et al. Going beyond paxos
Aguilera Broadening the applicability of failure detectors

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150722

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150722

Address after: Washington State

Applicant after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170815

Termination date: 20220213