CN102160047A - 经由持久保留的用于共享写访问的资源仲裁 - Google Patents

经由持久保留的用于共享写访问的资源仲裁 Download PDF

Info

Publication number
CN102160047A
CN102160047A CN2009801371769A CN200980137176A CN102160047A CN 102160047 A CN102160047 A CN 102160047A CN 2009801371769 A CN2009801371769 A CN 2009801371769A CN 200980137176 A CN200980137176 A CN 200980137176A CN 102160047 A CN102160047 A CN 102160047A
Authority
CN
China
Prior art keywords
node
key
memory mechanism
entitlement
owner
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2009801371769A
Other languages
English (en)
Inventor
R·达斯
D·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
Priority to CN201611225626.8A priority Critical patent/CN106776454A/zh
Publication of CN102160047A publication Critical patent/CN102160047A/zh
Pending legal-status Critical Current

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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]
    • 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/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • 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/2046Error 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 persistent storage
    • 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
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation

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)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)

Abstract

描述了一种使服务器群集中的所有者节点通过持久保留机制来维护存储机制的所有权,同时允许非拥有节点对该存储机制的读和写访问的技术。所有者节点将保留密钥写入与该存储机制相关联的注册表。非拥有节点写入赋予它们读和写访问的共享密钥。所有者节点对照群集成员数据来确认共享密钥,并取代(例如,移除)被认为无效的任何密钥。所有者节点还针对由其他节点作出的对所有权的挑战来防护所有权,从而使得如果(原先的)拥有节点例如因为故障而无法防护,则另一节点可以接管所有权。

Description

