Home Server Updates

25 September 2019

My home server I re-set up last January has been working wonderfully. I’ve continued to run Arch Linux as the host OS, with a few VMs running various things from Minecraft servers to Pi-Hole, and kept btrfs as my filesystem for the storage drives. As I continue downloading and archiving far too much crap (my YouTube archive alone is now several terabytes), I needed to expand my capacity this year, swapping two of the 8 TB drives from the RAID10 array for 12 TB ones in a RAID0 setup.

My current btrfs setup now has two filesystems. The /archive filesystem is running two 8 TB WD Red drives under btrfs RAID1, used for backups and other long-term storage where resiliency is important. The /storage filesystem is running two 12 TB Seagate drives under btrfs RAID0, with metadata on RAID1, and is manually backed up to cold storage periodically. This has worked out really well and gives lots of room to grow, and excellent performance. The disks never struggle to max out the 1 Gbps network connection on the server (which is just a cheap AMD A8 desktop), and I’ve had excellent reliability so far.

I have had one issue earlier this year when I had multiple power outages combined with a bad RAM stick that ended up causing issues with the old 8 TB array, which partially prompted the upgrade. The filesystem was readable with btrfs’s recovery tools, but refused to mount, so I duplicated it all to the 12 TB drives, then created a new filesystem and moved data around until I reached my current setup. I bought a third 12 TB drive as well which I now use for my Downloads folder on my desktop PC, since I’m really bad at cleaning up my old downloads, which was useful in the migration process to have extra space to keep things temporarily.

Long-term, I plan on completely replacing this server. It works great for my current use-cases, but once I buy a house in the next year or so, I’d like to set up a server rack with a rack-mounted 10 Gbps switch and a proper server, likely running a new EPYC CPU instead of an old A8. I’d love to have a setup where I can run a large number of VMs, all with dedicated storage devices and plenty of RAM, so I’ll likely be looking at building something with a large number of SSDs, and maybe having my bulk storage on a separate server with basically just HDDs, like a Storinator or a Backblaze pod. I don’t really have a reason to have that kind of storage, but I’d love to be able to dedicate huge amounts of storage and bandwidth to things like Archive Team warriors and other long-term archiving efforts, both personal and public.

I’ve already started my own archiving tools like my comic archiver, and plan on continuing to expand those efforts to cover everything I might miss in the future if it were to disappear from the Internet. Even just things I’ve wget -r‘d have grown to be quite large of a collection, so continuing to grow my storage makes sense to me. I don’t see myself ever truly needing storage on the petabyte-scale, but I love the idea of having a petabyte of storage just because it’s awesome, so I may even go that far as drive capacities continue to increase.