重建 mdadm raid5

重建 mdadm raid5

我已经除尘了一台机器,我想修复我弄乱的 mdadm raid5。首先,raid5 是 3 个磁盘。就在三台中的一台开始出现故障之前,添加了一台备用机。使用了备用磁盘并移除了故障磁盘。现在几个月后,我无法正确安装它。阵法破了。

原始版本:

root# mdadm --create --metadata=1.0 --verbose /dev/md127 --chunk=512 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1

现在的情况:

$ cat /proc/mdstat 
Personalities : 
md127 : inactive sdb1[1](S) sda1[0](S)
  3677730784 blocks super 1.0

unused devices: <none>  

mdadm -D /dev/md127

sudo mdadm -D /dev/md127
/dev/md127:
    Version : 1.0
 Raid Level : __raid0__
Total Devices : 1
Persistence : Superblock is persistent

      State : inactive

       Name : nas:127  (local to host nas)
       UUID : 71da073c:d1928293:6947fa19:92d8a7bd
     Events : 1

Number   Major   Minor   RaidDevice

   -       8       17        -        /dev/sdb1

每个驱动器的检查输出

$ sudo mdadm -E /dev/sd{b,c,e}1
**/dev/sdb1**:
      Magic : a92b4efc
    Version : 1.0
Feature Map : 0x1
 Array UUID : 71da073c:d1928293:6947fa19:92d8a7bd
       Name : nas:127  (local to host nas)
Creation Time : Sun Dec 10 23:26:56 2017
 Raid Level : raid5
Raid Devices : 4

Avail Dev Size : 3677730784 (1753.68 GiB 1883.00 GB)
 Array Size : 5516594688 (5261.03 GiB 5648.99 GB)
Used Dev Size : 3677729792 (1753.68 GiB 1883.00 GB)
Super Offset : 3677730800 sectors
Unused Space : before=0 sectors, after=992 sectors
      State : clean
Device UUID : e1fdc3d2:b0f117a5:11856184:17db9522

Internal Bitmap : -16 sectors from superblock
Update Time : Mon Dec 18 11:48:12 2017
Bad Block Log : 512 entries available at offset -8 sectors
   Checksum : 54a1b1a7 - correct
     Events : **1**

     Layout : left-symmetric
 Chunk Size : 512K

Device Role : Active device 1
Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)

**/dev/sdc1**:
      Magic : a92b4efc
    Version : 1.0
Feature Map : 0x1
 Array UUID : a1498410:d13b2b4a:63379f8d:c821173f
       Name : fileserver:127
Creation Time : Mon Jan 19 15:35:41 2015
 Raid Level : raid5
Raid Devices : 4

Avail Dev Size : 3677730536 (1753.68 GiB 1883.00 GB)
 Array Size : 5516594688 (5261.03 GiB 5648.99 GB)
Used Dev Size : 3677729792 (1753.68 GiB 1883.00 GB)
Super Offset : 3677730800 sectors
Unused Space : before=0 sectors, after=992 sectors
      State : clean
Device UUID : 472f7a29:679e1f18:87ee0d4c:88b2a62b

Internal Bitmap : -16 sectors from superblock
Update Time : Sun Dec 10 21:09:34 2017
Bad Block Log : 512 entries available at offset -8 sectors
   Checksum : 68dd142f - correct
     Events : **1934728**

     Layout : left-symmetric
 Chunk Size : 512K

Device Role : Active device 1
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)

**/dev/sde1**:
      Magic : a92b4efc
    Version : 1.0
Feature Map : 0x1
 Array UUID : 71da073c:d1928293:6947fa19:92d8a7bd
       Name : taknas:127  (local to host taknas)
Creation Time : Sun Dec 10 23:26:56 2017
 Raid Level : raid5
Raid Devices : 4

Avail Dev Size : 3677730784 (1753.68 GiB 1883.00 GB)
 Array Size : 5516594688 (5261.03 GiB 5648.99 GB)
Used Dev Size : 3677729792 (1753.68 GiB 1883.00 GB)
Super Offset : 3677730800 sectors
Unused Space : before=0 sectors, after=992 sectors
      State : clean
Device UUID : ebd3b12c:975c1a0b:4653f1ed:e9788e37

Internal Bitmap : -16 sectors from superblock
Update Time : Mon Dec 18 11:48:12 2017
Bad Block Log : 512 entries available at offset -8 sectors
   Checksum : 931a5e9d - correct
     Events : **1**

     Layout : left-symmetric
 Chunk Size : 512K

Device Role : Active device 0
Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)

把想法大声说出来:

看起来 raid5 失败了,进入了有 2 个磁盘的 raid0,而 sda1 不在那里。并且处于备用模式。
此外,sdb1 和 sde1 的事件计数器也会重置。 sdb1 似乎在另一个数组中。我可能忘记了从阵列中正确删除故障磁盘,因为它认为它由 4 个磁盘组成。

不知道在这里要做什么来修复 raid 阵列并保持数据完整。

答案1

sdb1可能sudo dmesg被组装为 raid0 md127 的一部分。这很奇怪,你也许应该检查一下。

不管怎样,这个功能失调的阵列需要停止,因为它现在正在占用 sdb1:

sudo mdadm --stop /dev/md127

然后尝试用三分之二的正确组合来组装它:

sudo mdadm --assemble /dev/md127 /dev/sdb1 /dev/sde1 --verbose

如果可行,则添加奇数:

sudo mdadm /dev/md127 --add /dev/sdc1

相关内容