I’ve got a QNAP NAS and two Linux servers. Whenever the power goes down, the UPS kicks in and shut downs the NAS and the Linux servers, all good. The servers + NAS are automatically started when the power comes back on line using WOL. All good.

The problem is that I have apps running using Docker which heavily rely on connections to the NAS. As the Linux servers boot quicker than the NAS, the mount points are not mounted, and thus everything falls apart. Even when I manually re-mount, it’s not propagated to the Docker instances. All mount points use NFS.

Currently, I just reboot the Linux servers manually, and then all works well.

Probably easiest would be to run a cron job to check the mounts every x minutes, and if they are not mounted, then just reboot. The only issue is that this may cause an infinite loop of reboots if e.g. the NAS has been turned off.

I could also install a monitoring solution, but I’ve seen so many options that I’m not sure which one to do. If it’s easier with a monitoring solution, I’d like the simplest one. Cockpit Project looks cool and has a tab with Storage, and lists NFS mounts, but unsure if I can get alerts if they are not available.

  • sylverstream@lemmy.nzOP
    link
    fedilink
    English
    arrow-up
    0
    ·
    9 months ago

    Sorry, I’m absolutely not a Linux expert :) I use /etc/fstab for the mounts, and to manually re-mount I run “mount -a”.

    • Avid Amoeba@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      9 months ago

      This is a great opportunity to learn a bit of systemd then. Look at my other comment. I’ve had a nearly identical problem which prompted me to learn in order to solve it years ago.

      Especially if you find a corner case autofs doesn’t cover. ☺️

      • sylverstream@lemmy.nzOP
        link
        fedilink
        English
        arrow-up
        0
        ·
        9 months ago

        Awesome, yes, definitely will do. After years of using Linux, the whole systemd thing is still a bit of a black box to me. I know how to create /start/stop services etc but that’s about it. Thanks for the prompt replies!