Migrate TrueNAS Core to Sylve
For years I ran TrueNAS Core on my home fileserver. This was an awesome, easy way of running FreeBSD + ZFS + tools without a lot of manual maintenance. Unfortunately TrueNAS decided to start using Linux as the basis of TrueNAS and I love using FreeBSD. Fortunately a new project is on the horizon which looks promising:
I'm eager to try out Sylve and will write down my plan and the results in this blog.
Some useful facts
- TrueNAS Core installs full images containing the OS, middleware and UI. The last version was based on FreeBSD 13.3 and uses Boot Environments to manage versions.
- Sylve wants FreeBSD 15.0 or later pre-installed and only installs middleware and UI on top of it.
- I use my NAS mainly for Samba (Time Machine) and ZRepl (zfs+ssh send-receive backups).
- The machine: dmesg.
- root@freenas[~]# gpart show
=> 40 234441568 ada0 GPT (112G)
40 1024 1 freebsd-boot (512K)
1064 234422272 2 freebsd-zfs (112G)
234423336 18272 - free - (8.9M)
=> 40 7814037088 ada2 GPT (3.6T)
40 88 - free - (44K)
128 4194304 1 freebsd-swap (2.0G)
4194432 7809842696 2 freebsd-zfs (3.6T)
=> 40 7814037088 ada3 GPT (3.6T)
40 88 - free - (44K)
128 4194304 1 freebsd-swap (2.0G)
4194432 7809842696 2 freebsd-zfs (3.6T)
=> 40 234441568 ada1 GPT (112G)
40 1024 1 freebsd-boot (512K)
1064 234422272 2 freebsd-zfs (112G)
234423336 18272 - free - (8.9M) root@freenas[~]# zpool status
pool: freenas-boot
NAME STATE READ WRITE CKSUM
freenas-boot ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ada1p2 ONLINE 0 0 0
ada0p2 ONLINE 0 0 0
pool: zdata
NAME STATE READ WRITE CKSUM
zdata ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gptid/ac5968d1-c9ff-11ea-9bab-002170466cda.eli ONLINE 0 0 0
gptid/ad3475fc-c9ff-11ea-9bab-002170466cda.eli ONLINE 0 0 0- root@freenas[~]# mount
freenas-boot/ROOT/13.3-U1.2 on / (zfs, local, noatime, nfsv4acls)
devfs on /dev (devfs)
tmpfs on /etc (tmpfs, local)
tmpfs on /mnt (tmpfs, local)
tmpfs on /var (tmpfs, local)
fdescfs on /dev/fd (fdescfs)
zdata on /mnt/zdata (zfs, local, nfsv4acls)
zdata/backups on /mnt/zdata/backup (zfs, local, read-only, nfsv4acls)
zdata/.system on /var/db/system (zfs, local, nfsv4acls)
zdata/.system/cores on /var/db/system/cores (zfs, local, nfsv4acls)
zdata/.system/samba4 on /var/db/system/samba4 (zfs, local, nfsv4acls)
zdata/.system/syslog-646f8dae97d646cc8946ddeb0ca79d97 on /var/db/system/syslog-646f8dae97d646cc8946ddeb0ca79d97 (zfs, local, nfsv4acls)
zdata/.system/rrd-646f8dae97d646cc8946ddeb0ca79d97 on /var/db/system/rrd-646f8dae97d646cc8946ddeb0ca79d97 (zfs, local, nfsv4acls)
zdata/.system/configs-646f8dae97d646cc8946ddeb0ca79d97 on /var/db/system/configs-646f8dae97d646cc8946ddeb0ca79d97 (zfs, local, nfsv4acls)
zdata/.system/webui on /var/db/system/webui (zfs, local, nfsv4acls)
zdata/.system/services on /var/db/system/services (zfs, local, nfsv4acls)
fdescfs on /var/run/samba/fd (fdescfs)
So it has 2 mirrored SSDs containing the OS and 2 mirrored HDDs containing my data.
The Boot Environment is one big filesystem containing the whole OS. Only /var/db/system is a filesystem on the HDD containing TrueNAS specific config files and statistics.
Personal requirement
- Keep existing disks with all data untouched.
- Keep existing Boot Environments so I can revert or lookup current configuration settings.
The Plan
- Create new Boot Environment for plain FreeBSD 15.0.
- Install Sylve and recommended packages.
- Hope that it recognizes my existing pools.
- Configure Samba and ZFS send-receive.
To be continued...
Comments
Post a Comment