为了存储管理而创建全局聚合命名空间的制作方法_3

文档序号:9476191阅读:来源:国知局
0034]方法200包括为多个数据存储节点之中的每一个定义一个或多个数据存储对象的动作,这些对象唯一地标识这些数据存储节点的一个或多个存储元素,每一个数据存储对象包括一个或多个相关联的属性(动作210)。例如,数据对象定义模块102可以为数据存储节点116之中的每一个定义数据存储对象103。这些数据存储对象唯一地标识这些数据存储节点的存储元素104,诸如包括硬盘驱动器的硬件元素。这些数据存储对象103也包括属性105。例如,这些属性可以指示数据储存器是本地的还是分布式的。例如,这些存储对象可以包括硬盘,并且硬盘可以是数据存储阵列的一部分。这样的数据存储阵列可以包括或是分布式数据存储系统115的一部分。
[0035]方法200进一步包括将所定义的数据存储对象和任何相关联的属性从第一数据存储节点复制到多个数据存储节点之中第二不同的数据存储节点的动作,以致所定义的数据存储对象从多个数据存储节点中的任何节点是可见的(动作220)。计算机系统101的复制模块108可以复制利用模块102所定义的数据存储对象103。复制模块将与这些数据存储对象一起复制任何相应的存储元素104和/或属性105。在一个示例中,这些数据存储对象103被从计算机系统101 (其至少在一些实施例中是分布式数据存储系统115的数据存储节点116的一部分)复制到节点117A和117B。这些复制的数据对象包括与这些数据存储对象以及位于分布式数据存储系统115内的节点有关的信息,并因此能够保证每一个数据存储对象从系统中的每一个数据存储节点是可见的。
[0036]计算机系统101的存储对象聚合模块109随后为多个数据存储节点116之中的每一个聚合所定义的数据存储对象103 (动作230)。该聚合组合分布式数据存储系统115的数据存储对象103并因此知道该系统中的每一个数据存储对象。全局命名空间生成模块110然后能够为多个数据存储节点116之中的每一个创建包括所聚合的数据存储对象112的全局聚合命名空间111 (动作240)。
[0037]全局聚合命名空间允许操作经由(vis a vie)这些数据存储对象来执行。例如,管理动作诸如状态查询或枚举所集群的/可集群的储存器的请求可以使用全局聚合命名空间来执行。全局聚合命名空间111能够提供在集群的存储环境中所集群的/可集群的存储元素的一致且聚合视图。无论是从该集群中的节点中观看还是从不是该集群的一部分的节点中观看,都将显示这个一致的视图。全局聚合命名空间进一步提供详述节点特定的存储资源的局部视图。
[0038]在一些实施例中,可以提供两种通用类型的子系统:集群的子系统和独立的子系统。在集群的环境中,提供商可以创建集群范围(cluster-wide)子系统。这个子系统将允许任何操作运行在任何集群节点上并在集群子系统中产生集群的和/或可集群的存储元素的一致的聚合视图。独立的子系统将暴露(expose)每一个特定节点的本地的不可集群的且非共享的存储资源。如果用户106被连接到集群的子系统,将呈现这些存储元素的聚合视图。这个(视图)从该集群中的任何节点或从该集群之外的管理节点中都将是一致的。为了看到本地存储元素,用户可以连接到本地子系统。
[0039]全局聚合命名空间111允许在分布式数据存储系统115的数据存储对象和/或数据存储节点116上执行管理动作。这些管理系统可以包括确定将在哪些数据存储节点116上执行管理动作。使用全局聚合命名空间111,与管理动作相对应的任何函数调用被路由到所确定的数据存储节点。因而,例如,如果用户106想要执行管理动作,全局命名空间将被用于确定适当的数据存储对象的所有权,并且函数调用将被路由至那个对象的所有者。如上所述,这些管理动作可以包括数据查询、枚举查询、存储设备操作(诸如分区)或其他动作。
[0040]在其中函数调用将被发送到指定的数据存储节点(例如节点117A)的情况中,计算机系统101可以确定这些函数调用之中的至少一个的递送已失败(不管出于什么原因)。计算机系统101然后可以将失败的函数调用重新路由到分布式数据存储系统115的节点和对象之中的至少一个其他的数据存储节点或数据存储对象。
[0041]在还一实施例中,执行管理动作可以包括使用全局聚合命名空间111来监控所聚合的数据存储对象112。可以从任何数据存储节点116或从对于数据存储节点116而言是外部的远程计算机系统中监控所聚合的数据存储对象(例如,如图5B所示)。在一个示例中,安装在节点117A上的数据存储对象(例如,硬盘)可以在它达到使用空间的阈值时启动(fire)事件。这个事件可以被路由至节点117B或计算机系统101,其中管理工具被远程连接至节点117B或计算机系统101。管理工具因而可以提供从分布式数据存储系统115中的任何节点来监控数据存储对象(即,盘)的能力。这个管理工具也可以用于诊断在监控期间检测到的任何问题。
[0042]也应该注意:尽管物理数据存储设备发生故障,全局聚合命名空间111也保持所聚合的数据存储对象112。虽然在分布式数据存储系统115中的物理机器可能发生故障和/或改变,但是全局数据存储对象103在全局聚合命名空间中保持活着(alive)。全局命名空间因而是弹性的并且对故障是健壮的,以致用户看到用于所聚合的数据存储对象112的连贯的(coherent)全局命名空间11。
[0043]为了使用全局命名空间来促进管理动作,可以提供允许用户输入基于意图的命令的用户界面(UI)。基于意图的命令可以使用UI来输入并且可以使用全局聚合命名空间来完成。用户因而能够描述其意图(即,他们想要发生什么(例如,我需要3个故障域中50TB的空间)),并且管理工具将确定应使用哪些数据存储节点116来提供50TB的空间。能够使用许多其他的基于意图的命令,并且上面的示例只是潜在的基于意图的命令的一个实例。
[0044]图3举例说明用于在分布式系统中提供一致的命名空间的方法300的流程图。现在将频繁参考图1的环境100的组件与数据以及图5A来描述方法300。
[0045]方法300包括从用户接收请求与分布式数据存储系统中的数据存储对象有关的信息的一个或多个部分的输入的动作(动作310)。例如,如图5A所示,用户106可以发送请求与分布式数据存储系统115中的数据存储对象(例如,硬盘驱动器)有关的信息的输入107。计算机系统101确定从对于数据存储系统而言是内部的计算节点接收到用户输入(动作320)。因而,如图5A所示,使用这些数据存储节点116之一的用户在那个节点上输入数据请求。存储对象聚合模块109聚合计算节点的节点特定的数据存储对象(动作330)。这些节点特定的数据存储对象对于该数据存储节点而言是本地的并且在一些情况中可能仅对于那个节点而言是已知的。存储对象聚合模块109可以进一步聚合分布式数据存储系统的全局数据存储对象103 (动作340)。然后,使用节点特定的和全局数据存储对象二者,全局命名空间生成模块110可以为分布式数据存储系统115生成全局统一命名空间111。全局统一命名空间111包括所聚合的节点特定的数据存储对象和所聚合的全局数据存储对象二者(动作350)。
[0046]在一些情况中,如上所述,计算机系统101可以接收对于分布式数据存储系统而言是内部的(例如,在图5A的节点116之一上接收的)输入107。在这样的情况中,全局统一命名空间包括所聚合的全局数据存储对象(例如,103A-C)以及对于在其上面接收到该输入的节点而言是特定的节点特定的数据存储对象。因此,这个节点特定的视图不是跨越所有的节点进行聚合的,而是范畴仅限于在那个节点(即,在其上面接收到内部输入的节点)上可用的节点特定的对象。
[0047]用于分布式数据存储系统的全局统一命名空间
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1