经由持久保留的用于共享写访问的资源仲裁
背景
服务器群集一般是被这样安排的一组服务器(节点):如果任何服务器失败,则该群集的其他服务器可以透明地接管失败的服务器的工作,即,重启其应用程序并进而在没有显著中断的情况下继续服务客户机。该操作一般被称为故障转移,或故障转移群集。
在群集中,每一存储设备(硬盘驱动器)由一个节点拥有。如果正确地操作,所有者节点针对其他节点对所有权的挑战来防护对存储设备的所有权,从而使得如果所有者失败则另一节点可以接管所有权。
为了实现该挑战-防护模型,使用了如美国专利第7,277,952号所描述的持久保留所有权算法。然而,该持久保留所有权算法实现无共享模型,其中拥有盘的节点具有独占所有权和对盘的完全访问,而其他节点具有只读访问。
共享群集的存储卷技术(在序列号为12/147,956的相关专利申请中描述)的一个方面在于其他健康的群集节点需要能够同时写入共享的群集盘。结果,需要一种向健康节点授予对存储设备的访问同时排除未正确参与群集的任何节点的方式。
概述
提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一些代表性概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。
简言之,此处描述的主题的各方面涉及一种使服务器群集中的所有者节点独占地拥有存储机制(例如,盘或其他存储设备)但允许非拥有节点对该存储机制具有共享的读和写访问的技术。在一方面,一个节点包括所有者节点,该所有者节点通过将密钥与同存储机制相关联的注册表相关联(例如,写入)的持久保留机制来维护存储机制的所有权。非拥有节点将共享密钥与注册表相关联。所有者节点对照群集成员数据来确认共享密钥,并且取代(例如,移除)被认为无效的任何密钥,使得无效节点不再具有对该存储机制访问。
在一方面,所有者节点防护对所有权的挑战。非拥有节点将挑战密钥写入存储机制,并等待一段防护时间。如果所有者节点正确地操作,则它在防护时间内检测到该挑战密钥,并取代该挑战密钥来维护所有权。如果所有者节点未正确地操作,则所有者节点不能在防护时间内防护该挑战,由此该挑战节点成为新的所有者。
结合附图阅读以下详细描述,本发明的其他优点会变得显而易见。
附图简述
作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或相似的元素,附图中:
图1A和1B是表示带有共享盘的服务器群集环境中的示例组件的框图。
图2是示出用于经由持久保留来实现资源仲裁和共享写盘访问的示例组件的框图。
图3是示出保留和/或访问群集共享卷所采取的示例步骤的流程图。
图4和5包括示出SCSI环境中的保留和/或访问群集共享卷所采取的示例步骤的流程图。
图6示出可以将本发明的各方面并入其中的计算环境的说明性示例。
详细描述
此处描述的技术的各方面一般涉及允许群集节点与其他节点共享对盘(例如,被配置为存储卷)的访问,包括共享读和写访问。一般而言,存储设备(或者被称为“盘”或“硬盘”,无论实际上是否是盘类型的存储设备)由单个群集节点拥有;然而,如此处所描述的,移除了其他节点对读和写I/O操作的限制。这允许在群集中的任意节点上运行的经群集的应用程序和服务访问任何共享卷上的数据。
在一个示例实现中,通过允许节点向所拥有的盘注册SCSI持久保留(PR)密钥来使这种共享成为可能。更具体地,所有者节点注册独占PR密钥来声称其所有权,而其余节点各自注册其中编码了该节点的标识符的“共享”PR密钥。一般而言,有效节点的共享PR密钥授予该节点对由另一节点拥有的盘的读和写访问。如果注册了共享PR密钥的节点变得不再有效(例如,失败或以其他方式被认为无效),则所有者节点清除该节点的共享PR密钥,从而阻止无效节点对盘的进一步I/O。
在一个示例实现中,该技术与将
Figure BPA00001331593100031
NTFS用作文件系统的
Figure BPA00001331593100032
服务器故障转移群集和SCSI盘一起工作。然而,应该理解这些仅是示例。事实上,可以使用其他环境、文件系统和/或存储技术来实现此处描述的技术的一个或多个方面。如此,本发明不限于此处所描述的任何特定实施例、方面、概念、结构、功能或示例。相反,在此所描述的实施例、方面、概念、结构、功能或示例中的任何一个都是非限制性的,并且本发明可以按一般在计算、群集和数据访问中提供益处和优点的各种方式来使用。
转向图1A,示出了群集环境的简化框图,包括三个节点,N0、N1和N2,各自分别拥有盘100-102。群集节点通常经由SCSI、光纤通道、ISCSI或其他高速通信链路被连接到群集的盘。
注意,图1A仅示出了一个可能的配置,因为节点可能拥有一个盘,节点可能拥有一个以上的盘,以此类推。例如,在图1B中,节点N2失败了(或者无法用某种方式进行通信),从而节点N0经由其保留机制取得了盘102的所有权,如以下概括地描述的。其他节点N1和N2一般分别具有相同的保留机制111和112。
为了使拥有盘的节点提供对该盘的共享访问,提供了允许从多个群集节点的并发访问的经改变的保留方案。为此,如图2概括地表示的,每一节点(诸如节点N1)包括含有保留机制111的群集盘驱动程序220(例如,包括内核驱动程序的群集盘系统)。如以下所述,另一节点(例如,由框222表示)的类似群集盘驱动程序参与保留机制/算法来访问盘101,而拥有节点的群集盘驱动程序N1参与保留机制/算法来维护和保护所有权。所例示的群集盘驱动程序220与群集服务组件224一起工作,如下所述。
作为背景,在美国专利第7,277,952号中描述的传统持久保留所有权算法实现无分享模型,即,拥有盘的节点具有独占的所有权和完全访问,而其他节点具有只读访问。所有者节点通过使用保留密钥(被称为PR密钥)来将写独占的、仅注册者的持久保留放置在盘上的PR保留表中来声称所有权。拥有节点通过周期性地(例如,默认地每三秒)检查PR注册表来维护/防护该所有权;其他节点通过在PR注册表中注册它们自己的密钥来挑战所有权(如果拥有节点崩溃则接管)。如果拥有节点可用并且在表中只找到它自己的PR密钥,则不必采取动作,然而如果它在PR注册表中找到除了它自己的密钥之外的任何密钥,则拥有节点取代该密钥(例如,将其从表中移除;如果拥有节点不可用并且挑战节点的密钥保留,由此挑战节点通过用它自己的密钥来取代当前所有者的PR保留来接管所有权)。在稳定且正常工作的群集之下,盘的PR保留表具有一个密钥,其PR注册表具有M个密钥(全部都来自同一个所有者节点),其中M是到MIPO系统的盘的I/O路径的数量;对于非MPIO系统,M为1。
对于分配在群集共享卷中的盘,如此处所述地将该持久保留算法修改为允许群集中的节点以读-写模式用安全的方式基本上同时地访问盘。群集外部的机器不具有对群集共享卷盘的访问。
如图2概括地表示的,物理盘资源226管理群集中的共享盘,并且特别地确保经群集的盘被安全地访问并被保护免受恶化,包括便于基本上同时访问同一个共享盘。这通过使用共享持久保留(PR)密钥以及群集成员的知识来实现,如此处所描述的。
对于群集共享卷盘保留算法,在一个示例实现中,(例如,群集服务224的)盘控制管理器228调用物理盘资源226来为经群集的盘101设置新的保留策略。更具体地,经群集的盘101需要允许从其他节点的读-写I/O,但不违背上述所有者的概念。为此,所有者节点保留对盘的控制,但经由共享PR密钥230来放松基于每节点的I/O策略。在该共享PR密钥机制/保留算法111之下,N节点群集中的群集共享卷盘101在其注册表240中具有N*M个密钥,其中M是从MPIO配置中的节点到盘的I/O路径的数量;对于非MPIO系统,M为1。所有者节点在注册表232中具有M个密钥而在注册表242中具有一个密钥,即PR密钥231。这些表不必在物理上分开并且可以用任何方式来保存,而事实上,注册表可以包含对于其密钥中的哪个在注册表242“中”(哪个因此不必在物理上存在)的某些指示(例如,标志或指令)。
一个方面因此提供了控制对群集盘的访问的算法,由此参与到群集中的所有群集节点具有对该盘的读-写访问。注意,这向该群集中的所有节点授予了对群集盘的读-写访问,并且,同时允许对声誉良好的其他群集节点的读-写I/O访问,其保留了当前算法的安全特性。它还保留了活跃度和性能特性,以及盘最多由一个群集节点拥有和控制的概念。
如此处所述,非所有者节点将共享PR密钥插入到盘PR注册表240中。该共享密钥不由所有的节点共享;相反,它表示插入该密钥的节点与其他节点共享对盘101的读-写访问。在密钥中编码插入该密钥的节点的标识符(id)。因此,N节点群集中由该算法仲裁的盘101将在其注册表240中具有N个共享PR密钥。在一个实现中,第一个密钥是由所有者节点插入的独占(PR)密钥231。其余N-1个密钥是由非所有者节点插入的共享PR密钥。
拥有节点周期性地查询PR注册表240来评估密钥。如果密钥是共享密钥,则所有者从该密钥中提取插入该密钥的节点的id。如果节点有效(在群集中“声誉良好”),则所有者允许该密钥保留在注册表240中。如果节点声誉不良,则所有者取代该密钥,进而将其从注册表240中移除。
如果密钥不是共享密钥,则所有权遭受挑战。所有者取代该密钥,进而将其从注册表240中移除。
图3是示出经由例如图2的所例示的组件实现的一个这样的算法的示例步骤的一般流程图。对于诸如经由步骤300所表示的任何非所有者节点,盘控制管理器228请求物理盘资源226将共享PR密钥230插入到注册表240中(步骤302)。该密钥不在节点之间共享,相反它指示它所表示的节点与所有者节点以及任何其他节点共享对盘的读-写访问。该节点的标识符(例如,节点Id)是该共享PR密钥230的一部分。
在所有者节点上,如经由示例步骤300所区分的,步骤304向物理盘资源226通知群集节点成员数据254。这可以经由表示群集中共享盘的活动节点(例如,通常是所有节点,但不必要)的简单位掩码来实现。物理盘资源226将该成员数据254传递给群集盘驱动程序220。
如步骤306所表示的,当所有者节点上的群集盘驱动程序220看见注册表240中(除了其自己的独占PR密钥之外)的一个或多个额外密钥时,如步骤308所表示的,群集盘驱动程序220对照群集成员数据254来确认这些密钥中的每一个的节点Id。如果密钥有效(步骤310),则允许该密钥保留在注册表240中,否则取代它(步骤312)。步骤314重复对其他密钥的确认;对于其中每一节点参与共享卷访问的N节点群集,存在N-1个这样的共享PR密钥。
图4和5包括带有SCSI命令环境的其他细节的示例流程图。步骤402和404是节点的保留机制的输入,包括PR_KEY(例如,包括随机生成的数字)和用户可配置间隔(例如,有三秒的默认值)。
步骤406表示在保留之前执行的试图注册。如果注册成功(步骤408),则在步骤410处作出保留尝试。如果保留成功,则过程前进至图5来如下所述地维护该保留。否则,过程分支到步骤414来执行持久保留仲裁。
步骤414读取注册表。如果只存在一个PR注册并且是独占-仅注册者的类型,则存在受到该节点挑战的所有者;该机制在挑战所有权之前等待两倍的间隔。该间隔允许所有者节点防护该挑战的时间。步骤422对应于该挑战。
图5表示如果在步骤502和504之后节点在注册表中检测到其PR密钥,关于持久保留的各个维护方面。如果未列出,则它已经由另一节点的密钥所替代,并且需要再次挑战。如果未列出其他密钥(步骤506),则不必防护,并且该过程结束。否则,过程继续到步骤518来维持保留,如以下所述。
步骤508评估在步骤506处所检测到的其他密钥是否是来自有效节点的共享密钥。如果有任何密钥不是来自有效节点,则在步骤510处取代它。这移除了任何无效节点对盘的访问。如果在步骤512处未成功,则运行该过程的节点不具有移除其的能力并结束该过程。如果成功,则过程继续至步骤514。
步骤514表示评估该节点是否保持在线并继续操作。注意,在任何时刻可能从用户模式盘资源发出结束在线的请求,并因此步骤514表示一个逻辑流。如果离线,则执行步骤516来移除该节点的保留。
步骤518表示在等待特定时间间隔之后,过程的正常继续以确保保留仍然存在,并且针对任何挑战保留来防护该保留。
示例性操作环境
图6示出其上可实现图1A-5的各示例的合适的计算和联网环境600的示例。计算系统环境600只是合适计算环境的一个示例,而非意在暗示对本发明使用范围或功能有任何限制。也不应该将计算环境600解释为对示例性操作环境600中示出的任一组件或其组合有任何依赖性或要求。
本发明可用各种其他通用或专用计算系统环境或配置来操作。适用于本发明的公知计算系统、环境、和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持式或膝上型设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括任何以上系统或设备的分布式计算环境等等。
本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。
参考图6,用于实现本发明的各方面的示例性系统可包括计算机610形式的通用计算设备。计算机610的组件可以包括但不限于:处理单元620、系统存储器630和将包括系统存储器在内的各种系统组件耦合至处理单元620的系统总线621。系统总线621可以是几种类型的总线结构中的任何一种,包括存储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机610通常包括各种计算机可读介质。计算机可读介质可以是能由计算机610访问的任何可用介质,并包含易失性和非易失性介质以及可移动、不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以存储诸如计算机可读的指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不仅限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可以被计算机610访问的任何其他介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任一信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,如有线网络或直接线连接,以及诸如声学、射频(RF)、红外线及其他无线介质之类的无线介质。上面各项中的任何项的组合也包括在计算机可读介质的范围内。
系统存储器630包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)631和随机存取存储器(RAM)632。基本输入/输出系统633(BIOS)包括如在启动时帮助在计算机610内的元件之间传输信息的基本例程,它通常储存在ROM 631中。RAM 632通常包含处理单元620可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例而非限制,图6示出了操作系统634、应用程序635、其他程序模块636和程序数据637。
计算机610还可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图6示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器641,从可移动、非易失性磁盘652中读取或向其写入的磁盘驱动器651,以及从诸如CD ROM或其他光学介质等可移动、非易失性光盘656中读取或向其写入的光盘驱动器655。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器641通常由不可移动存储器接口,诸如接口640连接至系统总线621,磁盘驱动器651和光盘驱动器655通常由可移动存储器接口,诸如接口650连接至系统总线621。
以上描述并在图6中示出的驱动器及其相关联的计算机存储介质为计算机610提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图6中,硬盘驱动器641被示为存储操作系统644、应用程序645、其他程序模块646和程序数据647。注意,这些组件可以与操作系统634、应用程序635、其他程序模块636和程序数据637相同,也可以与它们不同。操作系统644、应用程序645、其他程序模块646和程序数据647在这里被标注了不同的附图标记是为了说明至少它们是不同的副本。用户可通过诸如平板或电子数字化仪664、话筒663、键盘662和定点设备661(通常指的是鼠标、跟踪球或触摸垫)等输入设备向计算机610输入命令和信息。图6中未示出的其他输入设备可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入设备通常由耦合至系统总线的用户输入接口660连接至处理单元620,但也可以由其他接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB),来连接。监视器691或其他类型的显示设备也经由接口,诸如视频接口690,连接至系统总线621。监视器691也可以与触摸屏面板等集成。注意,监视器和/或触摸屏面板可以在物理上耦合至其中包括计算设备610的外壳,诸如在平板型个人计算机中。此外,诸如计算设备610等计算机还可以包括其他外围输出设备,诸如扬声器695和打印机696,它们可以通过输出外围接口694等连接。
计算机610可使用至一个或多个远程计算机,诸如远程计算机680的逻辑连接在网络化环境中操作。远程计算机680可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点,并且通常包括许多或所有以上关于计算机610所描述的元件,尽管在图6中仅示出了存储器存储设备681。图6中所示的逻辑连接包括一个或多个局域网(LAN)671和一个或多个广域网(WAN)673,但也可以包括其他网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机610通过网络接口或适配器670连接至LAN 671。当在WAN联网环境中使用时,计算机610通常包括调制解调器672或用于通过诸如因特网等WAN 673建立通信的其他装置。可为内置或可为外置的调制解调器672可以经由用户输入接口660或其他合适的机制连接至系统总线621。诸如包括接口和天线的无线联网组件674可以通过诸如接入点或对等计算机等合适的设备耦合到WAN或LAN。在网络化环境中,相对于计算机610所描述的程序模块或其部分可被储存在远程存储器存储设备中。作为示例而非限制,图6示出远程应用程序685驻留在存储器设备681上。可以理解,所示的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其他手段。
辅助子系统699(例如,用于内容的辅助显示)可经由用户接口660连接,从而即使计算机系统的主要部分处于低功率状态中,也允许诸如程序内容、系统状态和事件通知等数据被提供给用户。辅助子系统699可连接至调制解调器672和/或网络接口670,从而在主处理单元620处于低功率状态中时,也允许在这些系统之间进行通信。
结论
尽管本发明易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出并在上面被详细地描述。然而应当了解,这不旨在将本发明限于所公开的具体形式,而是相反地,旨在覆盖落入本发明的精神和范围之内的所有修改、替换构造和等效方案。

