CN104603762B - 利用并行文件访问协议的自动校准以及元数据管理支持对文件系统的共享存储的协调访问的方法及系统 - Google Patents
利用并行文件访问协议的自动校准以及元数据管理支持对文件系统的共享存储的协调访问的方法及系统 Download PDFInfo
- Publication number
- CN104603762B CN104603762B CN201380045865.3A CN201380045865A CN104603762B CN 104603762 B CN104603762 B CN 104603762B CN 201380045865 A CN201380045865 A CN 201380045865A CN 104603762 B CN104603762 B CN 104603762B
- Authority
- CN
- China
- Prior art keywords
- file
- server
- access
- client computer
- meta data
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施例涉及利用并行文件访问协议的自动校准以及基于每个对象的元数据管理支持对文件系统的共享磁盘存储子系统的协调访问。集群中的活动文件服务器可以等效访问文件系统的共享数据。(集群中多个服务器中的)文件服务器接收客户机的利用并行文件访问协议对所述存储子系统中由所述文件系统存储的文件的访问的请求。如果文件系统已经选定作为该文件的元数据管理器的文件服务器,那么该文件服务器利用选定的文件服务器协调对所述文件的元数据的访问。如果文件系统没有选定作为该文件元数据管理器的文件服务器,那么文件系统选择接收所述请求的文件服务器作为所述文件的元数据管理器,直到接收到文件关闭请求操作。
Description
技术领域
本发明涉及数据存储领域,特别地涉及利用并行文件访问协议的自动校准和基于每个对象的元数据管理支持对文件系统的共享磁盘存储子系统的协调访问。
背景技术
云体系结构中的数据访问开始以扩展(Scale-out)存储系统为中心。例如,IBMSONASTM(横向扩展网络连接存储)是一种提供用于管理需要极大容量(例如:拍字节(千万亿字节))、高性能以及高可用性的企业云计算环境中的信息大量存储库的存储横向扩展NAS。IBM SONAS利用IBM通用并行文件系统(GPFSTM)构建,GPFS是一种支持扩展和并行集群计算的高性能企业文件管理平台的集群文件系统。扩展存储系统从而允许应用通过集群中的多个文件服务器访问单一文件系统、存储设备、单一部分或数据、或单一文件。
通常利用第三方文件访问协议(例如FTP或HTTP)对文件系统数据进行远程访问。这些协议大部分是基于客户机-服务器的,由单一的客户机访问单一的存储服务器。这些协议扼杀了扩展存储系统的可扩展性,并且经常通过限制访问单一服务器导致数据访问瓶颈。开发了协调以及并行文件访问协议以同时访问远程集群中的多个文件服务器。这些协议帮助减轻了存储瓶颈,但其访问必须由存储系统协调以保持数据访问语义(例如POSIX)和避免损坏。
并行网络文件系统(pNFS)是网络文件系统(NFS)协议的标准化并行文件访问协议扩展。可以预见未来的大部分扩展存储系统都将支持pNFS。作为NFSv4.1一部分的pNFS将NFSv4转换成异构的(heterogeneous)元数据协议。pNFS客户机和服务器负责控制和文件管理操作,但将I/O功能向客户机上特定于存储的布局驱动授权。pNFS客户机通过分离控制和数据流可以使并行文件系统的可用带宽饱和。每个存储系统可以以不同方式支持pNFS或任意类似的并行文件访问协议。例如,为了确定I/O访问的特定文件布局,每个存储系统将具有创建最佳布局的独特方式以减少延迟、最大化I/O吞吐量。
发明内容
本发明的各个方面包括利用并行文件访问协议的自动校准以及基于每个对象的元数据管理支持对文件系统的共享磁盘存储子系统的协调访问的方法、集群文件系统以及计算机程序产品。文件系统包括多个文件服务器的集群,其中集群中的活动的文件服务器可以等效访问文件系统的共享数据。文件系统进一步包括存储所述文件系统的共享数据的共享磁盘存储子系统。
在一个实施例中,(集群中多个服务器中的)文件服务器接收客户机的利用并行文件访问协议对所述存储系统中由所述文件系统存储的文件的访问的请求。如果文件系统已经选定作为该文件的元数据管理器的文件服务器,那么该文件服务器利用选定的文件服务器协调对所述文件的元数据的访问。如果文件系统没有选定作为该文件元数据管理器的文件服务器,那么文件系统选择接收所述请求的文件服务器作为所述文件的元数据管理器,直到接收到文件关闭请求操作。
文件服务器然后为该文件执行向被选定作为元数据管理器的文件服务器的文件打开请求操作。文件服务器然后打开该文件并且创建该文件的文件句柄。文件服务器然后在文件句柄中对被选定作为所述文件的元数据管理器的文件服务器的文件服务器ID进行编码,以使文件系统的文件服务器能够识别哪一个文件服务器为该文件的元数据管理器。文件服务器然后向客户机返回文件句柄用于执行对所述文件的I/O。
以下将在具体实施方式部分结合附图描述本发明的各个实施例的细节。发明内容旨在提供一个要求保护的主题的概览,不能作为对权利要求保护范围的限制。本发明其他的特征和优点将通过具体实施方式部分的描述变得明显。
附图说明
这里参考的附图作为说明书的一部分。除非明确表明,附图中示出的特征只显示了本发明的一些实施例,并不是本发明的全部实施例。
图1显示了根据一个实施例的示例性文件服务器集群的示意图,所述文件服务器集群用于运行具有对实现本发明实施例的共享存储的并行访问的集群文件系统;
图2显示了用于集群文件系统以支持对利用并行文件访问协议的自动校准以及基于每个对象的元数据管理的文件系统的共享磁盘存储子系统的协调访问的流程的流程图;
图3显示了根据一个实施例的用于具有对共享存储的并行访问以服务于从基于文件的并行文件访问协议客户机接收的I/O请求的集群文件系统的流程的流程图;
图4显示了用于实现本发明的实施例的示例性通用计算架构的框图;
图5显示了根据一个实施例的示例性云计算环境的框图;
图6显示了根据一个实施例的示例性抽象模型层的框图。
具体实施方式
下面具体实施方式部分如附图所示的本发明的系统、方法和计算机程序产品的实施例,仅代表本发明的一些选定实施例,不能用于限制权利要求的保护范围。这里描述以及如附图所示的本发明的架构可以以多种不同方式进行安排和设计。因此,以下具体实施方式部分旨在通过示例简要说明与本发明的权利要求一致的系统和流程的选定实施例。
本发明的实施例提供利用并行文件访问协议的自动校准以及基于每个对象的元数据管理支持对文件系统的共享磁盘存储子系统的协调访问的方法、集群文件系统以及计算机程序产品。在一个实施例中,本发明提供多文件系统元数据服务器支持。例如,实现本发明实施例的文件系统(例如GPFSTM)可以定义与集群文件系统中的文件服务器相同数量的文件系统元数据服务器,从而允许并行文件访问协议(例如pNFS)客户机装载不同的文件系统元数据服务器。如此以来,元数据管理可以分布于所有文件系统服务器间,即使是单一的输出。
在一个实施例中,本发明提供并行文件访问协议的自动校准以及基于每个对象的文件系统元数据管理。例如,当并行文件访问协议(例如pNFS)客户机装载服务器并开始访问对象时,服务器动态变成该对象的元数据管理器。作为结果,消除了必须与单独的元数据管理服务器交互的网络延迟。此外,一旦客户机结束访问该对象,另一客户机可以从另一文件服务器开始访问同一对象。该对象的元数据管理器动态迁移至新服务器。
在另一实施例中,为了实现灵活的文件系统布局创建,用一种新颖的编码方案优化对文件系统的每个I/O上文件访问布局拥有者的识别。
图1显示了根据一个实施例的示例性文件服务器集群(108)(以下称为“集群”)的示意图,所述集群用于运行具有对实现本发明实施例的共享存储子系统(112)(以下称为“存储子系统”)的并行访问的集群文件系统。文件系统利用用于不同工作负载和访问模式的文件访问布局的动态创建支持对文件系统的存储子系统的协调访问。示意图包括远程访问文件系统的基于文件的并行文件访问协议(例如pNFS)客户机(102,104,…106)(以下称为“客户机”)。例如,客户机可以包括并行文件访问协议客户机(102)、Windows客户机(104)以及Linux客户机(104)。客户机向通过网络(108)(例如广域网(WAN))向集群发送并从集群接收数据和元数据。
集群包括并行工作以服务于文件访问协议客户机的I/O请求的多个服务器(110),包括但不限于状态服务器、数据服务器或存储服务器(以下称为“文件服务器”)。“文件服务器”可以包括作为存储系统一部分并且能够由外部应用使用以访问存储系统中存储的数据的任意服务器(或虚拟服务器)。例如,文件服务器包括配置用以支持文件访问协议客户机对文件系统的存储的访问的服务器(例如IBM System)。集群进一步包括存储子系统(112)。在一个实施例中,存储子系统是可扩展的(例如扩展存储系统)。例如诸如IBMSONASTM、IBM以及支持超过7000个磁盘驱动器的IBMV7000磁盘系统的扩展存储系统NAS解决方案。文件服务器与存储子系统通过网络(114)(例如局域网(LAN)或光纤通道(FC))通信。
图2显示了根据一个实施例的用于文件系统以支持对利用并行文件访问协议的自动校准以及基于每个对象的元数据管理的文件系统的存储子系统的协调访问的流程(200)的流程图。文件系统,尤其是集群中多个文件服务器中某一特定文件服务器接收客户机利用并行文件访问协议对存储子系统中由文件系统存储的某一文件进行(以下称为“该文件”)访问的请求(步骤202)。该文件特定服务器(以下称为“该文件服务器”)确定文件系统是否已经选定(集群中的)某一文件服务器作为该文件的元数据管理器(步骤204)。
如果文件系统已经选定了某一文件服务器作为该文件的元数据管理器,那么文件系统利用选定的文件服务器协调对该文件的元数据的访问(步骤206)。该文件服务器为该文件执行向被选定作为元数据管理器的文件服务器的文件打开请求操作(步骤208)。然后,该文件服务器打开该文件并创建该文件的文件句柄(步骤210)。然后,该文件服务器在文件句柄中对被选定作为该文件的元数据管理器的文件服务器的文件服务器ID进行编码(步骤212)。执行所述编码以使文件系统的文件服务器能够识别哪一个文件服务器为该文件的元数据管理器。然后,该文件服务器向客户机返回文件句柄用于执行对该文件的I/O(步骤214)。
在另一实施例中,如果该文件服务器不是元数据管理器并且已经存在该文件的元数据管理器但是没有客户机打开该文件,那么文件系统将元数据管理从(先前被选定作为该文件的元数据管理器的)文件服务器(以下称为“该选定的文件服务器”)迁移到至少一个客户机打开该文件的集群中的文件服务器。如果文件系统没有选定该文件的元数据管理器,那么文件系统选择该文件服务器作为该文件的元数据管理器(步骤208)。文件系统通过选定元数据管理器从而允许客户机为不同的文件访问不同的元数据管理器,以使元数据管理能够分布于文件系统的文件服务器间。然后方法进入步骤208、210和212(在以下描述)
在一个实施例中,文件系统从客户机接收对该文件的元数据的元数据访问请求。在该实施例中,文件系统通过被选定作为元数据管理器的服务器协调对该文件的元数据的访问。
图3显示了根据一个实施例的用于具有对共享存储的并行访问以服务于从客户机接收的I/O请求的文件系统的流程(300)的流程图。集群中的文件服务器从客户机接收对该文件I/O请求(以下称为“该I/O文件服务器”)(步骤302)。该I/O文件服务器获取元数据管理器的文件服务器ID(步骤304)。在一个实施例中,该文件服务器通过解码文件句柄获取元数据管理器的文件服务器ID。
该I/O文件服务器然后从被选定的文件服务器获取任何需要的元数据(步骤306)。文件系统然后利用获取的元数据确定客户机是否具有针对该文件执行I/O的权限(步骤308)。如果对客户机的用户的访问控制失败,或客户机试图执行与被授予的访问(例如与文件系统的安全策略)不一致的某一类型的操作,那么所述客户机不具备所述权限。如果客户机不具备权限,方法终止。如果客户机具备权限,方法继续执行。如果客户机具备权限,那么该I/O文件服务器高速缓存所获取的元数据(步骤310)。然后,该I/O文件服务器执行所请求的I/O请求(步骤312)。
在另一个实施例中,如果客户机请求关闭文件,那么接收关闭请求的文件服务器利用节点间通信机制移除文件服务器上高速缓存的元数据。
在一个实施例中,本发明提供多节点客户机文件创建。例如,客户机经由不同的元数据管理器在单一目录中创建文件。现有系统中文件创建需要由单一元数据管理器协调,这样会降低性能。利用本发明的实施例,文件系统文件访问协议的文件创建能够扩展元数据密集型的工作负载,诸如利用可用文件系统文件服务器的数目的文件创建。
在另一实施例中,本发明在保持原文件系统文件布局的同时提供对任何节点故障的支持。例如,并行文件系统的对称服务器设计意味着只要有一个文件系统服务器可以访问,并行文件访问协议(例如pNFS)客户机就能够通过恢复到其他文件服务器并将其指定为元数据管理器而不间断。
在又一实施例中,本发明提供在文件系统文件句柄中对文件系统元数据管理器的编码以使针对数据服务器的每个请求上打开的文件的元数据管理器ID能够便捷获取。例如,在文件打开时,实施本发明实施例的文件系统创建并行文件访问协议客户机使用的文件句柄。除其通常的文件句柄创建过程之外,文件系统在文件句柄中编码元数据管理器标识(id)。作为结果,无论何时并行文件访问协议客户机利用文件句柄读取或写入数据服务器上的文件,数据服务器都知道元数据管理器的标识(id)。这种简单有效的机制允许简单地识别文件元数据的初始拥有者。这种机制进而能够用于在数据服务器和用于鉴权和校正的元数据管理器间分布并行文件访问协议状态。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”、“管理器”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
说明书中的“一个选定的实施例”或“一个实施例”或“实施例”是指结合实施例描述的某个特定功能、结构或特征包括在本发明的至少一个实施例中。因此,说明书中各处出现的短语“一个选定的实施例”或“在一个实施例中”或“在实施例中”不一定指的是相同的实施例。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令还可以加载到计算机、其他可编程数据处理装置或其他设备上,以使一系列操作步骤在计算机、其他可编程数据处理装置或其他设备上被执行以产生计算机实现的过程,使得在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图中的一个或多个方框中规定的功能/动作的处理。
图4显示了用于实现本发明的实施例的示例性通用计算架构的框图(400)。例如,该计算机架构适于作为云计算架构并用于实现和/或执行描述或要求保护的本发明的实施例或任何功能性。
该架构包括计算机系统/服务器(402)(以下称作“计算机”)。计算机的组件可以包括但不限于一个或多个处理器或处理器单元(406),系统存储器(416)和将各种系统组件耦接在一起的总线(408),包括将系统存储器耦接到处理单元。计算机可以作为云计算代码并可与许多其他通用或专用计算系统环境或配置一起运行。
众所周知的计算系统、环境和/或配置的例子可以适于计算机使用,包括但不限于:个人计算系统、服务器计算系统、瘦客户端、手持或膝上型设备、多处理器系统、微处理器系统、机顶盒、可编程消费电子、网络PC、小型计算机系统、大型计算机系统、集群文件系统、文件服务器集群、可扩展存储子系统和包括以上任意系统或设备等的分布式云计算环境。
总线代表一个或多个任意类型的总线结构,包括存储器总线或存储器控制器、外围总线、加速图形端口以及使用多种总线结构的任意结构的处理器或本地总线。举例来说,这些结构包括但不限于:工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线和外围组件互联(PCI)总线。计算机通常包括多种计算机系统可读介质。这种介质可以是能够由计算机访问的任何可用介质并且包括易失或非易失介质、移动或不可移动介质。
系统存储器可以包括易失存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)(418)和/或高速缓存存储器(420)。计算机还可以进一步包括其他移动/不可移动、易失/非易失计算机系统存储介质。举例来说,可以提供存储系统或存储子系统(422)从永久存储读取或向永久存储(未示出并且通常称为“硬盘驱动器”)写入。尽管未示出,可以提供用于从移动、非易失磁盘(例如“软盘”)读取或向其写入的磁盘驱动器,以及用于从例如CD-ROM、DVD-ROM或其他光介质的移动、非易失光盘读取或向其写入的光盘驱动器。这些例子中,每个都可以通过一个或多个数据介质接口连接至总线。如下面进一步描述的,存储器可以包含配置为执行本发明实施例功能的具有一组(例如至少一个)程序模块的至少一个程序产品。
计算机通常可以在诸如程序模块的被计算机系统执行的计算机系统可执行指令的上下文中进行描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算系统存储介质。
具有一组(至少一个)程序模块的程序/实用程序(424)以及操作系统、一个或多个应用程序、其他程序模块以及程序数据可以例如但不限于存储于系统存储器或存储系统。操作系统、一个或多个应用程序、其他程序模块以及程序数据或其组合可以包括网络环境的实现。程序模块通常执行这里描述的本发明实施例的功能和/或方法。
计算机还可以与诸如键盘、定点设备、显示器(414)等的一个或多个使用户能够与计算机进行交互的外部设备(404)、和/或使计算机能够与一个或多个其他计算设备通信的任何设备(例如网卡、调制解调器等)通信。这样的通信可以经由I/O接口(412)进行。此外,计算机还能通过网络适配器(410)与诸如LAN、一般WAN和/或公众网络(例如因特网)的一个或多个网络通信。如图所示,网络适配器经由总线与计算机的其他组件通信。应当理解,虽然未示出,其他硬件和/或软件组件可以与计算机一起使用。例子可以包括但不限于伪代码、设备驱动器、冗余处理单元、外部磁盘阵列、RAID系统、磁带驱动器以及数据归档存储系统等。
首先应当理解,尽管具体实施方式包括关于云计算的描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。云计算环境是面向服务的,并且着重于无状态性、低耦合、模块化并且语义互操作性。云计算的核心是包括互连节点的网络的架构。通过示例,云计算模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务,其中:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入,其中:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:其中提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。例如,一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:其中能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。例如,在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:其中云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。例如,可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。例如,除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。例如,消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。例如,消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。例如,私有云可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。例如,共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众至大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
图5显示了根据一个实施例的示例性的云计算环境的示意图。如图所示,云计算环境500包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点502,本地计算设备例如可以是个人数字助理(PDA)或移动电话504a,台式电脑504b、笔记本电脑504c和/或汽车计算机系统504d。云计算节点502之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,显示的各类计算设备仅仅是示意性的,云计算节点以及云计算环境可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
图6显示了根据一个实施例的示例性抽象模型层的框图。首先应当理解,图6所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图6所示,提供下列层和对应功能:
硬件和软件层602包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层604提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层606可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层608提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理以及交易处理。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
这里使用的术语仅出于描述特定实施例的目的,不能限制本发明。除非明确表明,否则这里使用的单数“一”、“一个”或者“该”旨在也包括多个。还应理解,说明书中使用的“包括”和/或“包含”虽然指定了特定的功能、整数、步骤、操作、元素和/或组件,但并不排除一个或多个其他功能、整数、步骤、操作、元素和/或组件。
权利要求中相应的结构、材料、行为以及所有部件或步骤加上功能元素的等同旨在包括。用于结合特别要求保护的其他要求保护的元素执行功能的任何结构、材料、或行为。本发明的描述被呈现用于图示和描述目的,但并不旨在将本发明穷尽或限制为公开的形式。许多修改和改变将对本领域的普通技术人员显而易见而不脱离本发明的范围和精神。实施例被选择和描述是为了最好地解释本发明的原理和实际应用,并且使本领域的其他普通技术人员能够理解具有适合于特定预期用途的各种修改的各种实施例的发明。因此,增强的云计算模型支持数据项标识的灵活性,包括但不限于支持对利用并行文件访问协议的自动校准以及文件系统的存储子系统的基于每个对象的元数据管理的文件系统的共享磁盘存储子系统的协调访问。
在附图中的流程图和框图示出根据本发明的各种实施例的系统、方法以及计算机程序产品的可能实现的体系架构、功能以及操作。在这点上,流程图或框图中的每个方框可以代表模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。还应该注意,在一些备选实现中,方框中的功能可以不按照附图中的顺序发生。例如,按顺序示出的两个方框可以实际上基本上同步被执行,或方框可以有时按相反的顺序执行,取决于所涉及的功能。还应指出,框图的每个块和/或流程图以及框图中的块和/或流程图的组合可以通过执行该特定功能或行为的基于硬件的专用系统,或专用硬件和计算机指令的组合实现。
虽然出于说明的目的这里已经描述了本发明的特定实施例,但是在不背离本发明精神和范围的前提下可以做出各种修改。尤其是可以将系统配置为支持建立一致点相关联的虚拟机。因此﹐本发明的保护范围仅由权利要求进行限定。
Claims (9)
1.一种用于支持对文件系统的共享磁盘存储子系统的协调访问的方法,所述方法利用并行文件访问协议的自动校准以及所述存储子系统的基于每个对象的元数据管理,其中集群中的活动文件服务器可以等效访问所述文件系统的共享数据,所述方法包括:
响应于客户机利用并行文件访问协议对所述存储子系统中的由所述文件系统存储的文件的访问的请求:
如果所述文件系统已经选定所述文件的元数据管理器,那么利用所述元数据管理器协调对所述文件的元数据的访问;
如果所述文件系统没有选定所述文件的元数据管理器,那么选择接收所述请求的文件服务器作为所述文件的元数据管理器,直到接收到文件关闭请求操作;
为所述文件执行向所选定的元数据管理器的打开请求操作,所述执行由接收所述请求的文件服务器完成;
打开所述文件并创建所述文件的文件句柄;
在所述文件句柄中对被选定作为所述文件的元数据管理器的文件服务器的文件服务器ID进行编码,以使所述文件系统的文件服务器能够识别哪一个文件服务器为所述文件的元数据管理器;以及
向所述客户机返回所述文件句柄用于执行对所述文件的I/O。
2.如权利要求1所述的方法,其中选定元数据管理器并因此允许所述客户机为不同的文件访问不同的元数据管理器,以使元数据管理能够分布于所述文件系统的文件服务器间。
3.如权利要求1所述的方法,进一步包括:
如果接收所述客户机的请求的文件服务器不是元数据管理器并且所述文件的元数据管理器已经存在但没有客户机打开该文件,那么将元数据管理从先前被选定作为所述文件的元数据管理器的文件服务器迁移到在所述集群中的、至少一个客户机已经在其上打开所述文件的文件服务器。
4.如权利要求1所述的方法,进一步包括:
从所述客户机接收对所述文件的元数据的元数据访问请求;
通过所述元数据管理器协调对所述文件的元数据的访问。
5.如权利要求1所述的方法,进一步包括:
响应于所述客户机对所述文件的I/O请求,接收所述I/O请求的文件服务器:
通过解码所述文件句柄获取元数据管理器的所述文件服务器ID;
从所述被选定作为所述文件的元数据管理器的文件服务器获取任何需要的元数据以确定所述客户机是否具有针对所述文件执行I/O的权限,并且
如果所述客户机具有针对所述文件执行I/O的权限,高速缓存所获取的元数据并执行所请求的I/O请求。
6.如权利要求5所述的方法,其中在以下情况之一,所述客户机不具备所述权限:
(i)对所述客户机的用户的访问控制失败,或
(ii)所述客户机试图执行与所述文件系统的安全策略不一致的某一类型的操作。
7.如权利要求1所述的方法,进一步包括:
响应于所述客户机的关闭所述文件的请求,接收该请求的所述文件服务器利用节点间通信机制移除所述文件系统的文件服务器上高速缓存的元数据。
8.如权利要求1所述的方法,进一步包括:
响应于所述客户机对所述文件的文件访问布局的请求,接收I/O请求的文件服务器向所述客户机返回用于服务所述I/O请求的所述协议的所述文件的文件访问布局;并且
其中所述布局包括位于所述集群中的一组文件服务器以及所述文件的字节范围,所述字节范围与所述文件系统的文件服务器中的特定服务器相关。
9.一种系统,包括适于执行前述任一方法权利要求的各个步骤的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/630,861 US8799335B2 (en) | 2012-09-28 | 2012-09-28 | Supporting coordinated access to a file system's shared storage using automatic alignment of a parallel file access protocol and metadata management |
US13/630,861 | 2012-09-28 | ||
PCT/IB2013/058529 WO2014049483A2 (en) | 2012-09-28 | 2013-09-13 | Supporting coordinated access to a file system's shared storage using automatic alignment of a parallel file access protocol and metadata management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104603762A CN104603762A (zh) | 2015-05-06 |
CN104603762B true CN104603762B (zh) | 2017-05-31 |
Family
ID=50386184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380045865.3A Expired - Fee Related CN104603762B (zh) | 2012-09-28 | 2013-09-13 | 利用并行文件访问协议的自动校准以及元数据管理支持对文件系统的共享存储的协调访问的方法及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8799335B2 (zh) |
CN (1) | CN104603762B (zh) |
DE (1) | DE112013004805T5 (zh) |
WO (1) | WO2014049483A2 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9063939B2 (en) * | 2011-11-03 | 2015-06-23 | Zettaset, Inc. | Distributed storage medium management for heterogeneous storage media in high availability clusters |
US20150201016A1 (en) * | 2014-01-14 | 2015-07-16 | Amit Golander | Methods and system for incorporating a direct attached storage to a network attached storage |
US10237342B2 (en) * | 2014-09-17 | 2019-03-19 | Dh2I Company | Coordinated and high availability storage access |
US10298550B2 (en) * | 2016-09-22 | 2019-05-21 | International Business Machines Corporation | Packet flow in an overlay network |
US10594770B2 (en) * | 2016-11-01 | 2020-03-17 | International Business Machines Corporation | On-premises and off-premises communication |
US10579553B2 (en) * | 2017-03-14 | 2020-03-03 | International Business Machines Corporation | Storage capability aware software defined storage |
US10929573B2 (en) * | 2017-03-21 | 2021-02-23 | The Boeing Company | Systems and methods for designing and modeling products in a cloud environment |
US11100086B2 (en) * | 2018-09-25 | 2021-08-24 | Wandisco, Inc. | Methods, devices and systems for real-time checking of data consistency in a distributed heterogenous storage system |
CN112152988B (zh) * | 2019-06-26 | 2022-07-29 | 腾讯美国有限责任公司 | 用于异步nbmp请求处理的方法、系统以及计算机设备和介质 |
US11494611B2 (en) * | 2019-07-31 | 2022-11-08 | International Business Machines Corporation | Metadata-based scientific data characterization driven by a knowledge database at scale |
US11455121B2 (en) * | 2020-01-22 | 2022-09-27 | International Business Machines Corporation | Selecting data nodes for WAN caching in a hybrid cloud environment |
CN111796767B (zh) * | 2020-06-24 | 2023-12-08 | 北京青云科技股份有限公司 | 一种分布式文件系统及数据管理方法 |
CN112181917A (zh) * | 2020-09-25 | 2021-01-05 | 中国建设银行股份有限公司 | 一种流水文件装载方法、装置、服务器和存储介质 |
US11900164B2 (en) | 2020-11-24 | 2024-02-13 | Nutanix, Inc. | Intelligent query planning for metric gateway |
US11822370B2 (en) * | 2020-11-26 | 2023-11-21 | Nutanix, Inc. | Concurrent multiprotocol access to an object storage system |
US20230315502A1 (en) * | 2022-03-29 | 2023-10-05 | International Business Machines Corporation | Image management for container runtimes |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987506A (en) | 1996-11-22 | 1999-11-16 | Mangosoft Corporation | Remote access and geographically distributed computers in a globally addressable storage environment |
ATE381191T1 (de) * | 2000-10-26 | 2007-12-15 | Prismedia Networks Inc | Verfahren und system zur verwaltung von verteilten inhalten und entsprechenden metadaten |
TW561358B (en) * | 2001-01-11 | 2003-11-11 | Force Corp Z | File switch and switched file system |
US8195760B2 (en) * | 2001-01-11 | 2012-06-05 | F5 Networks, Inc. | File aggregation in a switched file system |
US7266563B2 (en) * | 2001-12-28 | 2007-09-04 | Fotomedia Technologies, Llc | Specifying, assigning, and maintaining user defined metadata in a network-based photosharing system |
US6985914B2 (en) * | 2002-02-20 | 2006-01-10 | Emc Corporation | Cluster meta file system of file system cells managed by respective data movers of a network file server |
US8140622B2 (en) * | 2002-05-23 | 2012-03-20 | International Business Machines Corporation | Parallel metadata service in storage area network environment |
US7877511B1 (en) * | 2003-01-13 | 2011-01-25 | F5 Networks, Inc. | Method and apparatus for adaptive services networking |
US7272654B1 (en) * | 2004-03-04 | 2007-09-18 | Sandbox Networks, Inc. | Virtualizing network-attached-storage (NAS) with a compact table that stores lossy hashes of file names and parent handles rather than full names |
US7739301B2 (en) * | 2004-03-17 | 2010-06-15 | Netapp, Inc. | Method and apparatus for improving file system proxy performance and security by distributing information to clients via file handles |
US7730057B2 (en) | 2005-06-06 | 2010-06-01 | International Business Machines Corporation | Computer data systems implemented using a virtual solution architecture |
US8589550B1 (en) * | 2006-10-23 | 2013-11-19 | Emc Corporation | Asymmetric data storage system for high performance and grid computing |
US20080133609A1 (en) * | 2006-12-01 | 2008-06-05 | Electronics And Telecommunications Research Institute | Object-based storage system for defferring elimination of shared file and method thereof |
CN101013381B (zh) * | 2007-01-26 | 2010-05-19 | 华中科技大学 | 基于对象存储系统的分布式锁 |
US7966343B2 (en) | 2008-04-07 | 2011-06-21 | Teradata Us, Inc. | Accessing data in a column store database based on hardware compatible data structures |
US7873619B1 (en) * | 2008-03-31 | 2011-01-18 | Emc Corporation | Managing metadata |
EP2485150A1 (en) | 2009-05-18 | 2012-08-08 | Shuhei Nishiyama | Meta-information sharing distributed database system in virtual single memory storage |
US8495250B2 (en) * | 2009-12-16 | 2013-07-23 | International Business Machines Corporation | Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system |
US8514749B2 (en) | 2010-03-10 | 2013-08-20 | Microsoft Corporation | Routing requests for duplex applications |
US8510265B1 (en) * | 2010-03-31 | 2013-08-13 | Emc Corporation | Configuration utility for a data storage system using a file mapping protocol for access to distributed file systems |
-
2012
- 2012-09-28 US US13/630,861 patent/US8799335B2/en not_active Expired - Fee Related
-
2013
- 2013-09-13 DE DE112013004805.1T patent/DE112013004805T5/de not_active Ceased
- 2013-09-13 CN CN201380045865.3A patent/CN104603762B/zh not_active Expired - Fee Related
- 2013-09-13 WO PCT/IB2013/058529 patent/WO2014049483A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2014049483A3 (en) | 2014-05-22 |
DE112013004805T5 (de) | 2015-06-03 |
US20140095459A1 (en) | 2014-04-03 |
WO2014049483A2 (en) | 2014-04-03 |
US8799335B2 (en) | 2014-08-05 |
CN104603762A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104603762B (zh) | 利用并行文件访问协议的自动校准以及元数据管理支持对文件系统的共享存储的协调访问的方法及系统 | |
CN103299274B (zh) | 确定运行图像的最佳计算环境的系统和方法 | |
CN106020940B (zh) | 用于确定数据集的放置的存储层级的方法和系统 | |
CN104424013B (zh) | 在计算环境中部署虚拟机的方法和设备 | |
CN104335189B (zh) | 对共享存储资源的安全访问 | |
CN103226489B (zh) | 用于在计算环境中创建虚拟单元的方法和系统 | |
US9727578B2 (en) | Coordinated access to a file system's shared storage using dynamic creation of file access layout | |
CN105893139A (zh) | 在云存储环境中用于向租户提供存储服务的方法和装置 | |
CN103959264A (zh) | 在存储云中使用去重复来管理不可变冗余文件 | |
US10164896B2 (en) | Cloud-based content management system | |
CN105359088B (zh) | 使用动态生成的虚拟磁盘内容优化供应时间的方法 | |
JP7117062B2 (ja) | ファイルシステムのコンテンツに基づくセキュリティ | |
US9459897B2 (en) | System and method for providing data analysis service in cloud environment | |
US20130339605A1 (en) | Uniform storage collaboration and access | |
CN103916455A (zh) | 用于数据复制的方法和系统 | |
CN104731658A (zh) | 供应和合并共享资源以最大化资源可用性的方法和系统 | |
CN105227672B (zh) | 数据存储及访问的方法和系统 | |
CN104794150A (zh) | 一种基于空间知识云环境的云存储模型与管理方法 | |
Stotzka et al. | Perspective of the Large Scale Data Facility (LSDF) supporting nuclear fusion applications | |
JP2023502909A (ja) | インテリジェント・データ・プール | |
US10949393B2 (en) | Object deletion in distributed computing environments | |
US20160034700A1 (en) | Search permissions within hierarchically associated data | |
Krampis et al. | A review of cloud computing bioinformatics solutions for next-gen sequencing data analysis and research | |
Yan | Cloud storage services | |
US20230153300A1 (en) | Building cross table index in relational database |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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: 20170531 Termination date: 20200913 |