[SOLVED] zfs: symbol lookup error: zfs: undefined symbol: zfs_unshare_iscsi

daveo

Member
Jan 6, 2012
38
1
6
London
dave.osbourne.uk.eu.org
I have a base Debian install, with an upgrade to proxmox and then an addition of zfs. Whilst not straight down the line, I think is a fairly "normal" set up.

I want to mount block devices using iSCSI.

Unfortunately it seems there is some incompatibility I'm hitting (I've done this 3 times now, so it's very repeatable) that is precudling my use of zfs AND iSCSI.

Does anyone have any ideas? If you search for that error in google there is only one hit from Mon, 8 Jan 2007 I can't imagine that it's still an issue, but even so - there wasn't a fix included.

I'm stuck (;
 
Sorry, versions - VNB (;

root@pmx01:~# dpkg -l | grep zfs
ii debian-zfs 7~jessie amd64 Native ZFS filesystem metapackage for Debian.
ii libzfs2 0.6.5.7-pve10~bpo80 amd64 Native ZFS filesystem library for Linux
ii zfs-dkms 0.6.5.7-8-jessie all Native ZFS filesystem kernel modules for Linux
ii zfsonlinux 6 all archive.zfsonlinux.org trust package
ii zfsutils 0.6.5.7-8-jessie amd64 command-line tools to manage ZFS filesystems

root@pmx01:~# uname -a
Linux pmx01 4.4.15-1-pve #1 SMP Thu Jul 28 10:54:13 CEST 2016 x86_64 GNU/Linux


root@pmx01:~# zfs
zfs: symbol lookup error: zfs: undefined symbol: zfs_unshare_iscsi
 
You are mixing our ZFS packages with ones from another source than the PVE repositories, which is not supported.
 
Um, I don't understand. If I install Debian, then change to Proxmox there is no ZFS support. So it doesn't seem that I'm getting ZFS. If I install Debian, then ZFS, then convert to Proxmox is *does* work.

Which order is preffered? And what outcome do you expect?
 
Proxmox provides six ZFS packages, of which four are relevant for users (in your case, those need to be manually installed after or when converting a Debian Jessie install to PVE, without trying any other ways to "install" ZFS):
  • libzfs2
  • zfs-initramfs
  • zfsutils
  • spl
All of them currently have the version 0.6.5.7-pve10~bpo80 , except for spl, which is at version 0.6.5.7-pve6~bpo80 . The kernel modules are installed together with the PVE kernel.

You seem to have installed ZFS from another source (with partly different package names), then installed Proxmox (which upgraded only libzfs2 to PVE's version), resulting in incompatible ZFS binaries. The result is what is called "FrankenDebian" - Proxmox takes care to ensure that our packages are compatible with the stock Debian Jessie repositories to avoid such situations, but if you start adding unsupported third party repositories to the mix you are on your own (and will experience breakage sooner or later).
 
yes, that's exactly the way to go. you can also merge the last two steps, instead of "apt-get install proxmox-ve ntp ssh postfix ksm-control-daemon open-iscsi systemd-sysv" you can do "apt-get install proxmox-ve ntp ssh postfix ksm-control-daemon open-iscsi systemd-sysv zfs-initramfs spl", which should pull in all the ZFS packages that are needed (including helper/util libraries like libnvpair1 and libuutil1, and libzpool2 which I missed above).
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!