如何使用 Ubuntu Server 上的终端重新初始化发生故障的 RAID 5 驱动器

如何使用 Ubuntu Server 上的终端重新初始化发生故障的 RAID 5 驱动器

我目前正在组建一个新系统,其中一部分是使用 Ubuntu Server 中的“mdadm”创建软件 RAID 5。

我成功地达到了使用以下命令创建数组的地步:

sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

我让它整夜工作然后使用以下命令来检查它:

watch cat /proc/mdstat

返回的内容如下:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdd1[4](S) sdc1[2] sdb1[1] sda1[0](F)
      5860535808 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/2] [_UU_]

unused devices: <none>

看起来其中一个已经失效了(而且我不太清楚为什么另一个是备用的)。

因此,为了确保没有其他问题,我想尝试重新启动故障驱动器。有人能解释一下我该怎么做以及我应该如何处理备用驱动器吗(如果有的话)。

而且我如何知道同步何时完成?

我到目前为止使用的教程位于此处:

http://sonniesedge.co.uk/2009/06/13/software-raid-5-on-ubuntu-904/

非常感谢!

附言:以下是一些可能有帮助的额外信息:

sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Mon Jun 18 21:14:21 2012
     Raid Level : raid5
     Array Size : 5860535808 (5589.04 GiB 6001.19 GB)
  Used Dev Size : 1953511936 (1863.01 GiB 2000.40 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Mon Jun 18 21:50:26 2012
          State : clean, FAILED 
 Active Devices : 2
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K

           Name : myraidbox:0  (local to host myraidbox)
           UUID : a269ee94:a161600c:fb1665e7:bd2f27b3
         Events : 13

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       17        1      active sync   /dev/sdb1
       2       8       33        2      active sync   /dev/sdc1
       3       0        0        3      removed

       0       8        1        -      faulty spare   /dev/sda1
       4       8       49        -      spare   /dev/sdd1

答案1

由于某种原因,mdadm 认为 sda1 有故障,应删除 sdd1。检查/var/log/syslogmdadm 消息或 ATA/SCSI 错误以尝试找出原因。您的驱动器或控制器可能有问题。

要恢复阵列,您需要重新添加故障驱动器。希望 mdadm 能够识别出这些驱动器,因为它们之前是阵列的一部分,并且具有有效数据。我将首先尝试使用 sda1,然后使用 sdd1。

mdadm /dev/md0 --re-add /dev/sda1

mdadm --detail如果它抱怨 sda1 已经是阵列的一部分,请先将其删除,然后重新添加。在继续下一个驱动器之前,请检查输出。

相关内容