Migrate from TrueNAS Core to vanilla FreeBSD

Hi there,

I am currently running TrueNAS Core 13.0-U6.8 on a server, the last version of TrueNAS with FreeBSD.
Since this project is going in a direction I don't like, I decided to migrate my server to vanilla FreeBSD. :)
The current setup is not very fancy, basically a file server exposing some SMB shares and 3 jails.
I have a rough plan in my head on how to migrate and I also have some questions. Would be great if you can give me your opinion and answer some of my questions.🍻

The server is running headless with a system SSD and 4 data HDDs. The SSD holds the TrueNAS installation, the 4 HDDs are configured as one RAID-Z2 pool with a bunch of datasets.

Migration plan:
- export the pool from TrueNAS
- boot FreeBSD ISO, wipe SSD, install FreeBSD 15 RELEASE, use shiny new pkgbase
- enable and configure SSH
- update all packages
- import the pool
- create users and groups with same UIDs as in TrueNAS
- create SMB shares with these users and groups
- configure mail alerting
- create periodic snapshots and scrubbing tasks
- create periodic SMART tests
- create jails as needed and configure them
- install Webmin/Sylve to have a fancy overview and monitoring graphs
- look into boot environments before upgrading to the next release

Questions:
- Does this look reasonable? Anything to add?
- My jails are on the data disks. Any way to update and re-use them? (They were created with iocage)
- Is there any way to have the FreeBSD install in a boot environment besides TrueNAS? Like a dual boot solution?
- I have a bunch of "legacy" mount points when doing
Code:
zfs list
. I guess these come from some former TrueNAS upgrades. I assume these are safe to delete before I switch over?
Code:
zfs list
NAME                                                    USED  AVAIL     REFER  MOUNTPOINT
freenas-boot                                           4.89G   220G       23K  none
freenas-boot/ROOT                                      4.87G   220G       23K  none
freenas-boot/ROOT/13.0-U4                               178K   220G     1.29G  /
freenas-boot/ROOT/13.0-U6.2                             176K   220G     1.29G  /
freenas-boot/ROOT/13.0-U6.8                            4.87G   220G     1.28G  /
freenas-boot/ROOT/Initial-Install                         1K   220G     1.00G  legacy
freenas-boot/ROOT/default                               223K   220G     1.00G  legacy
tank                                                   14.7T  20.3T      378K  /mnt/tank
tank/.system                                            249M  20.3T      140K  legacy
tank/.system/configs-6c934beb66de482e8faef2d3b30acc82   211M  20.3T      211M  legacy
tank/.system/cores                                      128K  1024M      128K  legacy
tank/.system/rrd-6c934beb66de482e8faef2d3b30acc82      34.7M  20.3T     34.7M  legacy
tank/.system/samba4                                    1.71M  20.3T      436K  legacy
tank/.system/services                                   140K  20.3T      140K  legacy
tank/.system/syslog-6c934beb66de482e8faef2d3b30acc82    343K  20.3T      343K  legacy
tank/.system/webui                                      128K  20.3T      128K  legacy
[...]


Thanks!
 
Since the system SDD is ZFS, I would not wipe it's content. Keep it, so you can switch back if s/th goes wrong, and if everything goes well you can comfortably access the old configuration. Install to new datasets and set the new ROOT/default as bootfs of the zpool. DO NOT UPGRADE the zpool to a new version if you're informed or asked about that. Wait until you're really sure that your new plain vanilla FBSD runs ok like you want it and you will not switch back to the old system, 100%. Then and only then you can upgrade the pool, which unlocks some new features.

You can either take a snapshot of your old system's datasets, then wipe the contents (<code>rm -fr</code>) and reuse them for the new system. Or rename the old system's datasets (<code>zfs rename</code>) and create the new ones from the installer shell or a shell on the old system. You should create a <code>zpool checkpoint</code> of the zpool on your system ssd prior to installation. Inform yourself which datasets the installer expects.

BIG FAT WARNING: DO NOT USE EDONR as checksum on a zpool that you want to boot from. You can not boot from a zpool with edonr active in any dataset, volume or snapshot. It's enough that only one single block of ANY dataset, volume or snapshot of that zpool has this shiny new checksum, then this will make the pool unbootable, even if the bootfs does not have edonr checksum in any block.

