CN102077193A - 群集共享卷 - Google Patents

群集共享卷 Download PDF

Info

Publication number
CN102077193A
CN102077193A CN2009801256188A CN200980125618A CN102077193A CN 102077193 A CN102077193 A CN 102077193A CN 2009801256188 A CN2009801256188 A CN 2009801256188A CN 200980125618 A CN200980125618 A CN 200980125618A CN 102077193 A CN102077193 A CN 102077193A
Authority
CN
China
Prior art keywords
node
volume
request
trooping
file
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
CN2009801256188A
Other languages
English (en)
Other versions
CN102077193B (zh
Inventor
A·达马托
R·Y·纳加
G·尼沙诺夫
R·达斯
G·马埃索
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 CN102077193A publication Critical patent/CN102077193A/zh
Application granted granted Critical
Publication of CN102077193B publication Critical patent/CN102077193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • 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/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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/2035Error 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 without idle spare hardware
    • 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

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)

Abstract

描述了服务器群集的群集节点共享存储卷的技术。在一个实现中,每个节点包括从该节点提供对卷的共享访问的重定向器。该重定向器通过第一(例如SMB)通信路径将来自应用程序的文件系统元数据请求路由到拥有节点,并且通过诸如直接块级别I/O的第二高速通信路径将文件系统读写数据路由到存储设备。拥有节点通过将密钥写入与该存储设备相关联的注册表的永久预约机制维护该存储设备的所有权。非拥有节点写入共享密钥。拥有节点相对于群集成员资格数据确认该共享密钥,并且取代(例如移除)被认为是无效的任何密钥。也描述了用于控制访问的安全机制。

Description

