I have an NZXT H1 case with the following hardware in it:
Gigabyte X570i Aorus Pro
AMD Ryzen 9 3950X
32GB 3600MHz DDR4 RAM
1TB NVMe Gen4 SSD
Nvidia GTX 1080Ti
It was built from some left over parts from when I upgraded my main PC and was used for Linux development (RHEL7). However, I’d rather have it as an all-in-one server that can be used for storage, dev VMs and some light media streaming within the home network.
First thing I’d do is convert the 1GbE network to the 10GbE one, where all of the PCs on the network would have a 10GbE link to the NAS. That’s the straightforward part.
The not so straightforward part is the actual OS that I’d be running, as well as the storage that will be used and its layout. As for the requirements I have: I’m not much of a hoarder so I don’t expect to have a bunch of storage space, but I’d like for the hardware to be able to saturate the 10GbE network when needed. I don’t need redundancy per-se, it would be a nice to have but I’d rather have the performance since data that’d be on the server isn’t critical and I don’t care if it’s lost a few years down the road (that’s just my view at the moment, it might change later). I'd also like to use the GPU passthrough for the VMs, so the PCIe slot will need to stay occupied (and I ordered an M.2 to PCIe riser where I'd slot in the 10GbE NIC).
Since H1 can only fit 2 2.5’’ SATA drives (in its drive bay, but a third one would most likely be able to fit somewhere and dangle around) and I’d like to avoid spinning rust, I’m leaning towards having 2 4TB SATA 3 SSDs, and here are the contenders:
Samsung 870 EVO - $400
Crucial MX500 - $400
Micron 5300 PRO - $600
SanDisk Ultra 3D - $450
Seagate IronWolf 125 - $900
WD Blue SSD - $500
WD Red SA500 SSD - $580
Intel DC S4510 - $450
From the price alone I’d choose either Samsung 870 EVO or Crucial MX500, but I’m not sure if they’d play nice with whatever OS I’d use.
It's my understanding that having two of these SSDs in a RAID 0-like layout should be close enough to the 10GbE bandwidth limit (in the ideal case).
From what I’ve gathered I have a bunch of options, but I'd like to give unRAID a try - either with ZFS plugin or XFS/BTRFS natively. As far as I can understand (and I’ve seen a bunch of conflicting reports) I can’t really use SSDs in an array (due to TRIM being unsupported). I can use them as a cache pool where TRIM will work fine, although I’m not sure of the implications - will that data be non-volatile and remain there after shutdowns or power losses? Can cache pools be striped for better performance? What if I decide that I want parity and add a third drive (I know that it has to be an HDD)? Would I need an NVMe SSD as a cache… for the cache pool (to saturate 10GbE)?
Should I reconsider a different OS or even a simple approach with any Linux distro that has simple SMB shares configured?
I’m still very new to this and could use some suggestions.
Thanks!