负载平衡分配式存储系统中的元数据控制技术方案

技术编号:24133656 阅读:18 留言:0更新日期:2020-05-13 07:17
多个计算装置经由网络可通信地彼此耦接,并且多个计算装置中的每一个可操作地耦接到多个存储装置中的一个或多个。多个故障弹性地址空间跨过多个存储装置被分配,使得多个故障弹性地址空间中的每一个跨越多个存储装置。多个计算装置保持将每个故障弹性地址空间映射到多个计算装置中的一个的元数据。元数据经分组为桶。每个桶存储在一组计算装置中。然而,在任何给定时间,只有该组的领导者能够直接访问特定桶。

Metadata control in load balanced distributed storage system

【技术实现步骤摘要】
【国外来华专利技术】负载平衡分配式存储系统中的元数据控制
技术介绍
通过将这些方法与参考附图在本公开的其余部分中阐述的本方法和系统的一些方面进行比较,传统的数据存储的方法的限制和缺点对于本领域技术人员将变得显而易见。通过引用合并在此通过引用将标题为“分配式擦除编码虚拟文件系统”的美国专利申请No.15/243,519并入全文。
技术实现思路
本公开提供了用于负载平衡分配式存储系统中的元数据控制的方法和系统,基本上如结合至少一个附图所示和/或所述的,如权利要求中更完整地阐述的。附图说明图1示出了根据本公开的各方面的虚拟文件系统的各种示例配置。图2示出了根据本公开的各方面的虚拟文件系统节点的示例配置。图3示出了根据本公开的示例实现方式的虚拟文件系统的另一表示。图4示出了根据本公开的示例实现方式的在添加VFS之后在负载平衡分配式存储系统中的元数据桶控制的示例。图5示出了根据本公开的示例实现方式的在负载平衡分配式存储系统中划分元数据桶的示例。图6示出了根据本公开的示例实现方式的VFS故障之后负载平衡分配式存储系统中的元数据控制的示例。图7是示出用于负载平衡分配式存储系统中的元数据控制的示例方法的流程图。具体实施方式一般来说,文件系统使用对元数据结构(例如目录、文件、属性、文件内容)的集中控制。如果可从单个服务器访问本地文件系统并且该服务器发生故障,由于没有进一步的保护,文件系统的数据则可能会丢失。为了增加保护,一些文件系统(例如,由NetApp提供的)已经以主动-被动方式使用一对或多对控制器来在两个或多个计算机上复制元数据。其他解决方案以集群方式使用了多个元数据服务器(例如,由IBMGPFS、DellEMCIsilon、Lustre等提供)。然而,由于传统集群系统中的元数据服务器的数量仅限于较小的数量,所以这样的系统不能扩展。本公开中的系统适用于小型集群,并且还可以扩展到许多、成千上万个节点。讨论了关于非易失性存储器(NVM),例如以固态驱动器(SSD)形式出现的闪存的示例实施例。NVM可以经划分为4kB“区块”和128MB“组块”。“盘区”可以存储在易失性存储器中,例如用于快速访问的RAM,也可以由NVM存储器备份。盘区可以存储区块的指针,例如,指向存储在区块中的1MB数据的256个指针。在其他实施例中,也可以使用更大或更小的存储器进行划分。本公开中的元数据功能可有效地分配在许多服务器上。例如,在大负载以文件系统命名空间的特定部分为目标的“热点”的情况下,该负载可以分配在多个节点上。图1示出了根据本公开的各方面的虚拟文件系统(VFS)的各种示例配置。图1中示出了局域网(LAN)102,其包括一个或多个VFS节点120(由从1到J的整数索引,j≥1),并且可选地包括(由虚线指示):一个或多个专用存储节点106(由从1到M的整数索引,M≥1)、一个或多个计算节点104(由从1到N的整数索引,N≥1),和/或将LAN102连接到远程网络118的边缘路由器。远程网络118可选地包括一个或多个存储服务114(由从1到K的整数索引,K≥1),和/或一个或多个专用存储节点115(由从1到L的整数索引,L≥1)。每个VFS节点120j(j是整数,其中1≤j≤J)是网络计算装置(例如,服务器、个人计算机等),其包括用于运行VFS进程以及可选的客户端进程(直接在装置104n的操作系统上和/或在装置104n中运行的一个或多个虚拟机中)的电路。计算节点104是可以在没有VFS后端的情况下运行VFS前端的网络装置。计算节点104可以通过将SR-IOV带入NIC并消耗完整的处理器核心来运行VFS前端。或者,计算节点104可以通过将网络路由通过Linux内核网络堆栈并使用内核进程调度来运行VFS前端,从而不需要完整的核心。如果用户不想为VFS分配完整的核心,或者如果网络硬件与VFS要求不兼容,则这是很有用的。图2示出了根据本公开的各方面的VFS节点的示例配置。VFS节点包括VFS前端202和驱动器208、VFS存储器控制器204、VFS后端206和VFSSSD代理214。如在本公开中所使用的,“VFS进程”是实现VFS前端202、VFS存储器控制器204、VFS后端206和VFSSSD代理214中的一个或多个的进程。因此,在示例实现方式中,VFS节点的资源(例如,处理和存储器资源)可以在客户端进程和VFS进程之间共享。VFS的进程可以经配置成需要相对少量的资源以最小化对客户端应用的性能的影响。VFS前端202、VFS存储器控制器204和/或VFS后端206和/或VFSSSD代理214可以在主机201的处理器上或网络适配器218的处理器上运行。对于多核处理器,不同的VFS进程可以在不同的核心上运行,并且可以运行不同的服务子集。从客户端进程212的角度来看,与虚拟文件系统的接口独立于VFS进程在其上运行的特定物理机器。客户端进程仅要求驱动器208和前端202存在以便为它们提供服务。VFS节点可以实现为直接在操作系统上运行的单个租户服务器(例如,裸机),或者实现为裸机服务器内的虚拟机(VM)和/或容器(例如,Linux容器(LXC))。VFS可以作为VM环境在LXC容器内运行。因此,在VM内部,可能运行的唯一事情是包括VFS的LXC容器。在传统的裸机环境中,存在用户空间应用程序,并且VFS在LXC容器中运行。如果服务器正在运行其他容器化应用程序,则VFS可以在LXC容器内运行,该LXC容器在容器部署环境的管理范围之外(例如,对接器)。操作系统和/或虚拟机监控器(VMM)(例如,管理程序)可以为VFS节点提供服务。VMM可以用于在主机201上创建和运行VFS节点。多个核心可以驻留在运行VFS的单个LXC容器内,并且VFS可以使用单个Linux内核在单个主机201上运行。因此,单个主机201可以包括多个VFS前端202、多个VFS存储器控制器204、多个VFS后端206和/或一个或多个VFS驱动器208。VFS驱动器208可以在LXC容器的范围之外的内核空间中运行。单根输入/输出虚拟化(SR-IOV)PCIe虚拟功能可以用于在用户空间222中运行网络堆栈210。SR-IOV允许隔离PCIExpress,使得可以在虚拟环境上共享单个物理PCIExpress,并且可以向单个物理服务器机器上的不同虚拟部件提供不同的虚拟功能。I/O栈210使VFS节点能够绕过标准TCP/IP栈220并直接与网络适配器218进行通信。可以通过无锁队列将用于uniX(POSIX)VFS功能的可移植操作系统接口提供给VFS驱动器208。SR-IOV或全PCIe物理功能地址也可以用于在用户空间222中运行非易失性存储器快速(NVMe)驱动器214,从而完全绕过LinuxIO栈。NVMe可以用于访问经由PCI快速(PCIe)总线附接的非易失性存储介质216。非易失性存储介质220可以是例如固态驱动器(SSD)形式的闪存或SSD或存储器模块(DIMM)形式的存储型存储器(SCM)。其他本文档来自技高网...

