我想event_activation
在修改未安装的驱动器时关闭(否则,当检测到未安装的驱动器发生变化时,udev 规则就会运行vgchange
)。手册页说“lvm.conf 在 lvm 的初始化阶段加载”。我可以重新加载 lvm 以强制重新读取 lvm.conf 吗?
如果我event_activation
在 lvm.conf 中将其设置为 0 并运行,lvm dumpconfig
它确实会报告新值,但可能不会对其采取行动。如果有必要,我可以关闭 LVM(修改驱动器后系统会重新启动)- 有办法吗?奇怪的是,添加nolvm
到内核选项似乎不会影响此问题 -vgchange
修改驱动器后仍会运行。
对于足够新的 LVM 版本,
vgchange
可能仅当 udev 事件(PV 的)为add
(而不是change
)时才会运行。(此方法确保仅在找到 VG 的所有 PV 时才会运行。)并且无需重新加载/重新读取,因为确定是否应运行的pvscan
命令运行(由 触发)只会直接检查设置。69-dm-lvm.rules
vgchange
lvm.conf
在我看来,您要执行的操作将触发
add
PV 的 udev 事件。但是,在event_activation=0
中lvm.conf
,相应的 VG 不应被激活。请注意,如果您的根文件系统位于 LV 上,则需要小心使用
event_activation=0
,因为这可能会导致您的根文件系统不可用。修改后可能不会立即发生这种情况,lvm.conf
因为 initramfs 将包含其自己的副本,因此不良行为只会在 initramfs 重新生成后(例如,当有内核更新时)才会将其踢出。但当然,如果您正在运行实时系统(即修改是“易失性的”),那不会成为问题。