用于构建可扩展存储设备的方法、装置和扩展的存储设备与流程

文档序号:11828624阅读:来源:国知局

技术特征:

1.一种构建可扩展的存储设备的方法,包括:

通过组合多个模块化的构件块来构建所述可扩展的存储设备;其中每个模块化的构件块包括磁盘封装;并且所述多个模块化的构件块中的至少一个模块化的构件块包括存储处理器,所述存储处理器包括输入输出处理单元;

利用所述至少一个模块化的构件块中的所述输入输出处理单元形成集群;以及

利用所述集群来处理来自主机的输入或输出I/O请求以及元数据服务。

2.根据权利要求1所述的方法,其中所述多个模块化的构件块中仅第一模块化的构件块包括所述存储处理器;并且

其中通过组合多个模块化的构件块来构建所述可扩展的存储设备包括:

通过将所述第一模块化的构件块与所述多个模块化的构件块中的每一个其它模块化的构件块连接来构建所述可扩展的存储设备。

3.根据权利要求1所述的方法,其中所述多个模块化的构件块中每一个模块化的构件块均包括所述存储处理器;并且

其中通过组合多个模块化的构件块来构建所述可扩展的存储设备包括:

通过将所述多个模块化的构件块中的每一个模块化的构件块互相连接来构建所述可扩展的存储设备。

4.根据权利要求1所述的方法,其中所述多个模块化的构件块包括第一组模块化的构件块和第二组模块化的构建块,并且仅所述第一组模块化的构件块包括所述存储处理器,并且

其中通过组合多个模块化的构件块来构建所述可扩展的存储设备包括:

通过将所述第一组模块化的构件块中的每一个模块化的构件块 互相连接,并且将所述第一组模块化的构件块中的每一个模块化的构件块与所述第二组模块化的构件块中的一个或者多个模块化的构件块连接,来构建所述可扩展的存储设备。

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.一种构建可扩展的存储设备的装置,包括:

组合单元,被配置为通过组合多个模块化的构件块来构建所述可扩展的存储设备;其中每个模块化的构件块包括磁盘封装;并且所述多个模块化的构件块中的至少一个模块化的构件块包括存储处理器,所述存储处理器包括输入输出处理单元;

集群形成单元,被配置为利用所述至少一个模块化的构件块中的所述输入输出处理单元形成集群;以及

集群处理单元,被配置为利用所述集群来处理来自主机的输入或输出I/O请求以及元数据服务。

13.根据权利要求12所述的装置,其中所述多个模块化的构件块中仅第一模块化的构件块包括所述存储处理器;并且

其中所述组合单元被配置为通过将所述第一模块化的构件块与所述多个模块化的构件块中的每一个其它模块化的构件块连接来构建所述可扩展的存储设备。

14.根据权利要求12所述的装置,其中所述多个模块化的构件块中每一个模块化的构件块均包括所述存储处理器;并且

其中所述组合单元被配置为通过将所述多个模块化的构件块中的每一个模块化的构件块互相连接来构建所述可扩展的存储设备。

15.根据权利要求12所述的装置,其中所述多个模块化的构件块包括第一组模块化的构件块和第二组模块化的构件块,并且仅所 述第一组模块化的构件块包括所述存储处理器;并且

其中所述组合单元被配置为通过将所述第一组模块化的构件块中的每一个模块化的构件块互相连接,并且将所述第一组模块化的构件块中的每一个模块化的构件块与所述第二组模块化的构件块中的一个或者多个模块化的构件块连接,来构建所述可扩展的存储设备。

16.根据权利要求12所述的装置,其中所述集群形成单元进一步被配置为:

选取所述集群中的一个输入输出处理单元作为所述集群的头;

其中所述集群的头服务于所述元数据更新请求;并且所述集群中的每个输入输出处理单元能够提供所述元数据服务和数据服务。

17.根据权利要求16所述的装置,其中所述集群形成单元进一步被配置为在所述集群的头失效时,选取所述集群中的另一个输入输出处理单元作为所述集群的新的头。

18.根据权利要求12-17中任一权利要求所述的装置,其中所述集群处理单元进一步被配置为:

在一个输入输出处理单元启动时,通过所述元数据服务向所述集群中的其它输入输出处理单元通知所述一个输入输出处理单元上所附接的本地磁盘。

19.根据权利要求12-17中任一权利要求所述的装置,其中所述集群处理单元进一步被配置为:

按照一致的哈希算法确定数据的存储位置,使得数据能够跨所有的所述存储处理器均匀地分布。

20.根据权利要求19所述的装置,其中按照一致的哈希算法确定数据的存储位置包括:

基于所述输入或输出I/O请求中的卷标识符和偏移值来计算哈希值;

确定与所述哈希值对应的硬盘驱动器的列表;

查询元数据服务,以确定直接附接到所述列表中的硬盘驱动器 的输入输出处理单元,并且获得所确定的所述输入输出处理单元中每个输入输出处理单元的输入输出负载状况;以及

基于所述查询的结果,从所确定的直接附接到所述列表中的硬盘驱动器的输入输出处理单元中选择用于处理所述I/O请求的输入输出处理单元。

21.根据权利要求20所述的装置,其中所述列表中包括的硬盘驱动器的数量大于一个,并且所述数量能够被终端用户定义。

22.根据权利要求20所述的装置,其中所述集群处理单元进一步被配置为:

向所选择的用于处理所述I/O请求的输入输出处理单元发送所述I/O请求。

23.一种用于构建可扩展的存储设备的装置,包括:

至少一个处理器;以及

至少一个包括计算机程序代码的存储器,

其中所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起,促使所述装置执行根据权利要求1-11中的任一权利要求所述的方法。

24.一种计算机程序产品,所述计算机程序产品被体现在计算机可读的介质中并且包括计算机可读程序指令,当被加载到装置中时,所述计算机可读程序指令执行根据权利要求1-11中任一权利要求所述的方法。

25.一种经扩展得到的存储设备,所述设备包括:

根据权利要求12-22中任一权利要求所述的装置,以及

多个模块化的构件块;

其中所述多个模块化的构件块中的每个模块化的构件块包括一个或者多个磁盘封装;并且

其中所述多个模块化的构件块中的至少一个模块化的构件块包括存储处理器,所述存储处理器包括输入输出处理单元。

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