zpool features

Status
Not open for further replies.

GaiusBaltar

Explorer
Joined
Jan 15, 2014
Messages
61
so i ran my first scrub the other day. no errors (as expected)....
However when i ran the "zpool status" command to see the scrub results, i noticed the following:
Code:
[root@freeNAS] /# zpool status | more
  pool: ZFS_VOL00
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
        still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
        the pool may no longer be accessible by software that does not support
        the features. See zpool-features(7) for details.


so i checked what features were enabled/active/disabled:
Code:
[root@freeNAS] /# zpool get all ZFS_VOL00 | grep feature@
ZFS_VOL00  feature@async_destroy          enabled                     
ZFS_VOL00  feature@empty_bpobj            active                     
ZFS_VOL00  feature@lz4_compress          enabled                     
ZFS_VOL00  feature@multi_vdev_crash_dump  enabled                     
ZFS_VOL00  feature@spacemap_histogram    active                     
ZFS_VOL00  feature@enabled_txg            disabled                   
ZFS_VOL00  feature@hole_birth            disabled                   
ZFS_VOL00  feature@extensible_dataset    disabled                   
ZFS_VOL00  feature@bookmarks              disabled                   


I haven't been able to find any documentation in zpool-features ((7) or (5)) for the 4 disabled features.
I'm just wondering if/where i can find out what these features do to see if they might be worth enabling these.

thanks!
 

trinxie

Dabbler
Joined
Feb 7, 2013
Messages
28
I just got the same question. My question: is this a problem that needs to be solved?
Anyone out there that could explain? I thought that zpool upgrade command would update the pool to "latest"...
 

Dennis.kulmosen

Explorer
Joined
Aug 13, 2013
Messages
96
I have the same behavior on zpool status.
Any of the almighty and wise people aka devs, care to tell what to do? :)
I presume that it has something to do with the newly added enabled_txg and hole_birth. But i thought at it would be activated during upgrade.
I am on the FN 9.2.1.1 :smile:

-Dennis
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
I'll explain.. for the 20th time. ;)

zpool upgrade used to upgrade your pool version number. i.e. v15 to v28 when you upgrade from FreeNAS 8.2.0 to 8.3.0.

Since Oracle bought Sun and went closed source with their versioning system after v28 the open source community went to a flagged approach. The "flags" system is v5000 to prevent confusion with doing a v29+ that isn't compatible with Oracle's versioning system.

Basically, the OS has certain feature flags available based on the ZFS code you are using. Those flags are made available and enabled by doing the "zpool upgrade". If you read the manual, this is one thing to be especially careful of. The quick jump many people make is to immediately upgrade and enjoy the new features. However, once you upgrade you can no longer mount the pool with an OS that doesn't support the features your pool has. I'm a little fuzzy on if the feature has to exist or if it has to be enabled to prevent mounting the pool writeable. Note: If the pool is not mountable and writeable, it will NOT mount from the FreeNAS GUI, which basically means you can't use FreeNAS since the GUI needs to mount your pool for you to setup shares and such.

So, for example, if you were to update from 9.2.0 to 9.2.1 and do a zpool upgrade, then decide that 9.2.1 doesn't work for you you *can't* go back to 9.2.0. However, if you don't do a zpool upgrade then you can easily go back to 9.2.0. Again, not sure if you could disable a flag in your pool and go back to 9.2.0 or not. In either case, if 9.2.1 just won't work for you the only thing you can do if you *must* go back to 9.2.0 would be to mount the pool read-only from the CLI to copy your data off manually so you can destroy and recreate the pool to be compatible with FreeNAS 9.2.0

So be 100% sure you are going to stick with a FreeNAS version before upgrading. There is no going back.

To be honest, there's little or no documentation on the features. I figure since these features aren't standing out in Google searches I'm figuring they are only adding obscure features that aren't necessarily beneficial for many people. I'm still using pool v28(FreeNAS 8.3.x) because that version is the "most compatible" with other OSes. I could go to FreeBSD 8.3, FreeBSD 9, FreeBSD 10, ZFS on Linux, Solaris, etc. Almost every "current" ZFS implementation supports v28. V5000 isn't supported everywhere, and the feature flags aren't necessarily available everywhere. Since there's no pressing reason to upgrade to v5000 I haven't upgraded. I prefer to keep my options open in the event that I have a want or need to go elsewhere.

Here's an example of a feature that has been requested(I don't think it's been implemented). When you delete a snapshot from pool that is extremely large and the snapshot stores a huge amount of data, it can actually lock up the server for a long period of time. Rumors of servers going unresponsive for an hour or more for outrageously large pools is apparently possible. To deal with that problem a feature flag is/was planned to allow for a snapshot to be removed as a background task so that the pool could continue to be used despite the work that will have to take place to delete a snapshot.

If you were wanting to create a pool without certain flags, or with a particular version number, you'd have to use an OS that uses that version. For FreeNAS' case, if you wanted v28, you'd have to create the pool from 8.3.x.

Hope this helps.

Edit: Made an edit to clarify a few things.
 

GaiusBaltar

Explorer
Joined
Jan 15, 2014
Messages
61
I'll explain.. for the 20th time. ;)

sorry for making you answer this yet again. :(
i really did look to find info on the features that weren't enabled after upgrading beyond 9.2.0. my google-foo tho came up with zilch.
Anyways, i have no need do downgrade from 9.2.1.1 so i ran zpool upgrade [poolname] and upgraded the pool now that i also know more about how upgrading the pool works and it's pros/cons thanks to your post.
 
Status
Not open for further replies.
Top