Claims (20)

1.一种在服务器群集环境中的方法,所述方法包括:持久保存(410)群集中的存储机制101的所有权,包括将对应于拥有节点N1的所有者密钥与共享存储机制101相关联,并允许(308、310)至少一个其他节点N2经由每一其他节点与所述存储机制相关联的共享密钥来访问所述存储机制。
2.如权利要求1所述的方法,其特征在于,将所述所有者密钥相关联包括将所述所有者密钥写入所述存储机制的数据结构中。
3.如权利要求2所述的方法,其特征在于,写入所述所有者密钥包括试图(406)向所述存储机制注册所述所有者密钥,并且如果成功,发出(410)保留命令。
4.如权利要求1所述的方法,其特征在于,所述共享密钥中的每一个包含标识哪个节点对应于该密钥的信息,并且还包括:接收(308)标识所述群集中的每一有效节点的群集成员数据(254),并使用所述信息对照所述群集成员数据来评估所述数据结构中的共享密钥。
5.如权利要求4所述的方法,其特征在于,还包括取代(312)对应于经由所述信息和所述群集成员数据未被标识为有效群集成员的群集节点的任何密钥。
6.如权利要求1所述的方法,其特征在于,还包括在时间间隔(518)之后确定(504、506)所述所有者密钥仍然与所述共享存储机制相关联,并且如果否,则将所述所有者密钥与所述共享存储机制重新相关联。
7.一种在服务器群集环境中的系统,包括:
多个节点(N1、N2),每一节点包括试图取得存储机制(101)的所有权的机制(111),并且对于每一节点,
如果成功地取得所述存储机制(111)的所有权,则针对任何其他节点作出的取得所有权的企图来防护所述所有权,以及
如果不成功,将共享密钥(230)与所述存储机制(111)相关联来向该节点提供对所述存储机制的读和写访问。
8.如权利要求7所述的系统,其特征在于,每一节点在试图取得所述存储机制的所有权之前向所述存储机制注册(406)。
9.如权利要求7所述的系统,其特征在于,所述存储机制(111)与SCSI请求兼容,并且所述保留机制试图经由SCSI保留(410)请求来取得所有权。
10.如权利要求7所述的系统,其特征在于,所述共享密钥(230)包括相对于所述群集中的其他节点标识所述节点的信息。
11.如权利要求10所述的系统,其特征在于,所述所有者节点获得指示所述群集中的每一有效节点的群集成员数据(254),并使用(308、310)所述群集成员数据来评估标识所述节点的信息,以取代(312)在所述群集中未被标识为有效的任何节点的共享密钥。
12.如权利要求7所述的系统,其特征在于,每一节点试图取得存储机制(111)的所有权是通过:确定节点是否已经有所有权,并且如果是,则通过将挑战保留密钥与所述存储机制相关联(410、422)来挑战所有权,等待(420)一段时间,在所述一段时间期间防护节点可能取代所述挑战保留密钥,并且如果未被防护则取得所有权。
13.如权利要求7所述的系统,其特征在于,成功取得所述存储机制的所有权的节点防护所述所有权是通过:确定(502、506)另一节点是否将挑战保留密钥与所述存储机制相关联,并且如果是,则取代(510)所述挑战保留密钥并通过使用所有者密钥来重新建立所有权。
14.一种在服务器群集环境中的方法,包括:
在第一节点处,获得(410)存储机制的所有权;
在第二节点处,获得(302)对所述存储机制读和写数据的访问权;
在所述第一节点处在防护时间内防护(510)所述群集的所有权;以及
在第二节点处在长于所述防护时间的时间(420)之后挑战(422)所有权,从而使得如果所述第一节点无法在所述防护时间内防护所有权,则所述第二节点获得所述存储机制的所有权。
15.如权利要求14所述的方法,其特征在于,获得所述存储机制的所有权包括将所有者密钥(231)与所述存储机制相关联。
16.如权利要求14所述的方法,其特征在于,获得所述存储机制的访问权包括将共享密钥与所述存储机制相关联(302)。
17.如权利要求14所述的方法,其特征在于,将所述所有者密钥相关联包括试图(406)向所述存储机制注册所述所有者密钥,并且如果成功(408),发出(410)保留命令。
18.如权利要求17所述的方法,其特征在于,所述存储机制与SCSI请求兼容,并且试图注册和发出所述保留命令包括作出SCSI请求。
19.如权利要求14所述的方法,其特征在于,所述共享密钥包含标识所述第二节点的信息,并且还包括,在所述第一节点处接收(304)标识所述群集中的每一有效节点的群集成员数据,对照标识所述第二节点的所述共享密钥信息来评估(308、310)所述群集成员数据,并且如果所述群集成员数据未指示所述第二节点是有效节点,则取代(312)所述共享密钥来移除所述第二节点对所述存储机制读和写数据的访问权。
20.如权利要求14所述的方法,其特征在于,第三节点的共享密钥与所述存储机制相关联,并且其中所述群集成员数据指示(310)所述第三节点是有效节点,并且还包括,允许所述第三节点的共享密钥保持与所述存储机制相关联,从而允许所述第三节点继续具有对所述存储机制读和写数据的访问权。
CN2009801371769A 2008-09-19 2009-08-19 经由持久保留的用于共享写访问的资源仲裁 Pending CN102160047A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611225626.8A CN106776454A (zh) 2008-09-19 2009-08-19 经由持久保留的用于共享写访问的资源仲裁

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/233,862 US8719473B2 (en) 2008-09-19 2008-09-19 Resource arbitration for shared-write access via persistent reservation
US12/233,862 2008-09-19
PCT/US2009/054304 WO2010033335A2 (en) 2008-09-19 2009-08-19 Resource arbitration for shared-write access via persistent reservation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201611225626.8A Division CN106776454A (zh) 2008-09-19 2009-08-19 经由持久保留的用于共享写访问的资源仲裁

