Published on Mar 3, 2026
Hard disks, and really, any storage device, are destined to fail. It’s never a question of if, only when.
I’ve had my fair share of drive failures. As many of you know, I run a home server. Back in January, one of my disks started acting up. At the time, I was swamped with work and couldn’t address it immediately. That meant my home server was down for a while.
Unfortunately, I don’t have logs from that period. What I remember clearly is this: every time I tried to boot a VM on my Proxmox host, it would freeze right after the boot screen. No errors. Just a hang. This went on for days.
Eventually, I gave up troubleshooting and wiped the disk. Thankfully, I had a one-month-old backup. I restored the VM and everything came back to life.
That’s when I started checking hard drive prices.
They were astronomical.
Storage prices had spiked, partly due to supply constraints driven by AI infrastructure demand. Unfortunately, I couldn’t find a good deal locally.
Luckily, my Proxmox host had an NVMe SSD. I restored the VM onto the NVMe and removed the failing hard disk.
Everything worked flawlessly.
The only downside? I lost one month of data.
Lesson learned. Immediately after restoring, I:
I didn’t want to go through this again.
To prevent a repeat disaster, I researched offsite backup solutions and settled on Backblaze B2, which offers object storage at about $6 per TB per month — more than affordable for my needs.
I also decided to properly implement the 3-2-1 backup strategy.
The 3-2-1 strategy is a simple but powerful approach to data protection. It was popularized by photographer Peter Krogh in his 2009 book Digital Asset Management for Photographers.
It recommends:
That gives me:
I’m planning to move the backup machine to a different physical location to further reduce risk. That way, even if my primary location is compromised (fire, theft, power surge), I still have two independent copies of my data.
I use Proxmox Backup Server to manage backups for my VMs and containers. It provides deduplication, compression, encryption, and centralized management.
Here’s how I configured it.
4.1-1.Since I had proxmox already running, I updated it using community scripts. Alternatively, you can install PBS directly using the official ISO from the Proxmox website.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/pbs4-upgrade.sh)"Name: Any datastore name you wish
Datastore Type: S3 (tech preview)
Local Cache: /mnt/backblazecache (your new partition)
S3 Endpoint ID: Your configured endpoint name
Bucket: Your Backblaze B2 bucket
Add S3 Endpoint on Proxmox Backup Server
For backblaze make sure you have enabled Path Style and also under Provider Quirks pick Skip If-None-Match Header. Without these settings, the connection may fail.
After configuring the S3 endpoint, create a datastore pointing to your Backblaze bucket. This becomes the remote storage target for your backups.
Add Datastore on Proxmox Backup Server
Since I already had a local datastore (nyika), I created a pull job to sync backups from:
nyika → backblaze
This ensures:
Local backups remain fast and accessible
Offsite backups stay updated automatically
Data is replicated safely to the cloud
Add Sync Job on Proxmox Backup Server to Sync from one datastore to another
Backblaze UI showing sync
Storage will fail. Hardware will die. It always does.
Backups aren’t optional — they’re infrastructure.
And now, finally, I can sleep a little better.
To my haters we are back up (99% uptime)
Subscribe to get future posts via email