群集共享卷
背景
服务器群集一般是一组服务器(节点),被安排成如果任何服务器出现故障,群集的其他服务器可以透明地接管出现故障的服务器的工作,即重启其应用程序并由此继续服务客户机而没有显著的中断。该操作一般被称为故障转移或故障转移群集。
当前,故障转移群集使用“无共享”存储模型,其中每个存储单元(例如盘或其部分)由单个节点拥有。只有该节点可以对该特定的存储单元执行输入/输出(I/O),由LUN(逻辑单元号指示)。LUN展示一个或多个卷。
在该模型中,应用程序和盘资源是在应用程序资源和盘资源之间具有显式的依赖的公共组(对应于LUN的故障转移单元)的一部分,以便保证在应用程序启动之前使得盘上线,而在应用程序退出之后使其离线。结果,诸如Microsoft
Figure BPA00001284446400011
SQLServer、Microsoft
Figure BPA00001284446400012
Exchange Server和MicrosoftFile Services的群集的应用程序被限于该I/O模型,由此需要访问同一盘的任何应用程序需要在同一群集节点上运行。
然而,应用程序的故障转移和重启操作受到卷卸下和重新安装所花费的时间的限制。此外,无共享模型可能导致附连的存储的高管理成本,因为在实际使用场景中需要相对大量的LUN。例如,当存储的文件被存储在SAN(存储区域网络)上时,为了某种程度上粒度更细的故障转移,因为同时故障转移所有依赖于相同的LUN上的所有应用程序的需要,所以需要在SAN上分割出许多LUN;驻留在相同的LUN上的应用程序不能故障转移到不同的节点上,因为在给定的时间只有一个节点能访问LUN。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于用任何方式限定所要求保护的主题的范围。
简而言之,本文中描述的本发明的各方面涉及群集节点共享存储卷的技术。在一个实现中,每个节点包括从该节点提供对卷的共享访问的文件I/O重定向器。
一方面,一个节点包括通过永久预约机制维护存储设备的所有权的拥有节点,该机制将密钥写入与存储设备相关联的注册表。非拥有节点将共享密钥写入注册表。拥有节点相对于群集成员资格数据验证共享密钥,并且取代(preempt)(例如移除)被认为是无效的任何密钥。
一方面,重定向器通过第一通信路径将文件系统元数据请求路由到拥有存储设备的节点,并且通过包括相对于第一通信路径为高速通信路径的第二通信路径将至少某些文件系统读写数据路由到存储设备。例如,较低速的路径可以基于诸如SMB的网络协议,而较高速的路径可以是发送给存储设备的直接块级别I/O。
结合附图阅读以下详细描述,其他优点会变得显而易见。
附图简述
在附图中本发明是以示例而非限制的方式示出的,其中相同的附图标记来指示相同的要素,并且其中:
图1是表示在带有群集共享卷的服务器群集环境中的示例性组件的框图。
图2是示出节点内的示例性组件是群集共享卷群集环境的框图。
图3是示出预约和/或访问群集共享卷所采取的示例性步骤的流程图。
图4是示出示例性群集共享卷重定向器实例的框图。
图5是示出经由群集共享卷重定向器的示例性读写操作的框图。
图6是示出(例如)当处理对群集共享卷上的远程文件的文件创建请求时由群集共享卷重定向器执行的示例性步骤地流程图。
图7是示出由群集共享卷重定向器例如关于将读/写I/O转发到群集共享卷所执行的示例性步骤的流程图。
图8是示出运行以便在节点上提供安全支持的群集认证管理器模块的框图。
图9是示出涉及关于群集共享卷的安全性的示例性步骤的流程图。
图10示出了本发明的各方面可以包括在其中的计算环境的说明行示例。
详细描述
本文描述的技术的各方面一般涉及群集共享卷,其一般允许在服务器节点的群集中运行群集的应用程序和服务从群集中的任何节点访问它们的数据。如可以理解,对一个或多个群集共享卷的使用改进无共享模型,包括通过不要求将盘资源放置在同一组应用程序中,以及消除显式依赖的需求。
如可以容易理解的,群集共享卷技术促进了简化的SAN管理(例如需要少得多的LUN)、改进盘空间利用(例如一个LUN可以由若干个应用程序共享)以及为缓冲的、非缓冲的和存储器映射的文件提供支持。同时,该技术提供了用于文件的单个名称空间、关于底层卷故障转移或管理移动的I/O容错以及可以与本地文件系统媲美的I/O性能。此外,本文描述的技术为要求从群集中的任何地方访问文件系统的群集的应用程序提供了可伸缩的容错解决方案。一般地,如可以理解的,群集服务处理在群集中的节点之间的盘的放置以及相关的卷的安装、处理元数据文件操作和读/写I/O操作,包括经由下文所述的直接I/O机制。
如可以理解的,在一个示例性实现中,群集共享卷技术向要求从群集中的各处的透明的文件访问的群集的应用程序提供了包括“本地”和“远程”NTFS文件系统的组合的可伸缩的容错分布式文件系统。群集共享卷技术向群集服务委托群集中的节点之间的盘的放置以及相关的文件系统卷的安装、包括块分配和将文件锁定到文件系统的元数据文件操作、SMB协议和远程文件服务器服务以及经由直接I/O机制的读/写I/O操作。
在一个示例性实现中,群集共享卷技术与使用Microsoft
Figure BPA00001284446400031
NTFS作为文件系统的Microsoft
Figure BPA00001284446400032
WindowsServer故障转移群集和SAN技术一起工作,然而可以理解这些仅是示例。实际上,可以使用其他环境、文件系统和/或存储技术来实现本文所述的技术的一个或多个方面。同样地,本发明不限于本文所述的任何特定的实施例、方面、概念、结构、功能或示例。相反,本文所述的任何实施例、方面、概念、结构、功能或示例是非限制性的,并且一般可以用在计算、群集和数据访问方面提供益处和优点的各种方式来使用本发明。
转向图1,示出了允许群集的应用程序和服务从群集中的任何节点访问它们的数据的群集共享卷环境的简化框图。一般地,图1示出了三个节点的群集,包括节点A 102、节点B 103和节点C 104,以及安装在节点之一(在该示例中即节点B 103)上的一个(SAN盘的)NTFS卷/盘106;(可以在节点B或其他节点上安装一个或多个其他共享的卷,在图1中未示出)。出于简明的目的,节点C 104的内部组件未被示出或在本文中描述,因为它们类似于节点A 102的那些组件。
为了允许在节点A 102上运行的应用程序访问其在群集共享卷108上的文件数据,例示的体系结构部分地经由小型重定向器110,例如基于服务器消息块(SMB)协议的小型定向器向节点A 102展示卷108。小型重定向器与节点B 103上的服务器文件系统驱动程序111通信,如下文所述。此外,群集共享卷重定向器112截取并适当地路由来自一个或多个应用程序等(例如服务)的文件系统I/O,如在图1中由进程A 114示出的。类似的群集共享卷重定向器113和进程B 115在节点B 103上示出。
在一个实现中,由进程A 114作出的任何I/O请求由群集共享卷重定向器112截取。对于元数据的I/O请求经由小型重定向器110发送给远程服务器文件系统驱动程序(FSD);然而,不同于典型的网络共享,数据(读和写)I/O请求可以由群集共享卷重定向器112通过本地存储设备驱动程序118直接发送给盘106,即在该示例中不涉及节点B 103。注意群集节点通常经由SCSI、光纤通道、ISCSI或其他高速通信链接(以及通过其上安装设备的节点,例如在该示例中经由到远程服务器(FSD)文件系统驱动程序117的SMB链接)连接到群集的存储单元。在该基于NTFS的示例中,服务器文件系统驱动程序117经由节点B的重定向器113和NTFS文件系统驱动程序121访问存储设备卷108。这样,节点A可以经由其本地存储设备驱动程序118和远程存储设备驱动程序119访问存储设备卷108。
如可以容易理解的,用于元数据访问的SMB和用于读写数据的直接I/O的该组合提供了重大的性能改进。然而,注意SMB链接仍然对群集共享卷重定向器112路由读写I/O数据是选择性地可用的,诸如如果直接I/O数据链接出现故障,或故意扼流节点A对盘卷108的使用,例如为了处理不平衡。由此,重定向器可以基于至少一个当前的条件选择用于读写I/O数据的通信路径。
本文例示的群集共享卷技术取决于用于处理共享盘的现有的群集服务机制以及允许从多个群集节点并发访问卷的改变的预约方案。为此,每个节点包括包含内核驱动程序的群集盘驱动程序(例如cluster disk.sys)。如下文所述,远程节点关于存储设备卷108的群集盘驱动程序(例如130)参与用于访问设备卷108的预约机制/算法,而同时拥有节点的群集盘驱动程序131参与用于维护和保护设备所有权的预约机制/算法。例示的群集盘驱动程序130和131分别用于群集服务140和141以使用充分利用永久预约技术的算法。
作为背景,在美国专利第7,277,952号中描述的传统的永久预约所有权算法实现无共享模式,即拥有盘的节点具有独占的所有权和完全访问权,而其他节点具有只读访问权。所有权是拥有者节点通过使用预约密钥(称为PR密钥)将仅写独占注册者永久预约放置到盘上的PR预约表中来断言的。所有者节点通过周期性地(例如默认每三秒钟)检查PR注册表来维护/防卫该所有权;其他节点通过在PR注册表中注册它们自己的密钥来挑战所有权(以便在拥有节点崩溃时接管)。如果拥有节点是运作的并且仅在表中找到其自己的PR密钥,那么无需采取动作,然而,如果它在PR注册表中发现除了它自己的密钥之外的任何密钥,那么拥有节点取代该密钥(从表中移除它;如果不运作,保持挑战节点的密钥,由此它通过用它自己的密钥来取代当前的所有者的PR预约来接管所有权)。在稳定且可操作的群集下,盘的PR预约表具有一个密钥,其PR注册表具有M个密钥(全部来自相同的所有者节点),其中M是用于MPIO系统的到盘的IO路径的数目;对于非MPIO系统M是1。
对于分配在群集共享卷中的盘,该永久预约算法被修改为允许群集中的各节点以安全的方式基本上同时地以读写模型访问盘。群集以外的机器不能访问群集共享卷盘。
如在图2中一般表示的,物理盘资源220管理群集中的共享盘,并且确保群集的盘被安全地访问并且受到保护不会被破坏,包括促进基本上同时访问相同的共享盘等。这是通过使用共享的永久预约(PR)密钥和了解群集成员资格来完成的。
关于群集共享卷盘的预约算法,在一个示例性实现中,(例如群集服务240的)盘控制管理器222调用物理盘资源220来建立用于群集的盘208的新的预约策略。更具体地,群集的盘208需要允许从其他节点的读写I/O,而不违背上述所有权的概念。为此,所有者节点保留对盘的控制,但是经由共享的PR密钥226在每个节点的基础上放松I/O策略。在该共享的PR密钥机制/预约算法228下,N节点群集中的群集共享卷盘208在其注册表中具有N x M个密钥,其中M是在MPIO配置中从节点到盘的I/O路径的数目;对于非MPIO系统,M是1。所有者节点在注册表232中具有M个密钥,而在预约表中具有一个密钥。
图3提供了示出例如经由图2例示的组件实现的算法的示例性步骤的流程图。对于诸如在步骤300中所示的任何非所有者节点,盘控制管理器222请求物理盘资源220将共享的PR密钥226插入到注册表232中(步骤302)。该密钥不在节点之间共享,而是指示它所表示的节点与所有者节点和任何其他节点共享对盘的读写访问。节点的标识符(例如节点Id)是该共享的PR密钥226的一部分。
如在示例性步骤300中区分的,在所有者节点上,步骤304向物理盘资源220告知群集节点成员资格数据254。这可以经由表示群集中共享卷的活动节点(例如通常为所有节点,但不必需)的简单的位掩码来完成。物理盘资源220将该成员资格数据254传递给群集盘驱动程序231。
如由步骤306所示,当所有者节点上的群集盘驱动程序231在注册表232中看到一个或多个额外的密钥(除了其自己独占的PR密钥之外)时,群集盘驱动程序231相对于群集成员资格数据254验证这些密钥的每一个的节点Id,如由步骤308所示。如果密钥是有效的(步骤310),那么允许将密钥保留在注册表232上,否则它被取代(步骤312)。步骤314重复对其他密钥的验证;对于其中每个节点参与共享卷的访问的N节点群集,存在N-1个这样的共享的PR密钥。
转向涉及共享卷接入点的一方面,这样从任何节点来看,每个文件具有相同的名称和路径,群集共享卷环境提供一致的文件名称空间。为此,由群集共享卷环境管理的NTFS卷将它们自己表示为群集共享卷根目录下的目录和子目录。例如,在一种形式中,群集共享卷可以被如下展示:
<%系统驱动器>:\群集存储\卷1
<%系统驱动器>:\群集存储\卷2
<%系统驱动器>:\群集存储\卷N
注意,该体系结构允许在非系统驱动器或在群集节点上例如特别地为该目的创建的基于RAMDISK的驱动器上展示群集共享卷根的可能性。结果,可以使用相同的路径和文件名来标识文件,而不管从哪个节点访问它(“位置独立性”)。在一个实现中,群集共享卷根目录可能不能被重命名,然而映射的卷目录可以被管理员重命名以更好地适合应用程序的配置。
在一个实现中且一般地,安装在每个节点上的群集共享卷的重定向器负责提供对一个或多个群集共享卷盘的无缝访问,而不管每个盘安装在哪里。当在系统或通信(例如主机总线适配器)出现故障的情况下,盘被从一个系统故障转移到另一系统时,群集共享卷的重定向器能够提供不中断的响应(除了短暂停之外)。
群集共享卷的重定向器212可以收集每个盘的访问统计数据以便于盘控制管理器222作出放置判定。这可以被实现为NTFS过滤器驱动程序。群集共享卷重定向器212也便于授权对远程共享的文件访问,并且监控对群集共享卷(盘)208的I/O。I/O被透明的重定向到其上安装卷的服务器。内部地,群集共享卷接入点(例如C:\群集共享卷\卷N)可以是类型连接点或符号连接的NTFS重解析点。如果卷是本地安装的,那么连接点会指向本地卷设备对象,例如\??\卷{…}。如果卷是远程安装的,那么相同的符号连接会指向\\<远程虚拟节点的IP地址>\<共享名称>。共享名称指向群集盘资源为每个卷创建的共享。
如图4中所示,群集共享卷的重定向器驱动程序212也可以管理若干个不同的实例(例如4121-4123或4124)。群集共享卷的重定向器的根实例4121附连到主存群集共享卷根的卷408。根实例也例如经由附连到多路UNC提供器(MUP)/重定向驱动器缓冲子系统(RDBSS)耦合到转发实例上,例如4122用于本地访问,或4123用于远程访问。注意在图4中,为了简明期间,省略了存储栈。
一般地,群集共享卷重定向器的根实例4121负责截取I/O、文件句柄的虚拟化、捕捉主体身份以及适当地转发I/O。群集共享卷重定向器转发实例4122或4123用于将I/O注入到适当的卷栈。群集共享卷重定向器服务器实例4124负责钉住文件以及模仿客户机。注意即使在逻辑上转发实例和服务器实例是不同的实体,但是出于效率的目的,它们可以用节点上相同的实例来实现。
群集共享卷环境允许应用程序访问各种文件系统构造,例如文件、目录、链接等。群集共享卷机制为例如缓冲的、非缓冲的和存储器映射的各种类型的文件提供快速路径I/O操作。这种远程文件的总体I/O性能类似于本地文件系统的I/O性能。
图5阐述了当为远程文件处理创建文件请求时,由群集共享卷重定向器驱动程序执行的示例性步骤,在步骤502处开始,其表示为输入的路径查找适当的转发实例。步骤504表示捕捉客户机的安全身份。
步骤506将创建文件请求传递给转发实例,将身份信息放置在扩展的创建文件属性中。步骤508在与群集名称对象(CNO)模仿的SMB连接上发出I/O。注意表示群集的名称的计算机帐户由CNO引用;该帐户是群集的主要安全上下文。步骤510表示从创建文件中移除扩展的属性,而步骤512表示模仿客户机的步骤。
步骤514沿着栈向下转发创建文件请求。如果在步骤516处操作被评估为成功,那么步骤518钉住文件;(否则用其他方式处理出错,例如经由再试、返回出错代码等)。步骤520例如经由经修改的服务器文件系统驱动程序(例如Server.sys)查询文件范围(例如表示文件是如何映射的)。
在步骤522处,对于读写请求(如下文中参考图6和7所述),可以直接向盘发出I/O(步骤524)。例如,只要发生关于文件的读/写操作,群集共享卷过滤器驱动程序就使用文件的逻辑块分配、卷在LUN上的块偏移量以及LUN的设备号来将I/O操作转换成原始盘扇区的读/写操作,并且将其沿着本地NT设备栈向下发送。
如由步骤526所示,只要用户向文件发出改变文件的大小和/或逻辑块分配的I/O,群集共享卷过滤器驱动程序就重新载入文件的块分配(步骤528)。
图6和7例示了群集共享卷重定向器的读/写I/O操作;注意在图6中,为了简明起见,省略了存储栈。更具体地,群集共享卷环境也提供容错并透明地处理节点、网络和通信(例如主机总线适配器)故障。这可以通过虚拟句柄表250(图2)和使用群集NetFT容错TCP/IP驱动程序在群集共享卷重定向器中实现。
NetFT是在每个主机处展示用于虚拟子网的虚拟适配器的群集网络容错TCP/IP NDIS小端口驱动程序。也在每个主机处向IP层展示物理网络适配器。NetFT驱动程序通过被认为是最佳可用物理网络路径的路径传递分组,以用于在虚拟子网上传输分组。为了获取容错通信,群集共享卷重定向器绑定到虚拟子网的接口上;如果卷是远程安装的,那么相同的符号连接会指向\\<远程虚拟节点IP地址>\<共享名称>,其中“远程虚拟节点IP地址”是群集内的虚拟IP地址。
应用程序无需关心群集共享卷的物理位置,因为盘卷可能由于节点出现故障或诸如载入平衡、管理、服务、处理等其他原因而移动。为了从应用程序的观点遮蔽盘到另一节点的移动,对于应用程序在驻留在群集共享卷上的文件上打开的每个句柄,群集共享卷重定向器212例如在虚拟句柄表250中(图2)内部地维护对文件的句柄。在通信(主机总线适配器)出现故障或节点出现故障时,群集共享卷重定向器212关闭和重新打开内部(实际的)句柄,而同时应用程序(虚拟)的句柄保持有效。如果主机总线适配器出现故障,那么使用不同的通信路径(例如用SMB代替直接I/O)。在节点出现故障的情况下,重新打开指向新的所有者节点的句柄;(注意群集基础结构负责检测节点故障和后续的盘故障转移)。如果盘移动,那么群集共享卷重定向器212对应用程序透明地更新其虚拟句柄表250。
在正常情况下,对于由应用程序发起的每个操作,群集共享卷过滤器驱动程序212基于内部(实际)句柄重定向操作,诸如在图6和7的关于I/O转发的示例性步骤中阐述的。更具体地,如步骤702所示,当应用程序在虚拟句柄上发起I/O操作且为文件使用非缓冲的I/O(步骤704)时,在步骤706出执行块转换并且将I/O直接发送给设备。如果直接I/O出现故障(步骤708),那么步骤709向盘控制管理器222指示故障。步骤710表示等待盘控制管理器完成其恢复操作,之后步骤711重新发出I/O。这种故障的典型类型包括通信(例如主机总线适配器)故障或所有者节点故障。
如果代替地使用缓冲的I/O,那么步骤704分支到步骤712,其中根据盘耦合到哪里,即是本地的还是远程的,I/O被发送给NTFS或SMB重定向器。注意步骤704也可以表示基于条件的路由,例如如果直接I/O通信路径是停工的,或者要求故意扼流,那么就使用基于网络协议(例如SMB)的通信。如果重定向的I/O出现故障(步骤714),那么步骤716表示阻塞I/O,向盘控制管理器通知故障,并且等待盘控制管理器完成其恢复操作;其后步骤718重新发出I/O。
I/O可以是可以修改文件的块分配(例如大小)的类型的重定向的I/O,而同时为直接I/O标记句柄。如果这样,那么如步骤720评估的,步骤722重新载入文件的块分配。
转向涉及如在图8和9的示例中一般表示的安全性的各方面,任何经授权的客户机可以访问在群集共享卷环境中展示的卷。支持在诸如本地系统和本地服务器的用户域帐户和所选本地内置的帐户下运行的客户机(进程和服务)。当穿越节点间网络通信时,使用群集身份(CNO)来代替本地用户身份,而随后在远程节点中还原原始用户身份。结果,客户机应用程序不会意识到网络边界,如同它是本地地一样访问资源。该模型也提供适当的网络访问检查:只有从另一群集节点发生的请求具有访问权。
在一个示例性实现中,群集认证管理器即CAM(例如图8中的880或881)包括在各自的本地安全授权机构(LSA)服务(图8中的882或883)内运行的模块,作为每个节点上的安全支持提供程序/认证包(SSP/AP)。CAM 880例如可以向群集共享卷提供复制的Windows
Figure BPA00001284446400091
登陆会话和用户安全访问令牌。
CAM 880从原始安全访问令牌检索分组和特权数据,并且使用该信息在目的机器中重新构建网络令牌。这是无需委托、凭证或对域控制器的访问完成的,由此改进了性能并且允许在其中域策略禁止安全委托的环境中的操作。
在一个示例性实现中,组和特权信息被存储在称为“群集权证”的团块中。群集权证类似于Kerberos权证,除了群集权证可用于复制原始节点中的任何令牌,包括NTLM令牌和本地系统令牌(例如LocalService(本地服务)或NetworkService(网络服务))。
群集权证被加密并且受到所有群集节点共享密钥的保护。在一个示例性实现中,该密钥是在群集形成/加入进程期间以安全的方式创建和传输的会话秘钥。
在操作中,如由图9的示例性步骤一般地表示的,在步骤902处,应用程序使用主体“A”的令牌创建/打开文件。在步骤904处,群集共享卷重定向器112联系CAM 880,这将生成嵌入令牌“A”信息的群集权证。CAM 880也创建CNO令牌。
在步骤906处,群集共享卷重定向器创建/打开SMB中的文件,而同时模仿CNO令牌;(注意在一个实现中,CNO是唯一对“NTFS根”共享具有完全访问权的主体)。群集权证被嵌入到文件扩展的属性中(步骤906)。
在步骤908处,(另一节点上的)群集共享卷重定向器113提取群集权证,并且调用其CAM 881以生成主体“A”的网络令牌。群集共享卷重定向器113使用主体“A”网络令牌替换CNO网络令牌,由此经由NTFS访问文件。作为安全检查的一部分,可以评估共享的永久预约密钥以确保进行请求节点仍是有效的成员。
示例性操作环境
图10示出了其上可实现图1-9的示例的合适的计算和连网环境1000的示例。计算系统环境1000仅是合适的计算环境的一个示例,并不旨在对本发明的使用范围或功能提出任何限制。也不应该把计算环境1000解释为对示例性操作环境1000中示出的任一组件或其组合有任何依赖性或要求。
本发明可用各种其它通用或专用计算系统环境或配置来操作。适用于本发明的公知的计算系统、环境和/或配置的示例包括,但不限于:个人计算机、服务器计算机、手持式或膝上型设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型计算机、包含上述系统或设备中的任一个的分布式计算环境等。
本发明可在诸如程序模块等由计算机执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。
参考图10,用于实现本发明的各方面的示例性系统可以包括计算机1010形式的通用计算设备。计算机1010的组件可以包括,但不限于,处理单元1020、系统存储器1030和将包括系统存储器在内的各种系统组件耦合至处理单元1020的系统总线1021。系统总线1021可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构中的任一种的局部总线。作为示例,而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线,但也被称为小背板(Mezzanine)总线。
计算机1010通常包括各种计算机可读介质。计算机可读介质可以是可由计算机1010访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光盘存储,磁带盒、磁带、磁盘存储或其它磁性存储设备,或能用于存储所需信息且可以由计算机1010访问的任何其它介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。上述的任意组合应该包含在计算机可读介质的范围内。
系统存储器1030包括易失性或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)1031和随机存取存储器(RAM)1032。基本输入/输出系统1033(BIOS)包含有助于诸如启动时在计算机1010中元件之间传递信息的基本例程,它通常存储在ROM 1031中。RAM 1032通常包含处理单元1020可以立即访问和/或目前正在操作的数据和/或程序模块。作为示例,而非限制,图10示出了操作系统1034、应用程序1035、其它程序模块1036和程序数据1037。
计算机1010也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图10示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器1041,从可移动、非易失性磁盘1052中读取或向其写入的磁盘驱动器1051,以及从诸如CD ROM或其它光学介质等可移动、非易失性光盘1056中读取或向其写入的光盘驱动器1055。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器1041通常由不可移动存储器接口,诸如接口1040连接至系统总线1021,磁盘驱动器1051和光盘驱动器1055通常由可移动存储器接口,诸如接口1050连接至系统总线1021。
上面讨论并在图10中说明的驱动器及其相关联的计算机存储介质为计算机1010提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图10中,硬盘驱动器1041被示为存储操作系统1044、应用程序1045、其它程序模块1046和程序数据1047。注意,这些组件可以与操作系统1034、应用程序1035、其它程序模块1036和程序数据1037相同或不同。操作系统1044、应用程序1045、其它程序模块1046和程序数据1047在这里被标注了不同的标号是为了说明至少它们是不同的副本。用户可以通过输入设备,如书写板或电子数字化仪1064、话筒1063、键盘1062和定点设备1061(通常指鼠标、跟踪球或触摸板)向计算机1010输入命令和信息。图10中未示出的其它输入设备可包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口1060连接至处理单元1020,但是也可以通过其它接口和总线结构来连接,如并行端口、游戏端口、通用串行总线(USB)。监视器1091或其它类型的显示设备也经由接口,诸如视频接口1090连接至系统总线1021。监视器1091也可以与触摸屏面板等集成。注意监视器和/或触摸屏面板可以在物理上耦合到其中包含计算设备1010的外壳,诸如在平板类型的个人计算机中。此外,诸如计算设备1010的计算机也可以包括其它外围输出设备,诸如扬声器1095和打印机196,它可以通过输出外围接口1094等连接。
计算机1010可使用至一个或多个远程计算机,诸如远程计算机1080的逻辑连接在网络化环境中操作。远程计算机1080可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且通常包括上文相对于计算机1010描述的许多或所有元件,尽管在图10中只示出存储器存储设备1081。图10中所示的逻辑连接包括一个或多个局域网(LAN)1071和一个或多个广域网(WAN)1073,但也可以包括其它网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN网络环境中使用时,计算机1010通过网络接口或适配器1070连接至LAN 1071。当在WAN网络环境中使用时,计算机1010通常包括调制解调器1072或用于通过诸如因特网等WAN 1073建立通信的其它装置。调制解调器1072可以是内置或外置的,它可以通过用户输入接口1060或其它合适的机制连接至系统总线1021。诸如包括接口和天线的无限连网组件1074可以通过诸如接入点或对等计算机的合适的设备耦合到WAN或LAN。在网络化环境中,相对于计算机1010所描述的程序模块或其部分可以存储在远程存储器存储设备中。作为示例而非局限,图10示出远程应用程序1085驻留在存储器设备1081上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。
辅助子系统1099(例如用于辅助内容的显示)可以经由用户接口1060连接以允许将诸如程序内容、系统状态或事件通知的数据提供给用户,即使计算机系统的主要部分是处于低功率状态的。辅助子系统1099可以被连接到调制解调器1072和/或网络接口1070以允许在这些系统之间的通信,而同时主处理单元1020处于低功率状态。
结论
尽管本发明易于作出各种修改和替换构造,但某些说明性实施例在附图中示出并在上文中被详细地描述。然而应当了解,这不是要将本发明限制于所公开的特定形式,而是相反地,目的是要覆盖落在本发明的精神和范围之内的所有修改、替换构造和等效方案。

