规划阵列配置

规划网络时,必须考虑所使用的 RAID 配置的类型。 系统支持非分布式阵列或分布式阵列配置。

阵列

一个非分布式阵列可包含 2-16 个驱动器;若干阵列可以为池形成容量。 为实现冗余,在其他任何驱动器发生故障时,都将分配备用驱动器(“热备件”)以执行读/写操作。 在其他时间内,备用驱动器处于闲置状态,不会为系统处理请求。 当阵列中的成员驱动器发生故障时,数据只能以备用驱动器写入数据的速度恢复到备用驱动器。 因为此瓶颈原因,重建数据可能会花费几个小时,因为系统要尝试均衡主机和重建工作负载。 因此,其余成员驱动器上的负载可能会明显增加。 在整个时间内,到重建阵列的 I/O 的等待时间受到影响。 因为卷数据分割到多个 MDisk 上,所以重建驱动器期间,所有卷都将受到影响。

分布式阵列

分布式 RAID 阵列可解决这些问题,因为重建区域分布在阵列中的所有驱动器上。 重建写工作负载分布在所有驱动器中,而不仅仅是单个备用驱动器,因此阵列上的重建速度更快。 分布式阵列配置可以包含 4 - 128 个驱动器。 分布式阵列中不需要发生故障前处于空闲状态的单独驱动器。 备件容量分布在所有成员驱动器中的特定重建区域,而不是将一个或多个驱动器分配为备件。 数据可以更快地复制到重建区域,且冗余能更迅速地复原。 此外,随着重建进度的推进,因为要为每个卷扩展数据块使用所有可用的驱动器,池的性能将更加始终如一。 更换故障驱动器后,数据将从分布式备用容量中复制回驱动器。 与“热备件”驱动器不同,读/写请求会在驱动器中未在用作重建区域的其他部分进行处理。 重建区域的数目基于阵列的宽度。 重建区域的大小确定在不降低风险的前提下分布式阵列可以恢复发生故障的驱动器的次数。 例如,使用 RAID 6 驱动器的分布式阵列可以处理两个并发故障。 重新构建发生故障的驱动器后,阵列可容许另外两次驱动器故障。 如果所有重建区域都用于恢复数据,那么阵列会在下一次驱动器发生故障时降级。

分布式 RAID 的概念是指将宽度为 W 的阵列分布在一组 X 个驱动器之间。 例如,您可能具有跨一组 40 个驱动器分布的 2+P RAID-5 阵列。 阵列类型和宽度定义冗余的级别。 在先前示例中,有 33% 的容量开销用于奇偶性校验。 如果需要重建阵列步幅,那么必须读取两个组件条来为第三个组件重建数据。 集合大小定义分布式阵列所使用的驱动器数量。 显然,要求性能和可用容量根据集合中的驱动器数量进行扩展。 分布式阵列的另一个关键特性是,集合包括也分布于一组驱动器之间的备用条带,而不是具有热备件。 数据和备件照此分布,以致于如果集合中的一个驱动器发生故障,那么可通过以远远大于单个组件的速率将数据重建到备用条带上来复原冗余。

分布式阵列用于创建大型内部受管磁盘。 它们可以管理 4 到 128 个驱动器,并且包含各自的重建区域,以在驱动器发生故障时完成错误恢复。 因此,重建时间会显著缩短,从而减少卷因恢复冗余产生额外负载而造成的暴露。 由于这些受管磁盘的容量可能非常大,当其配置在系统中时,整体限制会发生更改,从而使其能够虚拟化。 对于每个分布式阵列,会保留 16 个 MDisk 的扩展数据块分配空间,从而从整体池 4096 中除去其他 15 个 MDisk 标识。 分布式阵列还旨在提供统一的性能级别。 如果驱动器类似(例如,驱动器具有相同属性,但是容量更大),那么分布式阵列可以包含多个驱动器种类,以实现此性能。 分布式阵列中的所有驱动器都必须来自同一 I/O 组,以维护简单配置模型。

分布式阵列的重要优势包括:
  • 重建时间更短,对主机 I/O 的影响更小。
  • 让用户可以更加灵活地定义阵列所使用的驱动器数量(例如,用户可以创建包含 24 个驱动器的 9+P 阵列,而不会让四个驱动器闲置)。
  • 重建区域意味着系统中没有空闲主轴,因此性能会略微改善。

分布式阵列的一个缺点是,阵列冗余包含数量更多的组件。 因此,平均故障间隔时间 (MTBF) 会缩短。 更快的重建时间可改善 MTBF;但在 MTBF 变为不可接受之前,阵列的分布广泛程度仍有一定限制。