Server Hardware & Operating Systems
I constantly tweak my homelab. Recently I’ve gotten in the habit of periodically taking notes on my setup.
2025: The Shrinking Begins
Highlights:
- The ODROID-H4 Ultra is amazing
- FreeBSD and Alpine Linux are my top picks for server OSes
- ZFS for everything
- 2026 may be the year of the 10” mini-rack
Platforms Online 24/7
| Role | OS | Board | CPU | RAM | SSD | HDD |
|---|---|---|---|---|---|---|
| Primary | FreeBSD | ODROID-H4U | Intel Core i3 N305 | 64G | 1 | 4 |
| Backup | Alpine | X12STH-F | Intel Xeon E-2324G | 64G | 1 | 4 |
| Web | FreeBSD | Hetzner VPS | AMD Epyc (2 cores) | 2G | 1 | 0 |
Platforms Recently Demoted and/or Mostly Offline
| Role | OS | Board | CPU | RAM | SSD | HDD |
|---|---|---|---|---|---|---|
| USB-UART | OpenBSD | RPi5 | RPi5 | 8G | 0 | 0 |
| Testing | FreeBSD | X12STH-F | Intel Xeon E-2388G | 64G | 1 | 4 |
The big change here is replacing the Xeon E2388G with the extremely efficient ODROID. The Xeon is great if you’re compiling a lot of code or frequently doing very process-intense operations, but for my normal usage it’s a bit overpowered. It’s TDP is 95W and can easily jump into the 140 range under load. I was shocked to find I could replace it – with almost no tradeoffs – with an 8-core SBC system that measures 5” x 5”, runs silently, and only uses 7-10 Watts of power, 15 max. And for only about 20% of the cost of the Xeon system. I’ve only had it since mid-year, but so far absolutely no complaints.
The RPi5, is mostly unecessary. It’s not as capable as the ODROID, and I really don’t have any tasks that warrant running a separate system. I did add a PoE + NVMe HAT to it, which gives it its one super power: I can turn it on remotely with a PoE power cycle from my switch without any special wiring into the GPIO. It’s one legit purpose is that it’s wired into the serial console of the ODROID. But most of the time it’s off. I also use it to hack around on OpenBSD, but mostly for the sake of curiosity.
Alpine and FreeBSD remain the winning combo for servers. Both are stable and simple, and having FreeBSD and Linux servers online allows me to cherrypick the best platform for any particular workload.
File Systems
Everything is ZFS now. Prior to Finding FreeBSD, I was using Linux’s Btrfs for all my data storage needs. This year I stopped using anything but ZFS, regardless of OS. A few highlights:
- I now have standard zpool setups between FreeBSD and Linux, which simplifies a lot of things for me
- ZFS-native encryption. While luks and geli are technically the better options as they offer true full disk solutions, using zfs native encryption is good enough and much simpler to setup and manage.
- Hot-swappable zpools. With the points above, I can move a pool between FreeBSD and Linux systems, which I have tested and it works well. I don’t expect to actually do this, but it’s nice to know that it’s possible if some hardware catastrophe were to arise.
I can’t think of any headaches ZFS has given me. If anything, it’s re-taught me a few things about how to smartly handle data with minimal risk. I can’t recommend it enough.
Platform Details
Xeon E-2324G System
- Supermircro 825TQC-R740LPB 2U Chassis
- Supermicro X12STH-F motherboard
- Intel Xeon E-2324G
- 4 x 32 GB of Samsung DDR4 UDIMM ECC RAM
- Intel X710-DA2 Fiber Network Adapter
- Data Storage Devices Cabled Directly to Motherboard
- SATA HDDs: 4 x 20 TB WD Red Pro
- NVMe SSD: 1 x 1 TB Samsung 970 EVO Plus
Xeon E-2388G System
- Supermircro 826BEC1C-R920LPB 2U Chassis
- Supermicro X12STH-F motherboard
- Intel Xeon E-2388G
- 4 x 16 GB of Samsung DDR4 UDIMM ECC RAM
- Nvidia Mellanox ConnectX-4 Lx
- Supermicro
AOC-S3008L-L8e HBA connected to a Supermicro BPN-SAS3-826EL1
backplane
- SATA HDDs: 4 x 14 TB WD Red Pro
- NVMe SSD: 1 x 250 GB Samsung 970 EVO Plus
ODROID-H4 Ultra System
- ODROID-H4 Case Type 1
- SBC ODROID-H4 ULTRA
- Processor, Core i3 Processor N305 - An interesting note: the specs say 16GB of RAM is the max. It turns out it has no problem going much higher than this and is broadly confirmed. I went with 64GB.
- RAM, Crucial 64GB DDR5 RAM 5600MHz
- UART Cable DTech USB to TTL Serial
- 2 x 22 TB, 2 x 26 TB WD Red Pro
2023: Leapfrog 2U Setup
Highlights:
- Near identical 2U setup allows for one do-everything and one next-gen server
- FreeBSD is a surprising newfound love
- Linux server distributions all find a way to irritate me
Platforms Online 24/7
| Role | OS | Main Board | CPU | RAM | Storage |
|---|---|---|---|---|---|
| Primary | FreeBSD | X12STH-F | Intel Xeon E-2388G | 128G | ZFS: 1 SSD, 4 HDD |
| Secondary | Ubuntu | X12STH-F | Intel Xeon E-2324G | 64G | ZFS: 1 SSD, 4 HDD |
| Web Server | FreeBSD | Vultr | 2 vCPUs | 1G | UFS: 1 SSD |
Platforms Recently Demoted and/or Mostly Offline
| Role | OS | Main Board | CPU | RAM | Storage |
|---|---|---|---|---|---|
| Experimental | Debian | Raspberry Pi 4 | Raspberry Pi 4 | 8G | ZFS: 1 SSD |
Last year I installed FreeBSD and really liked it. This year I made it my primary and web server. It’s great. I run almost everything in jails and have a few bhyve instances running where I really need a Linux solution. I really enjoy the simplicity of it and have wrote quite a few articles about it now. I’m even working on one for the FreeBSD Journal!
I really like the leapfrog setup. By this I mean, my secondary server is half experimentation, and half ready to take over the primary server’s role if needed. For every jail I have on the FreeBSD primary, I have an identical lxc container on Ubuntu. It’s been interesting to build and rebuild some of these instances as I find minor things to improve my own setup and flow each time. Ubuntu is the current leader, but I’d like to find something lighter and run Ubuntu in a container. Void and Gentoo are always interesting options. I’ve used Alpine a few times in containers and really like it. Might be worth trying it out on metal.
File Systems
ZFS has caught my eye. I’ve long watched it from the sidelines, but with Linux as my only platform I just stuck with in-kernel options. But with FreeBSD it’s trivial to use it.
So I’m in hybrid mode:
- Linux: Btrfs
- FreeBSD: ZFS
- Encryption: LUKS on Linux, GELI on FreeBSD. I’ve been reading about native ZFS encryption. Some say avoid it, others say it’s fine. It seems there are a few well-known bugs that are actively being worked on. I’ll probably monitor this and if it seems reaonably safe try it out for awhile.
2021 And Prior Years
Sadly, I didn’t take the best notes prior to 2021. Here are a few very short notes.
- 2021: Supermicro 2U x 2
- 2018: Dell Poweredge R520 + Custom Supermicro 2U
- 2013: Dell Poweredge R520 + Custom 3U Chenbro
- 2011: Tower PC w/ RAID for the first time (hardware)