OpenZFS 2.2 released! Here we go...!

Joined
Oct 22, 2019
Messages
3,641
OpenZFS 2.2 is now a stable release.


OpenZFS 2.2 was released today. This isn't your boring "run-of-the-mill" release, with some bugfixes here and there. Nope. This is a big one. Even end-users, and hopefully TrueNAS users, will be able to leverage and benefit from some notable features:
  • Block cloning
  • ZSTD early abort [1]
  • A completely new ARC eviction implementation (and simplified tuneable!), which improves metadata performance [2]
  • BLAKE3 checksum, cryptographically secure, but much faster than SHA256 and SHA512
  • "Corrective receives", to heal corrupted data from a known good source
  • "Quick scrubs" for known corrupt blocks using the new "-e" flag, i.e, zpool scrub -e [3]

Somebody pop open a bottle of champagne. :cool:


EDIT: It's been over five minutes since I made this post. WHY ISN'T THIS IN TRUENAS YET?!?! :mad: COME ON! HURRY UP!
 
Last edited:

Davvo

MVP
Joined
Jul 12, 2022
Messages
3,222
It will be really interesting, I wonder if iX will add further optimization.
 
Joined
Oct 22, 2019
Messages
3,641
I'm protesting outside the iXsystems headquarters.

Our voices will be heard! WE WILL NOT BE IGNORED! :mad:

zfs-protest.jpg
 

Davvo

MVP
Joined
Jul 12, 2022
Messages
3,222
I might remember wrong, but we should be getting 2.2 in CORE 13.2 (so 2024).
 
Joined
Oct 22, 2019
Messages
3,641
I wonder if iX will add further optimization.
Aside from further optimizations (which don't seem as necessary anymore with ZFS 2.2+), the main question is if certain features will be exposed in the TrueNAS GUI?



Some features I assume will be available seamlessly, without any intervention by iXsystems:
  • ZSTD early abort
  • Block cloning (leveraged by user tools)
  • Improvements to the ARC, in regards to metadata and eviction (which had negatively affected ZFS versions 2.1 and earlier)


Some features I don't believe will be available for TrueNAS users, unless iXsystems makes them available via the GUI:
  • BLAKE3 (will it be an available option in the "CHECKSUM" drop-down list?)
  • "Corrective receives" (will it be available as an option in the Replication Tasks page?)
  • "Quick scrubs" (will it be available in the Pool actions page?)


In regards to the above, they can all be done via the command-line:
  • Create / set a dataset's checksum property to checksum=blake3
  • Invoke the -c flag in a zfs recv command
  • Invoke the -e flag in a zpool scrub command (after a completed pass of a previous full scrub)
 
Last edited:
Joined
Oct 22, 2019
Messages
3,641
ZFS 2.2 is supposed to be in SCALE 23.10, due to release in about a week and a half.
I don't use SCALE, but does this imply they were testing the RCs (release candidates) of ZFS 2.2 with SCALE Cobia betas and RCs? (What is the version of ZFS on SCALE's latest Cobia RC?)

If not, then it seems to send a message that they trust upstream ZFS enough, in which a major change does not warrant the need to do further testing before landing in a stable SCALE release?

At least with Core 13.2, they'll have several months (since OpenZFS 2.2 was released yesterday) before it lands in Core.
 

Etorix

Wizard
Joined
Dec 30, 2020
Messages
2,134
Alternative reading: SCALE is where testing and experimentation take place; CORE is the conservative LTS version where new features arrive only when they have been thoroughly tested.

As CORE user, I'm fine with that.
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Code:
admin@truenas[~]$ /usr/sbin/zfs version
zfs-2.2.0-rc4
zfs-kmod-2.2.0-rc4
admin@truenas[~]$
 

Davvo

MVP
Joined
Jul 12, 2022
Messages
3,222

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Of course.
 
Joined
Oct 22, 2019
Messages
3,641
Of course.
How... How could you betray us? You were our Legendary BSD Hero. And now you've joined... them?

Remember all those good memories of helping users with their jails and network bridges? Did that mean nothing to you? Were we only living a lie?

@Davvo, not you too, right? You're still cool with The Core? Right? Right...?
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
Current inventory:

2x CORE on some screaming AMD all NVMe boxes
4x CORE on micro tower embedded systems
1x SCALE on ESXi to toy with apps and watch where this is going

...
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
If you want to play with the new toys, you have to at least get in the sandbox. :wink:

Some features I assume will be available seamlessly, without any intervention by iXsystems:
  • ZSTD early abort
  • Block cloning (leveraged by user tools)
  • Improvements to the ARC, in regards to metadata and eviction (which had negatively affected ZFS versions 2.1 and earlier)

  • ZSTD "early abort" we've talked about a bit in the other thread. I don't know that it will be "enabled by default" as we might want to wait for the full "adaptive compression levels" but I can nudge engineering and see what they think.
  • Block cloning is "on by default" in Cobia right now, any client system that does server-side copy through a supported file protocol (SMB/NFS) should benefit automatically.
  • Considering one of our main devs contributed those improvements I think he'd be a little miffed if they weren't made active so that's a safe bet :grin:

