Linux如何更换raid1中坏的硬盘

假设坏的硬盘是/dev/vdc,我们可以执行以下命令来标记它:

$sudo mdadm --manage /dev/md0 --fail /dev/vdc1

上面的命令的输出将是:

mdadm: set /dev/vdc1 faulty in /dev/md0

我们可以检查RAID的状态以确认设备已被标记为 faulty :

$sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Fri Apr 23 11:16:44 2021
        Raid Level : raid1
        Array Size : 1046528 (1022.00 MiB 1071.64 MB)
     Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent
       Update Time : Fri Apr 23 15:01:36 2021
             State : clean, degraded
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 1
     Spare Devices : 0
Consistency Policy : resync
              Name : debian:0  (local to host debian)
              UUID : 4721f921:bb82187c:487defb8:e960508a
            Events : 19
    Number   Major   Minor   RaidDevice State
       0     254       17        0      active sync   /dev/vdb1
       -       0        0        1      removed
       1     254       33        -      faulty   /dev/vdc1

从raid1从删除硬盘

$sudo mdadm --manage /dev/md0 --remove /dev/vdc1

使用--manage管理模式,我们可以删除故障磁盘或者添加新磁盘。

如果一切正常,设备将被“热移除”:

mdadm: hot removed /dev/vdc1 from /dev/md0

假设新磁盘是/dev/vdd,导入设备分区的信息到新硬盘:

$sudo sfdisk -d /dev/vdb | sudo sfdisk /dev/vdd
等同于
$sudo sfdisk --dump /dev/vdb | sudo sfdisk /dev/vdd

使用以下命令将新磁盘分区添加到RAID1数组中:

$sudo mdadm --manage /dev/md0 --add /dev/vdd1

检查RAID设备的状态,可以看到它正在 rebuilding 重建中:

$sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Fri Apr 23 11:16:44 2021
        Raid Level : raid1
        Array Size : 1046528 (1022.00 MiB 1071.64 MB)
     Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent
       Update Time : Fri Apr 23 15:29:45 2021
             State : clean, degraded, recovering
    Active Devices : 1
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 1
Consistency Policy : resync
    Rebuild Status : 19% complete
              Name : debian:0  (local to host debian)
              UUID : 4721f921:bb82187c:487defb8:e960508a
            Events : 26
    Number   Major   Minor   RaidDevice State
       0     254       17        0      active sync   /dev/vdb1
       2     254       49        1      spare rebuilding   /dev/vdd1

Rebuild Status 指示完成同步的百分比。 等待100%同步后,状态将变成“active sync"。

日期:2020-07-07 20:57:17 来源:oir作者:oir