What is it?
It’s a home made NAS featuring a “zero cost” design philosophy.
Based on an old ASUS A88XM-A FM2+ mainboard and Athlon X4 870K – Buy both on eBay for under $100 if you can’t dig one out of e-waste for nothing.
I made it quiet for my home by installing a large CPU heatsink and +80 PSU with fan control – fan noise is practically zero.
The hard drive noise isn’t noticable unless the array is reading/writing, and I have a big aversion to any kind of auto spin-down. Not because drives last longer when always spinning, but because of the wait for the thing to spin up when I go to use it.
Always-on availibility from old second hand parts requires a decent quality, moden PSU at the very least. Steady constant power is the sole foundation of everything any computer does.
Hardware
Main System
Motherboard: ASUS A88XM-A (Socket FM2+)
CPU: AMD Athlon X4 870K 3900Ghz (running at 4300Ghz)
CPU Cooler: CoolerMaster Hyper 212 EVO v2
RAM: 4x Corsair Vengenace 8GB 1866Mhz (running at 2133Mhz) DDR3 modules (32GB total)
Power Supply: Corsair RM750x
Storage
2x 128GB Bestos SATA SSDs – Boot/OS Pool running RAID-Z1 (mirror)
6x 1TB 7200rpm 2.5 inch SATA drives (HPE) – Data Pool running RAID-Z2 (double parity)
1x 500GB Samsung SATA SSD – Single SSD for VMs
Expansion Cards
PCIe x4 SATA/SAS expansion card – 4 extra SATA ports
PCI display adapter – because there’s a PCI slot left and it’s handy to be able to see video output
Software
Milk Crate NAS is currently running TrueNAS Core.
TrueNAS Core is FreeBSD based and will eventually be discontinued in favour of the Linux based TrueNAS Scale.
Milk Crate NAS will move to pure FreeBSD rather than migrating to TrueNAS Scale.
FreeBSD natively supports ZFS, SMB – TrueNAS just gives a nice web interface to access it with, and using the command line is probably a better option anyway.
Like all the packages that are supposed to make FreeBSD Jails easy to set up and manage – just add another layer of abstraction. The best way to manage jails in FreeBSD is to learn and use the shell.
Once learned, one wouldn’t even consider bothering with a GUI.
ZFS requires a lot of RAM for it’s ARC cache, so 32GB is installed. Interestingly, TrueNAS didn’t recognise the extra modules when RAM was upgraded from 16GB to 32GB. I planned to re-install TrueNAS anyway and the correct RAM capacity is now detected.
It also has the capactity to run virtual machines, as it includes the FreeBSD native hypervisor: Bhyve.
A single dedicated SATA SSD provides storage for these VMs, which are generally used for development and don’t require redundancy.
I currently have a Debian VM which I use as a development and build environment, as well as a Windows 10 one for general testing at this stage.
The Bhyve hypervisor is one of the most brilliant and underrated virtualisation platforms I’ve come across, and has performed flawlessly with rock solid stability in every test I’ve put it through.