我们有一个系统设置为包含启动分区的冗余文件系统。 现在我们已经知道系统在任何启动分区上都无法正常启动。 启动时,表示无法find卷组。
在CentOS救援磁盘上启动时,fdisk -l会看到所有的分区:
第一次袭击了
/ dev / sda1引导
/ dev / sda2交换
/ dev / sda3 LVM
第二次袭击了
/ dev / sdc1引导
/ dev / sdc2交换
/ 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
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 /你以前的根文件系统(我知道在/ dev / sdc1)的lvm / backup文件夹放到/ etc / lvm / backup /中,然后重新发出vgscan命令。
我在sda3和sdc3上都试过(正如你所看到的,我也有3个lvm分区也是这样做的),它们都会在输出文本文件中生成二进制文件。 好的,更正。 文件中有一些lvm元数据,但是它是几个字节的文件。 我正在浏览数据,但看起来是正确的。 我将继续尝试通过恢复过程。
这是预期的 – VG和LVconfiguration都是二进制结构中的明文。
我最终使用了一个稍微修改的过程,而不是这里所述的。 我结束了从LVM的字节数据做一个cfgbackup文件,做一个pvcreate,然后一个vgcfgrestore。 之后,它的工作。 谢谢您的帮助。