One important part of every datacenter, a homelab, an amateur networks consisting of Raspberry pi's, or even a Youtuber's workflow: redundant mass storage.
Since 2014, I have used FreeNas as a storage server. In the beginning it was a two bay NAS with constantly failing hard drives used to backup school work and photographs. Most recently, it has become a pillar of my homelab where full system backups are stored, micro computers PXE boot from, the family album is kept highly available, my companies taxes & invoices are backed up, original designs for MoistHaus, storage for my real time streaming applications, etc.
Note: everything of importance (tax files, business documents, photos, original graphic designs, mission critical backups) are all stored on the cloud with two different providers. The 3-2-1 Backup rule.
Long story short, my NAS is valuable with how it augments my life. And it's very inconvenient if my central storage isn't up to even daily tasks anymore. Which brings us to:
My Current NAS Sucks...... sorta.
My most recent NAS system has the system configuration of a modest Synology System:
- 32TB Raw/16TB Usable Storage (4x8TB drive)
- 16 GB RAM
- Quad Core 2.24GHZ
- Small and Quiet 4-Bay Case
This system isn't bad. For my personal use, it's perfect. And it will continue to be perfect. But at the moment, this NAS is supporting multi tenancy with my personal use and my companies use.
My company does software development and consultancy. This means there are LXC/VM's using the NAS as data mounts, large datasets for big data growing in real time, any storage needed for projects relating to skill development. This NAS fails at this type of constant 24/7 workload. So....
New System Build
Let's start with some specs:
Motherboard+CPU: Supermicro X10SDV-TLN4F mITX Intel Xeon D-1541 8-Core
SAS Expander: Supermicro BPN-SAS3-826EL1 Expander
HBA Card: LSI 9305-24i 24-Port SAS 12Gb Logic Controller
Memory: 128GB ECC DDR4-2133 (4 x Samsung 32GB ECC DDR4-2133 Memory)
Boot Drive: Samsung 840 128GB ssd
Scratch Drive: Samsung 970 PRO 512GB PCIe NVMe M.2 Internal SSD (on the way)
Fans: If there was a fan, it was replaced with a comparable Noctua for sound.
Stroage Drives: 4x8TB and 2x10TB Western Digital Red
Why these parts?
- Motherboard supports PCI bifurcation to turn one 16X lane into two 8X lanes (one slot for HBA and another for a fast SLOG) or four 4X lane.
- Two 10 GB/s ports onboard
- SAS3 backplane over SAS2 for future proofing
- Multiple ways to expand and scale through the backplane and HBA card
- Small + Quiet + Sips Power thanks to the Xeon-d 1541
- Capable of 128Gb of DDR4 RAM (which it has)
- Redundant power supplies that are hot swappable
- The 512GB nvme storage stick was laying around on my shelf and I liked the idea of a purely temporary drive that was backed by the array but had no bottlenecks.
One more thing. The motherboard and CPU chosen are overkill for most of my tasks. The max CPU utilization I have seen was ~5% downloading large 80Gb video files, editing photos off the disk array along with all the normal schedule processes.
This motherboard and CPU were chosen because it is easy to transfer out of the FreeNas box into a new virtualization box in the event I need more power for VMs. A more appropriate choice would be a 12 core atom or a xeon d-1518/1521. Less power but still very energy efficient.
- The LACCP (link aggregation) and 10 Gigabyte network switch to reach the theoretical limit of the drive array for all capable devices
- Intel Optane Drive for a slog. Write performance isn't where I would like it to be.
- Move motherboard and CPU into a new virtualization server to replace with a cheaper CPU.