【技术实现步骤摘要】
本公开的实施例涉及存储领域,更具体地涉及用于构建可扩展的存储设备的方法、装置和计算机程序产品,以及根据该方法构建的存储设备。
技术介绍
传统的存储设备,例如存储阵列,通常利用扩展性相对有限的方式来构造,并且因此通常仅针对预定义的最优使用场景而设计。这样的构造方法缺少灵活性。例如,针对不同的使用场景可能需要不同的设计,从而用户可能针对不同的使用场景需要采购不同的产品。这不利于用户重用已有的存储资源,增加了用户的成本。对于制造商来说,针对具体的使用场景来构造特定的存储产品也限制了其产品的使用范围,增加了其研发成本。此外,大部分传统的存储设备基于专有硬件设计,这进一步限制了存储产品构造的灵活性。基于以上所述问题,本公开的实施例提出了用于构建可扩展的存储设备的方法和装置。
技术实现思路
为了解决以上提到的问题中的至少一些问题,本公开的实施例引入一种基于模块化的构建块来构造高度可扩展的存储系统的方法和装置,并且提出了新的IO处理流程来实现扩展的非集中化的和高性能的系统。根据本公开的第一方面,提供了一种用于构建可扩展的存储设备的方法,包括:通过组合多个模块化的构件块来构建所述可扩展
的存储设备;其中该多个模块化的构件块中的每个模块化的构件块包括磁盘封装;并且该多个模块化的构件块中的至少一个模块化的构件块包括存储处理器,所述存储处理器包括输入输出处理单元;利用所述至少一个模块化的构件块中的所述输入输出处理单元形成集群;以及利用所述集群来处理来自主机的输入或输出I/O请求以及元数据服务。在一个实施例中,所述多个模块化的构件块中仅第一模块化的构件块包括所述存储 ...
【技术保护点】
一种构建可扩展的存储设备的方法,包括:通过组合多个模块化的构件块来构建所述可扩展的存储设备;其中每个模块化的构件块包括磁盘封装;并且所述多个模块化的构件块中的至少一个模块化的构件块包括存储处理器,所述存储处理器包括输入输出处理单元;利用所述至少一个模块化的构件块中的所述输入输出处理单元形成集群;以及利用所述集群来处理来自主机的输入或输出I/O请求以及元数据服务。
【技术特征摘要】
1.一种构建可扩展的存储设备的方法,包括:通过组合多个模块化的构件块来构建所述可扩展的存储设备;其中每个模块化的构件块包括磁盘封装;并且所述多个模块化的构件块中的至少一个模块化的构件块包括存储处理器,所述存储处理器包括输入输出处理单元;利用所述至少一个模块化的构件块中的所述输入输出处理单元形成集群;以及利用所述集群来处理来自主机的输入或输出I/O请求以及元数据服务。2.根据权利要求1所述的方法,其中所述多个模块化的构件块中仅第一模块化的构件块包括所述存储处理器;并且其中通过组合多个模块化的构件块来构建所述可扩展的存储设备包括:通过将所述第一模块化的构件块与所述多个模块化的构件块中的每一个其它模块化的构件块连接来构建所述可扩展的存储设备。3.根据权利要求1所述的方法,其中所述多个模块化的构件块中每一个模块化的构件块均包括所述存储处理器;并且其中通过组合多个模块化的构件块来构建所述可扩展的存储设备包括:通过将所述多个模块化的构件块中的每一个模块化的构件块互相连接来构建所述可扩展的存储设备。4.根据权利要求1所述的方法,其中所述多个模块化的构件块包括第一组模块化的构件块和第二组模块化的构建块,并且仅所述第一组模块化的构件块包括所述存储处理器,并且其中通过组合多个模块化的构件块来构建所述可扩展的存储设备包括:通过将所述第一组模块化的构件块中的每一个模块化的构件块
\t互相连接,并且将所述第一组模块化的构件块中的每一个模块化的构件块与所述第二组模块化的构件块中的一个或者多个模块化的构件块连接,来构建所述可扩展的存储设备。5.根据权利要求1所述的方法,其中利用所述至少一个模块化的构件块中的所述输入输出处理单元形成集群进一步包括:选取所述集群中的一个输入输出处理单元作为所述集群的头;其中所述集群的头服务于所述元数据更新请求;并且所述集群中的每个输入输出处理单元能够提供所述元数据服务和数据服务。6.根据权利要求5所述的方法,利用所述至少一个模块化的构件块中的所述输入输出处理单元形成集群进一步包括:在所述集群的头失效时,选取所述集群中的另一个输入输出处理单元作为所述集群的新的头。7.根据权利要求1-6中任一权利要求所述的方法,其中利用所述集群来处理来自主机的输入或输出I/O请求以及元数据服务包括:在一个输入输出处理单元启动时,通过所述元数据服务向所述集群中的其它输入输出处理单元通知所述一个输入输出处理单元上所附接的本地磁盘。8.根据权利要求1-6中任一权利要求所述的方法,其中利用所述集群来处理来自主机的输入或输出I/O请求以及元数据服务包括:按照一致的哈希算法确定数据的存储位置,使得数据能够跨所述多个模块化的构建块均匀地分布。9.根据权利要求8所述的方法,其中按照一致的哈希算法确定数据的存储位置包括:基于所述输入或输出I/O请求中的卷标识符和偏移值来计算哈希值;确定与所述哈希值对应的硬盘驱动器的列表;查询元数据服务,以确定直接附接到所述列表中的硬盘驱动器的输入输出处理单元,并且获得所确定的所述输入输出处理单元中每个输入输出处理单元的输入输出负载状况;以及基于所述查询的结果,从所确定的直接附接到所述列表中的硬盘驱动器的输入输出处理单元中选择用于处理所述I/O请求的输入输出处理单元。10.根据权利要求9所述的方法,其中所述列表中包括的硬盘驱动器的数量大于一个,并且所述数量能够被终端用户定义。11.根据权利要求9所述的方法,其中利用所述集群来处理来自主机的输入或输出I/O请求以及元数据服务包括:向所选择的用于处理所述I/O请求的输入输出处理单元发送所述I/O请求。12.一种构建可扩展的存储设备的装置,包括:组合单元,被配置为通过组合多个模块化的构件块来构建所述可扩展的存储设备;其中每个模块化的构件块包括磁盘封装;并且所述多个模块化的构件块中的至少一个模块化的构件块包括存储处理器,所述存储处理器包括输入输出处理单元;集群形成单元...
【专利技术属性】
技术研发人员:刘辉,曹逾,高雯雯,郭小燕,狄杰明,
申请(专利权)人:伊姆西公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。