Bug#826570: lvm2: erroneously starts lvmetad on upgrade
Apollon Oikonomopoulos
apoikos at debian.org
Thu Sep 29 08:27:29 UTC 2016
Hi,
On Mon, 06 Jun 2016 14:11:54 +0100 Matthew Vernon <mcv21 at cam.ac.uk>
wrote:
> Hi,
>
> Last night, my unattended guests upgraded their lvm2 (to the version
> above) as part of an overnight update run. As a result of this,
> lvmetad was started up despite use_lvmetad=0 in lvm.conf, and now lvm
> commands are spitting out warnings of the form:
>
> WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it!
>
> ...this is giving me a lot of cron mail!
>
> I think this is most likely the postinst erroneously thinking that
> lvmetad was running and so asking systemd to (re-)start it. I have
> checked my logs, though, and lvmetad hasn't run on this system as far
> back as logs go.
>
We were bitten by the same issue. This is caused by a set of
dependencies between lvm systemd services, as follows:
- lvm2.postinst restarts lvm2-lvmetad.socket. lvm2-lvmetad.service
itself is not (re-)started.
- lvm2-pvscan at .service's, which are already activated via udev, have a
Requires=lvm2-lvmetad.socket dependency.
- When lvm2-lvmetad.socket gets restarted, the pvscan services get
restarted as well, trigering `pvscan --cache` which in turn uses the
lvmetad socket and causes the lvmetad service to start using socket
activation.
I'm not sure what the solution would be here; possible solutions would
be to either skip restarting the socket (unless the unit file has
changed between versions), or relax the Requires= dependency to Wants=,
which will skip the pvscan restarts.
Note that stretch's lvm2 has a completely different way of handling
pvscan et al, using a systemd generator, so I'm not sure it is affected.
Cheers,
Apollon
More information about the pkg-lvm-maintainers
mailing list