Using a large fast SSD to best advantage?

Status
Not open for further replies.

Stilez

Guru
Joined
Apr 8, 2016
Messages
529
Short simple version: I'm setting up my FreeNAS build to handle general file serving and as a ESXi VM store. I got very lucky with the ZIL, which got upgraded to a top-end Intel P3700 datacenter SSD via RMA, and now I don't know how to make best use of that device. My hardware:
  • Baseboard/CPU/RAM - Supermicro X10SRi, E5-1620 v3 (3.5 GHz), 96 GB 2400 ECC ram. I can add another 32-64GB if needed but prefer to see how this performs first.
  • PSU - EVG Supernova G2 850W (exceptional score for stability at jonnyguru.com)
  • Main NICs - twin 10G chelsio low latency +Finasar transceivers (T420-LL-CR) directly connected to the VM server and my workstation. The baseboard also has a 1Gb Intel NIC for other connections. Network is 9k jumbo frame throughout, although this is less crucial these days.
  • Boot drive is mirrored 2x Intel 320 40GB SSDs
  • Main data pool - currently (2x6tb) + (2x6tb) + (2x4tb), i.e. 6 disks in mirrored pairs, for a total of 14.5tb usable space, and about 8-9tb of data to load initially; all disks are enterprise 7200's. I prefer mirrors to RAIDZ (that's decided), and will expand 2-way to 3-way when I can afford it. If the pool gets above about 70% full, I'll add extra pairs of mirrored disks "early" rather than let it fill up and forcing ZFS to get write-heavy on a single new vdev.
  • ZIL - Intel P3700 400GB NVMe, reviews seem to show it's not only fast but maintains a low write latency better than almost any other drive on the market under continual loads, which is the main thing. I got lucky with this, I got it via RMA. It was the one I wanted but couldn't afford given other components in the build. It's not mirrored but that's a risk I have considered and accepted.
  • L2ARC (tentative) - Since VM files can be tens of GB in size and I expect to frequently rollback VMs, the server could have ARC pressure issues or slowdown. I've got a Samsung 960 EVO 250GB NVMe available to trial as L2ARC once the rest is stable. It should be able to saturate a 10G link with ease, if the data is held. I'm wary of letting L2ARC get so big it's a net loss on RAM performance, as web pages often warn, but I think with proper tuning and limits set on the different RAM/L2ARC uses, it can help.
  • UPS/backup - UPS to buy soon, not done yet but power is very stable historically, here. Old server will be used as a backup once data migrated.
  • Anything else I've missed?
My question is, this should be a ferociously pleasant build to have for a homebrew, if I've done it right and don't screw anything up. But the ZIL niggles at me a lot.

Even with overprovisioning and the potential demand from sequential sync snapshot writes by ESXi across the 10G link, I still can't see this server doing anything with a 400G ultrafast datacenter SSD that it wouldn't do just as well with 40GB or at most 1/4 of what it has. I don't know if the ESXi writes will saturate the SSD (and if they did, whether I'd notice if they were interspersed with a second task if other data was on the SSD). But even if they did, ESXi's highest speed writing is only "now and then", when it snapshots, so it might turn out to be tolerable.

In short, I'm itching to make better use of the 400GB Intel, as long as it doesn't much impact the intermittent use as ESXi ZIL (which I can test and find out for myself). I don't really want to have an entire 400GB SSD with 40GB effective use and 300GB plus whatever other NVRAM Intel overprovide effectively wasted (just gives it extra lifetime, but I'll never need that scale of lifetime, looking at Intel's stats on PB writes). But what other sensible uses can I make for it, on a file server? Can I use it for L2ARC as well as for ZIL? I suspect perhaps it might well be fast enough to handle both tasks, and if so how can it be set up that way? Or to act as ZIL for a second pool too - only I don't have a second pool needing ZIL at the moment?

* itch itch itch!! *


What additional uses could I try for such a high speed SSD, and how would I set it up for them?
 
Last edited:

vrod

Dabbler
Joined
Mar 14, 2016
Messages
39
Some people wouldnt recommend this but you could split it into partitions. With 96GB of memory, many would say that you dont need an l2arc unless you are doing really heavy workloads. Since this ssd is practically gonna live forever, you could have one partition for zil and the other for l2arc.
 

darkwarrior

Patron
Joined
Mar 29, 2015
Messages
336
HI there,
First of all, lucky you to get such a device out of a RMA :D

IIRC, partitioning the SSD into a SLOG AND L2ARC is a bad idea, because of how the L2ARC cache indexes and blocks are being maintained. Basically, the L2ARC would be updated and refreshed only when the drive is **idle**.
Which it would rarely be, seeing that VMWare would be constantly "doing stuff" if you're having quite a number of VMs.
But I'm sure somebody with more experience will contradict that, if I'm wrong ;)
 

vrod

Dabbler
Joined
Mar 14, 2016
Messages
39
No, you are right: mixing slog and l2arc on the same device is far from recommended. :)

I have no idea how it would work, I've done it with a 750 ssd for fun some months back but didn't really notice how well it worked. The P3700 is however a badass ssd, many people would kill for that! The endurance is also crazy-long so it would be a shame at least not to try it off. ;)
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
If I were you I'd try it.

Slogs and l2arcs aren't permanent so you can try a few scenarios.
 

Stilez

Guru
Joined
Apr 8, 2016
Messages
529
First of all, lucky you to get such a device out of a RMA
Yes... the story isn't long, it's on serverfault and interesting.
The P3700 is however a badass ssd, many people would kill for that!
I would have. If they'd done a cheap 40GB version I'd have chosen it without hesitation, but couldn't justify it over a very-low usage second hand Intel 910, given the other server costs (disks, Xeon, board, loads of ECC). Then LSI's ineptitude and laziness solved it all... :mad::D

Slogs and l2arcs aren't permanent so you can try a few scenarios.
Can you let me know the procedure for this? As far as I can tell, the GUI doesn't allow choosing a LOG device as anything except a whole disk, or multiple disks.
 
Last edited:
Status
Not open for further replies.
Top