支持多层存储器的虚拟文件系统技术方案

技术编号:17785728 阅读:44 留言:0更新日期:2018-04-22 18:19
多个计算设备经由局域网互连,并且包括被配置为实现虚拟文件系统的电路,该虚拟文件系统包括虚拟文件系统前端的一个或多个实例以及虚拟文件系统后端的一个或多个实例。虚拟文件系统前端的每个实例可以被配置为从存在于多个计算设备上的文件系统驱动器接收文件系统调用,并且确定虚拟文件系统后端的一个或多个实例中的哪一个负责为文件系统调用提供服务。虚拟文件系统后端的每个实例可以被配置为从虚拟文件系统前端的一个或多个实例接收文件系统调用,并且针对受文件系统调用的服务影响的数据更新文件系统元数据。

【技术实现步骤摘要】
【国外来华专利技术】支持多层存储器的虚拟文件系统
技术介绍
传统的数据存储方法的限制和缺点对于本领域的技术人员来说是显而易见的,通过参照附图将这些方法与在本公开的其余部分中提出的本方法和系统的一些方面进行比较。
技术实现思路
提供了用于支持多层存储器的虚拟文件系统的方法和系统,基本上如结合至少一个附图所示和/或所描述的那样,如权利要求中所要求的那样。附图说明图1图示了根据本公开的方面的虚拟文件系统的各种示例性配置。图2图示了根据本公开的方面的使用虚拟文件系统的计算节点的各种示例性配置。图3示出了根据本公开的方面的专用虚拟文件系统节点的各种示例性配置。图4示出了根据本公开的方面的专用存储节点的各种示例性配置。图5是示出了根据本公开的方面的用于将数据写入虚拟文件系统的示例性方法的流程图。图6是示出了根据本公开的方面的用于向虚拟文件系统读取数据的示例性方法的流程图。图7是示出了根据本公开的方面的用于使用多层存储器的示例性方法的流程图。图8A-8E示出了根据本公开的方面的虚拟文件系统的各种示例性配置。图9是示出了来自非暂时性机器可读存储器的虚拟文件系统的配置的框图。具体实施方式目前存在许多数据存储器选项。区分无数存储器选项的一种方法是,它们是电子寻址还是(电子)机械寻址。电子寻址存储器选项的示例包括NANDFLASH、FeRAM、PRAM、MRAM和忆阻器。机械寻址存储器选项的示例包括硬盘驱动器(HDD)、光盘驱动器和磁带驱动器。此外,这些示例中的每一个(例如,用于闪存的SLC和TLC,用于光存储的CDROM和DVD等等)看似有无数的变化。在任何情况下,各种存储器选项提供各种价位的各种性能级别。将不同存储器选项对应于不同层的分层存储方案通过将数据存储到被确定为最适合于该数据的层来利用这一点。可以通过诸如读取和/或写入延迟、IOPS、吞吐量、持久性、所存储数据的每单位量的成本、数据误差率和/或设备故障率等各种因素中的任何一个或多个来对各层进行分类。例如,参考四个层来描述本公开的各种示例性实施方式:层1—提供相对低的延迟和相对高的持久性(即故障前的写入次数)的存储器。可用于此层的示例性存储器包括NANDFLASH、PRAM和忆阻器。层1内存可以是直接连接(DAS)到运行VFS代码的相同节点,也可以是网络连接。直接连接可以通过SAS/SATA、PCI-e、JEDECDIMM和/或类似的方式。网络连接可以是基于以太网的、基于RDMA的和/或类似的。当网络连接时,例如,第1层存储器可以存在于专用存储节点中。层1可以是字节可寻址或块可寻址存储器。在示例性实施方式中,可以将数据以“数据块(chunks)”存储到层1存储器中,该数据块由一个或多个“块”组成(例如,包括4kB块的128MB的数据块)。层2—与层1相比提供更高的延迟和/或更低的持久性的存储器。因此,它通常将利用比层1更便宜的内存。例如,层1可以包括多个第一闪速IC,并且层2可以包括多个第二闪速IC,其中,第一闪速IC以相应较高的价格提供比第二闪速IC更低的延迟和/或更高的持久性。层2可以是DAS或网络连接,与以上关于层1所描述的相同。层2可以是基于文件的或基于块的存储器。层3—与层2相比提供更高的延迟和/或更低的持久性的存储器。因此,其通常利用比层1和层2更便宜的内存。例如,层3可以包括硬盘驱动器,而层1和层2包括闪存。层3可能是基于对象的存储器或基于文件的网络连接存储器(NAS)。层3存储器可以通过局域网内部访问,也可以通过互联网访问云端。例如,内部的层3存储器可以存在于专用对象存储节点中(例如,由Scality或Cleversafe提供的或者定制的基于Ceph的系统)和/或在与其他软件/或存储器共享资源的计算节点中。第3层的示例性基于云的存储器服务包括AmazonS3、MicrosoftAzure、GoogleCloud和Rackspace。层4—与层3相比提供更高的延迟和/或更低的持久性的存储器。因此,它通常将利用比层1、2和3更便宜的内存。层4可以是基于对象的存储器。层4可以通过局域网络进行内部访问,或者也可以通过互联网访问云端。内部的层4存储器可能是成本最优化的系统,如磁带驱动器或基于光驱的归档系统。用于层4的示例性基于云的存储器服务包括AmazonGlacier和GoogleNearline。这四层仅仅是为了说明。本公开的各种实施方式与任何数量和/或类型的层级兼容。而且,如本文所使用的,短语“第一层”通常用于指代任何层,并且确实对应于层1。类似地,短语“第二层”通常用于指代任何层并且确实对应于层2。也就是说,对“第一层的存储器和第二层的存储器”的引用可以指的是层N和层M,其中N和M是不相等的整数。图1示出了根据本公开的方面的虚拟文件系统的各种示例性配置。图1中所示的是包括一个或多个虚拟文件系统(VFS)节点120(由1到J的整数索引,j≥1)的局域网(LAN)102,并且可选地包括(由虚线表示):一个或多个专用存储节点106(由从1到M的整数索引,M≥1)、一个或多个计算节点104(从1到N的整数索引,N≥1),和/或将LAN102连接到远程网络118的边缘路由器。远程网络118可选地包括一个或多个存储服务器114(由从1到K的整数索引,K≥1),和/或一个或多个专用存储节点115(由从1到L的整数索引,L≥1)。因此,零层或多层存储器可以存在于LAN102中,并且零层或多层存储器可以存在于远程网络118中,并且操作虚拟文件系统可操作为无缝地(从客户端进程的角度来看)管理多层,其中一些层在局域网络上,一些层在远程网络上,并且各层中的不同存储设备具有不同级别的持久性、延迟、每秒总输入/输出操作(IOPS)和成本结构。每个计算节点104n(n是整数,其中1≤n≤N)是联网的计算设备(例如,服务器、个人计算机等),其包括用于运行各种客户端进程(直接在设备104n的操作系统上和/或在设备104n中运行的一个或多个虚拟机/容器中)并且用于与一个或多个VFS节点120连接的电路。如在本公开中所使用的,“客户端进程”是在执行其主要功能的过程中从存储器读取数据和/或将数据写入存储器的进程,但其主要功能不是与存储相关的(即,该进程只关心其数据在需要时可靠地存储并检索,而不关心存储数据的位置、时间或方式)。导致这样的进程的示例性应用程序包括:电子邮件服务器应用程序、网络服务器应用程序、办公生产力应用程序、客户关系管理(CRM)应用程序,以及企业资源规划(ERP)应用程序等等。计算节点104n的示例性配置在下面参照图2进行描述。每个VFS节点120j(j是整数,其中1≤j≤J)是联网计算设备(例如,服务器、个人计算机等),其包括用于运行VFS进程以及可选地运行客户端进程(直接在设备104n的操作系统上和/或在设备104n中运行的一个或多个虚拟机中)的电路。如在本公开中所使用的,“VFS进程”是实现本公开中下面描述的VFS驱动器、VFS前端、VFS后端和VFS内存控制器中的一个或多个的进程。以下参考图3来描述VFS节点120j的示例性配置。因此,在示例性实施方式中,VFS节点120j的资源(例如,处理和内存资源)可以在客户端进程和VFS进程之间共享。虚拟文件系统的进程可以被配置为要求相对少本文档来自技高网...
支持多层存储器的虚拟文件系统

