我们有一个系统,该系统设置为具有冗余文件系统,包括引导分区。现在,系统无法在任一引导分区上正确引导。启动时,它说找不到卷组。
在 CentOS 应急磁盘上启动时, fdisk -l 会看到所有分区:
第一次突袭有
/dev/sda1 引导
/dev/sda2 交换
/dev/sda3 LVM
2nd Raid 有
/dev/sdc1 Boot
/dev/sdc2 swap
/dev/sdc3 LVM
RAID 磁盘上还有一个仅用于数据的第三个 LVM。这也没有被阅读。
运行 pvscan 时,它显示“找不到匹配的物理卷”。有没有办法查看为什么它不能识别 LVM 物理卷?
vgscan -vvvv
将为您提供关于为什么 vgscan 将任何特定卷视为卷组的一部分的非常广泛的输出。您还可以运行pvs -a
查看物理卷的摘要以及卷组分配。
分区之一的 vgscan -vvvv 输出:
Opened /dev/sdc3 RO /dev/sdc3: size is 3772817055 sectors
Closed /dev/sdc3 /dev/sdc3: size is 3772817055 sectors
Opened /dev/sdc3 RO O_DIRECT /dev/sdc3: block size is 512 bytes
Closed /dev/sdc3 Using /dev/sdc3
Opened /dev/sdc3 RO O_DIRECT /dev/sdc3: block size is 512 bytes
/dev/sdc3: No label detected
Closed /dev/sdc3
Run Code Online (Sandbox Code Playgroud)
pvs -a 没有透露任何内容。列出的所有物理卷未分配卷组
“未检测到标签”听起来很悲伤。你确定它是一个 LVM2 分区而不是,比如说,一个被 md-raid 使用的分区?您可以使用mdadm --examine /dev/sdc3
. 并请张贴fdisk -l /dev/sdc
是的,我确定它是 LVM2 分区。mdadm 命令给出“在 /dev/sdc3 上未检测到 md 超级块” fdisk 说 /dev/sdc3 是 Linux LVM 分区。
啊,那么由于可能损坏的数据结构,您将处于幸运的位置(此处具有讽刺意味,抱歉)尝试 LVM 恢复。有一个关于 LVM 恢复的方法,它可能会给你一个起点 - 尝试从磁盘本身(使用dd if=/dev/sdc3 bs=512 count=255 skip=1
)或从你以前的根文件系统的/etc/lvm/backup文件夹(据我所知是在 / dev/sdc1) 进入/etc/lvm/backup/并重新发出vgscan
命令。
我在 sda3 和 sdc3 上都尝试过(如您所见,我也有 3 个 lvm 分区来执行此操作),它们都在输出文本文件中生成二进制文件。好的,更正。文件中有一些 lvm 元数据,但文件中有几个字节。我正在查看数据,但它看起来是正确的。我将继续尝试完成该恢复过程。
这是预期的 - VG 和 LV 配置都是二进制结构中的明文。
我最终使用了比此处概述的略有修改的过程。我最终从 LVM 中的字节数据制作了一个 cfgbackup 文件,执行了 pvcreate,然后执行了 vgcfgrestore。在那之后,它起作用了。谢谢您的帮助。
归档时间: |
|
查看次数: |
18044 次 |
最近记录: |