About a year ago, in the Summer of 2017, I build my first ever NAS (or Network Attached Storage). I had a considerable amount of money saved and was willing to make an investment into using and learning more about enterprise networking and hardware.
In the end of my research journey and budgeting, I ended up choosing:
CPU + Motherboard: Supermicro X10SDV-4C-TLN4F
Intel Xeon D-1518 (2.2GHz Quad-Core, Hyperthreaded - 35W - 6MB Cache)
RAM: Kingston 16GB DDR4-2133MHz ECC RAM
HDD: 3x - 4TB - WD (Western Digital) RED
Fractal Design Node 304 Mini-ITX Case (Case)
Cooler Master V550 80+ Gold Fully-Modular Power Supply (PSU)
2x - 32GB - Sandisk Cruzer Fit (Boot Drive)
For my OS of choice, I decided going with FreeNAS since it was the all-in-one package for a BSD/UNIX based OS with the ZFS file system installed.
In my quest to learn more about enterprise networking and hardware while still getting something useful out of this build, I learned a lot!
UNIX File System - This was something I struggled understanding. I’ve always used chmod, chown, etc. on Linux but I never understood what the numbers really meant. In FreeNAS, I learned about user, groups, and everyone else. I learned to lockdown certain datasets from the network and expose datasets correctly without errors.
Networking - I learned how to direct connect to the NAS over Ethernet. This was especially useful because whole-home 10GbE networking is expensive.
OpenVPN - My FreeNAS is setup to connect over OpenVPN. This was somewhat complicated to setup but it ended out working out after a few tries
Plex - Plex is useful! I cancelled my Hulu subscription and bought all of the seasons for the three TV shows I only needed Hulu for and kept my free T-Mobile x Netflix subscription.
ZFS - The ZFS file system is really unique and robust. This was something worth learning on how it worked.
rsync - I learned about rsync and how to backup FreeNAS securely.
In conclusion, I’m really glad I built this NAS over purchasing something off the shelf. It really improved my *nix skills.