I want to use Déja Dup (Flatpak) to backup my machines to an NFS share.
For this I mounted the share to /var/nfs/share-name/ and set Déja Dup to backup to a Local Folder with that same Path (/var/nfs/share-name/).
Initially it looks as if the backup is performed normally, only to receive an error message after a while that the storage location does not have enough free space.
Data to be backed up: around 600GB
Available space on the NFS share: around 4TB
Available space on host system: around 400GB
I therefore assume that Déja Dup uses the free disk space of the host system as the basis for the abort.
Do I have to define the NFS share differently in the backup settings?
OK I just tested and we do correctly get the size of the nfs server mount - so it might be another similar issue, like us running out of /tmp space on the host or maybe a place where we accidentally look up host space instead of mount space.
Can you provide more info on the exact error you see? A screenshot maybe
Because duplicity isn’t the greatest at handling running out of space, we are a little conservative and check that we have plenty of it.
So we take the uncompressed size of the backup files, and multiply by two (two full backups worth of space) and then see if the total space at the destination is at least that big.
(That’s total space, not just free space. There’s also some checks against free space, but you’re hitting the total space check.)
Your error message
So what that error message is saying is that the detected total space of the target is less than 829GB. Which… is weird because your local hard drive has 989GB and the NFS drive has 12TB…
So what total size are we grabbing?
Easier testing
You should be able to see the same numbers that Deja Dup is by running gio info -f /var/nfs/vault/backup/amadeus-4/
Oh oh oh - I think this is because /var is a weirdo inside a flatpak. Where parts of it get re-mounted instead of the host’s /var. That 8GB might be a tmpfs mounted over /var inside the flatpak and the flatpak might not be seeing the real nfs mount at all (at that location anyway).
Let me retry my nfs testing and mirror your /var setup. There should be a way to work around that.
OK - after some quick testing, there’s no way to reliably avoid this problem.
If you use the file chooser dialog and end up with a folder like /run/user/1000/doc/1f7832c1/amadeus-4 it won’t persist after a reboot (because flatpak-portals does not persist folder access for flatpaks with host permissions - which… might be a thing they’d be willing to change, but that’s not a today fix).
And if you manually enter the /var/nfs/... location in the preferences, it won’t actually be usable, because /var/ is a fake mount inside the flatpak.
So the only workaround I can think of for you right now is to use a different prefix - i.e. nothing under the following: "/lib", "/lib32", "/lib64", "/bin", "/sbin", "/usr", "/boot", "/root", "/tmp", "/etc", "/app", "/run", "/proc", "/sys", "/dev", "/var"
I need to add some UI to warn the user about this problem…
Oh, I see. Interesting. Let me know if there is anything else I can do to help you. Like adding special permissions to the Flatpak or mount the shares outside of /var/.
I hope I did not use another forbidden path when mounting my NFS shares to /mnt/nfs/ but it seems to be working with that path as the backup is currently in progress.