Configuring Special Allocation CLasses in a FreeNAS setup


Sep 16, 2018
Machine (for now):

Dell PowerEdge T320
Xeon E5-2430 v2
128GB PC3-1600 ECC
8x 10TB (RAIDz2)
8GB Radian RMS-200 (ZIL) -- 1-million IOPS, capacitance adequate not to lose data anyway

I've seen transfer speeds exceed 1GB/s (presumably video files).
Because some backup will always contain small files slowing things down...

Fusion / Special Allocation Pool

My assumption to keep performance up as file sizes decrease (and IOPs increase) is:
Making a Fusion Pool using up to the 4x Samsung PM983 3.84TB NVMe as either a:

3x RAIDz1 (adequate fault tolerance given the rebuild speed of NVMe..?)
-or would-​
4x RAID-10​
(Whichever I do -- I will create benchmarks before and after)​ wiser given how impossible it can be to recovery flash (due to garbage routine and TRIM)
I could also use 3x NVMe in the RAIDz1 ... with the spare on standby ... I'm certainly assuming that with 4 drives, if reliability requires double-parity ... I'd be better off with mirroring rather than stripping 2 of those drives, as that'd be all overhead without any benefit. Of course, all of that calculus changes the second dRAID becomes available, at which point I might copy the contents off to another volume, and re-configure it ... as free space is what provides the room to rebuild parity, and the speed is benefitted (as a function of) the number drives.

Icy-Dock 5.25" to U.2 (4 bays) with a dedicated pair of fans I believe
Supermicro ReTimer card ...

Given the hierarchy of available pools...

L2arc -- seems like something I should only do if I'm out of RAM, which I'm far from it.
ZIL can only do so much (fortunately requires no redundancy)
If I could ever find 100GB Optane 900p or P4800x and use them for 4k up to whatever the cut off is, in a mirrored set..? Would be glorious...

Also, last observation:
- Since you can define the file sizes for the fusion drive, you really could reserve the harshest workloads for Optane, and the interim sizes for good (but not 10x the price per GB) optane for the intermediate sizes -- though I know that if I choose the block-size equal to that of the a-shift value of the zVol that it then writes ALL data to the fusion pool, if I said that correctly. It happens to by NY.

Any other thoughts...?

Special Allocation : Fusion Pool .png