mdadm raid5 创建后立即开始恢复

mdadm raid5 创建后立即开始恢复

为了获得一些使用 mdadm 的经验,我把一些硬盘放在一起并尝试了一下。我有 2 个 250 GB 和一个 500 GB 的硬盘。我知道这对 RAID5 来说不是最佳选择,而且我总共只能获得 500 GB 的容量。500 GB 硬盘中的 250 GB 被浪费了。但正如我所说,我只是在玩一玩。

首先让我们看看磁盘大小:

lsblk /dev/sdb /dev/sdc /dev/sdd
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb    8:16   0 232.9G  0 disk
sdc    8:32   0 465.8G  0 disk
sdd    8:48   0 232.9G  0 disk

创建 RAID5:

sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd -c 4 --auto md

显示创建的 Raid5 的信息:

cat /proc/mdstat                                     Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd[3] sdc[1] sdb[0]
      488132976 blocks super 1.2 level 5, 4k chunk, algorithm 2 [3/2] [UU_]
      [>....................]  recovery =  0.5% (1354384/244066488) finish=59.7min speed=67719K/sec
      bitmap: 0/2 pages [0KB], 65536KB chunk

unused devices: <none>

显示更多细节:

 sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Wed Feb 26 14:52:54 2020
        Raid Level : raid5
        Array Size : 488132976 (465.52 GiB 499.85 GB)
     Used Dev Size : 244066488 (232.76 GiB 249.92 GB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Wed Feb 26 14:57:43 2020
             State : clean, degraded, recovering
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 4K

Consistency Policy : bitmap

    Rebuild Status : 7% complete

              Name : raspberrypi:0  (local to host raspberrypi)
              UUID : 3291b54e:fad8f43b:cc398574:a1845ff9
            Events : 57

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       3       8       48        2      spare rebuilding   /dev/sdd

Dmesg显示

[ 2462.122882] md/raid:md0: device sdc operational as raid disk 1
[ 2462.122892] md/raid:md0: device sdb operational as raid disk 0
[ 2462.126278] md/raid:md0: raid level 5 active with 2 out of 3 devices, algorithm 2
[ 2462.142439] md0: detected capacity change from 0 to 499848167424
[ 2462.222689] md: recovery of RAID array md0

那么我在创建 RAID5 时做错了什么?我对mdadm --detail /dev/md0磁盘号 0、1 和 3 的输出感到困惑,而不是 0、1、2

答案1

对于新创建的 RAID5 阵列来说,这是正确的行为:创建后,它需求计算每个条带的正确奇偶校验。

您可以在命令--assume-clean中附加内容mdadm以跳过初始同步,但我强烈建议不要这样做:如果您的奇偶校验不匹配,则任何内容check都会报告数千个错误,并且您将无法从“假”错误中识别出真正的错误。要解决这种非常模糊的情况,您需要运行一个repair命令 - 它将像初始数组创建一样重新计算奇偶校验。

相关内容