用于在解聚存储架构中分布和管理IO的方法和系统与流程

文档序号:34669028发布日期:2023-07-05 15:46阅读:17来源:国知局
用于在解聚存储架构中分布和管理IO的方法和系统与流程

本公开涉及分布式存储管理。具体地,本公开涉及用于在解聚存储架构中分布和管理包括输入/输出(io)元数据和io数据的io的方法和系统。


背景技术:

1、近年来,诸如新时代工作负载的出现、电子商务需求、不对称缩放以及闪存存储设备的采用增加的新挑战使得需要开发解聚式存储系统架构。此外,与电子商务平台相关联的工作负载变得不可预测,并且对存储和计算能力的需求随时间而变化。此外,消费者愿意使用可用的现成服务器和存储设备,这提供了增加任何容量的资源的灵活性。传统的数据存储系统不能满足上述要求。此外,四级单元(qlc)固态驱动器(ssd)作为硬盘驱动器(hdd)的更便宜的替代方案的出现已经导致闪存设备在企业存储设备中的采用增加。由于较低的耐久性,集群级别耐久性管理变得更具挑战性。上述挑战需要解聚存储系统架构,该解聚存储系统架构能够大规模管理闪存设备以满足诸如qlc ssd、五级单元(plc)ssd的低耐久性闪存,提供资源添加的灵活性以满足电子商务需求,管理异构存储和控制器以允许不对称缩放,并提供部署的灵活性以满足新时代工作负载。

2、分布式存储架构包括用于多个客户端的多个存储节点,该多个存储节点具有用于这些存储节点之间的数据同步和协调的机制。因此,分布式存储架构通过解聚提供存储节点的远程管理。此外,这种解聚使得能够进行集群级别闪存管理。然而,集群级别闪存管理的挑战在于提供高效的闪存、资源和容量感知分布和缩放方法。

3、通常,这样的架构遵循两个范例,即,无共享范例或共享一切范例。在无共享范例中,数据和相关联的元数据被静态地映射到存储节点和控制器。然而,无共享范例不是闪存友好的。此外,在共享一切范例中,数据和相关联的元数据被映射到任何存储节点或控制器。然而,共享一切范例在io访问的同步方面产生了挑战。使用各种类型的同步锁克服了同步挑战,这导致额外的网络流量或费用。

4、因此,需要克服分布式存储架构中的至少上述挑战。


技术实现思路

1、提供本
技术实现要素:
是为了以简化的格式介绍一些构思,这些构思将在本发明的具体说明书中被进一步描述。本发明内容不旨在标识本发明的关键或基本发明构思,也不旨在确定本发明的范围。

2、根据本公开的一个实施例,一种用于在解聚存储架构中分布和管理输入/输出(io)请求的方法。该方法包括接收包括要在解聚存储架构中分布的io数据的io请求。该方法还包括生成与接收到的io请求中包括的io数据相对应的io元数据。该方法进一步包括确定解聚存储架构的多个控制器中的每一个的一个或多个控制器参数。该方法还包括至少基于解聚存储架构的网络类型来确定一个或多个控制器参数中的每个控制器参数的第一优先级权重。该方法进一步包括至少基于一个或多个控制器参数和对应的第一优先级权重来确定多个控制器中的每一个的第一io管理权重。此外,该方法包括基于多个控制器的第一io管理权重将io元数据和io数据中的每一个静态地映射到来自多个控制器的至少一个控制器。

3、在实施例中,一个或多个控制器参数与控制器的配置参数相对应。配置参数包括中央处理单元(cpu)核的数量、随机存取存储器(ram)的容量、网络接口卡(nic)的容量和cpu的频率中的至少一个。

4、在实施例中,该方法包括执行对多个控制器的第一io管理权重的比较,以确定第一io管理权重的第一组相对比较值,其中,第一组相对比较值包括对多个控制器中的每一个的总体能力的指示。此外,该方法包括基于第一组相对比较值将io元数据和io数据中的每一个静态地映射到来自多个控制器的至少一个控制器。

5、在实施例中,该方法包括确定解聚存储架构的多个存储节点中的每一个的一个或多个存储节点参数。此外,该方法包括至少基于解聚存储架构的网络类型来确定一个或多个存储节点参数中的每个存储节点的第二优先级权重。此外,该方法包括至少基于一个或多个存储节点参数和对应的第二优先级权重来确定多个存储节点中的每一个的第二io管理权重。此外,该方法包括基于多个存储节点的第二io管理权重将io元数据静态地映射到来自多个存储节点的至少一个存储节点。

6、在实施例中,该方法包括执行多个存储节点的第二io管理权重的比较,以确定第二io管理权重的第二组相对比较值。第二组相对比较值包括对多个存储节点中的每一个的总体能力的指示。此外,该方法包括基于第二组相对比较值将io元数据静态地映射到来自多个存储节点的至少一个存储节点。

