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.
You are absolutely correct. I don’t mind the few GB’s worth of data for the operating system, a single video with my drone is likely more than that and it’s not something you can deduplicate nor compress very well. If I really wanted I think it should be possible to squeeze the operating system at least below 2GB, but it’s just not worth the effort. I just want that the memories over 20+ years I have on the thing to remain.
I am fully backing up my Mail Server with some exclusions like /tmp etc. with restic now for over a year, including updated binaries and docker images etc. and have about 16GB of data with hourly backups for over a year.
True, sometimes there are other files though. For example my Minecraft server I backup the world but not the web map files, since those are over 30GB and can be regenerated.
I use backborg for backups. I wouldn’t use a storagebox (mounted on your VPS) because you would have data and backup in the same machine (problems with crypto and with human error like: ops, I’ve
rm -rf
everything 🙈😆) and with the same service provider. I’d use Backblaze B2 or Wasabi.Oh, no. The data is on my local server and VPS is a whole different thing. I just brought up that I already use hetzner services, so it would be convenient to stick with a single provider.
Oh, got it. It does make sense!
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?
As a service it’s not free, but apparently I’ve misread the proxmox website in a hurry. I’m not too familiar with their licensing, but even if I’d get a VPS and enough storage for it to run a proxmox backup server it’s still more expensive than just a raw storage from somewhere.