Migrating data to new hard drives on different server

Hi,

I am trying to copy data from an encrypted dataset “X” on “Server A” to an existing encrypted dataset “Y” on “Server B”. I am able to do so, but the settings on dataset “Y” (e.g. recordsize) keep getting overwritten. What do I need to set in the Replication Task UI in TrueNAS Community Edition 25.04.2.4 to prevent this from happening?

Thank you in advance

Is it the Include Dataset Properties checkbox on the Add Replication Task, Advanced options? You may have to test with it unchecked?

Hi SmallBarky,

Thank you for your quick response.

I too thought the “Include Dataset Properties” checkbox would impact this setting, but it isn’t. Whether the checkbox is checked or unchecked, the recordsize of dataset “Y” is changed from 1M to 128K. 128K is the recordsize of the source (i.e. dataset “X”).

@Stux or @HoneyBadger . Do either of you know how this should work with replication and different record sizes?

Replication happens at the ZFS level, so it’s sending records, not files.

If you want to rewrite into a new record size, we recommend you use something that will read and write higher up at the file level, like rsync.

Hi @HoneyBadger,

I will use rsync for the dataset in question. I have other datasets that need migrating. Are there other settings that cannot be overwritten due to the sending of records, not files? I’m hoping to use Replication Tasks, where I can.

Most of the other dataset properties can be changed using Advanced Replication and setting the values for Properties Override (to forcibly set them) or Properties Exclude (which should let it inherit the property of the destination)

See also:

https://openzfs.github.io/openzfs-docs/man/master/8/zfs-recv.8.html#o~2

Any editable property can be set at receive time. Set-once properties bound to the received data, such as normalization and casesensitivity, cannot be set at receive time even when the datasets are newly created by zfs receive . Additionally both settable properties version and volsize cannot be set at receive time.

What properties are you looking to change? I assume compression in addition to recordsize?

1 Like

I looking to change the xattr, acltype and aclmode