About 11 months ago I upgraded the main server in my home network and I figured it would be a good time to take a look at look back and gauge if it has been a success. The new system is comprised of the following components.
|Case||Fractal Design Node 804|
|Power Supply||Seasonic SSR-550GB3 80+ Bronze 550W|
|Motherboard||Gigabyte B550M DS3H|
|CPU||AMD Ryzen 5 3600 (100-100000031BOX)|
|RAM||Corsair Vengance LPX 64GB DDR4 2400|
|Video||MSI GeForce GT 710 1GB|
|RAID Controller||Areca ARC1880-iXL-12|
|NIC 2||Intel EXPI9301CTBLK 10/100/1000 PCIe NIC|
|Storage||8x Hitachi Ultrastar HUA723030ALA640 3TB HDD|
Tardis is essentially the only physical compute and storage server in the house. The workload is varied but to give an idea the system runs 9 persistent containers, 3 KVM virtual machines and stores 11.6TB of data. The system catches Time Machine backups, iOS device backups, remote site backups, and Windows 10 File History data, while also serving a Kodi media library, and a UniFi Video NVR. It also provides a number of development tooling and infrastructure support tooling that is important for my daily usage.
In general it looks like I sized the system pretty well. The goal is a 7 year lifespan and at 11 months in I am happy to say it has been humming along performing fine. Below is a view of the last month of CPU, memory and disk IO for the system.
For most of the year the system ran Debian 10 (buster), though is now running Debian 11 (bullseye). In both cases the system has been perfectly stable, only being rebooted for security updates (and a few power outages), no crashes or instability. Looking back I am glad with the hardware choices I made, things are very comfortably underutilized.
As far as some of the newer storage options I tried out, I honestly can't see any practical difference between ext4 and btrfs. I know the feature sets are vastly different but from a day-to-day use there doesn't seem to be anything actually worth talking about. I think that I'd still recommend a hardware RAID controller with LVM2 and ext4 as the stack for basically anyone unless you have a specific need. I also tried replacing the raw disk images that I currently use to back my KVM VMs with QCOW2 images and again, I didn't see a practical advantage of QCOW2 over raw. If you want to use the snapshot feature of the QCOW2 images that could be a reason but I don't backup VM images (I can rebuild them from scratch thanks to my network boot environment and Puppet) so I don't see a need to snapshot them. It's also likely there are better ways to do that than to use QCOW2 snaps. Raw images are sparse on top of ext4 and btrfs so they are space efficient and they are nearly as fast as the underlying device so when coupled with the simplicity they are very hard to beat.
I'm putting this down as a great success. The system looks like it is going to happily trundle along for years to come and the hardware that made up its predecessor is actually still in service as a workstation. It would be hard to convince me it was a poor investment, and it's something I use every day.