ZFS in LXD snap in armhf


Just wondering if there is any reason why LXD 4.0.1 snap doesn’t come bundled with ZFS on armhf, like it does on arm64?

If I have ZFS module loaded already and have ZFS utils available, is it possible to make LXD see that on “lxd init”?


I have not used the armhf snap package of LXD.

Are you saying that if you do the following, there are no relevant ZFS directories with the ZFS client tools?

$ ls -l /snap/lxd/current

It is one thing when zfs does not appear on sudo lxd init, and another if the ZFS client tools are not packaged in the snap.

Thanks for the reply.

Correct. No zfs-* packages under /snap/lxd/current on armhf.

I can confirm that the ZFS kernel module + ZFS client tools are working fine, as I can install .deb version of LXD 3 and it works with them fine. That’s why I’m wondering if there’s a way to make LXD snap see this too, and make use of them.

ZFS on 32bit architectures is very very tricky to get right and given LXD’s usage pattern we never managed to get even a beefy intel 32bit system to survive our tests for more than an hour or so.

As a result we decided to not get ourselves the headache of having to support it on 32bit arch and so do not bundle the tools with the snap on those architectures.

Understood. Thanks for the clarification.

However, for those who are willing to accept the shortcomings of the 32bit limits you’ve mentioned, is there a way to force LXD snap to make use of the ZFS backend already in place?

No, the snap just plain does not contain the ZFS client binaries.

You could rebuild the snap on your own or do some other trickery like manually compiling the ZFS binaries and overlaying them on top of the snap in the snap’s mount namespace, but that’s all rather tricky to do.

Ok. Looks like I’ll just have to use the .deb version for now.

Thanks for taking your time to explain this in detail.