comfitu.re/blogs/2022/2022-11-19_future_of_the_subcon_server.md

6.1 KiB

Future of the Subcon Server

Written on November 19th, 2022


Howdy reader! Today I wanted to talk a bit about my home server and its immediate coming future, now that I've finally gotten a little roadmap established and new plans made. It has been a while since I wanted to decommission the current server hardware, as it's slowly showing its age now, both in terms of hardware incompatibility and power efficiency.

The current system

Currently the server is a fairly typical desktop computer. It's nothing special or enterprisy, just a regular joe desktop PC, rocking an old Intel Haswell board with an i3-4170 CPU and some 16GB of terribly mismatched RAM. Since my server has never seen heavy traffic, this has worked quite well, despite it obviously not being very suitable for more advanced things like virtualization. Truth be told, that has simply never been my end goal.

The current Subcon server, tucked away under my desk. The current server, together with the UPS powering it.

When I first built this iteration of my home server, it was a substantial upgrade to its predecessor. It provided much more stability and steady processing power, and still came in at using about 35 Watt while idling. This, including multiple big wonky hard disk drives, so I was satisfied for the time. And all this has served me ridiculously well for how simple and budget tier it was.

However, with time I have dropped a number of the heavier services on my server (such as the Minecraft and Garry'sMod servers), leaving my setup quite overpowered still for its remaining tasks. With the current plans to dedicate the server to become a more limited pubnix system, I can downsize it to a much more low-power system to save on the energy bill.

The next generation

I've been seaching for a while for hardware solutions that would fit the bill. Given the desire for a low-power system, I had placed my bets on a Single-Board-Computer (SBC), such as a raspberry pi or an x86 board with integrated Intel Pentium or Celeron processor. It had to be simple.

Coupled with this I'd figure I pair it with a set of two NVMe SSDs. Unfortunately, I went ahead and bought a couple of such expensive (though still for a good price) SSDs, before checking if my current hardware plans could even support such a thing. Turns out many low power computers can barely run a single NVMe SSD, and that is if they supported it at all. So to run two of them? Not gonna happen.

It was at that point that I decided to make the most of what I had and find a system that could at least run one of the two sticks I had bought. After some searching, I finally managed to find a system that almost perfectly fit my needs: the Odroid H3.

The Odroid H3.

The H3 is a small x86 board with a reasonably new Celeron CPU that can boost to a whopping 2.9GHz clockspeed if needed, but runs at a more comfortable 2GHz when not under stress. Besides that, it will run one of my NVMe drives, as well as two more SATA drives so I can still expand the storage capacity to more than I will ever need for now. Lastly, it can deal with more RAM than could possibly be healthy for a small board like this. All of this in a very power efficient package that isn't even particularly expensive. It was here that I decided to make the H3 my plan for the future.

The roadmap

Before I can actually start running an H3 as my new server, a lot of migration will have to be done from the older server. As such it won't be a quick job. Certain things will have to be taken into account, such as what to do with my huge personal media library, how to deal with backups, and certain other things need some figuring out: most importantly, how do I wish to set up and organize the file system? As it stands on my current server, the file system is a mess and not very friendly or secure.

As such, the roadmap for migrating will look a bit like this:

  1. Plan out the new filesystem. This will tell me if I need to look into setting up LVM partitions, in case I need my partitions to be dynamically resizable at a moment's notice. Such a thing is easy with LVM, not so with regular partitions.

  2. Plan out how to migrate existing data. Besides the obvious things like databases, this also includes thinking about where to move my software installations and if this requires more than a simple copying of a directory.

  3. Backups. How will I make them? If I figure this one out beforehand, I could potentially already make some backups the new way.

  4. The other backup, a backup battery. As it stands, my current UPS is extremely overpowered already, even more so for the Odroid. This may take another long search, as low-power UPS systems are rare and expensive, and as of writing there is no custom solution for an H3.

  5. Actually purchase the H3 and other parts. These won't be available here until December, so I'll have to wait at least until then. Given how much storage space I'll initially need, I might have a think about buying one or two SATA SSDs.

  6. Finally, migration time. This just comes down to doing it, moving files and reinstalling everything. For this I will likely need a few days off from work so I can take my time to do everything properly.

I estimate that it will all take at least until the end of the year to complete, so some changes in the plan might still pop up. However, I think the above roadmap sums up quite well what needs doing.

The future of Subcon

After all is well and done, I think this will mark another period of stability where the system will not change, not unless something breaks. My current server has been doing its job for quite a number of years now, and I hope the H3 will serve me as well for just as many years.

This means I can focus on building the pubnix community, perhaps adding a few new bits of software, but most importantly, just use the damn thing on a daily basis without having to worry about anything else. Once it is done, I hope I can welcome some of you as new users!

Until then, and happy computering!

Cute Kosuzu!