Claims (20)

1.一种在服务器群集环境中包括多个节点和耦合到所述多个节点的存储设备的系统,所述存储设备包括安装在所述节点之一上的卷,而每个其他节点包括从该节点提供对所述卷的共享访问的重定向器。
2.如权利要求1所述的系统,其特征在于,其中在其上安装所述卷的所述节点包括所述存储设备的拥有节点,而每个其他节点包括非拥有节点,并且其中所述拥有节点包括用于维护所述存储设备的所有权的机制。
3.如权利要求2所述的系统,其特征在于,其中用于维护所述存储设备的所有权的机制包括将指示所有权的密钥写入到与存储设备相关联的注册表中的永久预约机制,并且每个非拥有节点将共享密钥写入到所述注册表中。
4.如权利要求3所述的系统,其特征在于,其中所述拥有节点相对于成员资格数据确认共享密钥,并且基于所述群集成员资格数据取代被认为无效的任何密钥。
5.如权利要求1所述的系统,其特征在于,其中所述重定向器通过第一通信路径将文件系统元数据请求路由到所述拥有节点,并且通过包括相对于所述第一通信路径为高速通信路径的第二通信路径将至少某些文件系统读写数据路由到所述卷。
6.如权利要求1所述的系统,其特征在于,其中所述重定向器包括截取I/O请求的根实例以及耦合到所述根实例的将I/O数据转发到驱动程序的转发实例。
7.如权利要求6所述的系统,其特征在于,其中所述重定向器基于至少一个当前的条件选择性地确定是通过第一还是第二通信路径路由文件读写数据。
8.如权利要求6所述的系统,其特征在于,其中所述重定向器维护用于将应用程序的虚拟句柄转换为所述卷使用的实际的文件系统的句柄的句柄表,并且如果所述卷移动到另一节点的存储设备则改变所述实际文件系统手柄而不改变所述虚拟句柄。
9.如权利要求1所述的系统,其特征在于,还包括使用令牌来包含对应于组或特权数据或组和特权数据两者的用于访问文件的信息的安全组件。
10.如权利要求1所述的系统,其特征在于,其中所述卷是经由对应于单个名称空间的文件名访问的,而不管哪个节点提供了文件名。
11.一种计算环境中的方法包括:
在群集的第一节点处接收针对安装在所述群集的第二节点上的卷的I/O请求;以及
处理所述I/O请求,包括确定所述I/O请求是否可由到所述卷的直接I/O处理,并且如果是,那么经由到所述卷的直接I/O重定向所述I/O请求,并且如果否,那么通过在网络协议上将所述I/O请求重定向到所述第二节点来处理所述I/O请求。
12.如权利要求11所述的方法,其特征在于,其中所述第二节点拥有对应于所述卷的所述存储设备,并且还包括经由永久预约机制在所述第二节点处维护所述存储设备的所有权。
13.如权利要求11所述的方法,其特征在于,其中确定所述I/O请求是否可以由直接I/O处理包括确定所述I/O请求是对应于元数据还是读/写数据,或确定所述I/O请求是对应于缓冲的还是非缓冲的I/O,或者确定所述I/O请求是对应于元数据还是读/写数据以及确定所述I/O请求是对应于缓冲的还是非缓冲的I/O两者。
14.如权利要求11所述的方法,其特征在于,其中处理所述I/O请求包括检测主机总线适配器故障以确定I/O请求不可由直接I/O处理的、暂停所述I/O请求、切换到替换的路径或恢复所述的I/O请求。
15.如权利要求11所述的方法,其特征在于,其中确定所述I/O请求是否可由直接I/O处理包括确定直接I/O通信路径的条件,或基于扼流条件确定是否要在所述网络协议上传递I/O数据。
16.如权利要求11所述的方法,其特征在于,其中所述请求是由直接I/O处理的,并且还包括确定所述I/O请求是否是可以修改对应于所述I/O请求的文件的块分配的类型的,并且如果是,那么获取所述文件的块分配。
17.如权利要求11所述的方法,其特征在于,还包括维护用于将应用程序的虚拟句柄转换成实际的文件句柄的句柄表,检测主存对应于所述卷的存储设备的节点或拥有对应于所述卷的所述存储设备的节点上的主机总线适配器的故障,并且如果所述卷移动到另一节点的存储设备上,那么改变所述实际文件系统句柄而不改变所述虚拟句柄。
18.如权利要求11所述的方法,其特征在于,其中所述I/O请求对应于用于创建或打开文件的元数据,并且还包括处理安全信息以授予对所述文件的访问权。
19.一种或多种具有计算机可执行指令的计算机可读介质,其中当执行所述计算机可执行指令时执行步骤,包括在保存具有对应于存储设备的群集共享卷的群集中的所述存储设备的所有权,包括将所有者密钥写入到与所述共享存储设备相关联的数据结构中,相对于群集成员资格数据评估所述数据结构中的共享密钥并且取代对应于经由所述群集成员资格数据未被标识为群集成员的群集节点的任何密钥。
20.如权利要求19所述的一种或多种计算机可读介质,其特征在于,还具有包括使用所述共享密钥来确定是否授予对所述群集共享卷的访问权的计算机可执行指令。
CN2009801256188A 2008-06-27 2009-06-12 群集共享卷 Active CN102077193B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/147,956 2008-06-27
US12/147,956 US7840730B2 (en) 2008-06-27 2008-06-27 Cluster shared volumes
PCT/US2009/047267 WO2009158217A2 (en) 2008-06-27 2009-06-12 Cluster shared volumes

