I asked this a couple months ago on reddit, and compiled some useful info for folks new to ZFS. Including here too for discoverability.
For example, ashift=12
can’t be modified after creating your pool. What are all the other properties like this, that you need to make sure you get right when creating your pool and/or datasets, and can’t be changed later?
Update:
Properties that can’t be changed after pool creation:
-
ashift - use
blockdev --getbsz /dev/sdX
to find logical blocksize, then check zfs docs/man pages [1] for what ashift setting that corresponds to. For example, 4096k => ashift=12. - ZFS native encryption type
- insensitive|mixed
- formC|formD|formKC|formKD
- off
- xattr
- dnodesize
- aclmode
- acltype
- atime
- relatime
Properties can be changed after pool creation, but not easily:
Properties that can be changed after pool creation, but do not apply retroactively to existing data:
Useful links:
[1]: ZFS docs/man pages with relevant info on properties: