0

I've ran zfs send -Rv old_pool@snapshot_20190106 | zfs receive -Fd new_pool, but there are no files created in new_pool after the transfer finished. I've tried the same command in a VM (fresh install) and the files are there, copied over to new_pool. The files in VM test is around 500MB, and on live freenas is around 800GB.

My goal is to copy the old_pool to new_pool because the old_pool doesn't have compression turned on. Is my command incorrect? Is there any other way to achieve this?

  • zfs root datasets behave "strangely" in regard to `send/recv`. For this and others reasons, root datasets should only be considered as container for child dataset. – shodanshok Jan 07 '20 at 08:44
  • @shodanshok So the only reliable way is to `cp` the whole pool to new pool? – Shira Ishikawa Jan 07 '20 at 10:09
  • If you really want to put files in the root destination dataset (which I do not suggest), I really think `cp` or `rsync` are your best bet. Anyway, I suggest you first to create a child destination dataset, and try a `send/recv` to it. For example: `zfs send -Rv old_pool@snapshot_20190106 | zfs receive -Fd new_pool/child_dataset` – shodanshok Jan 07 '20 at 15:13
  • Thank you, I'll try your suggestion using child dataset. If it doesn't work then I'll just `cp` or `rsync` it. – Shira Ishikawa Jan 08 '20 at 08:31

1 Answers1

0

You are doing it right, but it probably isn't getting mounted. Do:

zpool export new_pool
zpool import new_pool

Look at where things are mounted using:

zfs list

And then look for your files in the relevant place.

Gordan Bobić
  • 971
  • 4
  • 11