Hardware

When designing an infrastructure, hardware is extrememly important.

LiteServer v1.0 - Windows 10 Pro

My very first server was far from what most people would envision when they hear the word. Most people would look at it and laugh, thinking it was a joke. It was assembled from bits and pieces that were given to me by colleagues and relatives, running dated hardware that couldn't suit much of a better purpose. I named it LiteServer, as the internals were nowhere near what most people would consider server potential. LiteServer started life as:

  • Intel i5-4460
  • 8GB DDR3 @1866MHz
  • ASUS H81M-C
  • 128GB SSD + 1TB HDD

It was my first entry into a hosted system, and I commend it for how well it served me. Although it worked great as my alpha server, I quickly outgrew it. LiteServer 1.0 received an upgrade to an Intel E3-1231v3 and 16GB of DDR3 1600, but I quickly outgrew that as well. Between 6 Minecraft servers, a Killing Floor 2 server, and Caddy now running two hosted websites, I had to quickly find a new solution.

LiteServer v1.1 - Windows 10 Pro

This revision came shortly after with some significant upgrades. My main issues with v1.0, even after the processor and memory upgrade, was that the processor wouldn't ever reach the treshold to turbo boost to the 3.8GHz it was capable of, even with multiple users on each minecraft server. This caused the users to see longer load times and made the MC worlds feel clunky. I found a great deal on a new setup, which I quickly hopped on.

  • Intel i7-6700K - OC'd @4.6Ghz
  • 24GB DDR4 @2666MHz
  • MSi Z270 Gaming M5
  • 256GB SSD + 1TB SSD

This gave me the performance jump I was needing. Running a Windows host, I found the CPU affinity settings through Task Manager/Services, which allowed me to set each MC server to 1 core or thread. This immediately set the allocated cores/threads to their turbo threshold, where the clunkiness went away. It was everything I could ask for - until it wasn't.

By this time, LiteServer2 had made it's debut, running a fresh copy of UnRaid and kicking ass at doing so. I realized soon after that Windows wasn't cutting it anymore - it was way too much of a resource hog for what I was doing, and it was even more inefficient in the energy consumption department. Even at near-idle (under 20%), LS1.1 was using 200W at the wall. That may not seem like a lot, but let me assure you, it adds up. The 4.6Ghz overclock took the previously 91W TDP processor to a 140W TDP CPU, as well as the memory being overclocked from 2133MHz to 2666. After doing some research, it turns out that Skylake K skus had a tendency to exceed their TDPs, even without an overclock applied.

LiteServer v1.2 - Proxmox

LS1.2 is the most recent revision and reflects it's current state. This upgrade gave me the performance boost I was looking for. While the clock speed is a bit slower, the core count is really what I was after.

  • AMD Ryzen 7 2700X
  • 24GB DDR4 @2666MHz
  • ASUS ROG Strix B450-F
  • 256GB SSD + 1TB SSD

LS1.2 is soon to get a memory upgrade, replacing the 8GB it with a 32GB kit. With 48GB total, I'll have the memory and core count I need to run multiple quick and reliable VM's I'm looking for.

Well, this didn't age well. I found that the memory controller on Zen 1 CPUs does not like mixing memory like this, failing to post in a 2x8GB and 2x16GB configuration. I ended up with a 4x8GB kit of 2666MHz memory from my current employer. The previous memory was reused in MCNode.

LiteServer v2.0 - UNRAID

LiteServer 2.0, although sharing a name, has nothing in common with LiteServer, version 1.1 at the time of LS2's beginnings.

  • AMD Ryzen 7 2700X @4.0GHz
  • 32GB DDR4 @2933MHz
  • Gigabyte X470 Aorus Ultra Gaming
  • 1TB NVME (Cache)
  • 5TB 3.5" (Parity)
  • 12TB (3 x 4TB 3.5" Array)

LiteServer v2.1 - UNRAID

After spinning up every Docker container and VM I could possibly imagine using, I found that 12TB was not going to be enough. After starting my Jellyfin server, I rapidly approached 9TB used, and I still needed to get UrBackup running on my main computer. I went out and bought another 4TB drive to try and appease my storage consumption. I also added a GTX 760 on loan from a friend for NVENC encoding for Jellyfin, as my CPU was getting slammed while watching movies.

  • AMD Ryzen 7 2700X @4.0GHz
  • 32GB DDR4 @2933MHz
  • Gigabyte X470 Aorus Ultra Gaming
  • GTX 760 4GB (NVENC)
  • 1TB NVME (Cache)
  • 5TB 3.5" (Parity)
  • 16TB (4 x 4TB 3.5" Array)

LiteServer v2.2 - UNRAID

This is by far the largest upgrade for LS2. I found myself frustrated that I couldn't get my memory speeds above 2933MHz, to the point of swapping motherboards with a reluctant individual in a Swap Shop Group on Facebook. A new kit of memory was ordered just in case. Only after these replacements were installed did I realize that the Ryzen 7 2700X's memory controller struggled to run memory at anything above 2933MHz, so it was the next to go. Another individual swapped my 2700X for a 3700X with cash on top, and I was ecstatic. This did the trick, and I was now able to run virtual machines at 4.0GHz core clock and 3600MHz memory clock.

I also realized that I had multiple larger capacity drives in my possession that I wasn't really utilizing, and backing the data stored on them would be a chore without upgrading the array further. I carefully swapped the array and parity drives with these larger drives to create a 26TB array, versus the 16TB array.

  • AMD Ryzen 7 3700X @4.0GHz
  • 32GB DDR4 @3600MHz
  • ASUS ROG Strix B450-F
  • GTX 760 4GB (NVENC)
  • 1TB NVME (Cache)
  • 10TB 3.5" (Parity)
  • 26TB (1 x 10TB, 1 x 8TB, 2 x 4TB 3.5" Array)

MCNode v1.0 - Proxmox

MCNode was birthed from the parts replaced in LiteServer v1.1, with minor differences. The Z270 motherboard was sold and replaced with a faulty ASUS Z170 (more on this later). Up to this point, all of my MineCraft servers were subscription free - any friends and friend-of-friends were allowed to play on my servers for free, so long as they were invited by a mod, admin, or operator.

  • Intel i7-6700K @4.6GHz
  • 16GB DDR4 @2666MHz
  • ASUS Z170 Pro
  • 512GB SATA SSD (Boot)

I was requested to make a new SpigotMC server that could host up to 50 players at a time, a bold request for the amount of resources I found myself left with prior to LiteServer v1.3. Long story short, we agreed on expected performance, uptime, and a monthly fee - a first for my hosted service. Only having 4C/8T and 16GB to work with, I had to find a way to keep performance up while minimizing hardware usage. This is when I discovered how resource intensive running an MC server on Ubuntu MATE in a VM really was. Through Proxmox, I created a new LXC container based on Ubuntu 20.04 LTS and found myself in awe. I went from requiring 2 core and 6GB memory to 1 core and 3GB memory. My virutal disk footprint went from 32GB to 10. By eliminating the overhead of an entire operating system, I managed to cut my required resources in more than half.

Sed feugiat lorem

Lorem ipsum dolor sit amet, consectetur adipiscing vehicula id nulla dignissim dapibus ultrices.

Learn more

Nisl placerat

Lorem ipsum dolor sit amet, consectetur adipiscing vehicula id nulla dignissim dapibus ultrices.

Learn more