TrueNAS – upgrade CORE » SCALE

TrueNAS CORE and SCALE - what do they have in common?

I wanted to talk first about when is it worth it, when is it not worth doing a migration? I will tell what are the contraindications to upgrade? Moreover, there will be situations when an upgrade will simply spoil our functionalities so there is simply no point in doing it. At least not without special preparations. Finally, I will show how such a process of CORE to SCALE upgrade goes and what to pay attention to? If you are curious what are the advantages and disadvantages of CORE and SCALE? Then I invite you to watch the material „TrueNAS – CORE vs SCALE /2024” 

What is the TrueNAS CORE to SCALE upgrade?

Keep in mind that upgrading TrueNAS CORE to SCALE, is actually a complete change of operating system from FreeBSD to Linux Debien. These systems differ strongly, so the upgrade operation is irreversible. Theoretically, you can do a boot from the old system, but the operation is unsupported and there are good chances that you will effectively damage your system this way. Don't do such a roll-back on production servers, but about that later. 

Upgrade TrueNAS CORE to SCALE - when is it not worth it?

It is time, perhaps, to cool our ardor a bit. There are a few things that should stop us, at least for a while, in our ill-fated plans to upgrade TrueNAS CORE to SCALE. Perhaps in some situations, you'll just come to the conclusion that it's not worth it, because sometimes it requires too much work to do it just like that.

Probably the most important change from a TrueNAS CORE to SCALE migration perspective is the change in the form of application or plugin implementation from Jail in CORE, to Docker in SCALE. If you are using applications in your CORE, be it Nextcloud, Plex, Maincraft, whatever, be aware that they will just unceremoniously stop working. The end. So if you care about that data, or strictly speaking those applications, because the data will remain intact, this is a good time to hold off until you have a good, tested plan for migrating those functionalities to TrueNAS SCALE.

Moving on... If you've implemented any manual tuning of ZFS or the system itself, those mians won't survive either. Also check, rather unlikely, if by chance your pools are not encrypted with GELI encryption, as it is abandoned with FreeBSD

Also, if you are using in AFP that is such an SMB for apple, that too is simply not in SCALE.

Unfortunately, there is also no option to synchronize with Microsoft's OneDrice. Of the interesting, but extremely rarely used options, SAS mutlipath support disappears.

There are several more contraindications, but I wanted to point out subjectively the most important ones. For details, I refer you to this link: https://www.truenas.com/docs/scale/gettingstarted/migrate/migrateprep/

Upgrade TrueNAS CORE to SCALE - when is it worth it?

So, if you haven't used Jaili on TrueNAS CORE. but rather the basic functionality as an SMB or NFS liking server, additionally, for some reason you have come to the conclusion that it's time to start playing with containers, or you just want to do it, because why not? Then this is a really interesting option.

Preparing to migrate CORE to SCALE

Just as upgrading to a newer version of TrueNAS is pretty much standard procedure, already the automatic migration from CORE to SCALE for May 2024 is basically described as experimental and many things can go wrong. From the upgrade itself, to unexpected and non-obvious changes in settings causing something to stop working, or simply not getting the system up, though that's what I would least expect.

Reassuringly, however, I would like to inform you that so far I have only been dreading, already a little bit of these updates have gone, and in principle nothing has happened that could not be expected one way or another.

So before we get into the fun, the basic and repeated to the point of being boring is that you should always, but always, have a comprehensive Plan B to prepare you for the worst. In this case, by worst I mean a complete loss of data on the device and, at least temporarily, the device itself. At least until a complete reinstallation of the system.  

Remember that we need to have a backup of the data itself elsewhere. Backup the TrueNAS configuration, and let's make sure we have the keys to encrypt our pools if you encrypt your data. Admittedly, it is extremely unlikely that anything will touch our data during a system update, but we can always count on ourselves. You know, after the update something will work differently, we will start to fix something, check something, synchronize something and tragedy is ready.

Let's also make sure that we have prepared time for this activity and not that in 5 minutes the phones will ring, stress and such other pleasures.

From practice, I would advise you to make yourself a list of the functionalities that your TrueNAS currently has. This will allow you to efficiently and quickly confirm that everything works right after the migration. 

As one of the worse scenarios is when, for some reason, the server does not get up completely after migration. In such a situation, we simply reinstall TrueNAS CORE, restore the configuration from the saved backup and everything should return to its pre-migration state without any problem. Remember that our data should remain intact through the upgrade process.

Recommended form of TrueNAS CORE to SCALE migration

In truth, if we want to maximally avoid surprises, unexpected behavior and thus potential trouble, the most recommended form of migration would be to install a new TrueNAS SCALE, import the existing pool and configure all our settings and functionality from scratch. This approach carries the least risk of surprises, because even if something doesn't work as we assumed, we know which element and at what point it refuses to cooperate. This speeds up the resolution of surprises significantly compared to the option where something stops working after migrating the entire system.

Among the disadvantages of this version of migration, is the time required. If you have configured, for example, a lot of shared resources or many local users, advanced network solutions, then configuring them from scratch will take a lot of time and increase the potential for mistakes. 

On the topic of upgrading the ZFS version

Just as the TrueNAS update itself is unlikely to touch the data on the pool, things are a little different if a ZFS update comes along with the TrueNAS update.The system itself will not update the ZFS file system on our pool. It will suggest it after logging into the new system. Here I would advise you to hold off a bit, because this operation is irreversible. Until the ZFS is updated, in most cases we can go back to the previous version of TrueNAS. However, if we update ZFS then the older version of TrueNAS may not understand the newer version of ZFS. So before we update ZFS let's be sure that everything works as we expect and we have no need to go back to the old version.  

Links to materials:

https://www.truenas.com/docs/scale/gettingstarted/migrate/migratingfromcore/

https://www.truenas.com/docs/truenasupgrades/

https://www.truenas.com/docs/scale/gettingstarted/migrate/migrateprep/