You need to keep in mind of the pool feature flags basically. A "zpool upgrade -v" will display the features (and won't upgrade if you do not specify the pool name). There are features that only ZOL has and features only OSX has.
In the dark dank far future, all platforms will have the same features - but we are not quite there yet.
So when creating the pool, you can use the "-d" flag to disable all features, ie, "zpool create -d ...". Then you can go and turn on those you really want and are on both systems,
"zpool create -d -o feature@lz4_compress=enabled -o feature@async_destroy=enabled -o feature@empty_bpobj=enabled POOL devices..."
That pool can then be imported on both systems, as long as you never "zpool upgrade POOL" on either platforms (as that would enable all the new features).
If you also want to be able to import the pool on a Solaris system, you should create a pool with version=28. But that is a bit old skool now.
"zpool set feature@encryption" is not a valid zfs command. If you create a normal pool (without -d above) then the encryption feature is "enabled" by default, and changed automatically into "active" when you create your first encrypted filesystem. It goes back to "just" enabled when you delete the last encrypted filesystem. But you can only import pools with features "enabled" or "active" that the host system understands. Hence the problem you were encountering.
Your "zpool create" line means you need to enable some features, -O compression=lz4 means you need feature@lz4_compress etc, edonr and encryption also need their features.
So I guess something like
- Code: Select all
zpool create -o ashift=12 -o failmode=continue -O atime=off -O compression=lz4 -O casesensitivity=insensitive -O normalization=formD -O checksum=edonr -O mountpoint=/tmp/Pond -O canmount=noauto -d -o feature@lz4_compress=enabled -o feature@async_destroy=enabled -o feature@empty_bpobj=enabled -o feature@edonr=enabled -o feature@encryption=enabled Pond mirror /private/var/run/disk/by-id/media-### /private/var/run/disk/by-id/media-####
zfs create -o encryption=aes-256-gcm -o keyformat=passphrase -o keylocation=prompt -o pbkdf2iters=100000 -o com.apple.ignoreowner=on -o mountpoint=/Volumes/Puddle Pond/Puddle