I am trying to set up a home server. Here is how I'm planning to do it:
/dev/nvme0n1 SSD, Proxmox, VMs & CTs
/dev/sda HDD, Media library
/dev/sdb HDD, Backup
I've installed Proxmox on the NVMe SSD and created a few VMs and CTs to play with.
I have also partitioned /dev/sda and created a ZFS partition on /dev/sda1, made a pool /pool and a datastore /pool/data.
I plan to put media files on /pool/data, bind mount it on a container and run Jellyfin to serve them.
I can schedule backup jobs for the VMs and CTs themselves on Proxmox, but I'm not sure how to backup the media files on /pool/data to /dev/sdb.
-
How would one go about setting up such backups? Do I need to setup something like a cronjob with rsync or is there some easier ready-made solution? Ideally it'd be something like Proxmox's VM backup jobs that let me prune and keep some copies daily / weekly / monthly / yearly.
-
What filesystem should I use for the backup drive / partition? Is there advantage of using ZFS to backup ZFS?
-
Can ZFS snapshots be used on /pool/data for additional protection? If so how do I set up, for example, automatic daily snapshots? Do snapshots take up little space if the files rarely change?
Thanks.
6 Comments
suicidaleggroll@lemmy.world · 5 pts · 338d
Don’t stick your backups on a drive that’s plugged into the same machine as the primary copy, it defeats almost the entire purpose of having a backup.
marty_mcfly@piefed.social · 2 pts · 337d
Here is what I have on a cheap tower server:
When I spin up VMs, they are on the internal NVMe zpool. They are backed up to the external NVMe.
I have performed disaster recovery of my Jellyfin VM and other VMs from the external NVMe to internal NVMe. When the server dies, I can fix it or buy a new server and restore the VMs from the external NVMe.
Hope this helps!
ag10n@lemmy.world · 2 pts · 339d
https://www.backblaze.com/blog/the-3-2-1-backup-strategy/
https://www.proxmox.com/en/products/proxmox-backup-server/overview
TieDyePie@lemmy.world · 2 pts · 338d
I use healthchecks.io to alert me if any backups dont fire on time or have error states, free to use and a nice first line when I can't keep an eye on it regularly
non_burglar@lemmy.world · 1 pts · 338d
If the target is zfs, use zfs send. If the target is anything else, rsync.
Schedule it with cron.
Be aware that with zfs snapshots, you need to replay them to restore, which means you'll periodically need to do a full backup. ClaraSystems has a number of guides on how to create zfs datasets to make efficient backups the way you want.
Edit: KlaraSystems, sorry.
sonstwas@sh.itjust.works · 2 pts · 338d
Cause I was looking for it anyway: https://klarasystems.com/articles/openzfs-storage-best-practices-and-use-cases-part-1-snapshots-and-backups/