的完全确定可靠的映射关系。 分配算法是伪随机算法,并且输入的内容和输出的
储存位置之间是没有显式相关的。我们可以说 算法在集群设备中生成了“伪集群”
的数据副本。集群的设备对一个数据项目共享数据副本,对其他数据项目又是独立的。
算法通过每个设备的权重来计算数据对象的分布。对象分布是由
和 4 决定的。 描述了可用存储资源和层级结构比如
有多少个机架,每个机架上有多少个服务器,每个服务器上有多少个磁盘。
4 由ã 组成。 决定了每个数据对象有多少个副本,
这些副本存储的限制条件比如 ) 个副本放在不同的机架中。
算出 > 到一组 集合 是对象存储设备:
%!$!(I6>
利用多参数 函数, 函数中的参数包括 >,使得从 > 到 集合
是确定性的和独立的。 只使用了 、 、>。
是伪随机算法,相似输入的结果之间没有相关性。
由 + 和 , 组成,它们都有 和权重值。, 可以包含任
意数量 。 可以都是的 + 或者都是 ,。管理员控制存储设备的权重。
权重和存储设备的容量有关。, 的权重被定义为它所包含所有 的权重之和。
基于 C 种不同的 ,4,每种有不同的选择算法。
3.1 分层集群映射(cluster map)
集群映射由设备和桶(,)组成,设备和桶都有数值的描述和权重值。桶可以包
含任意多的设备或者其他的桶,使他们形成内部节点的存储层次结构!设备总是在叶节点。
存储设备的权重由管理员设置以控制相设备负责存储的相对数据量。尽管大型系统的设备
含不同的容量大小和性能特点!随机数据分布算法可以根据设备的利用率和负载来分布数据。
这样设备的平均负载与存储的数据量成正比。这导致一维位置指标、权重、应来源于
设备的能力。桶的权重是它所包含的元素的权重的总和。
桶可由任意可用存储的层次结构组成。例如!可以创建这样一个集群映射,用名为
“7F的桶代表最低层的一个主机来包含主机上的磁盘设备!然后用名为“F的桶来
包含安装在同一个机架上的主机。在一个大的系统中,代表机架的“F桶可能还会
包含在“<F桶或者“ F桶里。数据被通过一个伪随机类 函数递归地分配到层级
分明的桶元素中。传统的散列分布技术,一旦存储目标数量有变,就会导致大量的数据迁
移;而 算法是基于桶四个不同的类型!每一个都有不同的选择算法!以解决添加或删
除设备造成的数据移动和整体的计算复杂度。
3.2 副本放置(Replica Placement)
算法的设置目的是使数据能够根据设备的存储能力和宽带资源加权平均地分
布,并保持一个相对的概率平衡。副本放置在具有层次结构的存储设备中,这对数据安全
也有重要影响。通过反射系统的物理安装组织, 算法可以将系统模块化,从而定
位潜在的设备故障。这些潜在故障的资源包括物理的,比如共用电源,共用的网络。通过
向集群映射编码信息! 副本放置策略可以将数据对象独立在不同故障域!同时仍然保
持所需的分布。例如!为了定位可能存在的并发故障!应该确保设备上的数据副本放置在不
同的机架、主机、电源、控制器、或其他的物理位置。