Publications (1)

Publication Number Publication Date
CN102160047A true CN102160047A (zh) 2011-08-17

Family

ID=42038828

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2009801371769A Pending CN102160047A (zh) 2008-09-19 2009-08-19 经由持久保留的用于共享写访问的资源仲裁
CN201611225626.8A Pending CN106776454A (zh) 2008-09-19 2009-08-19 经由持久保留的用于共享写访问的资源仲裁

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201611225626.8A Pending CN106776454A (zh) 2008-09-19 2009-08-19 经由持久保留的用于共享写访问的资源仲裁

Country Status (5)

Country Link
US (2) US8719473B2 (zh)
EP (1) EP2350849B1 (zh)
JP (1) JP5734855B2 (zh)
CN (2) CN102160047A (zh)
WO (1) WO2010033335A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105283831A (zh) * 2013-05-29 2016-01-27 微软技术许可有限责任公司 群集中的分布式存储防御
CN104160380B (zh) * 2012-02-28 2017-08-15 微软技术许可有限责任公司 一种存储池中的磁盘所有权仲裁方法及节点群集
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840730B2 (en) * 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes
CN102279882B (zh) * 2011-08-04 2013-10-16 浪潮(北京)电子信息产业有限公司 在集群系统中访问的控制方法和系统
US9471259B2 (en) * 2014-01-28 2016-10-18 Netapp, Inc. Shared storage architecture
US9389968B2 (en) * 2014-04-30 2016-07-12 Netapp, Inc. Preventing non-detectable data loss during site switchover
US9378154B2 (en) * 2014-05-02 2016-06-28 International Business Machines Corporation Secure reservation mode for logical unit numbers and persistent reservations
US9906410B2 (en) * 2014-09-29 2018-02-27 Netapp, Inc. Dynamic data access configuration
US10901621B2 (en) 2017-12-13 2021-01-26 Red Hat, Inc. Dual-level storage device reservation
US10996879B2 (en) * 2019-05-02 2021-05-04 EMC IP Holding Company LLC Locality-based load balancing of input-output paths
CN110839068B (zh) * 2019-11-04 2022-02-18 安超云软件有限公司 业务请求处理方法、装置、电子设备及可读存储介质
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system
US20230070163A1 (en) * 2021-09-09 2023-03-09 International Business Machines Corporation Prevention of race conditions in a dual-server storage system for generation of encryption key

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065782A1 (en) * 2001-09-28 2003-04-03 Gor Nishanov Distributed system resource protection via arbitration and ownership
US20030120743A1 (en) * 2001-12-21 2003-06-26 Coatney Susan M. System and method of implementing disk ownership in networked storage
US20040117345A1 (en) * 2003-08-01 2004-06-17 Oracle International Corporation Ownership reassignment in a shared-nothing database system
CN101223514A (zh) * 2005-04-11 2008-07-16 莱斯特美通信有限公司 通信网络

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073218A (en) 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US7266706B2 (en) 1999-03-03 2007-09-04 Yottayotta, Inc. Methods and systems for implementing shared disk array management functions
US6532538B1 (en) 2000-02-17 2003-03-11 International Business Machines Corporation Method and system for supporting multiple operating systems on the same disk running on different computers at the same time
US6654902B1 (en) * 2000-04-11 2003-11-25 Hewlett-Packard Development Company, L.P. Persistent reservation IO barriers
US6804703B1 (en) 2000-06-22 2004-10-12 International Business Machines Corporation System and method for establishing persistent reserves to nonvolatile storage in a clustered computer environment
US6675217B1 (en) * 2000-07-06 2004-01-06 Microsoft Corporation Recovery of cluster consistency following failover
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
US6587921B2 (en) * 2001-05-07 2003-07-01 International Business Machines Corporation Method and apparatus for cache synchronization in a clustered environment
US7437386B2 (en) * 2001-09-21 2008-10-14 Hewlett-Packard Development Company, L.P. System and method for a multi-node environment with shared storage
US20030101160A1 (en) * 2001-11-26 2003-05-29 International Business Machines Corporation Method for safely accessing shared storage
US7865485B2 (en) 2003-09-23 2011-01-04 Emc Corporation Multi-threaded write interface and methods for increasing the single file read and write throughput of a file server
JP4516322B2 (ja) 2004-01-28 2010-08-04 株式会社日立製作所 複数の上位装置で共有される記憶装置システムを持つサイト間での共有排他制御方式を備えたコンピュータシステム
US7711820B2 (en) 2004-11-08 2010-05-04 Cisco Technology, Inc. High availability for intelligent applications in storage networks
US20070168507A1 (en) * 2005-11-15 2007-07-19 Microsoft Corporation Resource arbitration via persistent reservation
US20100098248A1 (en) * 2006-10-31 2010-04-22 Agency For Science Technology And Research Device and method of generating and distributing access permission to digital object
CN101232415B (zh) * 2007-01-22 2012-01-11 华为技术有限公司 对等网络节点访问装置、方法和系统
US7899895B2 (en) * 2007-08-29 2011-03-01 International Business Machines Corporation Transfer of ownership of a storage object in response to an original owner node becoming available after a period of unavailability
US7840730B2 (en) * 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes
US20100005318A1 (en) * 2008-07-02 2010-01-07 Akram Hosain Process for securing data in a storage unit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065782A1 (en) * 2001-09-28 2003-04-03 Gor Nishanov Distributed system resource protection via arbitration and ownership
US7277952B2 (en) * 2001-09-28 2007-10-02 Microsoft Corporation Distributed system resource protection via arbitration and ownership
US20030120743A1 (en) * 2001-12-21 2003-06-26 Coatney Susan M. System and method of implementing disk ownership in networked storage
US20040117345A1 (en) * 2003-08-01 2004-06-17 Oracle International Corporation Ownership reassignment in a shared-nothing database system
CN101223514A (zh) * 2005-04-11 2008-07-16 莱斯特美通信有限公司 通信网络

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104160380B (zh) * 2012-02-28 2017-08-15 微软技术许可有限责任公司 一种存储池中的磁盘所有权仲裁方法及节点群集
CN105283831A (zh) * 2013-05-29 2016-01-27 微软技术许可有限责任公司 群集中的分布式存储防御
CN105283831B (zh) * 2013-05-29 2018-11-16 微软技术许可有限责任公司 群集中的分布式存储防御
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
US10503419B2 (en) 2013-05-29 2019-12-10 Microsoft Technology Licensing, Llc Controlling storage access by clustered nodes

