非分布式阵列的一个键属性是指阵列中的某些驱动器指定为“备用驱动器”。在非分布式阵列配置中,备用驱动器仅在阵列中的其他驱动器发生故障时使用。
一个非分布式阵列可包含 2-16 个驱动器;若干阵列可以为池形成容量。为实现冗余,在其他任何驱动器发生故障时,都将分配备用驱动器(“热备件”)以执行读/写操作。 在其他时间内,备用驱动器处于闲置状态,不会为系统处理请求。 当阵列中的成员驱动器发生故障时,数据只能以备用驱动器写入数据的速度恢复到备用驱动器。因为此瓶颈原因,重建数据可能会花费几个小时,因为系统要尝试均衡主机和重建工作负载。因此,其余成员驱动器上的负载可能会明显增加。在整个时间内,到重建阵列的 I/O 的等待时间受到影响。因为卷数据分割到多个 MDisk 上,因此重建驱动器期间,所有卷都将受影响。
系统支持以下 RAID 级别:RAID 0、RAID 1、RAID 5、RAID 6 和 RAID 10。
Table 1 对 RAID 级别的特征进行了比较。
级别 | 驱动器计数 (DC)1 | 近似阵列容量 | 冗余2 |
---|---|---|---|
RAID 0 | 1 - 8 | DC * DS3 | None |
RAID 1 | 2 | DS | 1 |
RAID 5 | 3 - 16 | (DC - 1) * DS | 1 |
RAID 6 | 5 - 16 | 小于 (DC - 2) * DS | 2 |
RAID 10 | 2 - 16,偶数 | (DC/2) * DS | 14 |
当创建了阵列时,阵列成员会通过后台初始化过程相互同步。在此过程中,阵列可用于 I/O。由于成员驱动器发生故障,初始化对可用性没有任何影响。
如果阵列具有必要的冗余,那么在驱动器发生故障或无法使用驱动器时,会从阵列中卸下该驱动器。如果合适的备用驱动器可用,那么会将其引入到阵列中,然后该驱动器会开始同步。
各阵列具有一组目标,描述了各阵列成员的首选位置和性能。如果驱动器发生故 障,那么驱动器故障和热备用接管的顺序可导致阵列处于不平衡状态,即阵列中可能包含与这些目标不匹配的成员。当相应的驱动器可用时,系统会自动重新平衡此类阵列。
重新平衡通过使用并发交换来实现,后者会在驱动器之间迁移数据而不影响冗余。
您可以手动启动交换,并且还可以更新阵列目标以促进配置更改。
阵列命令具有一个名为 spare_protection 的属性,您可以用于指定阵列成员的正常备件数量。阵列属性 spare_protection_min 是阵列成员备用保护的最小数。
阵列属性 spare_goal 是保护每个阵列成员所需的正常备用驱动器数。在创建阵列时设置该属性,并且可以使用 charray 命令进行更改。
如果保护阵列成员的良好备用驱动器数低于阵列备用目标,那么您将收到事件错误 084300。
在冗余阵列级别执行读写 I/O 操作时,阵列的性能受到最慢成员驱动器性能的约束。在驱动器执行内部 ERP 处理时,如果 SAS 网络不稳定或者向阵列施加的工作量过大时,成员驱动器的性能可能远低于正常情况。在这种情况下,提供冗余的阵列可以接受冗余的短暂中断,以避免向慢速组件写入(或从中读取)。 映射到性能低下驱动器的写入会被落实到其他拷贝或对等卷,从而以良好状态完成(假定无其他故障)。当成员驱动器恢复运行之后,写入条带的后台进程将会恢复冗余(该进程在成员变慢时被标记为异步)。
此技术由阵列的 slow_write_priority 属性设置来控制,该属性的缺省值为 latency。在设置为 latency 时,允许阵列变为异步状态以力图消除低下的成员性能。您可以使用 charray 命令将 slow_write_priority 属性更改为 redundancy。 在设置为 redundancy 时,不允许阵列出现不同步情况。但是,阵列可以通过将读取返还给冗余路径中的慢速组件来避免读取性能下降。
在阵列使用 latency 模式,或者尝试在 redundancy 模式下避免读取某个组件时,系统将定期评估驱动器,以评估其何时可以重新成为系统的可靠部分。如果驱动器从不提供良好性能或者在阵列中导致太多性能故障,系统将认为硬件发生故障,以避免持续受到性能低下驱动器的影响。仅当系统找不出对驱动器性能较差的其他解释时,才会认为硬件故障。
当内部 RAID 阵列中的驱动器脱机时,系统将尝试避免执行热备用接管。在 60 秒的周期内,驱动器会标记在何处执行新的写入操作。如果驱动器再次联机,那么将在发生写入的位置完成“递增重建”,而不是完整的组件重建。 无论阵列的 slow_write_priority 设置如何,此技术都将发生,因为需要避免备用接管以维护最高的系统可用性。
故障指示灯点亮的驱动器表示该驱动器已标记为发生故障,不再供系统使用。当系统检测到已更换了这种发生故障的 驱动器时,会将驱动器更换件重新配置为备用驱动器。被更换的故障驱动器会自动从配置中除去。然后,会使用新的备用驱动器实现系统的阵列成员资格目标。