Skip to main content

Building a better backup server

It's always exciting to get new homelab stuff! Here's what I've been up to.

My old Proxmox Backup Server has been running on a Thinkpad x270 with a 5TB external USB drive for a little over a year now. It is installed alongside the hypervisor, with ZFS on the datastore. It's been working great! Backup times were not that bad, but restore times were really slow.

I still use that node as a secondary backup server, which will clone the primary backup datastore daily. I plan to move it to my mom's house and leave it connected via tailscale as part of my little "3-2-1" backup plan.

I wanted to build a better, faster PBS server that can also double as a robust Proxmox node for other tasks. I also wanted to do it cheap! So I started hunting on ebay...

The new server #

You already know I bought another Thinkstation.

Thinkstation P320

I bought a P320 Tower, little brother to the P330 SFF I already have. It came with an i7-7700k, 512gb nvme, and 32gb of ddr4.

Here are the parts I was able to get and the prices:

Quantity Item Price
1 Thinkstation P320 $163
2 12TB Toshiba MG07ACA12TEY (new) $100/each
2 12TB WD HUH721212AL (used) $90/each
1 32GB Timetec ddr4 2600 $50
1 10gbe Intel X520 nic $20
2 Orico hot swap bay adapter 5.25" $18
--- --- ---
Total $649

So for less than the cost of a decent NAS with no disks, I was able to get 48TBs, 10gbe, 64gb ram and a fairly strong kaby lake cpu. One day when we reach a post-scarcity society, I'll swap to ECC memory and get more flash storage.

Hardware #

Both the "new" drives and the "used" drives came in Dell hotswap bays, which I had to remove.
Dell drive caddy

This case only has 2 slots for 3.5" drives, so I slipped the little plastic Lenovo caddy on two of them.

Lenovo drive caddy

For the other two drives, I used the two hotswap bays from Amazon. Very cool little devices for $18!

Hot swap bay

Pretty tidy! There is a garbage SSD free-floating around in there. We'll chat more about that in the ZFS optimization post. (Foreshadowing: awful SSDs make awful SLOG/L2Arc devices)

Server internals with drives hooked up

It looks pretty awesome with the drive bays now! The lights are REALLY bright though, if that's not your thing. Blue when powered on, red for activity. It's like a police raid when the backups are running.

Excuse the wires, had to plug in a monitor to troubleshoot (network cable was plugged into wrong port):

Server rack with backup server installed

Initial config #

Pretty simple, just slapped Proxmox on it, installed Proxmox Backup Server alongside it.

The ZFS pool is setup as a striped mirror, with two drives in each vdev. Ashift=12, compression=LZ4, recordsize=1M.

First impressions #

Backup speed

Backups and restores are roughly ~10x faster! Old backup server would write at about ~20MB/s. Now backups are writing at 250MB/s+. Reads are obviously much higher (~20 seconds to restore average 32GB linux VMs). Live restores work great. This node also has 8 times as much memory as the old x270 has, so I'm able to run a lot more VMs on it as well. Pretty good deal!

Very excited to delve deeper into ZFS and start testing my workload and optimizing the pool settings.

I have been messing with recordsizes, volblocksizes, SLOG devices, and L2arc already! The next post will contain some of my findings.

Happy homelabbing!