Publications (2)

Publication Number Publication Date
CN102077193A true CN102077193A (zh) 2011-05-25
CN102077193B CN102077193B (zh) 2013-11-06

Family

ID=41445218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801256188A Active CN102077193B (zh) 2008-06-27 2009-06-12 群集共享卷

Country Status (5)

Country Link
US (2) US7840730B2 (zh)
EP (1) EP2316077A4 (zh)
JP (1) JP5059974B2 (zh)
CN (1) CN102077193B (zh)
WO (1) WO2009158217A2 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102971728A (zh) * 2010-04-29 2013-03-13 赛门铁克公司 卸载存储卷
CN104750658A (zh) * 2013-12-27 2015-07-01 英特尔公司 辅助式一致共享存储器
CN105283831A (zh) * 2013-05-29 2016-01-27 微软技术许可有限责任公司 群集中的分布式存储防御
CN105630708A (zh) * 2015-12-28 2016-06-01 飞依诺科技(苏州)有限公司 硬盘数据保护方法及计算机存储系统
CN106716378A (zh) * 2014-08-07 2017-05-24 微软技术许可有限责任公司 存储故障之后的安全数据访问
CN107003920A (zh) * 2014-09-22 2017-08-01 Netapp股份有限公司 用于处置灾难恢复群集中的多节点故障的系统和方法
CN104160380B (zh) * 2012-02-28 2017-08-15 微软技术许可有限责任公司 一种存储池中的磁盘所有权仲裁方法及节点群集
CN107315973A (zh) * 2016-04-27 2017-11-03 西部数据科技股份有限公司 用于安全元数据修改的一般化验证方案
CN109684860A (zh) * 2018-12-29 2019-04-26 杭州宏杉科技股份有限公司 一种基于业务关系的数据加密方法及装置
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
CN110598444A (zh) * 2012-09-07 2019-12-20 威智伦公司 具有多个服务器节点的物理安全系统
CN111147496A (zh) * 2019-12-27 2020-05-12 北京奇艺世纪科技有限公司 数据处理方法及装置
CN112328368A (zh) * 2020-11-20 2021-02-05 上海云轴信息科技有限公司 一种基于云平台的应用层存储方法及设备
US11228510B2 (en) 2014-08-12 2022-01-18 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316129B2 (en) 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers
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
US8135980B2 (en) * 2008-12-23 2012-03-13 Unisys Corporation Storage availability using cryptographic splitting
US20110252208A1 (en) * 2010-04-12 2011-10-13 Microsoft Corporation Express-full backup of a cluster shared virtual machine
US8448014B2 (en) * 2010-04-23 2013-05-21 International Business Machines Corporation Self-healing failover using a repository and dependency management system
US8621260B1 (en) * 2010-10-29 2013-12-31 Symantec Corporation Site-level sub-cluster dependencies
US8904006B2 (en) 2010-12-08 2014-12-02 International Business Machines Corporation In-flight block map for a clustered redirect-on-write filesystem
US8396832B2 (en) 2010-12-08 2013-03-12 International Business Machines Corporation Independent fileset generations in a clustered redirect-on-write filesystem
US8626713B2 (en) 2010-12-08 2014-01-07 International Business Machines Corporation Multiple contexts in a redirect on write file system
US8458181B2 (en) 2010-12-08 2013-06-04 International Business Machines Corporation Distributed free block map for a clustered redirect-on-write file system
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US8886609B2 (en) 2010-12-17 2014-11-11 Microsoft Corporation Backup and restore of data from any cluster node
US8732346B2 (en) * 2010-12-17 2014-05-20 Microsoft Corporation Coordination of direct I/O with a filter
US8463762B2 (en) * 2010-12-17 2013-06-11 Microsoft Corporation Volumes and file system in cluster shared volumes
CN102142032B (zh) * 2011-03-28 2013-03-20 中国人民解放军国防科学技术大学 一种分布式文件系统的数据读写方法及系统
WO2012159059A1 (en) * 2011-05-18 2012-11-22 Citrix Systems, Inc. Systems and methods for secure handling of data
US8627431B2 (en) 2011-06-04 2014-01-07 Microsoft Corporation Distributed network name
US9342254B2 (en) 2011-06-04 2016-05-17 Microsoft Technology Licensing, Llc Sector-based write filtering with selective file and registry exclusions
US9652469B2 (en) 2011-06-04 2017-05-16 Microsoft Technology Licensing, Llc Clustered file service
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US20130067095A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US8578111B2 (en) * 2011-10-11 2013-11-05 Hewlett-Packard Development Company, L.P. Backup optimization policy table for controlling buffered/un-buffered input/output
CN102572009B (zh) * 2011-12-09 2015-11-25 华为终端有限公司 共享媒体文件的方法、网关和系统
WO2013105433A1 (ja) * 2012-01-13 2013-07-18 株式会社日立製作所 情報処理システム
US10430216B1 (en) * 2012-08-23 2019-10-01 Scale Computing Inc Virtual machine automated selection
US20150006846A1 (en) 2013-06-28 2015-01-01 Saratoga Speed, Inc. Network system to distribute chunks across multiple physical nodes with disk support for object storage
US9256614B1 (en) 2013-06-28 2016-02-09 Emc Corporation File system snapshots over fully provisioned volume file in direct mode
US9256629B1 (en) 2013-06-28 2016-02-09 Emc Corporation File system snapshots over thinly provisioned volume file in mapped mode
US9256603B1 (en) * 2013-06-28 2016-02-09 Emc Corporation File system over fully provisioned volume file in direct mode
US9329803B1 (en) 2013-06-28 2016-05-03 Emc Corporation File system over thinly provisioned volume file in mapped mode
US10140194B2 (en) 2014-03-20 2018-11-27 Hewlett Packard Enterprise Development Lp Storage system transactions
US10659523B1 (en) * 2014-05-23 2020-05-19 Amazon Technologies, Inc. Isolating compute clusters created for a customer
US10237342B2 (en) 2014-09-17 2019-03-19 Dh2I Company Coordinated and high availability storage access
WO2016068972A1 (en) 2014-10-31 2016-05-06 Hewlett Packard Enterprise Development Lp Distributed system partition
US9628350B2 (en) 2014-11-05 2017-04-18 Amazon Technologies, Inc. Dynamic scaling of storage volumes for storage client file systems
US9853873B2 (en) 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
US11294893B2 (en) * 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
WO2016192025A1 (en) 2015-06-01 2016-12-08 SZ DJI Technology Co., Ltd. Systems and methods for memory architecture
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US10778765B2 (en) 2015-07-15 2020-09-15 Cisco Technology, Inc. Bid/ask protocol in scale-out NVMe storage
CN106470104B (zh) 2015-08-20 2020-02-07 阿里巴巴集团控股有限公司 用于生成共享密钥的方法、装置、终端设备及系统
US9778865B1 (en) * 2015-09-08 2017-10-03 EMC IP Holding Company LLC Hyper-converged infrastructure based on server pairs
US9830082B1 (en) 2015-09-08 2017-11-28 EMC IP Holding Company LLC Hybrid hyper-converged infrastructure and storage appliance
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
US10140172B2 (en) 2016-05-18 2018-11-27 Cisco Technology, Inc. Network-aware storage repairs
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
US10158743B2 (en) * 2016-06-12 2018-12-18 International Business Machines Corporation Compute node cluster management
US10664169B2 (en) 2016-06-24 2020-05-26 Cisco Technology, Inc. Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
WO2018067467A1 (en) 2016-10-03 2018-04-12 Ocient Llc Infrastructure improvements for use in a massively parallel database management system
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
US11079971B2 (en) * 2017-03-31 2021-08-03 Veritas Technologies Llc Input/output (i/o) fencing without dedicated arbitrators
US10678953B1 (en) * 2017-04-26 2020-06-09 Seagate Technology Llc Self-contained key management device
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
US11120151B1 (en) 2017-08-02 2021-09-14 Seagate Technology Llc Systems and methods for unlocking self-encrypting data storage devices
US11016990B2 (en) * 2017-08-02 2021-05-25 Salesforce.Com, Inc. Fencing out nodes in a distributed clustered system
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
US10834190B2 (en) 2018-01-18 2020-11-10 Portworx, Inc. Provisioning of clustered containerized applications
US11003372B2 (en) 2018-05-31 2021-05-11 Portworx, Inc. Protecting volume namespaces from corruption in a distributed container orchestrator
US11048523B2 (en) 2018-10-25 2021-06-29 Dell Products, L.P. Enabling software sensor power operation requests via baseboard management controller (BMC)
US10860078B2 (en) 2018-10-25 2020-12-08 Dell Products, L.P. Managing power request during cluster operations
US10996879B2 (en) * 2019-05-02 2021-05-04 EMC IP Holding Company LLC Locality-based load balancing of input-output paths
US11372702B2 (en) 2019-10-22 2022-06-28 International Business Machines Corporation Optimized high availability management using cluster-wide view
US11934679B2 (en) * 2020-10-21 2024-03-19 EMC IP Holding Company, LLC System and method for segmenting volumes across a multi-node 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
CN114296637B (zh) * 2021-12-09 2024-05-17 广西东信数建信息科技有限公司 一种本地存储卷动态创建方法及设备
CN114281253B (zh) * 2021-12-10 2024-01-26 招商银行股份有限公司 存储卷的管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050192932A1 (en) * 2003-12-02 2005-09-01 Michael Kazar Storage system architecture for striping data container content across volumes of a cluster
US7277952B2 (en) * 2001-09-28 2007-10-02 Microsoft Corporation Distributed system resource protection via arbitration and ownership
US20080005196A1 (en) * 2001-06-05 2008-01-03 Silicon Graphics, Inc. Clustered filesystem with membership version support

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479514A (en) * 1994-02-23 1995-12-26 International Business Machines Corporation Method and apparatus for encrypted communication in data networks
US5828876A (en) 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
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
US6151688A (en) 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US6144999A (en) * 1998-05-29 2000-11-07 Sun Microsystems, Incorporated Method and apparatus for file system disaster recovery
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
US6415323B1 (en) 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
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
WO2002001410A1 (en) * 2000-06-26 2002-01-03 International Business Machines Corporation Data management application programming interface for a parallel file system
US7315914B1 (en) * 2000-06-30 2008-01-01 Emc Corporation Systems and methods for managing virtualized logical units using vendor specific storage array commands
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
JP4457185B2 (ja) * 2001-02-13 2010-04-28 ネットアップ,インコーポレイテッド シリコンベースのストレージ仮想化サーバ
US6587921B2 (en) 2001-05-07 2003-07-01 International Business Machines Corporation Method and apparatus for cache synchronization in a clustered environment
US7111197B2 (en) 2001-09-21 2006-09-19 Polyserve, Inc. System and method for journal recovery for multinode environments
US7650412B2 (en) 2001-12-21 2010-01-19 Netapp, Inc. Systems and method of implementing disk ownership in networked storage
US7631066B1 (en) * 2002-03-25 2009-12-08 Symantec Operating Corporation System and method for preventing data corruption in computer system clusters
US6996672B2 (en) * 2002-03-26 2006-02-07 Hewlett-Packard Development, L.P. System and method for active-active data replication
US6880052B2 (en) * 2002-03-26 2005-04-12 Hewlett-Packard Development Company, Lp Storage area network, data replication and storage controller, and method for replicating data using virtualized volumes
JP4229626B2 (ja) * 2002-03-26 2009-02-25 富士通株式会社 ファイル管理システム
US7007042B2 (en) * 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US6865597B1 (en) 2002-12-20 2005-03-08 Veritas Operating Corporation System and method for providing highly-available volume mount points
US7272674B1 (en) * 2003-06-30 2007-09-18 Veritas Operating Corporation System and method for storage device active path coordination among hosts
US7739541B1 (en) * 2003-07-25 2010-06-15 Symantec Operating Corporation System and method for resolving cluster partitions in out-of-band storage virtualization environments
US7139772B2 (en) 2003-08-01 2006-11-21 Oracle International Corporation Ownership reassignment in a shared-nothing database system
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 株式会社日立製作所 複数の上位装置で共有される記憶装置システムを持つサイト間での共有排他制御方式を備えたコンピュータシステム
US20050251716A1 (en) 2004-05-07 2005-11-10 International Business Machines Corporation Software to test a storage device connected to a high availability cluster of computers
US20050283658A1 (en) 2004-05-21 2005-12-22 Clark Thomas K Method, apparatus and program storage device for providing failover for high availability in an N-way shared-nothing cluster system
US7313636B2 (en) * 2004-06-15 2007-12-25 Lsi Corporation Methods and structure for supporting persistent reservations in a multiple-path storage environment
US7590737B1 (en) * 2004-07-16 2009-09-15 Symantec Operating Corporation System and method for customized I/O fencing for preventing data corruption in computer system clusters
US20060053216A1 (en) 2004-09-07 2006-03-09 Metamachinix, Inc. Clustered computer system with centralized administration
US7260678B1 (en) * 2004-10-13 2007-08-21 Network Appliance, Inc. System and method for determining disk ownership model
US7711820B2 (en) 2004-11-08 2010-05-04 Cisco Technology, Inc. High availability for intelligent applications in storage networks
US7383404B2 (en) * 2005-02-03 2008-06-03 International Business Machines Corporation Priority initialization system
EP1713206A1 (en) 2005-04-11 2006-10-18 Last Mile Communications/Tivis Limited A distributed communications network comprising wirelessly linked base stations
US7739677B1 (en) * 2005-05-27 2010-06-15 Symantec Operating Corporation System and method to prevent data corruption due to split brain in shared data clusters
US7478220B2 (en) * 2005-06-23 2009-01-13 International Business Machines Corporation Method, apparatus, and product for prohibiting unauthorized access of data stored on storage drives
US7363457B1 (en) * 2005-07-21 2008-04-22 Sun Microsystems, Inc. Method and system for providing virtualization data services for legacy storage devices
US20070022314A1 (en) * 2005-07-22 2007-01-25 Pranoop Erasani Architecture and method for configuring a simplified cluster over a network with fencing and quorum
WO2008054329A1 (en) 2006-10-31 2008-05-08 Agency For Science, Technology And Research Device and method of generating and distributing access permission to digital object
US7991822B2 (en) * 2007-08-29 2011-08-02 International Business Machines Corporation Propagation of updates for attributes of a storage object from an owner node of the storage object to other nodes
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
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
US20100005318A1 (en) 2008-07-02 2010-01-07 Akram Hosain Process for securing data in a storage unit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005196A1 (en) * 2001-06-05 2008-01-03 Silicon Graphics, Inc. Clustered filesystem with membership version support
US7277952B2 (en) * 2001-09-28 2007-10-02 Microsoft Corporation Distributed system resource protection via arbitration and ownership
US20050192932A1 (en) * 2003-12-02 2005-09-01 Michael Kazar Storage system architecture for striping data container content across volumes of a cluster

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9684573B2 (en) 2010-04-29 2017-06-20 Veritas Technologies Llc Dismounting a storage volume
CN102971728A (zh) * 2010-04-29 2013-03-13 赛门铁克公司 卸载存储卷
CN104160380B (zh) * 2012-02-28 2017-08-15 微软技术许可有限责任公司 一种存储池中的磁盘所有权仲裁方法及节点群集
CN110598444B (zh) * 2012-09-07 2023-07-07 摩托罗拉解决方案公司 具有多个服务器节点的物理安全系统
CN110598444A (zh) * 2012-09-07 2019-12-20 威智伦公司 具有多个服务器节点的物理安全系统
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
CN105283831A (zh) * 2013-05-29 2016-01-27 微软技术许可有限责任公司 群集中的分布式存储防御
US10503419B2 (en) 2013-05-29 2019-12-10 Microsoft Technology Licensing, Llc Controlling storage access by clustered nodes
CN104750658A (zh) * 2013-12-27 2015-07-01 英特尔公司 辅助式一致共享存储器
CN106716378B (zh) * 2014-08-07 2021-05-18 微软技术许可有限责任公司 存储故障之后的安全数据访问
CN106716378A (zh) * 2014-08-07 2017-05-24 微软技术许可有限责任公司 存储故障之后的安全数据访问
US11228510B2 (en) 2014-08-12 2022-01-18 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure
CN107003920A (zh) * 2014-09-22 2017-08-01 Netapp股份有限公司 用于处置灾难恢复群集中的多节点故障的系统和方法
CN105630708A (zh) * 2015-12-28 2016-06-01 飞依诺科技(苏州)有限公司 硬盘数据保护方法及计算机存储系统
CN105630708B (zh) * 2015-12-28 2018-09-21 飞依诺科技(苏州)有限公司 硬盘数据保护方法及计算机存储系统
CN107315973A (zh) * 2016-04-27 2017-11-03 西部数据科技股份有限公司 用于安全元数据修改的一般化验证方案
CN107315973B (zh) * 2016-04-27 2021-09-10 西部数据技术公司 用于安全元数据修改的一般化验证方案
CN109684860A (zh) * 2018-12-29 2019-04-26 杭州宏杉科技股份有限公司 一种基于业务关系的数据加密方法及装置
CN109684860B (zh) * 2018-12-29 2020-08-14 杭州宏杉科技股份有限公司 一种基于业务关系的数据加密方法及装置
CN111147496A (zh) * 2019-12-27 2020-05-12 北京奇艺世纪科技有限公司 数据处理方法及装置
CN112328368A (zh) * 2020-11-20 2021-02-05 上海云轴信息科技有限公司 一种基于云平台的应用层存储方法及设备

