Get a Quote   (408) 943-4100               TrueNAS Discord      VendOp_Icon_15x15px   Commercial Support Toggle between Light and Dark mode

Migrating from TrueNAS CORE

  4 minute read.

Last Modified 2022-04-26 14:02 EDT
Migrating TrueNAS from CORE to SCALE is a one-way operation. Attempting to activate or roll back to a CORE boot environment can break the system. CORE systems with High Availability enabled (HA) can not be upgraded to SCALE HA.

Migrating GELI-encrypted Pools to SCALE

TrueNAS SCALE is based on Linux, which does not support FreeBSD GELI encryption. If you have GELI-encrypted pools on your system that you plan to import into SCALE, you must migrate your data from the GELI pool to a non-GELI encrypted pool before migrating to SCALE.

Start by saving the SCALE ISO file to a USB drive (see the Physical Hardware tab in Installing SCALE). Plug the USB drive into the CORE system that you want to sidegrade and boot or reboot the system.

At the motherboard splash screen, use the hotkey defined by your motherboard manufacturer to select a boot device, then select the USB drive with the SCALE .iso.

When the SCALE console setup screen appears, select Install/Upgrade.


The installer asks if you want to preserve your existing configuration or start with a fresh installation. We recommend selecting Upgrade Install when migrating from CORE to SCALE to keep your configuration data. Then select Install in new boot environment.



Although TrueNAS attempts to keep most of your CORE configuration data when upgrading to SCALE, some CORE-specific items do not transfer. GELI Encrypted pools, NIS data, metadata, jails, tunables, and boot environments do not migrate from CORE to SCALE. AFP shares also do not transfer, but can be migrated into an SMB share with AFP compatability enabled. Init/shutdown scripts transfer, but can break and should be reviewed before use. The CORE netcli utility is also swapped for a new CLI utility that is used for the Console Setup Menu and other commands issued in a CLI.

After choosing to install in new boot environment, the installer warns that SCALE installs into the boot pool previously used for CORE. Select Yes.


Once the installation completes, reboot the system and remove the USB with the SCALE .iso file.

When TrueNAS SCALE boots, you might need to use the Shell to configure networking interfaces to enable GUI accessibility.

Start by downloading the SCALE manual update file. Confirm that the TrueNAS system is on the latest public, 12.0-U8 or better, release.

Click CHECK FOR UPDATES in the System Information card on the Dashboard or go to System > Update.


Click SAVE CONFIGURATION to download a backup file that can restore the system configuration in the event something goes wrong with the migration. This is recommended but it not required. SCALEConfigSidegrade

Select a Temporary Storage Location (either Memory Device or a Pool) for the manual update file. Click Choose File and select the TrueNAS-SCALE.update file you downloaded. SCALEFileSidegrade Then click APPLY UPDATE.

After the update completes, reboot the system. SCALESidegradeReboot

Parallel SCALE CLI Commands

The following CLI commands are available after migrating from CORE to SCALE. The CORE equivalent CLI command is provided for reference. These commands are intended for diagnostic use. Making configuration changes using the SCALE OS CLI is not recommended.

CORE CLI ComandSCALE CLI CommandDescription
camcontrol devlistlshw -class disk -short sfdisk -lUse lshw -class disk -short sfdisk -l to get detailed information on hardware (disk) configuration that includes memory, mainboard and cache cofiguration, firmware version, CPU version and speed.
geom disk listlsblk, hdparmUse lsblk to lists block devices or hwparm to get or set SATA/IDE device parameters.
glabel statusblkidUse blkid to locate or print block device attributes.
gstat gstat -podsiostat
iostat -dtx
Use iostat -dtx to display the device utiilization report with the time for each report displayed and includes extended statistics.
ifconfig -l
ip addr
ifconfig -s
lshw -class network -short
ethtool devname
Use ip addr to show or manipulate routing, devices, or policy routing and tunnels.
Use ifconfig -s cofigure a network interface.
Use lshw -class network -short to display a network device tree showing hardware paths.
Use ethtool *devnam* to query or control network driver and hardware settings.
netstat -iifstat -iUse ifstat -i to get interface statisitcs on a list of interfaces to monitor.
nvmecontrol devlistnvme listUse nvme list to identify the list of NVMe devices on your system.
pmcstatprofile-bpfccUse profile-bpfcc to get a CPU usage profile obtaine by sampling stack traces.
systat -ifstatiftop
Use iftop to display interface bandwidth usage by host and netstat to print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.
top -SHIzPtop -HiUse top -Hi to display Linux tasks for all individual threads and starts with the last remembered i state reversed.
vmstat -Psar -P ALLUse sar -P ALL to get reports with statistics for each individual processor and global statistics among all processors.