我用过构建根创建一个在基于 ARMv5 Kirkwood SoC 的 NAS 盒上的 RAM 中运行的系统。我用忙碌盒作为我的 init 系统,/dev
管理仅使用 devtmpfs 完成。我选择了 LVM2 和设备映射器目标包,使用标准安装而不是仅使用 dmsetup。我将 Linux 内核配置为具有多个设备驱动程序支持和设备映射器支持。系统启动时没有任何问题,但逻辑卷处于非活动状态。如果我执行vgchange -ay
它们就会被激活并且可以安装。
我的问题是,在启动过程中自动激活卷的正确方法是什么?有一些配置选项吗?或者我真的需要vgchange -ay
在启动过程中的某个时刻执行(例如/etc/inittab
)?一些消息来源似乎表明 VG/LV 通常在启动时自动激活,但我不确定它们是否只是指流行发行版上初始化过程的实现。
答案1
是的,某些东西必须vgchange -a y
在某个时刻运行 LVM 实用程序(如您所说,或类似的)。没有任何魔法可以让内核自行解决这一问题。
在 Initramfs 中,这通常由脚本完成/init
(直接或间接)。有些系统还会在收到新磁盘通知时扫描 VG/LV udev
,但对于 devtmpfs,您也没有该选项。
所以,当然,只需为 LVM 创建一个 init 脚本并让你的 init 系统以某种方式执行它。