电子存储系统技术方案

技术编号:18609936 阅读:20 留言:0更新日期:2018-08-04 22:55
提供了用于电子存储的方法和系统。存储系统包括多个存储系统前端、多个存储系统后端和多个固态驱动器(SSD)代理。每个存储系统前端存在于多个服务器中的一个服务器上。多个服务器中的每个服务器包括多个存储系统后端中的一个或多个存储系统后端。每个存储系统前端能够接收I/O请求并且将与I/O请求相关联的信息中继至相关存储系统后端。相关存储系统后端将与I/O请求相关联的元数据经由SSD代理传送至SSD。

【技术实现步骤摘要】
【国外来华专利技术】电子存储系统相关申请的交叉引证本专利申请引证并要求于2015年10月5日提交的美国临时申请号62/237,140的优先权和权益。以上申请的全部内容通过引证结合于此。
技术介绍
如参考附图在本申请的其余部分中阐述的,通过与具有本专利技术的一些方面的这种系统的比较,对文件系统的常规且传统的解决方案的限制和缺点将对本领域中的技术人员变得显而易见。
技术实现思路
如在权利要求中更加完整阐述的,基本上如附图中的至少一个所示和/或结合附图中的至少一个所描述的,为虚拟化的分布式文件系统提供了系统和方法。从以下说明和附图将更充分地理解本专利技术的这些以及其他优点、各个方面和新颖特征,并且理解本专利技术示出的实施方式的细节。附图说明图1示出了存储系统的示例性实施方式的组件。图2示出了通过存储系统的示例性信息流。具体实施方式本文中描述的是存储系统的示例性实施方式,该存储系统包括经由软件和/或固件配置的一个或多个计算装置(例如,服务器群集),以便将一个或多个分布式文件系统提供至客户端应用程序(还可以保存在计算装置上和/或经由一个或多个网络链路通信地耦接至一个或多个计算装置的其他计算装置上)。存储系统的一个或多个文件系统可以跨本地连接的存储器(例如,基于FLASH或其他方式的固态驱动器)和对象存储器(其可以是基于本地和/或基于云的)来分布。存储系统使客户端应用程序能够经由诸如NFS或SMB的标准化协议和/或安装在一个或多个计算装置上的文件系统驱动程序来访问文件系统。存储系统提供文件系统的高可用性以及文件系统的高可靠性,同时提供灵活性以便防止发生故障时的数据丢失。存储系统提供了有效的并行分布式实现方式,固态驱动器(SSD)和对象存储器之间的分层存储器,以及基于擦除编码的高效保护。在示例性配置中,存储系统的进程在一个或多个计算装置的每一个上的单个处理核心上运行。例如,对于100个服务器的群集,存储系统的进程可以在构成该群集的100个服务器的每一个上的一个处理核心上运行。然而,运行存储系统进程的每个计算装置的核心的数量可以是灵活的,并且可以基于所需要的性能的量来进行配置。例如,当需要更高的性能时,则存储系统进程可以在每个计算装置的两个核心(而不是一个核心)上运行。存储系统支持POSIX、NFS和/或其他标准化协议。存储系统的性能随着分配给它的核心和SSD的数量而线性成比例。本地SSD与对象存储器之间的基于策略的数据分层可以用于存储系统的一个或多个文件系统。分层策略可以是用户可配置的并且基于各个文件属性和I/O模式。存储系统为其每一个文件系统提供高可靠的、省空间的擦除编码保护。存储系统及其文件系统使得它们为用户配置的故障数量是灵活的。存储系统操作以寻求计算装置上的工作负荷的最优分布(例如,涉及:使延迟最小化、使生产量最大化、使平均故障间隔时间最大化和/或一些其他性能度量)。图1示出了存储系统100的示例性实施方式的组件。客户端应用程序101可以生成文件系统请求。如果它是通过TCP/IP网络的NFS请求,则将由生成I/O请求的存储系统NFS服务器103接收。如果它是本地的(例如,POSIX)文件系统调用,则其通过生成I/O请求的文件系统驱动程序105拦截。来自NFS服务器103或文件系统驱动器105的I/O请求随后由存储系统前端107接收,该存储系统前端将该数据中继至多个存储系统后端109中的相关存储系统后端111。后端111将相关信息存储在对象存储器115上,并与SSD代理119进行通信。存储系统网络文件系统(NFS)服务器103可以为存储系统进行特别配置。任何一个计算装置可以被配置为作为NFS服务器103运行,以便提供对文件系统的文件级别的访问。可以配置存储系统100,使得在应用程序于与NFS服务器103相同的计算装置上运行的情况下通过该应用程序的NFS请求将由NFS服务器103处理以便保证NFS通信总是局部在该服务器上运行,这改善性能和可靠性。文件系统驱动程序105可以是拦截POSIX文件系统调用并且将它们中继至存储系统前端107的标准的LINUX文件系统驱动程序。文件系统驱动程序105可以低于操作系统高速缓存。存储系统前端107可以是服务于来自相同服务器上的本地应用程序的I/O的非常薄的无状态层。存储系统前端107可以可操作为接受任何I/O请求,确定哪个后端组件111拥有数据113的相关片段,并且将I/O请求中继至多个后端109中的那个后端111。前端107可以知道一个或多个计算装置的状态,包括任何故障事件或者群集展开进程。多个存储系统后端109可以负责所有的I/O操作、灵活性、冗余、文件系统操作等。多个存储系统后端109中的每个后端可以仅负责一个或多个文件系统的小部分。文件系统中的每个实体113可以由单个后端组件111拥有。SSD代理119存在于包含由存储系统100使用的SSD121的每个服务器上。SSD代理119提供能够访问一个或多个计算装置上的所有后端节点109的SSD121。对象存储器网关使多个存储系统后端109能够将信息推送到对象存储器115或者从对象存储器115获得信息。存储系统100可以操作为在没有任何用户配置的情况下将数据的处理和存储平均分布在系统中的所有硬件资源上(或者根据每个用户配置所期望的进行分布)。文件系统中的每个实体113可以分配给单个后端111,该后端可以保证所有后端109上的最佳的(如通过性能度量测量的)负载平衡。基于专用于存储系统100的资源(例如,处理核心的数量)将后端组件111分配给每个文件系统实体113保证性能是可升级的,并且在一个后端处理多于其他的负载的情况下没有热点发生。存储系统100可以操作为在所有情况下以及在系统中的任何类型的配置改变的情况下(包括由于硬件(例如,服务器或SSD)出故障导致的改变)都保证最佳的负载平衡。因此,从存储系统得出的高性能参数是完全可升级的。图2示出了通过存储系统100的信息的示例性流程200。在201中,存储系统前端接受来自NFS服务器或文件系统驱动程序的I/O请求。在203中,存储系统前端将I/O请求的数据中继至相关存储系统后端组件。在205中,后端组件将相关信息存储在对象存储器上。在205中,存储系统后端组件与SSD代理进行通信。可以保持最佳的负载平衡用于系统扩展和系统简化。在209中,当添加SSD时,可以重新分布已经写入系统的数据,以便均匀分散在扩展系统中的所有SSD和磁盘驱动器中的数据。在这种重新分布进程期间和之后,可靠性、可用性和性能可能不受影响。在存储系统100中,数据分布相当于系统的存储资源上的文件系统的完全、最佳的虚拟化。在该虚拟化下,在系统中执行的I/O活动按时充分利用任一点处的所有可利用的物理资源。在任何特定文件系统中引导的写入和读取请求管理整个CPU电源、内部带宽和磁盘容量,几乎消除瓶颈。存储系统100中的灵活性可基于保证多个故障的灵活性的分布的节省空间的擦除编码。灵活性可以是由用户可配置的,该用户可以规定条带(stripe)大小和保护级别两者。存储系统100的保护配置可以是纯逻辑的并且不包括任何物理组件。这与其中一组SSD全部旨在彼此保护的方法相反。例如,认为常规的RAID5情形由100个SSD组成。这100个SSD可划分为20组,每组五个本文档来自技高网...

