Having run a basic media server on an old Ubuntu box for a few years now, I found some time over the holidays to move into a more spacious system running Unraid.
Building upon a solid Linux core, Unraid is a network-attached storage (NAS) product that excels at serving media, particularly handy for home users. It allows growth by adding mismatched hard-drives over time. Docker containers offer all the required media services.
As this storage device is not a gaming PC, you’re better to run Unraid on many CPU cores with lots of drives, neither of which need to be blazing fast. In my case, I had a spare tower with dual CPUs (12 cores with 24 threads).
To allow for many Docker containers and a few VMs, its got 48 GB of ECC RAM:
I added a UPS to deal with brown-outs and black-outs, monitored by Unraid:
It also has an old Quadro GPU, but that’s another story.
Unraid itself runs in RAM, booting off a USB thumb-drive. After updating the BIOS settings to ignore disks in the boot order, I was able to access the Unraid GUI via web browser. With a 30 day trial, I started to test with a new 8 TB shucked drive for parity, a single 2 TB hard disk, and a small 240 GB SSD for cache.
As testing progressed, I continued to add hard-drives, pre-clearing them first, then rolling them into the array:
As shown above, I’m now up to 27 TB in the array, with data redundancy provided by the 8 TB parity disk. The oldest drive is a WD Green 1 TB from 2008!
While Unraid excels at growing a heterogenous storage array over time, these mismatched disks will not handle writes as fast as a homogenous array of fast ZFS disks on FreeNAS for example. To make up for this, Unraid uses a cache pool of SSD drives. I started with a single Kingston SSD, but added a 2nd to make a redundant pair.
As a storage array, Unraid comes with a few file shares already setup:
I added a couple more:
Unraid makes it really easy to run and update all sorts of Docker containers. For basic media server, I’m following this guide:
Swag provides reverse-proxy and Organizr tabs it all together. I’ve also added Urbackup to backup computers on my network, and AMP to run Minecraft servers.
Overall, I’m really impressed with Unraid. It’s been on my list to try for years, but I kept putting it off. We’ll see how it holds up in the coming months and years, but for the price, it seems to offer a lot of value. It’s done an excellent job of taking over as my media server. I hope to explore additional projects my adding more containers and VMs in the future.