Red Hat Training

A Red Hat training course is available for RHEL 8

21.15. 替换 RAID 中失败的磁盘

您可以使用剩余的磁盘从失败磁盘重建数据。RAID 级别和磁盘总数决定了成功重建数据所需的最小剩余磁盘量。

在此过程中,/dev/md0 RAID 包含四个磁盘。/dev/sdd 磁盘失败,您需要将它替换为 /dev/sdf 磁盘。

先决条件

  • 用于替换的备用磁盘。
  • 已安装 mdadm 软件包。

流程

  1. 检查失败的磁盘:

    1. 查看内核日志:

      # journalctl -k -f
    2. 搜索类似如下的消息:

      md/raid:md0: Disk failure on sdd, disabling device.
      
      md/raid:md0: Operation continuing on 3 devices.
    3. Ctrl+C 键退出 journalctl 程序。
  2. 将失败的磁盘标记为故障:

    # mdadm --manage /dev/md0 --fail /dev/sdd
  3. 可选:检查失败的磁盘是否已正确标记:

    # mdadm --detail /dev/md0

    输出末尾是 /dev/md0 RAID 中的磁盘列表,其中磁盘 /dev/sdd 具有 faulty 状态 :

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       -       0        0        2      removed
       3       8       64        3      active sync   /dev/sde
    
       2       8       48        -      faulty   /dev/sdd
  4. 从 RAID 中删除失败的磁盘:

    # mdadm --manage /dev/md0 --remove /dev/sdd
    警告

    如果您的 RAID 无法与另一个磁盘失败,在新磁盘有 active sync 状态前不会删除任何磁盘。您可以使用 watch cat /proc/mdstat 命令监控进度。

  5. 在 RAID 中添加新磁盘:

    # mdadm --manage /dev/md0 --add /dev/sdf

    /dev/md0 RAID 现在包括新磁盘 /dev/sdfmdadm 服务将自动从其他磁盘将数据复制到其中。

验证

  • 检查阵列的详情:

    # mdadm --detail /dev/md0

    如果这个命令显示 /dev/md0 RAID 中的磁盘列表,其中新磁盘在输出末尾具有 spare rebuilding 状态,则数据仍会从其他磁盘复制到其中:

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       80        2      spare rebuilding   /dev/sdf
       3       8       64        3      active sync   /dev/sde

    数据复制完成后,新磁盘会处于 active sync 状态。