【问题标题】:Unable to remove Volume Group due to Incorrect metadata area header checksum由于元数据区域标头校验和不正确,无法删除卷组
【发布时间】:2015-04-09 21:29:15
【问题描述】:

我有三个从旧服务器中取出的 HDD。不记得上面有什么或它是如何配置的,直到我将它插入我的新服务器以用于 RAID5。我dd'ed 所有三个硬盘驱动器并尝试mdadm --create 一个新的 RAID 阵列并得到以下错误:

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
mdadm: super1.x cannot open /dev/sdc: Device or resource busy
mdadm: /dev/sdc is not suitable for this array.
mdadm: create aborted

查看问题我发现/dev/sdc2 仍然包含一个逻辑卷。

# lsblk /dev/sdc
NAME                    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdc                       8:32   0 931.5G  0 disk 
|-sdc1                    8:33   0   102M  0 part 
`-sdc2                    8:34   0 931.4G  0 part 
  |-VolGroup00-LogVol00 253:2    0   926G  0 lvm  
  `-VolGroup00-LogVol01 253:3    0   5.4G  0 lvm  
# lsblk /dev/sdd
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdd      8:48   0 931.5G  0 disk 
|-sdd1   8:49   0     2G  0 part 
`-sdd2   8:50   0 929.5G  0 part 
# lsblk /dev/sdb
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   0 931.5G  0 disk 
|-sdb1   8:17   0     2G  0 part 
`-sdb2   8:18   0 929.5G  0 part 

我尝试了 lvremove pvremovevgremove 但都返回相同的错误:Incorrect metadata area header checksum on /dev/sdc2 at offset 4096

我对 LVM 不熟悉,并试图在网上查看该怎么做。由于我使用的 vg 文件存档是在我的新服务器上生成的,因此进行了恢复但没有起作用并不令我惊讶。

我的猜测是因为我dd'ed 硬盘我以某种方式弄乱了标头元数据。我可以做些什么来擦除所有这些以便创建我的 RAID5?任何帮助将不胜感激。

提前致谢!

编辑

澄清我所说的dd'ed:

dd if=/dev/zero | pv | dd of=/dev/sdx

编辑 2

只是为了澄清什么有帮助,并对这两个答案表示赞赏。以下关于dd 工作的两个答案。就我而言,由于 RAID 建立在不同的盒子上,并且我孤立了其中一个驱动器,我的新盒子抱怨卷组等。当我最初使用dd 擦除数据时,我一定不能触摸 RAID/LVM 的标头。

【问题讨论】:

    标签: sysadmin raid lvm


    【解决方案1】:

    只要您不关心 /dev/sdc 驱动器上的内容,试试这个:

    dd if=/dev/zero of=/dev/sdc bs=1m count=10
    

    这会将磁盘的前 10 MB 清零,包括任何 LVM 或 RAID 标头。然后重启;系统应该看到该磁盘不再是任何 LVM 组的一部分。

    如果您需要更多灵感,请查看我写的关于恢复 RAID 和 LVM 卷的这篇 Linux 期刊文章:

    http://www.linuxjournal.com/article/8874

    【讨论】:

    • 谢谢你们!我希望我能让他们都成为正确的答案。
    【解决方案2】:

    这是一个很棒的链接 - 如果您不熟悉它,请看一下:

    在你的情况下,请试试这个:

    https://forums.opensuse.org/showthread.php/489778-How-do-I-delete-a-RAID-volume-that-was-created-with-mdadm

    1. 找到 md 及其组件(sda、sdb 等)

      fdisk -l mdadm --detail /dev/md0 or md1 or mdX

    2. 卸载 md(最好使用 -l 标志进行延迟卸载

      umount -l /dev/md0

    3. 停止数组

      mdadm --stop /dev/md0

    4. 将 md 数组中每个设备的超级块归零

      mdadm --zero-superblock /dev/sda mdadm --zero-superblock /dev/sdX ... etc.

    根据需要替换您的实际驱动器名称。

    我不确定您所说的“dd'ed all drive”是什么意思,但您应该可以使用“mdadm”(如上所述)或“dd”来初始化它们:EXAMPLE: dd if=/dev/zero of=/dev/sdc2 bs=1024K count=100

    有关更多提示,另请参阅此链接:

    【讨论】:

    • 感谢伟大的链接!关于删除 RAID,这不起作用,因为原始 RAID 是在 freeBSD 下的不同盒子上构建的。我尝试使用 mdadm 将超级块归零,但这给了我:mdadm: Unrecognised md component device - /dev/sdc 另外 /dev/md0 也不存在,因为它在旧的 freeBSD 盒子上。我想我使用 dd 不正确。我尝试了dd if=/dev/zero of=/dev/sdc bs=1m count=10 并按照 Richard Bullington-McGui 的建议重新启动,就成功了。我的猜测是你的dd if=/dev/zero of=/dev/sdc2 bs=1024K count=100 也会起作用。感谢您的帮助!
    猜你喜欢
    • 2013-08-29
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    相关资源
    最近更新 更多