5

I have a storage server running Ubuntu Server 14.04 LTS. I have ubuntu-zfs installed on it and I already use ZFS as my files system for the stored data.

I am trying to look into what issues i might have trying to upgrade from 14.04 to 16.04. Here are some of my worries:

  1. Will the upgrade convert the ubuntu-zfs setup in 14.04 to the native ZFS in 16.04? I'm thinking that the safest way would be to export the pools uninstall ubuntu-zfs upgrade to 16.04 and then re-import the pools, but i would rather not go through the trouble if i don't have to.

  2. Will there be issues importing pools created with ubuntu-zfs in 16.04 with native ZFS?

Thanks

  • 1
    I just upgraded from Wily to Xenial; used ZFS from zfsonlinux.org to manage my pools. After upgrade, seems that ZFS was uninstalled and nothing replaced it since I don't have access to zfs or zpool commands any more. So, theres the first issue. – eridani Apr 24 '16 at 18:29
6

I found the upgrade straightforward(ish) in my case of non-root ZFS, just needing to remove old tools before adding new ones and nothing was left in a weird state:

# Export ZFS Pool first - may need to switch to single user mode for this
zfs umount -a; zpool export <poolname>
# Remove old ZFS stuff
apt-get remove ubuntu-zfs zfs-doc spl-dkms
apt-get autoremove
add-apt-repository --remove ppa:zfs-native/stable

# upgrade time!
do-release-upgrade

apt install zfsutils-linux

#reboot

...and on reboot my zpools / zfs file systems all imported and mounted OK

  • Over a year after I read this question, I finally bit the bullet today and upgraded. This method (again, a non-root ZFS mount) worked fine for me. The only issues I had were unmounting (a reboot fixed that) and exporting (zpool import -f to force it first, then export). After the upgrade, it was automatically detected and mounted once more. – Prof Yaffle May 27 '17 at 16:20
2

FWIW, I have the same dilemma - although I'll probably wait until 16.04.1 before I take the jump.

From what I can see, Xenial simply includes native replacement libraries for the zfs-linux stuff, e.g. ZFS on Linux lists 0.6.5.6-1~trusty (et al); native 'buntu has 0.6.5.6-0ubuntu8.

So, I'm assuming that it could be viewed as a change in PPA as much as anything, with kernel support meaning no dkms rebuilding. But...

0

I was using zfs-fuse in 15.10 and updated to 16.04. As a backup measure I kept zfs snapshots. After reboot zfs-dkms was installed and my pool and file systems were recognized and mounted.

Apart from the speed improvement I haven't noticed any change.

0

I just updated from 14.04 to 16.04.1, and it definitely broke my ZFS, but not beyond repair. You'll need to make sure you uninstall all the old ubuntu-zfs and related packages (notably zfs-utils and zfs-doc) and THEN install zfsutils-linux from the 16.04 PPA defaults. It automatically imported my pools, and I'm back up and running again.

0

When I upgraded from Ubuntu 14.04 to 16.04, I also lost all file systems nested in the root. I decided as follows: Instead of a package ubuntu-zfs and zfsutils, was installed the package zfsutils-linux (not from PPA):

aptitude install zfsutils-linux
apt-get install -f
update-initramfs -c -k all
systemctl start zfs-mount.service

All file systems was mounted. After the reboot, everything is OK as well.

0

A bit off topic - since I've upgraded from 15.10 to 16.04 - we have several 15.10 Ubuntu servers with large ZFS filesystems - the systems are installed with standard filesystems (EXT4 I think?) and ZFS has been serving as backup repository on the side as secondary filesystem. ZFS was installed as per instructions here: https://wiki.ubuntu.com/ZFS

Upgrade procedure as we did succesfully:

  1. Normal apt-get update + apt-get upgrade + apt-get dist-upgrade + apt-get install update-manager-core + do-release-upgrade *As a result the ZFS was mounted and usable after the upgrade, but further action was needed
  2. To remove unncessary kernel adds/modules: apt-get remove spl-dkms *This removes old ZFS related stuff
  3. To further remove unncessary kernel adds/modules: apt-get autoremove *This also removes old ZFS related kernel stuff
  4. Upgrade ZFS feature flags (not sure if this is needed?): zpool upgrade
  5. Upgrade ZFS-POOL feature flags: zpool upgrade "your-zfs-pool-name"
  6. Reboot (just in case)
  7. DONE
0

I did an upgrade last night and followed tschundler's instructions.

I hit an error. When initially generating the initramfs and later on reboot, I got the error:

VERIFY3(range_tree_space(rt) == space) failed (3959080 == 16216391680)
PANIC at space_map.c:127:space_map_load()

When I got in in recovery, I could manually import the zpool. From https://github.com/zfsonlinux/zfs/issues/3370, I suspected a problem with the cache. When I tried in single user, I could see a process hanging:

/sbin/zpool import -c /etc/zfs/zpool.cache -aN

What sorted it for me was going into recovery and removing /etc/zfs/zpool.cache Annoyingly, to do this is recovery, I had to remount / rw - the process of which meant Ubuntu ran all the startup scripts and the zpool process hung again!

However, in the end, I (re)moved /etc/zfs/zpool.cache, rebooted and everything worked fine. Might file a bug against the zfsutils-linux package.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.