7、在实施例中,该方法还包括至少基于io元数据的大小来确定针对所生成的io元数据的高速缓存要求。该方法还包括至少基于一个或多个控制器参数确定多个控制器的高速缓存能力。此外,该方法包括基于所确定的针对所生成的io元数据的高速缓存要求与多个控制器的高速缓存能力的比较来确定多个控制器中的每一个的高速缓存充分性指示。此外,该方法包括基于所确定的至少一个控制器的高速缓存充分性指示来调整io元数据和io数据中的每一个到来自多个控制器的至少一个控制器的映射。此外,该方法包括基于所确定的至少一个控制器的高速缓存充分性指示来调整io元数据到来自多个存储节点的至少一个存储节点的映射。高速缓存充分性指示可以指示控制器是否能够执行高速缓存。具体地,高速缓存充分性指示可以覆盖高速缓存充分性场景或高速缓存不足场景中的任一个。

8、在实施例中,一个或多个存储节点参数对应于存储节点的配置参数,配置参数包括存储节点的空间可用性、随机存取存储器(ram)的容量、网络接口卡(nic)的容量和元空间可用性中的至少一个。

9、在实施例中,该方法包括至少基于第二组相对比较值和一个或多个运行时参数来将io数据动态地存储在来自多个存储节点的一个或多个存储节点处,其中,,一个或多个运行时参数指示鉴于io数据的存储节点的实时存储能力和闪存耐久性。

10、在实施例中,确定多个控制器的数量的改变。该方法包括基于多个控制器的数量的改变来确定第一组相对比较值的改变。此外,该方法包括基于第一组相对比较值的改变来将io元数据和io数据中的每一个静态地重新映射到来自多个控制器的至少一个控制器。

11、在实施例中,对于将io元数据和io数据中的每一个重新映射到来自多个控制器的至少一个控制器,该方法包括识别需要被重新映射的io数据和io元数据。该方法还包括基于所识别的io数据和io元数据生成第一临时集群映射。第一临时集群映射指示在多个控制器的数量改变之后io数据和io元数据与多个控制器的映射。该方法还包括发送所生成的第一临时集群映射。此外,该方法包括基于所生成的第一临时集群映射来静态地重新映射io数据和io元数据。静态地重新映射io数据和io元数据包括io数据和io元数据的所有权在多个控制器之间的转移。

12、在实施例中,该方法包括确定多个存储节点的数量的改变。该方法还包括基于多个存储节点的数量的改变来确定第二组相对比较值的改变。该方法进一步包括基于第二组相对比较值的改变使用多个控制器将io元数据从至少一个存储节点迁移到新添加的存储节点。

13、在实施例中,为了在来自多个控制器的至少一个存储节点处迁移io元数据,该方法包括识别需要被迁移的io元数据。该方法还包括基于所识别的io元数据生成第二临时集群映射。第二临时集群映射指示在多个存储节点的数量改变之后io元数据与多个存储节点的映射。该方法还包括发送所生成的第二临时集群映射。此外,该方法包括基于所生成的第二集群映射来迁移io元数据。

14、根据本公开的另一实施例,一种用于在解聚存储架构中分布和管理输入/输出(io)请求的系统。该系统包括多个客户端设备,被配置为生成包括要在解聚存储架构中分布的io数据的io请求。该系统还包括与多个客户端设备可通信地耦接的解聚存储架构的多个控制器。多个控制器被配置为从一个或多个客户端设备接收io请求。多个控制器还被配置为生成与接收到的io请求中包括的io数据相对应的io元数据。该系统包括与多个客户端设备和多个控制器可通信地耦接的解聚存储架构的多个存储节点。此外,该系统包括与多个客户端设备、多个控制器和多个存储节点可通信地耦接的一个或多个集群管理模块。一个或多个集群管理模块被配置为确定解聚存储架构的多个控制器中的每一个的一个或多个控制器参数。一个或多个集群管理模块还被配置为至少基于解聚存储架构的网络类型来确定一个或多个控制器参数中的每个控制器参数的第一优先级权重。一个或多个集群管理模块还被配置为至少基于一个或多个控制器参数和对应的第一优先级权重来针对多个控制器中的每一个确定第一io管理权重。一个或多个集群管理模块还被配置为基于多个控制器的第一io管理权重来将io元数据和io数据中的每一个静态地映射到来自多个控制器的至少一个控制器。

15、为了进一步阐明本发明的优点和特征,将通过参考在附图中示出的本发明的具体实施例来呈现本发明的更具体的描述。应当理解,这些附图仅描绘了本发明的典型实施例,因此不应被认为是限制其范围。将通过附图以附加的特征和细节来描述和解释本发明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1