Also Published As

Publication number Publication date
EP2350849A2 (en) 2011-08-03
WO2010033335A3 (en) 2010-05-20
JP5734855B2 (ja) 2015-06-17
JP2012503249A (ja) 2012-02-02
US9832267B2 (en) 2017-11-28
EP2350849A4 (en) 2012-10-17
US20140229565A1 (en) 2014-08-14
CN106776454A (zh) 2017-05-31
US20100077249A1 (en) 2010-03-25
US8719473B2 (en) 2014-05-06
WO2010033335A2 (en) 2010-03-25
EP2350849B1 (en) 2019-03-13

Similar Documents

Publication Publication Date Title
CN102160047A (zh) 经由持久保留的用于共享写访问的资源仲裁
US10235077B2 (en) Resource arbitration for shared-write access via persistent reservation
TWI342495B (en) A computer system including a bus bridge for connection to a security services processor
US7464219B2 (en) Apparatus, system, and storage medium for data protection by a storage device
CN100478828C (zh) 用于软件产品许可证的单次重激活方法和系统
CN101223534B (zh) 使处理器总线代理停顿和将其唤醒的方法、装置和系统
CN106104502B (zh) 用于存储系统事务的系统、方法和介质
US9032542B2 (en) System and method for creating conditional immutable objects in a storage device
KR20170012093A (ko) 고속 비휘발성 메모리 컨트롤러의 네임스페이스 예약 처리 방법 및 이를 포함하는 데이터 관리 시스템
US20030065782A1 (en) Distributed system resource protection via arbitration and ownership
US20060184717A1 (en) Integrated circuit capable of flash memory storage management
CN103294946A (zh) 用于控制安全环境中的处理器执行的设备
CN115408707B (zh) 一种数据传输方法、装置、系统及电子设备和存储介质
US20100325738A1 (en) Dynamic dual permissions-based data capturing and logging
US8352784B2 (en) Device settings restore point
US20080177560A1 (en) ID Lending system, computer-readable recording medium storing ID lending program, and ID lending method
US20040193833A1 (en) Physical mode addressing
US7673022B2 (en) Information processing apparatus having SMP license information
US7565504B2 (en) Memory window access mechanism
US8677498B2 (en) Apparatus and method of managing security data
US7925801B2 (en) Method and system for protection and security of IO devices using credentials
US20100333103A1 (en) Information processor and information processing method
JP2008198151A (ja) 二重化照合機能を用いた多数決処理方法及び計算機システム

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: 20150805

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

Effective date of registration: 20150805

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

RJ01 Rejection of invention patent application after publication

Application publication date: 20110817

RJ01 Rejection of invention patent application after publication