@gvde Your comments encouraged me to go down the rabbit hole.
TL;DR: You were right, I found out why and solved it.
The reason the files in /var/run could not get created was because of a NFS mount.
We moved the /var/lib/pulp/
directory onto a NFS share for business reasons.
The folder /var/lib/pulp/tmp
folder is mounted as a bind mount locally to /var/pulp_tmp
– it really is just a local bind to have that IO as fast as possible (at least to the kernel as the vmdk itself is also “on the network”) for those temporary files.
I did ran systemctl status systemd-tmpfiles-setup
and it showed interesting and very indicative error messages.
Then I looked into it further: Mounting the NFS share caused the following error:
[root@satellite ~]# journalctl | awk '/Found ordering cycle/,/break ordering cycle/'
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found ordering cycle on auditd.service/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on local-fs.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on var-lib-pulp-tmp.mount/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on var-lib-pulp.mount/start
Jul 14 14:09:54 satellite.home.arpa kernel: audit: type=1400 audit(1689336594.680:6): avc: denied { getattr } for pid=839 comm="systemd-tmpfile" name="/" dev="dm-0" ino=128 scontext=system_u:system_r:rpcbind_t:s0 tcontext=system_u:object_r:fs_t:s0 tclass=filesystem permissive=0
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on remote-fs-pre.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on nfs-client.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on gssproxy.service/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on basic.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on sockets.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on pulpcore-api.socket/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on sysinit.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Job auditd.service/start deleted to break ordering cycle starting with sysinit.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found ordering cycle on import-state.service/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on local-fs.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on var-lib-pulp-tmp.mount/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on var-lib-pulp.mount/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on remote-fs-pre.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on nfs-client.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on gssproxy.service/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on basic.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on sockets.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on pulpcore-api.socket/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found dependency on sysinit.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Job import-state.service/start deleted to break ordering cycle starting with sysinit.target/start
Jul 14 14:09:54 satellite.home.arpa systemd[1]: sysinit.target: Found ordering cycle on systemd-update-done
This gave me enough information to find out more via Google.
My solution was to make my own systemd mount units instead of putting it into /etc/fstab
.
The unit files look likes this:
[root@satellite ~]# systemctl cat var-lib-pulp.mount var-pulp_tmp.mount
# /etc/systemd/system/var-lib-pulp.mount
[Unit]
Description=Pulp mount /var/lib/pulp
[Mount]
What=filer.home.arpa:/vol_daten_nfs/qtree-lxupdate/satellite
Where=/var/lib/pulp
Type=nfs
Options=context="system_u:object_r:var_lib_t:s0",_netdev,tcp,rw,vers=3,rsize=32768,wsize=32768,hard,timeo=600,bg,nointr
TimeoutIdleSec=600
[Install]
WantedBy=multi-user.target
# /etc/systemd/system/var-pulp_tmp.mount
[Unit]
Description=Local pulp mount /var/pulp-tmp
[Mount]
What=/var/lib/pulp/tmp
Where=/var/pulp_tmp
Options=context="system_u:object_r:var_lib_t:s0",bind,X-mount.mkdir
[Install]
WantedBy=multi-user.target
[root@satellite ~]#
After several tests I am confident that this way we won’t be running into those problems again.
For all the others in this topic: Do you also use NFS mounts? Did you all solve it or just walk away dealing with it?