重新创建了VG。是否可以将现有的 LV 添加到其中?

重新创建了VG。是否可以将现有的 LV 添加到其中?

我有一台 CentOS 5.5 服务器,其中有两个使用 LVM 的驱动器(sda、sdb)。 sda 具有物理分区和 LV 的组合。 sdb 有一个卷组,名为数据具有多个逻辑卷。没有跨越两个磁盘的逻辑卷或卷组。

上周我决定重新安装操作系统,包括格式化 /、/root、/boot 并在 sda 上重建 LV。重新安装期间未触及 sdb,因为它包含我想要保留的所有数据。

安装后,LVM 未将 sdb 上的物理卷列为活动卷。运行(从我的历史记录中我可以看出)pvscan激活了物理卷。不幸的是,sdb 上没有任何现有卷组被列出。

然后我运行了vgcreate data /dev/sdb它,我认为这要么会给出错误报告存在具有该名称的现有卷组,要么会以某种方式激活数据卷组。对我来说不幸的是,这两件事都没有发生。

此时,我还没有触及 /dev/sdb 上的任何内容,因为我想恢复该驱动器上定义的现有逻辑卷。有没有办法重新激活这些卷?

答案1

如果您在重新安装之前有 /etc/lvm/backup/data 甚至 /etc/lvm/archive/data_* 的备份,那将会有很大帮助。您可以使用 vgcfgrestore 和旧配置来重建 VG。

在 vgcreate 之前的任何时候,您都可以运行 vgscan 和“vgchange -a y”来激活数据并使其再次运行。

现在您运行了 vgcreate,选项更加有限...我假设 vgs 现在显示一个空数据 VG。

另一种选择是,如果您碰巧知道 /dev/sdb 上卷的确切布局,则可以在这些确切位置创建 LV,有时还会挂载那里的文件系统...但这很棘手,我不想这样做除非我别无选择,否则就这样做,因为PE必须在精确的相同的顺序。

答案2

如果您最终得到了两个同名的卷组,请使用vgrename重命名其中之一。在您的情况下,两个卷组应该具有不同的 UUID,并且您可以传递一个 UUID 以vgrename确保它作用于所需的组。

现在,如果我正确理解你的问题,你现在有两个卷组,A(新)和 B(旧),并且 B 中有一些你希望位于 A 中的逻辑卷。首先运行,vgscan也许可以vgchange -ay使确保所有卷组都处于活动状态。然后运行vgmerge将两个卷组合并为一个,或者vgsplit将一些物理卷从 B 移动到 A。

如果这没有帮助,请发布pvslvs和的输出vgdisplay

相关内容