The optimization treadmill: why I keep changing my computing setup all the time
I have a bad habit of changing my computing setups all the time. I tend to see new gear, then I get some new ideas, and then I obsessively think about it for weeks and months until I just buy it. And then the cycle repeats.
I’ve had time to think about why that keeps happening and I think I’ve got it.
I keep changing the goals, constantly, and with that I kept optimizing my setup in a different direction every time.
This post also serves as a way to explain my thought process behind my last post about the Zimaboard, since my writing may not have been clear enough on that point, or some of you just can’t read.
The treadmill
It all started with the first step in my self-hosting adventure. I had a 1TB WD external hard drive that was a single copy of all my important files, which is less than ideal if you want to preserve your data. My goal became to have another redundant copy of the storage, so I built a server from old PC parts and used hard drives, all running ZFS, and hosted in a room where loud PC-s were more of a norm.
After that setup moved to my rented apartment, I discovered that having a buzzing tower of 8 hard drives (that was an upgrade I later made) consumes a lot of power and is also unbearable when you’re trying to sleep in the same room. My goal became to reduce the noise and the power consumption, so I upgraded to a Ryzen 2000-series based setup and at least two WD Red 4TB hard drives. It was quieter, faster and more power efficient compared to the previous setup.
Then I discovered that laptops use even less power than that. A ThinkPad X230 I had around used less than 10 watts when idling, and it just so happened that I had one to play around with. My goal became to reduce the power consumption of my home server setup even more. I ended up putting my storage on two 4TB WD Red hard drives connected over USB 3.0 and running my home services off of that ThinkPad.
Soon after that, I discovered that having a cat around USB-connected storage running btrfs
is a really bad idea.
There was data loss, but luckily nothing I could not replace. My goal became to have a low power setup that was more
cat-proof and did not rely on USB-based storage. That’s how I ended up with a TerraMaster F2-221.
Damn, these hard drives sure are loud in that NAS! I also discovered that some external 2.5" hard drive enclosures can be opened up to reveal 2.5" 15mm SATA hard drives in up to 5TB capacities. And you can plop those onto a PCIe card, for some reason. And I really liked the Thermaltake Core V1 and SSD-s for certain types of storage. My goal became to build a really cool and performant server that housed both hard drives and SSD-s, because why not?
Oh, wait, no, that thing uses a lot of power and a ThinkPad T430 became available in my computing fleet. I probably got a good deal on some 8TB hard drives around this time as well. My goal became having a lot of storage around while also using less power, and having it all as cat-proof as possible. That’s how a ThinkPad T430 ended up being a home server.
Oh, crap, that ThinkPad kept overheating because the CPU in it was a bit too much at higher loads! My goal became to find a suitable replacement that did not use a lot of power. Luckily I heard about the concept of TinyMiniMicro and got myself a Lenovo ThinkCentre M73 Tiny.
Damn, those hard drives sure are noisy, apparently due to WD running those at 7200rpm. My goal became to silence those hard drives as much as possible. I got a lot of acoustic foam, and what ended up working was to stack the drives horizontally, and add some foam between the pieces, that got rid of the humming. I also added a fan to keep the drives from overheating.
Hold on, the Raspberry Pi 4 is allegedly usable as a home server now? And it uses even less power when idling? My goal then became to have a server setup that has a single-digit idle power consumption, meaning less than 10 watts.
Unfortunately I could not get the software part running right, the setup would freeze due to unknown reasons. At least I wrote a post about troubleshooting ZFS issues as part of this run, and Google keeps recommending it to people according to Google Search Console data.
Alright, I can’t make the setup more efficient. Hold on, I also have a desktop PC, and that also consumes power when idling. That seems wasteful. My goal became to do my computing all on one machine, filling the roles of a server, workstation and gaming PC all at the same time. And I did it, and wrote a post about it as well!
Spoiler alert: it was in fact not the end-game of my setup, because I soon discovered that having everything on the same PC requires quite a special setup, and a reboot on the host OS affects all the other use cases. If you care about uptime, then it’s probably better to have separate machines for all of that. I didn’t want to give up on the idea of virtualized setups just yet, and thus my goal became to have one PC for my server and gaming needs. Games need storage, lots of it. My server has lots of storage. Makes sense, right?
After using that setup, I discovered that VR and virtualized gaming don’t mix that well. Damnit. Oh, hey, I have all these SSD-s now from that experiment, and if I shrink my data needs a bit, I could fit it all on a mirrored setup of two 4TB SSD-s, and they don’t use much power as well. That opened up a lot of possibilities regarding my next setup because a lot of small PC-s can handle two SATA SSD-s just fine. My goal became to build a silent and efficient home server. This resulted in the ASRock Deskmini X300 setup.
I’m hoping that the current DeskMini-based server configuration is the one that will last me a while.
That aged well.
I had a ThinkPad T430 lying around, and now that my storage needs were served by two 4TB SSD-s, I could finally do that one stupid idea from 2020. I also dislike knowing that I have perfectly good hardware sitting in a box and collecting dust. My goal then became to use my ThinkPad T430 as a low-power, silent and efficient home server. It was successful. Or at least mostly successful.
But the search for that elusive combination of low power consumption, adequate performance, stability, resilience and silence was not over. My blog gained traction from time to time and it would be really embarrassing if an overheated laptop or a longer power outage resulted in an outage. You see, the ThinkPad was good as a server, but it still overheated under specific conditions and once the battery runs out, the “Power on with AC attach” functionality does not work, which is quite bad for a server. My goal became to find that elusive solution.
I tried the LattePanda V1 since I got it for a good price. Didn’t work out for my use case, sadly. The website situation got solved with moving that portion of my self-hosting setup to k-space hosting, leaving me to do further experiments without affecting my lovely website that much.
After keeping my eyes open for various options, the Zimaboard was the one that finally won. Silent. Meets my storage, networking and performance requirements. Small. Super low power usage. x86 based so I know my stuff runs on it well. It’s not perfect, but it did all of those things.
And there you have it, the reason why I have written over half of these blog posts, and why my setup just keeps changing and depleting my wallet at the same time.
Let’s be honest, I’m sure that as soon as I find something exciting in the tech world to play around with, I’m probably going to try it out. Some call it passion, I call it lack of fiscal responsibility.
Free tech tip to those starting out in self-hosting: experimentation is really fun, but it’s easy to lose focus and get carried away with changing your setup all the time. You can do a lot with much less hardware than you think, so try to approach building a minimum viable home server setup first and upgrade only if absolutely necessary. In my experience it’s just as fun and probably much cheaper as well.
Subscribe to new posts via the RSS feed.
Not sure what RSS is, or how to get started? Check this guide!
You can reach me via e-mail or LinkedIn.
If you liked this post, consider sharing it!