【技术保护点】
一种系统,包括:经由局域网互连的多个计算设备,所述多个计算设备的电路被配置为实现虚拟文件系统,所述虚拟文件系统包括虚拟文件系统前端的一个或多个实例以及虚拟文件系统后端的一个或多个实例,其中:所述虚拟文件系统前端的所述一个或多个实例中的每一个被配置为:从存在于所述多个计算设备上的文件系统驱动器接收文件系统调用;并且确定所述虚拟文件系统后端的所述一个或多个实例中的哪一个负责为所述文件系统调用提供服务;所述虚拟文件系统后端的所述一个或多个实例中的每一个被配置为:从所述虚拟文件系统前端的所述一个或多个实例接收文件系统调用;并且更新受所述文件系统调用的所述服务影响的数据的文件系统元数据;并且所述虚拟文件系统前端的所述一个或多个实例中的实例的数量和所述虚拟文件系统后端的所述一个或多个实例中的实例的数量彼此独立地可变。

【技术特征摘要】
【国外来华专利技术】2015.07.01 US 14/789,4221.一种系统,包括:经由局域网互连的多个计算设备,所述多个计算设备的电路被配置为实现虚拟文件系统,所述虚拟文件系统包括虚拟文件系统前端的一个或多个实例以及虚拟文件系统后端的一个或多个实例,其中:所述虚拟文件系统前端的所述一个或多个实例中的每一个被配置为:从存在于所述多个计算设备上的文件系统驱动器接收文件系统调用;并且确定所述虚拟文件系统后端的所述一个或多个实例中的哪一个负责为所述文件系统调用提供服务;所述虚拟文件系统后端的所述一个或多个实例中的每一个被配置为:从所述虚拟文件系统前端的所述一个或多个实例接收文件系统调用;并且更新受所述文件系统调用的所述服务影响的数据的文件系统元数据;并且所述虚拟文件系统前端的所述一个或多个实例中的实例的数量和所述虚拟文件系统后端的所述一个或多个实例中的实例的数量彼此独立地可变。2.如权利要求1所述的系统,包括第一电子寻址的非易失性存储设备和第二电子寻址的非易失性存储设备,其中,所述虚拟文件系统后端的每个实例被配置为:分配所述第一电子寻址的非易失性存储设备和所述第二电子寻址的非易失性存储设备的内存,使得写入到所述虚拟文件系统的数据分布在所述第一电子寻址的非易失性存储设备和所述第二电子寻址的非易失性存储设备上。3.如权利要求2所述的系统,包括第三非易失性存储设备,其中:所述第一电子寻址的非易失性存储设备和所述第二电子寻址的非易失性存储设备被用于第一层的存储器;并且所述第三非易失性存储设备被用于第二层的存储器。4.如权利要求3所述的系统,其中,写入所述虚拟文件系统的数据首先被存储到所述第一层的存储器,并且然后根据所述虚拟文件系统的策略被迁移到所述第二层的存储器。5.如权利要求1所述的系统,其中,所述文件系统驱动器支持虚拟文件系统特定协议以及以下传统协议中的至少一个:网络文件系统协议(NFS)和服务器消息块(SMB)协议。6.一种系统,包括:存在于局域网上并且包括多个电子寻址的非易失性存储设备的多个计算设备,其中:所述多个计算设备的电路被配置为实现虚拟文件系统;存储到所述虚拟文件系统的数据被分布在所述多个电子寻址的非易失性存储设备上;存储到所述虚拟文件系统的任何特定量的数据与所属节点和存储节点相关联;所述所属节点是所述多个计算设备中的第一计算设备,并且维护所述特定量的数据的元数据;并且所述存储节点是所述多个计算设备中的第二计算设备,所述第二计算设备包括其上物理地存在有所述量的数据的所述电子寻址的非易失性存储设备之一。7.如权利要求6所述的系统,其中,所述虚拟文件系统包括虚拟文件系统前端的一个或多个实例、虚拟文件系统后端的一个或多个实例,被配置为控制对所述多个电子寻址的非易失性存储设备中的第一非易失性存储设备的访问的虚拟文件系统内存控制器的第一实例,以及被配置为控制对所述多个电子寻址的非易失性存储设备中的第二非易失性存储设备的访问的虚拟文件系统内存控制器的第二实例。8.如权利要求7所述的系统,其中,所述虚拟文件系统前端的每个实例被配置为:从存在于所述多个计算设备上的文件系统驱动器接收文件系统调用;确定所述虚拟文件系统后端的所述一个或多个实例中的哪一个负责为所述文件系统调用提供服务;并且将一个或多个文件系统调用发送到所述多个虚拟文件系统后端的所确定的一个或多个实例。9.如权利要求7所述的系统,其中,所述虚拟文件系统后端的每个实例被配置为:从所述虚拟文件系统前端的所述一个或多个实例接收文件系统调用;并且分配所述多个电子寻址的非易失性存储设备的内存以实现在所述多个电子寻址的非易失性存储设备上的所述数据的所述分布。10.如权利要求7所述的系统,其中,所述虚拟文件系统后端的每个实例被配置为:从所述虚拟文件系统前端的所述一个或多个实例接收文件系统调用;并且更新受所述文件系统调用的服务影响的数据的文件系统元数据。11.如权利要求7所述的系统,其中:所述虚拟文件系统后端的每个实例被配置为生成存储到所述虚拟文件系统的数据的恢复信息;并且所述恢复信息能够被用于在发生损坏的情况下恢复所述数据。12.如权利要求7所述的系统,其中:基于对所述多个计算设备的资源的需求动态地调整所述虚拟文件系统前端的所述一个或多个实例中的实例的数量;并且基于对所述多个计算设备的资源的需求动态地调整所述虚拟文件系统后端的所述一个或多个实例中的实例的数量。13.如权利要求7所述的系统,其中:所述虚拟文件系统前端...

【专利技术属性】
技术研发人员:马奥尔·本·达彦奥姆里·帕尔蒙利兰·兹维贝
申请(专利权)人:维卡艾欧有限公司
类型:发明
国别省市:以色列,IL

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1