13 软件 RAID 查错 #
查看 /proc/mdstat
文件以确定 RAID 分区是否受损。如果磁盘出现故障,用以同样方式分区的新硬盘替换出现问题的硬盘。然后重启动您的系统并输入命令 mdadm /dev/mdX --add
/dev/sdX
。将 X
替换为您的特定设备标识符。这会自动将硬盘整合到 RAID 系统中并完全重新构造(适用于除 RAID 0 以外的所有 RAID 级别)。
尽管可以在重构建期间访问所有数据,但在 RAID 完全重构建之前,仍然可能遇到一些性能问题。
13.1 修复故障磁盘之后进行恢复 #
RAID 阵列中的磁盘可能会出于多种原因而发生故障。下面列出了最常见的原因:
磁盘媒体出现问题。
磁盘驱动器控制器发生故障。
与磁盘的连接断开。
在发生磁盘媒体或控制器故障时,需要更换或修复设备。如果未在 RAID 中配置热备用,则需要手动干预。
对于后一种情况,可以在修复连接(可能会自动修复)之后,使用 mdadm
命令自动重新添加发生故障的设备。
由于 md
/mdadm
不能可靠地判断磁盘发生故障的原因,因此会臆测发生了严重的磁盘错误,并将任何出现失败操作的设备视为有故障,直到明确被告知该设备可靠为止。
在某些情况下(例如,存储设备包含内部 RAID 阵列),连接问题往往是设备发生故障的原因。在这种情况下,您可以告知 mdadm
,在设备出现后,可以放心地使用 --re-add
自动重新添加该设备。为此,您可以将下面一行添加到 /etc/mdadm.conf
中:
POLICY action=re-add
请注意,仅当 udev
规则致使 mdadm -I
DISK_DEVICE_NAME
在自发出现的任何设备上运行(默认行为),并且已配置 write-intent 位图(默认会配置)时,才会在设备重新出现之后自动重新添加该设备。
如果您希望此策略仅应用到某些设备而不应用到其余设备,可以将 path=
选项添加到 /etc/mdadm.conf
中的 POLICY
一行,以将非默认操作限制为只对选定的设备执行。可以使用通配符来识别设备组。有关更多信息,请参见man 5 mdadm.conf
。