Migrate from Xpenology to TrueNAS Core IN PLACE
I’ve been an Xpenology NAS user for 4+ years, from Jun’s loader to Redpill. The reason I chose Synology is for their housekeeping features which I don’t need to concern too much about, plus BTRFS looks quite novel to me. But possibly due to misconfigurations, the bootloader randomly hangs, which could be annoying sometimes. Given that my NAS is left running on 24/7, it does not affect the usage at all. It had been running pretty fine until a data recovery incident months ago and a more recent PSU failure.
While awaiting the new PSU being delivered, I started to think over what my real demands on personal storage are. The data recovery incident in the past has told me that Synology pins BTRFS to a very specific version. A Ubuntu 22.04 or even 18.04.6 (different from 18.04) LiveCD could not mount Synology BTRFS volumes on detached disks. This adds complexities in urgency. According to BSD communities, BTRFS is enjoying a reputation of “vapourware in Linux”. This is arguable somehow. But yeah I want a more robust filesystem other than BTRFS.
The Synology ecology comes with batteries included, like Synology Photos, but at costs. Some applications are required to run in Docker while others are standalone. This is somewhat a reflected inconsistency of code of conduct in the internal development, as well as an indicator of less control on my own.
Bloatware and securities aren’t really my concerns though, since I setup strict rules on my next generation firewall. It also alerts when too much outbound traffic is detected. However, if something is claimed to be minimalistic I definitely will give it a try.
Which OS should I move my NAS to? I actually have ZFS setup on my desktop and NUC where we really have had some good time. Finally I picked TrueNAS Core. :)
I guess there would be sort of best pratices when migrating from Synology to TrueNAS, so I look it up–not quite helpful though. Unfortunately I don’t have an extra NAS and enough spare disks for such kind of migration mentioned in that post, so I really want to migrate in place. That means for me, any non-duplicating data transfer, either physically or virtually, will increase the risk of data corruption.
Disks present on my NAS:
┌──────────────┐
#1 │Exos X18 16 TB├┐
└──────────────┘│BTRFS On
┌──────────────┐│MDADM Mirror
#2 │Exos X18 16 TB├┘
└──────────────┘
┌──────────────┐
#3 │Exos X18 16 TB│ Spare
└──────────────┘
┌──────────────┐
#4 │IronWolf 4 TB│ MDADM Single
└──────────────┘
Eventually I come up with an idea that partially solves it–I can setup TrueNAS first and then passthrough a group of disks to a virtual machine running Ubuntu 18.04 LiveCD.
A data transfer zpool will be initialized on disk #3 in virtual machine. I can
then mount the BTRFS volume on disk #4 and copy the contents to disk #3 by a
local-to-local rsync
.
Once the copy is finished, I’ll initialize a zpool on disk #4 on TrueNAS and
import the zpool on disk #3. Naive zfs send
or zfs receive
will help me to
migrate the data from #3 to #4.
The same is done with the group of #1 and #2.