阵列配置

阵列是用于定义逻辑卷或设备的物理设备(驱动器)的有序配置或组。阵列是由磁盘驱动器组成的一种 MDisk;这些驱动器是阵列的成员。 独立磁盘冗余阵列 (RAID) 是一种用于配置成员驱动器以创建高可用性和高性能系统的方法。

系统支持非分布式阵列配置和分布式阵列配置。 在非分布式阵列中,全部驱动器都定义为“热备用”驱动器。 热备用驱动器处于空闲状态,不会处理系统的 I/O,直至发生驱动器故障。 当成员驱动器发生故障时,系统会自动将发生故障的驱动器更换为热备用驱动器。 然后,系统会再同步阵列以恢复冗余。但是,分布式阵列中的所有成员驱动器都有一个为驱动器故障保留的重建区域。 当驱动器发生故障时,阵列内的所有驱动器都可以处理 I/O 数据,提供更快速的重建。RAID 级别提供不同程度的冗余和性能,并且可确定阵列中的成员数量。

如果在系统上启用了加密,那么可创建加密阵列和分布式阵列。 有关更多信息,请参阅配置加密

阵列对象 显示了系统上阵列组件的关系。

Figure 1. 阵列对象
此图显示了 RAID 对象的概述。

阵列

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

分布式阵列

分布式阵列配置可创建大型内部 MDisk。 这些阵列(可包含 4 - 128 个驱动器)还包含用于在驱动器发生故障后保持冗余的重建区域。 如果系统上提供的驱动器不足(例如,在少于四个闪存驱动器的配置中),那么无法配置分布式阵列。 分布式 RAID 阵列可解决非分布式阵列配置中的重建瓶颈问题,这是因为重建区域分布在阵列中的所有驱动器中。 重建写工作负载分布在所有驱动器中,而不仅仅是分布在单个备用驱动器中,因此,阵列上的重建速度更快。 分布式阵列中不需要在发生故障前处于空闲状态的独立驱动器。 备用容量分布在特定重建区域(分布在所有成员驱动器中)中,而不是将一个或多个驱动器分配为备用驱动器。 可以更快地将数据复制到重建区域,并可以更迅速地恢复冗余。 此外,随着重建工作的推进,由于要将所有可用驱动器用于每个卷扩展数据块,因此池的性能更加稳定。 在更换发生故障的驱动器后,会将数据从分布式备用容量中复制回驱动器。 与“热备用”驱动器不同,将在驱动器中未用作重建区域的其他部分上处理读/写请求。 重建区域的数量取决于阵列的宽度。 重建区域的大小将决定在无降级风险的前提下分布式阵列可以恢复故障驱动器的次数。 例如,使用 RAID 6 驱动器的分布式阵列可以处理两个并发故障。 在重建发生故障的驱动器后,阵列可再容许两个驱动器故障。 如果所有重建区域都用于恢复数据,那么阵列会在下一次驱动器发生故障时降级。 在完成阵列配置之前,请验证您的型号是否支持分布式阵列。

系统使用的阵列配置类型取决于通过串行连接 SCSI (SAS) 或 Non-Volatile Memory express (NVMe) 协议检测到的驱动器类型。 如果系统仅包含 SAS 连接的驱动器,那么系统可以根据可用驱动器的数量以及这些驱动器的特征来配置非分布式阵列或分布式阵列。 但是,由于分布式 RAID 提供的性能更好且重建时间更短,因此首选分布式阵列。 对于仅支持 NVMe 驱动器的系统,仅为阵列配置创建分布式阵列,因为这些驱动器性能更高,适合用作高要求的驱动器。 非压缩 NVMe 驱动器也支持非分布式 RAID1 和 RAID10,但压缩驱动器仅支持分布式 RAID。 只有某些型号的控制机柜中才支持 NVMe 驱动器。在完成阵列配置之前,请验证您的型号是否支持 NVMe 驱动器。对于同时包含 NVMe 驱动器和 SAS 驱动器的系统,系统限制在同一阵列配置中混用这些不同类型的驱动器,因为阵列中的成员必须尽可能相似,以避免性能问题和更换驱动器的问题。

系统还支持自压缩 NVMe 驱动器,即在将数据写入此类驱动器时,该驱动器自行对数据进行压缩。 如果阵列包含自压缩驱动器,那么在创建此阵列时,系统会使用以下规则:
  • 不得在同一阵列配置中同时包含非压缩驱动器和自压缩驱动器。
  • 阵列中的所有驱动器都具有相同物理容量,并使用相同压缩算法。
  • 如果阵列包含至少 6 个驱动器,那么系统会创建分布式 RAID6 阵列,这是为了确保重建操作期间自压缩驱动器的容量而采取的首选操作。

阵列配置准则

管理 GUI 自动缺省设置为推荐的重建区域数量(取决于分布式阵列的当前宽度和其他设置)。 阵列宽度包含了在驱动器发生故障的情况下确保冗余所需的物理驱动器和重建区域的数量。 对于 SAS 连接驱动器的分布式阵列和非压缩 NVMe 的分布式 RAID 阵列,系统建议最多可以有四个重建区域。 压缩 NVMe 的分布式 RAID 阵列支持一个重建区域。其他设置(如驱动器类)也用于确定阵列的最佳配置。 例如,如果正在将存储器添加到现有池中,那么管理 GUI 将禁用与池中已有驱动器不兼容的所有驱动器类。 然后,分析池中的当前阵列配置以推荐条带宽度和驱动器计数。

在设置完系统后,必须通过创建池并为特定池分配存储器来配置存储器。 确保在分配存储器之前已创建一个或多个池。 在管理 GUI 中,选择 > 操作 > 添加存储器添加存储器会自动将现有驱动器配置成阵列。使用 lsarrayrecommendation 命令可显示用于配置阵列的系统建议。 为实现最佳控制和灵活性,可以使用 mkarray 命令行界面 (CLI) 命令在系统上配置非分布式阵列。 要配置分布式阵列,可以使用 mkdistributedarray 命令。