RAID 区域中的活动对象是指正在被该区域积极使用的对象,并且包含数据或奇偶校验信息。创建新的 RAID 区域时,从主可用对象面板中选择的所有对象都将成为活动对象。线性 RAID 和 RAID-0 区域仅包含活动对象,如果其中任何活动对象发生故障,则该区域将不可用。
另一方面,冗余 RAID 级别(1 和 4/5)除了活动对象之外,还可以拥有备用对象。备用对象是已分配给区域的对象,但不包含任何实时数据或奇偶校验信息。其主要目的是充当“热备”,以防活动对象之一发生故障。
如果其中一个子对象发生故障,MD 内核驱动程序会将发生故障的对象从区域中移除。由于这些 RAID 级别提供冗余(以镜像数据或奇偶校验信息的形式),因此整个区域可以继续提供对数据的正常访问。然而,由于缺少一个活动对象,该区域现在处于“降级”状态。
如果区域变为降级状态,并且已为该区域分配了备用对象,则内核驱动程序将自动激活该备用对象。这意味着备用对象被转换为活动对象。然而,这个新激活的活动对象没有任何数据或奇偶校验信息,因此内核驱动程序必须将数据“同步”到此对象。对于 RAID-1,这意味着将所有数据从当前活动对象之一复制到这个新的活动对象。对于 RAID-4/5,这意味着使用当前活动对象中的数据和奇偶校验信息来填充新活动对象上缺失的数据和奇偶校验。在同步过程进行时,区域仍保持降级状态。只有当同步完成时,区域才会返回到完全“正常”状态。
您可以通过检查以下文件来跟踪同步过程的进度/proc/mdstat文件。您还可以使用以下文件来控制同步过程的速度/proc/sys/dev/raid/speed_limit_min和/proc/sys/dev/raid/speed_limit_max。要加快此过程,请将更大的数字回显到speed_limit_min文件中。
如上所述,在创建 RAID-1 或 RAID-4/5 区域时,可以将备用对象分配给该区域。此外,备用对象也可以添加到已存在的 RAID 区域。此操作的效果与在创建区域时分配对象的效果相同。
如果 RAID 区域正常且运行正常,内核驱动程序会将新对象添加为常规备用对象,并且它将充当热备,以应对未来的故障。如果 RAID 区域当前处于降级状态,内核驱动程序将立即激活新的备用对象,并开始同步数据和奇偶校验信息。
对于 RAID-1 和 RAID-4/5 区域,请使用 “addspare” 插件功能向区域添加新的备用对象。唯一的参数是所需对象的名称,并且一次只能添加一个备用对象。对于 RAID-1 区域,新的备用对象必须至少与区域一样大;对于 RAID-4/5 区域,新的备用对象必须至少与最小的活动对象一样大。
可以在 RAID 区域处于活动和使用状态时添加备用对象。
如果 RAID-1 或 RAID-4/5 区域正常且运行正常,并且该区域具有备用对象,则如果您需要将该对象用于其他目的,则可以从区域中移除该备用对象。
对于 RAID-1 和 RAID-4/5 区域,请使用 “remspare” 插件功能从区域中移除备用对象。唯一的参数是所需对象的名称,并且一次只能移除一个备用对象。移除备用对象后,该对象将显示在 EVMS 用户界面中的可用对象列表中。
可以在 RAID 区域处于活动和使用状态时移除备用对象。
在 RAID-1 区域中,每个活动对象都具有该区域数据的完整副本。这意味着可以很容易地添加一个新的活动对象,将数据同步到这个新对象,从而增加镜像的“宽度”。例如,如果您有一个 2 路 RAID-1 区域,您可以添加一个新的活动对象,这将使区域增加到 3 路镜像,从而增加区域提供的冗余量。
添加新活动对象的第一个过程可以通过两种方式之一完成。首先,“addactive” 插件功能将 EVMS 中的任何可用对象添加到区域中作为新的活动对象。新对象必须至少与 RAID-1 区域的大小一样大。其次,如果 RAID-1 区域有备用对象,则可以使用 “activatespare” 插件功能将该对象转换为区域的活动成员。