9.3 to 9.10 FAQ
3 minute read.Last Modified 2021-03-04 08:31 EST
This FAQ covers legacy version upgrades from FreeNAS/TrueNAS 9.3 to 9.10 and does not specifically apply to any other versions.
LACP links actually only “sort of” worked in FreeBSD 9 - they would misbehave in odd and difficult to diagnose ways when one of the physical links failed. In FreeBSD 10 (and hence FreeNAS 9.10), Active LACP is now enforced so that there is a proper heartbeat and the robustness of the link can be assured. Re-configure your switch for Active LACP and your lagg will work again.
Yes and no. If you have a 9.3 jail used by a plugin or other application that you don’t plan to change in any way (you just want it to continue to work), then yes, it will keep working just fine. If you are trying to use FreeBSD tools like the ports and packages collection (or any of the various upgrade helpers for them) then NO. Those tools inspect the currently running OS version and will immediately detect a mis-match and get angry. If you want to do any “manual jail management” then you need a 9.10 jail.
Due to the way that templates are cached over the lifetime of a FreeNAS install (an architectural design flaw it is too late to fix now), you will need a fresh (totally empty) jail root in order to trigger the download and installation of a FreeBSD 10 jail environment (template).
See comments in https://redmine.ixsystems.com/issues/14977 - easiest to just re-issue the certs in 9.10 due to the fact that 9.3 had some bugs in its cert generation logic (non-security compromising ones, but the tightened cert checks in 9.10 catch them nonetheless).
For a rebootless http workaround please do the following:
- SSH into your system.
- Make a backup of your system database (for safety):
cp /data/freenas-v1.db /data/freenas-v1.db.bak.
- Manually set the GUI’s protocol to ‘http’ in the database:
sqlite3 /data/freenas-v1.db "UPDATE system_settings SET stg_guiprotocol = 'http';".
- Ensure that the above step went through successfully by printing the value of stg_guiprotocol from the database:
sqlite3 /data/freenas-v1.db "select stg_guiprotocol from system_settings;".
- Regenerate nginx config file and then restart nginx and django:
service ix-nginx onestart && service nginx restart && service django restart.
TLSv1 has been deprecated as insecure. Switch to TLSv1.2.