Docker-Swarm & NFS4-Volume gives [Errno 9] Bad file descriptor

It seems I have similar problems (although without containers) - I’ll see if an NFS3 mount is possible.

I see two problems:

  1. OMD doesn’t tell you what’s going on - it just gives you an opaque error, without explaining what the problem is (it says it’s starting Redis, but it seems it’s actually starting LiveProxy). Thankfully @tosch explains:

Liveproxyd tries to create the file ~site/tmp/run/live which needs to be a FIFO pipe and fails i assume.

  1. OMD/Checkmk should probably be working more “in tune” with the underlying system, rather than making a very complicated tree of directories and symlinks in /opt/omd. If, for example it used the system /var/run directory for that FIFO pipe, then this wouldn’t be an issue at all (either on real servers, or containers).

I can’t realistically see either of these problems being solved any time soon. (1) requires a lot of OMD rework (my untrained eyes suggest that’s going to be a big job). (2) requires much the same if not more.

A possible way forward would be to alter the ~site/tmp/run directory to be a symlink to (say) /var/run/checkmk or something (that would need creating, which could be done with a change to the systemd unit). Now the pipe would always be created on a real filesystem, and correctly would be destroyed across restarts etc. Multi-site systems might need more thinking about.

This assumes this is the only problem that’s caused by the file layout and use of NFS though.