【技术保护点】
1.一种系统,包括:/n多个存储装置,其中,多个故障弹性地址空间跨过所述多个存储装置被分配,使得所述多个故障弹性地址空间中的每一个跨越所述多个存储装置中的一个以上存储装置;以及/n多个计算装置,经由网络彼此通信地耦接并且经由所述网络通信地耦接到一个或多个存储装置,其中,所述多个计算装置能够操作为保持将每个故障弹性地址空间映射到所述多个计算装置中的一个上的元数据。/n

【技术特征摘要】
【国外来华专利技术】20170807 US 15/670,1891.一种系统,包括:
多个存储装置,其中,多个故障弹性地址空间跨过所述多个存储装置被分配,使得所述多个故障弹性地址空间中的每一个跨越所述多个存储装置中的一个以上存储装置;以及
多个计算装置,经由网络彼此通信地耦接并且经由所述网络通信地耦接到一个或多个存储装置,其中,所述多个计算装置能够操作为保持将每个故障弹性地址空间映射到所述多个计算装置中的一个上的元数据。


2.根据权利要求1所述的系统,其中,所述多个计算装置包括多个虚拟文件系统(VFS)节点。


3.根据权利要求2所述的系统,其中,所述元数据经划分为多个元数据碎片,并且其中,所述多个元数据碎片中的每个元数据碎片被指定给所述多个VFS节点中的唯一的VFS节点组。


4.根据权利要求3所述的系统,其中,每个VFS节点组包括所述多个VFS节点中的五个VFS节点。


5.根据权利要求3所述的系统,其中,组中的所有VFS节点均已知并同意领导者。


6.根据权利要求3所述的系统,其中,所述多个故障弹性地址空间中的特定一个仅能够由已指定了与特定故障弹性地址空间相关联的元数据碎片的所述VFS节点组的领导者来访问。


7.根据权利要求1所述的系统,其中,所述故障弹性地址空间中的每一个在任何给定时间仅由所述多个计算装置中的一个拥有。


8.根据权利要求1所述的系统,其中,所述计算装置中的每一个拥有所述多个故障弹性地址空间。


9.根据权利要求1所述的系统,其中,在所述多个计算装置中的一个发生故障的情况下,所述多个计算装置能够操作为重新分配在故障的计算装置上的元数据。

<...

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

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

1