You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向mdadm RAID6阵列添加新硬盘时遇‘dn does not have a valid v1.2 superblock’错误的求助

向mdadm RAID6阵列添加新硬盘时遇‘dn does not have a valid v1.2 superblock’错误的求助

嘿,我最近碰到个头疼的问题——我有个现成的mdadm RAID6阵列(就是md1),想加块新硬盘扩容,以前这么干过都成了,结果这次第一步就卡壳,加硬盘的时候报‘dn does not have a valid v1.2 superblock’错误。先给你看看我的阵列状态:

当前阵列状态(cat /proc/mdstat输出)

Personalities : [raid6] [raid5] [raid4] [raid1] [raid0] [raid10] 
md150 : active raid1 sdj[1] sdk[0]
      1953382464 blocks super 1.2 [2/2] [UU]
      bitmap: 8/15 pages [32KB], 65536KB chunk

md1 : active raid6 sde[17] sdc[13] sdi[16] sda[9] sdh[11] sdg[12] sdd[14] sdf[15] sdb[10]
      68364158464 blocks super 1.2 level 6, 512k chunk, algorithm 2 [9/9] [UUUUUUUUU]
      bitmap: 0/10 pages [0KB], 524288KB chunk

unused devices: <none>

mdadm --detail /dev/md1部分输出

/dev/md1:
           Version : 1.2
     Creation Time : Thu Jun 10 18:23:07 2021
        Raid Level : raid6
        Array Size : 68364158464 (63.67 TiB 70.00 TB)
     Used Dev Size : 9766308352 (9.10 TiB 10.00 TB)
      Raid Devices : 9
     Total Devices : 9
       Persistence : Superblock is persistent

我自己琢磨了下,大概率是新硬盘上有残留的分区表、旧的mdadm超级块,或者我没先给硬盘做初始化?列了几个打算尝试的步骤,也想请大佬们给点建议:

  • 先确认新硬盘路径(比如假设是/dev/sdl),清除硬盘上的旧数据和分区表:

    dd if=/dev/zero of=/dev/sdl bs=1M count=100
    

    这步会擦除开头100MB,把旧的分区表、超级块都清掉,一定要注意别写错设备名!

  • 如果阵列用的是分区而非整个硬盘,就给新硬盘创建和现有阵列硬盘同类型的分区;像我这种用整个硬盘的,直接用整个盘就行。

  • 尝试把新硬盘添加到阵列:

    mdadm --add /dev/md1 /dev/sdl
    

    如果还是报错,试试指定超级块版本:

    mdadm --add --super-minor=1.2 /dev/md1 /dev/sdl
    
  • 另外可以先检查新硬盘有没有残留的mdadm信息:

    mdadm --examine /dev/sdl
    

    如果输出里有旧的超级块信息,说明之前的清除没干净,再用命令专门清除mdadm超级块:

    mdadm --zero-superblock /dev/sdl
    

有没有大佬碰到过类似的问题?或者我哪里操作错了?麻烦给指条明路!

备注:内容来源于stack exchange,提问作者user3337015

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 10:44:42