Also Published As

Publication number Publication date
US20090327798A1 (en) 2009-12-31
WO2009158217A2 (en) 2009-12-30
JP2011526038A (ja) 2011-09-29
JP5059974B2 (ja) 2012-10-31
EP2316077A2 (en) 2011-05-04
CN102077193B (zh) 2013-11-06
US20180129441A1 (en) 2018-05-10
EP2316077A4 (en) 2014-09-10
US7840730B2 (en) 2010-11-23
WO2009158217A3 (en) 2010-04-15
US10235077B2 (en) 2019-03-19

Similar Documents

Publication Publication Date Title
CN102077193B (zh) 群集共享卷
US10833949B2 (en) Extension resource groups of provider network services
US8898452B2 (en) Protocol translation
US20210103581A1 (en) Blockchain based data management system and method thereof
US20090276774A1 (en) Access control for virtual machines in an information system
CN105022954B (zh) 飞腾cpu上三态操作系统安全内核服务动态运行方法
US20100146582A1 (en) Encryption management in an information handling system
US20120311575A1 (en) System and method for enforcing policies for virtual machines
JP5734855B2 (ja) 永続予約を介する共有書込みアクセスのリソースアービトレーション
US7877411B1 (en) System and method for duplication of virtual private server files
CN104580395B (zh) 一种基于现存云存储平台的多云协同存储中间件系统
CN104937904B (zh) 用于卸载的方法、系统和计算机存储介质
US20200159555A1 (en) Provider network service extensions
US8776057B2 (en) System and method for providing evidence of the physical presence of virtual machines
US20200257452A1 (en) Apparatus and method for processing sensitive data
JP2023517531A (ja) 認可されていないファイル変更からフォルダを保護するためのシステム及び方法
US10469457B1 (en) Systems and methods for securely sharing cloud-service credentials within a network of computing devices
KR102281901B1 (ko) 블록체인을 이용한 데이터 관리 장치 및 이를 위한 방법
JP2004227033A (ja) ネットワークストレージ装置
WO2023273803A1 (zh) 一种认证方法、装置和存储系统
JP4380198B2 (ja) ストレージ装置でアクセス制御を行う計算機システム
US11647020B2 (en) Satellite service for machine authentication in hybrid environments
WO2014077451A1 (ko) Iscsi 스토리지 시스템을 이용한 네트워크 분산 파일 시스템 및 방법
KR102139475B1 (ko) 스토리지 이중화 장치 및 그 장치의 구축방법
US7925801B2 (en) Method and system for protection and security of IO devices using credentials

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150525

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

Effective date of registration: 20150525

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.