So, I’ve been pushing my photos to local immich-instance and I’ll need some kind of file storage too soon, total amount of data is roughly 1,5TB.
Everything is running on a proxmox server and that’s running somewhat smoothly, but now I’d need to get that backed up offsite. I’m running a VPS at Hetzner and they offer pretty decently priced S3 storage or ‘storagebox’ which is just a raw disk you can connect via SMB/NFS and others.
Now, the question is, how to set up automated backups from proxmox to either of those solutions? I suppose I could just mount anything to the host locally and set up backup paths accordingly, but should the mount drop for whatever reason is proxmox smart enough to notice that actual storage is missing and not fill small local drive with backups?
Encryption would be nice too, but that might be a bit too much to ask. I have enough bandwidth to manage everything and after initial upload the data doesn’t change that much, the only question is what is the best practise to do it?
The most efficient option is probably Restic inside each VM/CT, because you pick exactly what you need to backup instead of the entire OS.
If you use any kind of deduplication and or compression, the system files do not amount to any meaningful size (assuming there is no additional encryption on the VM disks). Especially when you consider the size of OPs data, 1,5TB, then the couple of GB of system binaries etc. do not really matter.
Simplest way would be to mount the nfs share natively on the proxmox host and then backup to that file location in storage.
Here’s a good thread on it
https://forum.proxmox.com/threads/how-to-setup-nfs-for-proxmox-backups.20525/
If you’re thinking of encryption you need to think about how that could impact data recovery.
The storagebox -option isn’t as flexible as S3 on Heztner (it jumps from 1TB to 5TB) and thus costs a bit more for capacity I don’t need in the near future, but from proxmox side of view that should be pretty foolproof option.
Simplest solution would be to setup the nfs/smb as storage for backups and making a backup schedule. Datacenter -> Storage -> Add -> SMB/CIFS
Datacenter > Backup > Add
Explore Proxmox Backup Serve. You can set up replications of backup sets to an offsite location using Remotes, and this takes advantage of the dedup capability in PBS on the initial backups.
I have also used ZFS for my underlying storage of the backups, and that gets repped to zfs.rent, but it would be a more difficult recovery since I’d have to set up another PBS server and hook the zpools on to it, but not really difficult.
I also have a pair of USB harddrives that I swap on to the PBS server and it runs a separate backup to the USB drives (with the offline one failing, of course). I then swap the drives out weekly and restart the PBS server to initialize the correct datastore for the next weeks backup. I could do that online manually at the CLI, but it’s just as easy to let zfs.mount take care of it at reboot.
Proxmox backup server (at least from proxmox) is way more expensive than any raw storage option. For the external drives, I won’t do that. The server has RAID setup on disks and adding another local disk wouldn’t achieve anything on my situation as I need an off-site copy.
PBS is free software.
What do you mean by expensive? It’s free open source software no?