Jump to content

Mini ITX PC to SSD-only NAS conversion - is Unraid the best choice?


webstar
Go to solution Solved by JorgeB,

Recommended Posts

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!

Link to comment
12 hours ago, webstar said:

will that data be non-volatile and remain there after shutdowns or power losses?

Yes.

12 hours ago, webstar said:

Can cache pools be striped for better performance?

Yes. btrfs only for now, zfs also once v6.12 is available.

 

12 hours ago, webstar said:

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)?

You can still use multidevice pools, but a single fast NVMe device should be able to get you line speed, or close to it, with 10GbE.

Link to comment
14 hours ago, JorgeB said:

Yes.

Yes. btrfs only for now, zfs also once v6.12 is available.

 

You can still use multidevice pools, but a single fast NVMe device should be able to get you line speed, or close to it, with 10GbE.

Do you have any recommendations for the SSDs that I should get (from the list, those are the ones I can currently get)? Will Samsung 870 EVO be "good enough"?

 

Is there any point in striping two SATA SSDs to achieve those speeds, or should I just have an NVMe cache and be done with it? I do have that 1TB NVMe in the case currently which can be used for cache.

Link to comment
9 hours ago, webstar said:

Will Samsung 870 EVO be "good enough"?

That's a good option, also like the MX500, though they have a firmware issue with SMART, you need to disable monitoring the pending sector attribute or will get false results.

 

9 hours ago, webstar said:

Is there any point in striping two SATA SSDs to achieve those speeds

You can but you'll need more than two to also have some redundancy, depends on the priorities.

 

Link to comment
4 hours ago, JorgeB said:

That's a good option, also like the MX500, though they have a firmware issue with SMART, you need to disable monitoring the pending sector attribute or will get false results.

 

You can but you'll need more than two to also have some redundancy, depends on the priorities.

 

Thanks, that helps a lot!

 

I can only start with 2 SSDs and potentially add 2 more later (it'll take some workarounds with H1, but seems doable with long cables). At first I'll most likely have them striped for performance and then worry about redundancy if there's any critical data on there (I don't plan for it, but priorities may change).

 

And if that happens, guess I'll have to backup the data to migrate to an array that has redundancy?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...