Vor kurzem musste ich ein Dataset auf einen anderen ZFS-Pool umziehen. Der Umzug besteht aus 2 Schritten:
1. Snapshot von dem Pool/ZVol erstellen:
zfs snapshot -r <Poolname>/<Name bzw. Pfad zum Dataset/ZVol>@migrate
2. Den Snapshot an den neuen Pool senden:
zfs send -R <Poolname>/<Name bzw. Pfad zum Dataset>@migrate | zfs receive -F <Neuer Pool>/<Name bzw. Pfad zum gewünschten Dataset>
Am neuen Pool muss zusätzlich auch nochmals der Name des Snapshots angegeben werden, Beispiel:
zfs send -R DATA1/Daten123@migrate | zfs receive -F DATA2/Daten123
Hinweis: Bei einem send/receive eines ZFS-Snapshots werden auch alle Snapshots übertragen, welche vor dem manuellen Snapshot angelegt wurden.