LTT video mentions "SSD Optimizations" coming in next FreeNAS version. JIRA Link?

ChaosBlades

Contributor
Joined
Jul 4, 2015
Messages
137
https://youtu.be/zeAce9pofvk

time stamp 5:40

I just went through JIRA and in this sub-forum and could not figure out what "optimizations" Linus was talking about. Does anyone have a JIRA link to it? I and others on the LTT forum would like to know the specifics.
 

Arwen

MVP
Joined
May 17, 2014
Messages
3,600
I've not bothered to watch the video.

But, a new OpenZFS feature is coming, called "Special Allocation Classes". Since this feature works best with SSD or better, (like a battery backed RAM disk), this could be it. Special Allocation Classes allow creating special vDevs, (single device or mirrored), that can contain things like;
  • Separate LOG
  • Small files
  • Directory entries & other metadata
  • De-dup tables
What items from the above list are stored on the Special Allocation Class vDev, is supposed to be selectable. And if it becomes full, the data simply goes back to being written to the normal data vDevs. Don't quote me on the details. I've read about it alot, but details have changing during it's implementation. See the OpenZFS site if you want details.

Of course better TRIM support is also coming.
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,110
Watched the timestamped chunk of the video; Linus appears to be talking about some scripts that apply tunables to the existing FreeNAS/OpenZFS setup, not the new OpenZFS allocation classes

I'd wager it's the ones that disable LBA weighting and metaslab fragmentation factor as shown below:

vfs.zfs.metaslab.lba_weighting_enabled: 0 (Disables LBA weighting, all LBAs on NAND are equally fast)
vfs.zfs.metaslab.fragmentation_factor_enabled: 0 (Disables the preference for less fragmented metaslabs; dirty pages are the problem on NAND, not fragmentation)

Note that since these are system-wide tunables, they should not be enabled on a system that has any HDD-based pools.
 

Arwen

MVP
Joined
May 17, 2014
Messages
3,600
@HoneyBadger, This is Linus Tech Tips, you expected better?

From the distant past;
Ericloewe said:
The probability of vdev failure with RAIDZ2 is tiny on a properly-administered
server. Most contributions to that probability would take any other pools along.

We're talking catastrophic PSU failure, massive undetected RAM failure,
physical destruction, alien high-intensity degaussing beams, extreme heat or
the presence of Linus from LinusTechTips in the same room as the server.

FreeNAS forums, Jan 6, 2016
 

kdragon75

Wizard
Joined
Aug 7, 2016
Messages
2,457
I have always said Linus knows his gaming equipment but should never touch a server.
 

ChaosBlades

Contributor
Joined
Jul 4, 2015
Messages
137
Watched the timestamped chunk of the video; Linus appears to be talking about some scripts that apply tunables to the existing FreeNAS/OpenZFS setup, not the new OpenZFS allocation classes

I'd wager it's the ones that disable LBA weighting and metaslab fragmentation factor as shown below:

vfs.zfs.metaslab.lba_weighting_enabled: 0 (Disables LBA weighting, all LBAs on NAND are equally fast)
vfs.zfs.metaslab.fragmentation_factor_enabled: 0 (Disables the preference for less fragmented metaslabs; dirty pages are the problem on NAND, not fragmentation)

Note that since these are system-wide tunables, they should not be enabled on a system that has any HDD-based pools.
But he says that ix will implement these in the next version of freenas and that they back ported the changes just for him. Not sure if this means 11.3 or 12. I was hoping a dev would chime in because they gave linus this scrip so they would know exactly what they put in it and what he is talking about.
I have always said Linus knows his gaming equipment but should never touch a server.
One of the reasons I unsubscribed over a year ago. He gives me anxiety when he talks about servers. Also cringy thumbnails and clickbait titles. His water-cooled server... at least he has it in the bottom of the cabinet... I guess.
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,110
@HoneyBadger, This is Linus Tech Tips, you expected better?

From the distant past;
I get that the odds of failure were pretty low, especially with the spare in there (which is 27 drives, based on the calculators) but if you add three more, you could run 3x 10-drive Z2, get roughly the same space (84.6TB vs 85.6TB) and tolerate two drives per vdev failing. You're definitely in a nice secure space there, as well as having three vdevs to drive performance up even more.

(Obviously the answer for MAXIMUM PERFORMANCE is "mirrors" but then you're talking about needing 48 drives for the same usable space, taking into account spares.)

Also, at around the 18:00 minute mark Linus/Patrick talk about the SLOG options that the competitor offers, as well as Patrick advising against an Optane "write cache" because of the better ability of SSDs to tolerate random write workloads but honestly, odds are very good there were zero sync writes on this array anyways because it was set up for access from Windows servers, likely as SMB - so no syncs there unless forced by the client software. (And again, odds on that approach zero.)

If there were sync writes though (NFS clients, or forced via sync=always) A fast Optane device (or maybe one of those fancy expensive NVRAM cards we love over in the SLOG benchmark thread) could help save write amplification on the SSDs, although it might require adjustment of zil_slog_bulk if you're using 1M records.
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,110
But he says that ix will implement these in the next version of freenas and that they back ported the changes just for him. Not sure if this means 11.3 or 12. I was hoping a dev would chime in because they gave linus this scrip so they would know exactly what they put in it and what he is talking about.
Seconding this request. I know I have my own tunables, but I'd like to see what the iX devs think makes for better performance on an all-flash setup.
 
Top