Help With Creating Copy of Dataset?

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! :slight_smile:

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!