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
  • 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
    Commented Apr 24, 2016 at 18:29

7 Answers 7

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

2
  • 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. Commented May 27, 2017 at 16:20
  • Another package for the removal list: zfsutils
    – evan.bovie
    Commented Sep 26, 2022 at 21:24
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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .