I dont know too much about systemd, but it is strange that depending
service can fail if has set shorter timeout than service which depends on:
[Unit]
SourcePath=/etc/fstab
Documentation=man:fstab(5) man:systemd-fstab-generator(8)
Before=local-fs.target
RequiresOverridable=systemd-fsck@dev-mapper-vol_md2\x2dlv_var_lib.service
After=systemd-fsck@dev-mapper-vol_md2\x2dlv_var_lib.service
content of dir local-fs.target.wants:
**** lvm2-activation-early.service
[Unit]
Description=Activation of LVM2 logical volumes
Documentation=man:lvm(8) man:vgchange(8)
DefaultDependencies=no
After=systemd-udev-settle.service
Before=cryptsetup.target local-fs.target shutdown.target
Wants=systemd-udev-settle.service
[Service]
ExecStart=/sbin/lvm vgchange -aay --sysinit
Type=oneshot
[Install]
WantedBy=local-fs.target
*****
[Unit]
Description=Activation of LVM2 logical volumes
Documentation=man:lvm(8) man:vgchange(8)
DefaultDependencies=no
After=lvm2-activation-early.service cryptsetup.target
Before=local-fs.target shutdown.target
Wants=systemd-udev-settle.service
[Service]
ExecStart=/sbin/lvm vgchange -aay --sysinit
Type=oneshot
[Install]
WantedBy=local-fs.target
**** content of udev-settle-service, which wants
[Unit]
Description=udev Wait for Complete Device Initialization
Documentation=man:udev(7) man:systemd-udevd.service(8)
DefaultDependencies=no
Wants=systemd-udevd.service
After=systemd-udev-trigger.service
Before=sysinit.target
ConditionPathIsReadWrite=/sys
[Service]
Type=oneshot
TimeoutSec=300
RemainAfterExit=yes
ExecStart=/bin/udevadm settle
If I set timeout 60 sec, system starts (after timeout of udev-settle)
normally, otherwise both services mounting /var/lib and /mnt/data fails
and system goes to failsafe mode.
So question is How is this possible? Service waits and timeouts on
something on which does not depend? Or depend... so how it is possible
systemd starts this service after failure of service which depends on.
Miloslav
Am 17.01.2016 um 20:18 schrieb Miloslav Semler:
Finally,
I found that if I shorten timeout of systemd-udev-settle.service from
180s to 60s, systems boot to normal mode (althrough this udev service
rise an error).
So please fix timeouts in this package to 60sec otherwise udev mount of
lvm drive can fail.
I don't see how this would be a proper fix.
So far we don't know what the underlying problem is and how to reproduce
it, which is a prerequisite for fixing it.