系统启动时未激活 LVM VG

系统启动时未激活 LVM VG

自从从 Ubuntu 14.04 升级到 14.10 后,我的一个 VG 在系统启动时没有上线,不幸的是,这个 VG 有我的根 FS,因此我被放到了 initrd BusyBox 提示符下。

以前我遇到过 VG 在启动时需要更多时间才能上线的问题,因此我将其添加rootdelay=300到内核参数列表中,尽管启动过程挂起了一段时间,但 VG 最终还是上线了。但是在版本升级之后,我的 VG 从未启动过。在 BusyBox 提示中,lvm lvscan告诉我它们处于非活动状态。我可以手动激活它们并继续启动过程,但由于它是一台服务器,需要人工交互才能正确启动,这真的很糟糕。

我怀疑新内核有问题vmlinuz-3.16.0-23-generic。当我使用版本升级之前的旧内核(vmlinuz-3.13.0-37-generic)启动时,它运行正常。

我的系统上有 2 个 VG:

root@vmhost:~# vgs
  VG        #PV #LV #SN Attr   VSize   VFree
  vmdata-vg   1  21   3 wz--n- 903.57g 7.34g
  vmhost-vg   2   2   0 wz--n-  52.09g 7.34g

第一个只有 1 个 PV,它会立即启动。第二个有 2 个 PV,有我的根 LV,并且包含镜像 LV。我不明白为什么它vmhost-vg在启动时没有激活。

我已经尝试添加以下行/etc/lvm/lvm.conf

auto_activation_volume_list = [ "vmhost-vg", "vmdata-vg" ]

但不幸的是,它没有任何效果。(是的,我运行update-initramfs -u它来将其传播到 initrd 中。)

我已经在互联网上找到了其他相关问题和解决方案,但它们并不适用于我——其他人似乎使用带有 mdadm 的软件 RAID,他们提出的解决方案通常涉及对其 RAID 配置进行一些调整。但这对我来说并不适用,因为我不使用任何类型的 RAID。我的 PV 位于普通/dev/sd*分区上。

答案1

我看到了类似的问题,并偶然发现了这一点:

如果启用了 lvmetad(8),lvm2-activation-generator 将立即退出,而不会生成任何 systemd 单元,并且 LVM2 完全依赖基于事件的激活来激活 LVM2 卷

--https://manpages.ubuntu.com/manpages/bionic/man8/lvm2-activation-generator.8.html

确实,设置use_lvmetad=0lvm.conf 我解决了这个问题。

我没有调查为什么 udev 方法不起作用。

相关内容