Some features I don't believe will be available for TrueNAS users, unless iXsystems makes them available via the GUI:
  • BLAKE3 (will it be an available option in the "CHECKSUM" drop-down list?)
  • "Corrective receives" (will it be available as an option in the Replication Tasks page?)
  • "Quick scrubs" (will it be available in the Pool actions page?)

Always an option to open a ticket to suggest them as a feature improvement if they aren't activated. Changing the checksum will of course only affect newly written data as usual.
 
Joined
Oct 22, 2019
Messages
3,641
Changing the checksum will of course only affect newly written data as usual.
Noted, of course! What I gathered from BLAKE3 is that it can benefit dedup users the most. You get an incredibly fast checksum, yet with the "cryptographically secure" requirements of deduplication. (Plus, much faster than SHA256/512.)

Those of us who don't use deduplication have no real reason to switch from the default of Fletcher4. However, those who do use deduplication, it almost seems like a "no brainer" that they should switch to BLAKE3 as soon as possible. Speed improvements, without sacrificing integrity.



Considering one of our main devs contributed those improvements I think he'd be a little miffed if they weren't made active so that's a safe bet :grin:
Not all heroes wear capes. :cool:



ZSTD "early abort" we've talked about a bit in the other thread. I don't know that it will be "enabled by default" as we might want to wait for the full "adaptive compression levels" but I can nudge engineering and see what they think.
Would be interested in this progression. I dream of the day when I'm approached by a badger who nods his head and says "You may use ZSTD-19 ZSTD-9 to your heart's desire."



As none of this has landed Core yet, what is the plan from the top? Will Core users that eventually receive OpenZFS 2.2 enjoy the same "feature availability" as SCALE?

To ask this same question, phrased differently: If iXsystems decides to expose BLAKE3 as checksum option in the GUI, will this be done at a "SCALE vs Core" decision? Or will it be done "in tandem" for both projects? (The same questions applies to the other new features, whether GUI or backend.)
 
Last edited:

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
To ask this same question, phrased differently: If iXsystems decides to expose BLAKE3 as checksum option in the GUI, will this be done at a "SCALE vs Core" decision? Or will it be done "in tandem" for both projects? (The same questions applies to the other new features, whether GUI or backend.)
Educated guess: that depends almost entirely on the availability of OpenZFS 2.2 in upstream i.e. FreeBSD:
Code:
root@us:~ # freebsd-version
13.2-RELEASE-p4
root@us:~ # zfs version
zfs-2.1.9-FreeBSD_g92e0d9d18
zfs-kmod-2.1.9-FreeBSD_g92e0d9d18


So for 13.1 I do not expect it. It will be in FreeBSD 14.0:

I don't know if iX have plans for switching to releng/14, already. CORE 13.1 was said to be based on FreeBSD 13.2 (and hopefully following through to 13.3, 13.4, ...)
 
Last edited:
Joined
Oct 22, 2019
Messages
3,641
that depends almost entirely on the availability of OpenZFS 2.2 in upstream i.e. FreeBSD
That's not quite so.

Case in point: There are features introduced by upstream ZFS, in which are they are "available" in both Core and SCALE. However, only some of them are exposed in the GUI only in SCALE, not in Core. (And some we are unlikely to see exposed in Core's GUI any time soon.)

An example of this is the "Holds" feature. It's available in ZFS, yet the TrueNAS Core GUI does not expose it. :frown:

The feature request was "accepted", but only for SCALE.
 
Last edited:

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
However, those who do use deduplication, it almost seems like a "no brainer" that they should switch to BLAKE3 as soon as possible. Speed improvements, without sacrificing integrity.

I'd be surprised in a situation where dedup is actually CPU-bound and not DDT-bound - but removing friction is always good, especially when there's a Fast Dedup project underway ... :wink:

Dedup users though should be cautious of this as changing checksum algorithms will mean all of your new data no longer matches the DDT checksum of the existing data - in other words, you'll be storing a fresh copy of it. (Similar challenges for implementing the full ZSTD-adaptive compression path, as something that's written during "quiet time" might get compressed with ZSTD-9 and during "crunch time" might use the cut-through path of ZSTD-1.)

As none of this has landed Core yet, what is the plan from the top? Will Core users that eventually receive OpenZFS 2.2 enjoy the same "feature availability in the GUI" as SCALE?
I'd have to ask the top about that - but watching the github for new PRs to the webui tree is always a good idea. In general though, it's as described above - SCALE tends to be the "first out of the gate" and CORE gets the features after a solid degree of testing.
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,776
That's not quite so.

OK, I guess I still made a "negative point." OpenZFS 2.2 will probably never be in FreeBSD 13. Because ABI changes are avoided as long as a releng/X branch lives. This is necessary to be able to run 13.2 jails on a 13.1 host among other things.
 

awasb

Patron
Joined
Jan 11, 2021
Messages
415
It would be enough to patch things to get the rewritten[*] arc code!

[*] Thanks to Alex Motin!
 
Top