I have a server running the 4-year-old Ubuntu 12.04 LTS with installed on the machine with a 1.5TB mirrored drive setup. The Ubuntu 16.04 LTS has no upgrade path, so I'll have to reimage the boot drive, but it has native support for ZFS.

What do I need to do during the upgrade to make sure the pools are still accessible on the upgraded machine?

1 Answer 1


In general, older pool versions can be read by newer systems, but not the other way round (that is, after you do a zpool upgrade on your pool, you cannot go back without destroying the whole pool).

Therefore, I would first try the simple approach:

  1. Do a full backup and test if you can go back to that backup without problems.
  2. Remove any log or cache devices from the pool if you have them attached.
  3. Stop all input/output on the pool, for example network sharing services.
  4. zpool export the pool.
  5. Shutdown the system, swap one or two discs over to the new one.*
  6. Install your base system on another disk.
  7. zpool import the pool.
  8. Optionally, add the second disk if you only added one and wait for the resilver to complete.

*) In theory, you would always swap both disks because you have a working backup anyways. I just like the peace of mind to always have another working disk in the old system, should I mess anything up. Much faster to go back this way than with backups, and the chance that a bitflip occurs in the 5 minutes between swapping is minimal.

You must log in to answer this question.

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