I do in-house backups for my data, but the system that eats the data now is an all-in-one Intel Atom PC with a dying fan, and I don’t really trust it. Luckily we’re in the future, so fanless ARM-based computers are everywhere, so I built a little backup machine out of one. Details after the break.
I decided to try to find a Raspberry Pi clone with a SATA port to attach a disk, and it tunrs out there’s multiple of them. I ended up looking at the the Banana Pi, a Chinese clone with several variants and updates with different capabilities. I picked that because even their old model, the M1, has a SATA variant for just $40, including an acrylic case. It boots of a 16GB MicroSD card (easily found). For a hard drive, I had an older 3TB drive I reused.
For a power supply, I had a power brick for an old external enclosure that provided both 5V and 12V. I spliced it so the 5 and 12 went to a SATA power plug and a splice of the 5V also went to a microUSB port to power the Pi. If I didn’t have that brick handy, I’d just buy an old external drive that comes with such a power brick.
For the physical build, I decided I just wanted to mount everything to a simple pine board, as the final destination for the system will be screwed to the underside of my stairs in my home “server closet”. I just cut an 8″ wide board down to 14″ and stained/sealed it with deck stain.
To mount the hard drive, I made a bracket in Solidworks. It mounts the drive 1/4″ off the wood to allow for air flow.
To mount the power supply, I also made brackets in Solidworks that compress it against the wood (not going to bother sharing that, since you almost certainly don’t have my weird one-off power brick).
To mount the Pi, I just used pan-head screws on the four corners of the acrylic case.
I tacked the wires down with zipties and a bit of acrylic sheet and screws, and done.
Software-wise, it’s just a Raspbian Linux system that I’m going to run rsnapshot on as documented here. Performance on the system isn’t great – I get about 25MB/s out of it for raw transfers, 10MB/s over SSH due to encryption overhead. That’s perfectly fine for backup though; I don’t care how much time in the middle of the night it take to replicate data.