【技术保护点】
1.一种用于操作存储系统的方法,包括:通过多个服务器中的第一服务器上的存储系统前端接收I/O请求;根据所述I/O请求确定多个存储系统后端中的相关存储系统后端,所述多个服务器中的每个服务器包括所述多个存储系统后端中的一个或多个存储系统后端;将与所述I/O请求相关联的信息中继至所述相关存储系统后端;并且经由多个固态驱动器(SSD)代理中的一个SSD代理将与所述I/O请求相关联的元数据在所述相关存储系统后端与多个SSD中的第一SSD之间传送。

【技术特征摘要】
【国外来华专利技术】2015.10.05 US 62/237,1401.一种用于操作存储系统的方法,包括:通过多个服务器中的第一服务器上的存储系统前端接收I/O请求;根据所述I/O请求确定多个存储系统后端中的相关存储系统后端,所述多个服务器中的每个服务器包括所述多个存储系统后端中的一个或多个存储系统后端;将与所述I/O请求相关联的信息中继至所述相关存储系统后端;并且经由多个固态驱动器(SSD)代理中的一个SSD代理将与所述I/O请求相关联的元数据在所述相关存储系统后端与多个SSD中的第一SSD之间传送。2.根据权利要求1所述的方法,包括:将与所述I/O请求相关联的所述信息写入至所述第一SSD,其中,所述I/O请求是写入操作;并且将与所述I/O请求相关联的所述信息从所述第一SSD移动至对象存储器作为后台异步进程。3.根据权利要求2所述的方法,其中,所述对象存储器是基于云的。4.根据权利要求1所述的方法,包括:将第二SSD添加至所述存储系统中的所述多个SSD;并且重新分布已经写入至所述多个SSD的数据,其中,所述重新分布是所述多个SSD上的所述存储系统的虚拟化。5.根据权利要求1所述的方法,包括:检测所述第一SSD的故障;通过分布在没有故障的所述多个SSD中的所有SSD上的数据来重建所述第一SSD的数据;并且使分布在没有故障的所述多个SSD中的所有SSD上的所述数据负载平衡。6.根据权利要求5所述的方法,其中,在检测到所述故障达指定的时限之后开始重建。7.根据权利要求5所述的方法,包括:检测所述第一SSD的所述故障的解决方案;并且根据所述解决方案中止所述重建。8.一种在其上存储有用于联网的至少一个代码部分的计算机程序的机器可读存储器,所述至少一个代码部分通过机器可执行为使得所述机器执行以下步骤:通过多个服务器中的第一服务器上的存储系统前端接收I/O请求;根据所述I/O请求确定多个存储系统后端中的相关存储系统后端,所述多个服务器中的每个服务器包括所述多个存储系统后端中的一个或多个存储系统后端;将与所述I/O请求相关联的信息中继至所述相关存储系统后端;并且经由多个固态驱动器(SSD)代理中的一个SSD代理将与所述I/O请求相关联的元数据在所述相关存储系统后端与多个SSD中的第一SSD)之间传送。9.根据权利要求8所述的机器可读存储器,其中,所述至少一个代码部分使得所述机器执行以下步骤:将与所述I/O请求相关联的所述信息写入至所述第一SSD,其中,所述I/O请求是写入操作;并且将与所述I/O请求相关联的所述信息从所述第一SSD移动至对象存储器作为后台异步进程。...

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

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

1