2nd, I would not switch to FBSD-15 yet, unless you're very curious and like to help with writing qualified bug reports or love the pain (some do ;) ). Better stay with 14.4 for now, and switch to 15.2 when it's ready.
 
You have place for a freebsd-zfs pool ?
I so , create one & install FreeBSD 15.0
Then create datasets as needed.
And use clone to copy over the files.
I everything works fine, zpool destroy TRUENAS & delete partition.
 
You have place for a freebsd-zfs pool ?
I so , create one & install FreeBSD 15.0
Then create datasets as needed.
And use clone to copy over the files.
I everything works fine, zpool destroy TRUENAS & delete partition.
if the old zpool of TrueNAS already occupies the whole ssd, there is no space left IIUC. AFAIK you can not shrink a zpool, right? If I'm wrong, yes that would be nice, then you can create a 2nd zpool for the new system beneath the zpool of the old system.

And as long I see reports about weird problems with FBSD-15, IMHO you should not advise to go to FBSD-15 ATM (March 2026) until you're sure that the receipient is an experienced FBSD wizzard who is likely able to solve most problems him/herself.
 
On webmin: I read in the XigmaNAS forum from a guy who switched from a Linux-based NAS to a plain vanilla FBSD NAS that he had to spend some time disabling some webmin modules that did not work in adequate quality, and (naturally) to delete all those fancy goodies that he wouldn't need anyway. But IIUC that was worth it.
 
And as long I see reports about weird problems with FBSD-15, IMHO you should not advise to go to FBSD-15 ATM (March 2026) until you're sure that the receipient is an experienced FBSD wizzard who is likely able to solve most problems him/herself.
What weird problems? I've been running 15.0-RELEASE on 2 different systems as daily drivers without issues. One is a simple single device system running ZFS the other mirrored pairs for "OS pool" and separate data/home directory pool

OP:
Do you have physical space to add another SSD for a boot device?
If so here's what I've done in the past upgrading systems (no not running TrueNAS, but FreeBSD systems with ZFS pools).
zpool export the "data pool" and power down
add a new device for the "os", unplug the current boot/os SSD (purely for safety)
power up and install FreeBSD-15.0-RELEASE on the new device, verify the basic installation is correct
import the data pool and continue configuring

Basically what you posted, just on a new device.
Why?
It gets you a new device (not sure how long the previous SSD was running for) and lets you
preserve a working configuration.
you can always hook the old device back up and import to an altroot. That lets you simply copy files instead of hoping you wrote everything down.
 
What weird problems? I've been running 15.0-RELEASE on 2 different systems as daily drivers without issues. One is a simple single device system running ZFS the other mirrored pairs for "OS pool" and separate data/home directory pool
I dont find the thread quicky now. From December '25. Yes, of course there are 100's of systems running FBSD-15.0 flawlessly! But OTOH please keep in mind: your 2 systems is what the statisticians call "anecdotal" and it's pretty normal that the 1st 1-2 releases of a new major branch have some problems, at least on some configurations, i.e. hardware. Remember that there are more hardware combinations possible than atoms in the universe and only a few 100 can be tested... It's normal that problems come up. Experience tells that the safe way is to go to the .2-RELEASE and before that you can help with qualified bug reports, if you have additional hardware and/or enough time resources to do that.
 
And yes of course if you have a 2nd SSD you can put the SSD with the old system in a safe and install onto a new SSD. But if you dont have another SSD, it's best NOT to destroy the zpool on it, but keep it, don't upgrade the zpool version (yet), keep the datasets of your previous OS (rename or at least snapshot) and install FBSD on the SAME zpool, either new datasets or reuse the ones you have snapshot'ed. "zpool checkpoint" is your life insurance, both on the system zpool and the data zpool.
 
I dont find the thread quicky now. From December '25. [...]
What weird problems? I've been running 15.0-RELEASE on 2 different systems as daily drivers without issues. One is a simple single device system running ZFS the other mirrored pairs for "OS pool" and separate data/home directory pool
This is the one I meant: https://forums.freebsd.org/threads/14-3-release-p6-to-15-0-release-ipfw-issues.100603/post-730467 and here's another one https://forums.freebsd.org/threads/freebsd-15-0-release-issues-strange-issues.102027/post-749795
 
  • Like
Reactions: mer
Back
Top