由于元数据区域 header 校验和不正确,无法删除卷组
Unable to remove Volume Group due to Incorrect metadata area header checksum
我有三个从旧服务器上提取的硬盘驱动器。在我将它插入我的新服务器以用于 RAID5 之前,我不记得上面有什么或它是如何配置的。我 dd
编辑了所有三个硬盘驱动器并尝试 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
pvremove
和 vgremove
但所有 return 都出现了同样的错误:Incorrect metadata area header checksum on /dev/sdc2 at offset 4096
我对 LVM 不熟悉,想上网看看该怎么做。进行了恢复但没有成功,这并不令我惊讶,因为我使用的 vg
文件存档是在我的新服务器上生成的。
我的猜测是,因为我 dd
编辑了 HDD,我以某种方式弄乱了 header 元数据。我该怎么做才能擦除所有这些以便创建我的 RAID5?任何帮助将不胜感激。
提前致谢!
编辑
为了阐明我所说的 dd
的意思:
dd if=/dev/zero | pv | dd of=/dev/sdx
编辑 2
只是为了澄清是什么帮助了这两个答案。下面两个关于 dd
工作的答案。就我而言,由于 RAID 是在不同的盒子上构建的,并且我孤立了其中一个驱动器,所以我的新盒子抱怨卷组等。当我最初使用 dd
擦除数据时,我一定没有触摸 RAID/LVM 的 header。
只要你不关心 /dev/sdc 的驱动器上有什么,试试这个:
dd if=/dev/zero of=/dev/sdc bs=1m count=10
这会将磁盘的前 10 MB 归零,包括任何 LVM 或 RAID headers。然后重启;系统应该看到磁盘不再是任何 LVM 组的一部分。
如果您需要更多灵感,请查看这篇 Linux 我写的关于恢复 RAID 和 LVM 卷的期刊文章:
这是一个很棒的 link - 如果您不熟悉,请看一看:
对于你的情况,请试试这个:
找到 md 及其组件(sda、sdb 等)
fdisk -l
mdadm --detail /dev/md0 or md1 or mdX
卸载 md(使用 -l 标志进行延迟卸载可能会很好
umount -l /dev/md0
停止阵列
mdadm --stop /dev/md0
从 md 数组
中将 每个 设备的超级块归零
mdadm --zero-superblock /dev/sda
mdadm --zero-superblock /dev/sdX ... etc.
根据需要替换您的实际驱动器名称。
我不确定你所说的 "dd'ed all drives" 是什么意思,但你应该能够使用 "mdadm"(按照上述)或 "dd" 来初始化它们:EXAMPLE: dd if=/dev/zero of=/dev/sdc2 bs=1024K count=100
.
另请参阅此 link 以获得更多提示:
我有三个从旧服务器上提取的硬盘驱动器。在我将它插入我的新服务器以用于 RAID5 之前,我不记得上面有什么或它是如何配置的。我 dd
编辑了所有三个硬盘驱动器并尝试 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
pvremove
和 vgremove
但所有 return 都出现了同样的错误:Incorrect metadata area header checksum on /dev/sdc2 at offset 4096
我对 LVM 不熟悉,想上网看看该怎么做。进行了恢复但没有成功,这并不令我惊讶,因为我使用的 vg
文件存档是在我的新服务器上生成的。
我的猜测是,因为我 dd
编辑了 HDD,我以某种方式弄乱了 header 元数据。我该怎么做才能擦除所有这些以便创建我的 RAID5?任何帮助将不胜感激。
提前致谢!
编辑
为了阐明我所说的 dd
的意思:
dd if=/dev/zero | pv | dd of=/dev/sdx
编辑 2
只是为了澄清是什么帮助了这两个答案。下面两个关于 dd
工作的答案。就我而言,由于 RAID 是在不同的盒子上构建的,并且我孤立了其中一个驱动器,所以我的新盒子抱怨卷组等。当我最初使用 dd
擦除数据时,我一定没有触摸 RAID/LVM 的 header。
只要你不关心 /dev/sdc 的驱动器上有什么,试试这个:
dd if=/dev/zero of=/dev/sdc bs=1m count=10
这会将磁盘的前 10 MB 归零,包括任何 LVM 或 RAID headers。然后重启;系统应该看到磁盘不再是任何 LVM 组的一部分。
如果您需要更多灵感,请查看这篇 Linux 我写的关于恢复 RAID 和 LVM 卷的期刊文章:
这是一个很棒的 link - 如果您不熟悉,请看一看:
对于你的情况,请试试这个:
找到 md 及其组件(sda、sdb 等)
fdisk -l mdadm --detail /dev/md0 or md1 or mdX
卸载 md(使用 -l 标志进行延迟卸载可能会很好
umount -l /dev/md0
停止阵列
mdadm --stop /dev/md0
从 md 数组
中将 每个 设备的超级块归零mdadm --zero-superblock /dev/sda mdadm --zero-superblock /dev/sdX ... etc.
根据需要替换您的实际驱动器名称。
我不确定你所说的 "dd'ed all drives" 是什么意思,但你应该能够使用 "mdadm"(按照上述)或 "dd" 来初始化它们:EXAMPLE: dd if=/dev/zero of=/dev/sdc2 bs=1024K count=100
.
另请参阅此 link 以获得更多提示: