Re: lvm2-monitor.servcie block boot process due to bad storage device
Zdenek Kabelac <[email protected]> Tue, 23 Apr 2024 13:41:11 +0200
| Newsgroups | gmane.linux.lvm.devel |
|---|---|
| Message-ID | <[email protected]> |
Dne 23. 04. 24 v 2:41 Winston Wen napsal(a): > Hi, > > If a device's IO does not respond, it will block in the path of > partition scanning. But at this point, it has already created the > part0, like /dev/sda, in devtmpfs, but the mutex of the device has been > held by the partition scanning code, so all processes attempting to > open it will enter a wait. > > lvm scans and opens block devices under /dev/ during startup, so if > there are any bad devices mentioned above, lvm2-monitor.server will be > blocked, and because its type is oneshot, it will block the boot > process, even if the poor device is not using lvm. > > May I ask if there is a way to avoid it? For example, can the > type of this service be changed from oneshot to simple? Or is there > any other better way? Hi We are aware of this weakness and we are thinking about the solution for this. However - for booting - you should not be actually monitoring things in ramdisk (lvm.conf should use monitoring=0) - so the boot is monitore-less. Once system is switch to rootfs - monitoring should be enabled with vgchange --monitor y (if enabled in /etc/lvm/lvm.conf) But we need to rethink some caching strategy - as the code for plain lvm2 command is now causing some troubles within dmeventd instance. Regards Zdenek