[Solved] Lxd armv7l no zfs storage backend


I am installing lxd on a raspberry pi4 running archlinux (arm). I have zfs installed on the system, which is working fine.

$ zpool version

Unfortunately, lxd is not detecting ZFS.

 $systemctl reload snap.lxd.daemon
 $lxd init      
 WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
 Would you like to use LXD clustering? (yes/no) [default=no]:
 Do you want to configure a new storage pool? (yes/no) [default=yes]:
 Name of the new storage pool [default=default]:
 Name of the storage backend to use (ceph, btrfs, dir, lvm) [default=btrfs]: zfs
 Invalid input, try again.

$snap info lxd
installed:          4.18                   (21461) 55MB -

Is LXD/ZFS not supported on 32bit arm?

That’s correct, we only support ZFS on 64bit architectures.
ZFS on 32bit, while it’s something you can build, it tends to have quite a lot of weird behavioral issues coming from the fact that upstream primarily focuses on 64bit (and effectively always has).

Any reason you’re running a 32bit distro on your Raspberry Pi4?

We have 3 of those in our lab and usually run 64bit distros (Ubuntu 20.04 mostly) with LXD then running very happily with ZFS and even giving us VM support.

I need JAVA 11 to run openHAB and unfortunately it is not available on arm64. Only version 15 and 16 are available for arm64. Thus i am forced to use 32bit.

What ZFS version is on Ubuntu 20.04?

I changed to arm64 and installed java 11 from here.