Back to blog

Backups in my homelab: separate from the cluster

How I back up my Proxmox environment, my CachyOS PC, and the data from Immich and Nextcloud.

Backups are easy to postpone until they suddenly matter. As long as everything works, they feel like something for later. Then a VM breaks, a disk starts acting strange or I clean up a little too aggressively.

I change enough in my homelab that I do not want to gamble on that. I move VMs, change VLANs, run updates, test new containers and sometimes reorganize storage. Most of the time that is fine. But I do not want one dumb mistake to turn into an evening of reinstalling and figuring things out again.

My backup setup has three layers: daily backups in Proxmox Backup Server, separate disk images and rsync copies on an internal 6TB drive, and a monthly copy to an external drive that is not stored at my house.

Daily backups with Proxmox Backup Server

For regular VMs and containers I use Proxmox Backup Server. That is my daily backup layer. It is mainly there for normal recovery: a failed update, a bad configuration change, or a VM I want to roll back to an earlier state.

It works well because Proxmox Backup Server fits neatly into Proxmox itself. Scheduling backups is simple, retention is easy to manage, and deduplication keeps storage usage more reasonable than a pile of full copies.

For day-to-day use, that is exactly what I need. If I break something inside a VM, I want to get back quickly. Proxmox Backup Server is good at that.

A 6TB HGST drive for images and data

I also use a 6TB HGST HDD for things I want to keep outside the normal Proxmox Backup Server backups.

On that drive I store dd copies of the boot drives from my Proxmox servers. These are not backups I expect to restore every day, but they give me an extra fallback if a boot disk dies or if I want to bring a server back to a known state faster.

I also make a dd copy of my PC. It runs CachyOS, and I do not want to rebuild everything from scratch if a disk fails or if I manage to break the install badly enough myself.

The same HGST drive also holds rsync copies of my Immich and Nextcloud instances. With those services, the data matters most. Redeploying an application is annoying, but photos, documents and configuration are the things I really do not want to lose.

Monthly copy to an external 8TB Seagate drive

One extra local drive is useful, but it is still local. If something goes wrong at home, that HGST drive is in the same place as everything else.

That is why I make a monthly copy of the HGST drive to an external 8TB Seagate HDD. That external drive then stays at my parents’ house. That is intentional: it is not always plugged in, and it is not in the same building as my servers.

It is not a complicated enterprise setup, but for home use it is a good balance between effort and safety. Daily recovery stays quick through Proxmox Backup Server, and for bigger problems I still have a copy outside the house.

Why this follows the 3-2-1 idea

This setup follows the 3-2-1 backup principle.

That principle means: keep three copies of your data, on two different types or locations of storage, with one copy off-site. In my case, the first copy is the live data on my servers and PC. The second copy is on the 6TB HGST drive. The third copy is on the 8TB Seagate drive at my parents’ house.

That last step matters. A backup next to the server helps with a failed disk or a bad change. It does not help much with fire, theft, water damage or a larger power issue. Keeping the external drive somewhere else at least reduces that risk.

Not everything needs the same treatment

Not every machine deserves the same backup strategy. A test VM can disappear. A temporary container can be recreated. But my photos in Immich, files in Nextcloud, server boot drives and my CachyOS install are not things I want to lose casually.

That is why I combine different kinds of backups. Proxmox Backup Server for daily recovery. dd for full disk images. rsync for data that should come back as normal files. And then an offline copy outside the house for when something bigger goes wrong.

It still needs maintenance. I need to keep checking whether jobs run, whether the external copy is not getting too old, and whether I can actually restore the data. Having a backup file is not enough by itself.

Next post

In the next post I will briefly cover Single Sign-On in my homelab, especially Pocket ID, which I now have up and running.

I want to show why SSO is starting to become practical for me, what quality-of-life it adds to self-hosted services, and what you still need to watch out for in a homelab.