I’m running a Ubuntu server on my old laptop with an external HDD connected to it. The external HDD is powered independently from the laptop, as it is plugged into the wall.

During a power outage, my laptop remains operational due to its battery, but the HDD shuts down. When power is restored, my laptop does not automatically remount the HDD, and I have to reboot the system manually to access it.

Does anyone know how I can resolve this issue?

  • IpsumLauren@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 hours ago

    Remove the laptop battery.

    /jk

    I used to have a similar setup and the disk didn’t last a year. All those power losses are going to break the disk eventually. Now I’m trying a cheap UPS.

  • Shimitar@downonthestreet.eu
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 hours ago

    In short: buy a cheap ups power strip or a generous USB powebank capable to being under charge 24/7 and do not let the HDD switch off on power loss…

    That is a guaranteed recepy to destroy your data and possibly the hardware as well as spinning disks don’t like abrupt shutoff and that applies to data being written on SSDs as well.

    Remounting after the power resumes is the last of the issues, easily fixed by a amount/mount command with the proper fstab setup.

      • FreedomAdvocate@lemmy.net.au
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 minute ago

        Having a battery that is constantly charging and kept at 100% is bad for the battery. Very bad. Batteries don’t like heat, and being kept on and in use endlessly generates heat constantly. Batteries should be avoided for things like this as they can swell and/or explode.

  • irmadlad@lemmy.world
    link
    fedilink
    English
    arrow-up
    11
    ·
    11 hours ago

    I had one back in the day like that. My notes on that event are old so maybe someone can modify or clarify.

    First you’ll have to find the UUID of the external drive. (lsblk -f) Then create a mount file like: sudo nano /etc/systemd/system/mnt-data.mount. In the mnt-data.mount file, insert something like:

    [Unit]
    Description=External HDD Mount
    Requires=dev-disk-by\x2duuid-<YOUR_UUID>.device
    After=dev-disk-by\x2duuid-<YOUR_UUID>.device
    After=local-fs.target
    
    [Mount]
    What=/dev/disk/by-uuid/<YOUR_UUID>
    Where=/mnt/data
    Type=ext4  # Change to ntfs, xfs, etc., depending on your drive format
    Options=rw,noatime,nofail
    

    Enable and reload:

    sudo systemctl daemon-reload
    sudo systemctl enable mnt-data.mount
    sudo systemctl start mnt-data.mount
    

    Verify status:

    systemctl status mnt-data.mount

    Should say ‘active’. Reboot and test. Let me know if that works. Like I said, that was a while ago. If it works, it’s just another reason why you should doccument your server setups. If it doesn’t, well shucks I tried. LOL

      • feannag@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 hours ago

        Wouldn’t that just mount the HDD when the server boots? I think the issue is re-mounting it while the server remains up, hence the systemd service. But maybe I don’t understand fstab fully.

    • Lenna 🔞@piefed.caOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 hours ago

      My /etc/fstab file currently has the following:

      UUID=412ea77a-96e1-427c-9f75-2aae2fe0dca1 /mnt/wd ext4 defaults 0 2

      If I were to use the mnt-data.mount you’ve suggested, does that mean I need to delete what I already have in /etc/fstab and replace it with what you suggested?

  • ohulancutash@feddit.uk
    link
    fedilink
    English
    arrow-up
    6
    ·
    11 hours ago

    That risks breaking the drive eventually. They don’t handle loss of power well. And if its being written to at the time, data loss and corruption is inevitable.

    That said, no need to reboot to mount the drive.

    sudo mount -a
    
      • OwOarchist@pawb.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        5 hours ago

        Then set up a cron job that periodically tries to read a file on the drive, and if that command fails, then execute sudo mount -a

        Like, set up a root account cron job to run touch \external_drive\test_file.txt || mount -a at 5-minute intervals.

  • Natanael@slrpnk.net
    link
    fedilink
    English
    arrow-up
    4
    ·
    11 hours ago

    I recommend a UPS, even a small one is fine for this. Spinning disks don’t like frequent starts and stops, especially not unplanned powerless ones.

    At least you should be running a journaling file system or something similar which tolerates power loss decently (you’ll still see data corruption, but the file system won’t die). If you run software that doesn’t tolerate power loss well, then you absolutely need an UPS

    • SpikesOtherDog@ani.social
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 hours ago

      Find a used one for sale. Bonus points if it has any kind of management. Replace the battery. If at all possible, have it unmount the drive at a certain percentage.

  • warmaster@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 hours ago

    I can infer that you want suggestions for cost efficient backup power. Depending on the laptop model, it could power the HDD and in case of an outage it could draw power from the laptop’s battery. It would decrease battery charge duration but it would be enough for a graceful shutdown to prevent data loss.

    Alternatively, you could maybe use a battery pack.

  • tal@lemmy.today
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    9 hours ago

    Does anyone know how I can resolve this issue?

    I don’t know why you’d need a reboot to remount the thing. Are you just not familiar with how to add something to /etc/fstab and mount it manually and are relying on some kind of auto-mounting system that only happens to run at boot, or is it giving some kind of error?

    If an error, what happens when you do:

    $ sudo mount -o remount /mnt/the-mount-point
    

    ?

    • Lenna 🔞@piefed.caOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      8 hours ago

      auto-mounting system that only happens to run at boot

      This is correct. I made my drive auto mount using /etc/fstab, and I believe that is only checked once during boot.

        • Lenna 🔞@piefed.caOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 hours ago

          If I were to make it run that command every 5 minutes, would there be any downsides?

          • tofu@lemmy.nocturnal.garden
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 hours ago

            I don’t know if it has side effects when there’s issues with mounting or the like.

            It would also interfere if you want to unmount it and forget to disable the cronjob.

      • tal@lemmy.today
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 hours ago

        Nah, that’s good. What I mean is, if it’s in /etc/fstab, it should be possible to manually mount it without a reboot. Have you tried manually remounting it after power comes back?

        • Lenna 🔞@piefed.caOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          7 hours ago

          Nope, I haven’t tried that. But I will give it a try when the next power outage occurs. I actually didn’t know I could manually remount until today. I’m still pretty new to selfhosting.

          • tal@lemmy.today
            link
            fedilink
            English
            arrow-up
            2
            ·
            7 hours ago

            Gotcha. Yeah, the stuff in fstab is just a convenience; it’s equivalent to running a bunch of mount commands at boot. You might be able to just run “mount” again without the '-o remount" option. I was just listing that in case you were seeing some kind of errors in trying to manually mount it.

    • Lenna 🔞@piefed.caOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 hours ago

      It doesn’t happen often, but when it does happen I temporarily lose access to my media. But based on what others are saying here, it looks like it’s possible to manually remount my drive instead of rebooting. So I’ll give that a try.

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 hours ago

      I was going to mention that, but also that while I’m sure that it’d handle power loss while it’s unmounted the filesystem I don’t know what happens if the backing storage goes away while it’s in use.

  • Ebby@lemmy.ssba.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    12 hours ago

    Cheap and dirty solution would be a battery backup for the drive, but there are some big concerns about the setup. Drives don’t like to go dark like that.

    • Lenna 🔞@piefed.caOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      12 hours ago

      I had a laptop lying around and computer parts are too expensive now to build my own server, so that’s what I went with. Is the concern you have involving loss of data?

      • Ebby@lemmy.ssba.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 hours ago

        One concern, yes. Others such as parking heads. Don’t want platters spinning down with drive heads hovering. Power spikes won’t do the circuit boards any good.

        Doesn’t hurt to show servers some kindness even if it’s a laptop in a closet.