I’ve just upgraded from TrueNAS Core to Scale (ElectricEel-24.10.0.2). I wanted to do a simple task: move an existing dataset (/mnt/mypool/SyncthingData
) to within a newly created dataset (/mnt/mypool/AppData/SyncthingData
).
This post provides a simple solution through the use of the zfs rename
command. Here is another, similar post.
I tested this with some test (trash) datasets and it works nicely. I’m ready to do this for “real” now, and wanted to do another simple task: make a copy of the original .../SyncthingData
dataset - just in case anything goes wrong. This is where I’m having problems, and I believe it’s because the original dataset is encrypted.
Using this article as reference, I ran the following command as root:
zfs send -Rwv mypool/SyncthingData@copy | zfs receive -Fu mypool/AppData/SyncthingData
This was after creating the snapshot (mypool/SyncthingData@copy
) and the new .../SyncthingData
dataset, of course.
Unfortunately, I got the following error:
TIME SENT SNAPSHOT mypool/SyncthingData@auto-2024-11-13_03-00
cannot receive new filesystem stream: zfs receive -F cannot be used to destroy an encrypted filesystem or overwrite an unencrypted one with an encrypted one
As I got stuck there, I learned about replication as a potential workaround. I did this all via the TrueNAS GUI (Data Protection → Replication Tasks) and seemed to have worked - or at least completed without errors. The problem I have now have is that the replicated dataset in mypool/AppData/SyncthingData
is locked and to unlock ita, it asks for a Key File. I don’t know where to get that, but took a guess and did an Export All Keys from the main pool, and used it. This didn’t work.
Bottom line is that I don’t know what I’m doing!
I just want to make a copy of an existing, encrypted dataset… I didn’t expect it to be so difficult. Can anyone hep, please? Thanks!