Can I safely migrate a ZFS pool from FreeBSD to Ubuntu?

I have a HP Microserver running FreeBSD 9.1. It has a ZFS pool which is a 3-way RAID Z. It currently boots from root on ZFS.

I would like to migrate from FreeBSD to Ubuntu server (because I am more familiar with Ubuntu/deb). Can I somehow install Ubuntu without destroying/damaging the pool?


ZFS On Linux (ZOL) has come a long way in the past year or so. The developers have claimed it is production-ready with its recent v0.6.1 release. I've been running ZOL at home (still a pretty heavy workload, though) for a while now and I've had no problems. A lot of other people stand by ZOL as well.

That said, using ZOL as the root (or /) partition is tricky. It is doable, although probably not worth your time. I believe that the Arch wiki has information about it.

The easiest path for you to take (in my option) would be to install Ubuntu on a separate boot drive (or mirror), install ZOL (from source or from the PPA), and simply zpool import your existing ZFS pool.

Something to keep in mind: ZOL does not implement some of the most recent features of zpool (like encryption, among other things). It will likely warn you (and possibly block you) from mounting a pool that contains features that ZOL does support. Just in case, make a backup of the important data prior to trying to import it. I doubt anything bad will occur if it fails, but playing it safe is always good!


FreeBSD (9.1+) and ZOL both use pool version (on-disk format version) 5000. So you should be able to migrate between ZFS and Linux. In any case, make backups and do a test first.

FreeBSD is a bit different from Linux but not that difficult. The documentation is good, and the community generally helpful. The FreeBSD ports system for building applications from source is excellent. You might want to consider this as an opportunity to broaden your horizon.