FAQ: Migrating from FreeNAS Corral to FreeNAS 9.10 / 11

Resource FAQ: Migrating from FreeNAS Corral to FreeNAS 9.10 / 11

As per the recent announcement, FreeNAS Corral is effectively not going to see any further development.

A large number of questions has popped up and I will try to answer them here, to avoid duplication and to save everyone some trouble.

What's going on?
FreeNAS Corral had a rocky launch period. iXsystems has decided to focus on the 9.10 branch and use that as the foundation for many of Corral's cool new features. See the announcement for details.

I'm using Corral and I'm quite happy, do I have to change immediately?
No. If your experience is positive, there is no need to change back to 9.10 immediately.
I highly recommend that you migrate as soon as the features you need are available, as no automated migrator is planned.

I was going to move to Corral, should I reconsider?
Yes, the main development effort is going to be in the 9.10 branch, with FreeNAS 11 being the continuation of this branch.

Can I just change trains back to FreeNAS 9.10 or to FreeNAS 11?
No, the configuration database formats of the two branches are completely different and no migration script exists to convert from Corral format to 9.x/11 format. As such, a simple train change will fail. The system may fail to boot and will have to be reconfigured, either from an existing 9.x config backup or from scratch.

Are Corral config backups compatible with FreeNAS 9.10 or FreeNAS 11?
No, they are not compatible. The database formats are completely different.
This also means that changing trains from Corral to FreeNAS 9.10 or 11 will not work. The system may fail to boot and will have to be reconfigured, either from an existing 9.x config backup or from scratch.

I want to move back to 9.10, can I just roll back to the previous boot environment?
Yes, if you meet the following conditions:
  • You did not create any datasets with Windows permissions with a build of Corral from March or later and did not manually enable aclmode=discard_chmod for any datasets. If you did, see below.
  • You did not upgrade your pools after the update to Corral. You can check this by running zpool status from the Unix shell. If you're offered to upgrade the pool, you're good to go! If not, see below.
  • You are not using Docker. If you are, see below.
  • You did not make major changes to your setup (completely new users, for instance). If you did, start a new thread, explain your situation, and we'll try to help you.

My 9.10 install is gone!
Don't worry, your data is safe. If you have your old 9.10 config backed-up, just upload it after installing 9.10.2. If not, you'll just have to reconfigure FreeNAS. I recommend you assign the same User and Group IDs as you were using before, to make the transition smoother. Use your current FreeNAS Corral config to guide you.

I never used 9.10!
I upgraded my pool!

Well, that complicates things a little bit. FreeNAS Corral uses FreeBSD 11, which adds support for some ZFS features not available in FreeBSD 10, which 9.10.2 uses. FreeNAS 9.10.3 will be based on FreeBSD 11 and will allow you to import your pool. You can either wait for the Release, scheduled for May, or try out the nightlies.
Good news! FreeBSD 11 only adds two feature flags: sha512 and skein for checksumming and dedup. Most users will not have actually used these in any dataset, so they should still be marked as "enabled", so pools that were either upgraded or created in Corral will mostly just import in 9.10.2. If you actually used either of these feature flags, you most likely knew what you were getting yourself into.

What if I have an encrypted pool?
Living dangerously, aren't we?
This bug report contains a script and instructions to help import Corral encrypted pools in FreeNAS 9.10.2 and FreeNAS 11.

How do I move to FreeNAS 11?
If you have a previous 9.10 boot environment, boot that up and switch trains to the FreeNAS-11-Release train. You will receive an update to the latest version.
If not or if your 9.10 environment is acting up, just install the latest version from ISO. It is available at http://download.freenas.org/11/

I'm using Docker!
FreeNAS 9.10.2 does not have Docker integrated and Docker support will not be ready for FreeNAS 11.0.
You can, however, install a Docker manager on your own (e.g. RancherOS) using the VM feature to run your dockers.
Some useful documents that may help with this transition include the following:
Please review them so that the authors can improve them and so that other users know if they work.

I created a dataset for Windows/SMB shares on FreeNAS 10/Corral after 2017-03-09
I'm having trouble setting permissions
How do I get rid of Corral's weird ACL mode?
I used a dataset for SMB sharing and VMs at the same time

FreeNAS Corral uses a non-standard ZFS aclmode that discards chmod calls silently instead of returning an error.

To list datasets that use this aclmode, run the following line in the shell (in FreeNAS Corral):
zfs list -H -o name,aclmode | awk '/discard_chmod/ { print $1 }'

To check if your pool is affected by this, try the following command on FreeNAS Corral:
zfs set aclmode=oops dataset
You'll get an error message (if not, you have bigger problems):
cannot set property for 'dataset': 'aclmode' must be one of 'discard | groupmask | passthrough | restricted'
If the message includes discard_chmod, the pool is affected. If not, your problem lies elsewhere.

Here's how to get rid of it:
zfs set aclmode=desired_aclmode dataset
Where the desired_aclmode is almost certainly going to be restricted, so:
zfs set aclmode=restricted dataset

ZFS replication has not been working correctly since the migration
Most likely, this is caused by Corral's unique ACL mode. Follow the instructions under "How do I get rid of Corral's weird ACL mode" to change the affected datasets' aclmode property.

I despise the old GUI with every fiber of my being!
Ok, that's an odd amount of hatred for an interface. But you're in luck: FreeNAS 11 debuts the new FreeNAS GUI. It is not going to be feature-complete just yet, but it's usable. If it isn't, please file bug reports and feature requests! It can be accessed via a link in the login page.

What's the roadmap for the features to be ported over?
Much of the roadmap is yet to be defined, but so far, the following is tentatively planned:

FreeNAS 9.10.2 - out now
  • VMs are available via bhyve and the iohyve CLI tool
FreeNAS 11 (Formerly FreeNAS 9.10.3) - out now
  • Moves to FreeBSD 11, for all sorts of assorted improvements already in Corral
  • Adds GUI support for VMs, iohyve can still be used alternatively
  • Introduces the new angular-based GUI, as a functional, but not feature-complete, alternative
FreeNAS 11.1 (Formerly FreeNAS 9.10.4) - out now
  • The new GUI is usable for most tasks
FreeNAS 11.2 - Out now
  • Adds GUI support for Docker containers, much like Corral
  • The new GUI is feature complete and the default
  • Jails management is moved to iocage, from Warden
FreeNAS 11.3 - In development
  • Further GUI work
  • A Corral-like CLI

Is my data safe?

Are you sure!?
Yes, I'm sure, it's just as safe as it was before this ordeal.
First release
Last update
4.50 star(s) 2 ratings

More resources from Ericloewe

Latest updates

  1. Updated roadmap

    Updated the roadmap to reflect delays.
  2. Updated detection method

    Contrary to what I had been previously told, the current aclmode can be checked using zfs list...
  3. FreeNAS 11 Release

    With the Release of FreeNAS 11, information regarding its status has been updated accordingly.
  4. zfs send issues after migrating

    Added a section about ZFS replication not working after migrating away from Corral. This seems...
  5. Migrations for Docker users

    Added a few links of interest to Docker users moving to FreeNAS 11.

Latest reviews

This is all great info except the part about a new Corra-like CLI. Why? What purpose does it serve? There is already a CLI, the Unix one, why do you need a "new" CLI with all new ways of doing things that means you first have to re-invent the wheel and then everyone gets to learn how to ride it.
Why are you removing a star for the CLI? The only thing you accomplish is dissuade people from using this Resource and there is literally nothing at all I can do about it, since I'm just the messenger.
Thank you for this information!