Bei FreeNAS mache ich das immer mit zfs send | zfs recieve. Damit kannst du einen ganzen Pool oder einzelne Dataset auf einen anderen Pool auf dem selben oder anderen Rechner kopieren oder einfach den ganzen Stream in eine Datei schreiben um diesen dann von der Datei wieder auf einen Pool zu schreiben.
Wenn auf dem Pool auch VMs laufen, denk daran, dass da auch die volblocksize aller VMs abgeändert werden muss, wenn sich die Anzahl der HDDs im Pool ändert.