zfs send from an ancient system
darius at dons.net.au
Mon Dec 7 07:49:28 UTC 2020
I am trying to migrate an ancient (FreeBSD 8.2!) ZFS system to something newer (12.2). I was hoping to be able to zfs send | zfs recv, however I get this..
root at newsystem:~ # ssh root at oldsystem zfs send tank/www at 20201201-0902 | zfs recv -d tank/Old
cannot receive new filesystem stream: invalid backup stream
I have also tried zfs send to a file, copying over and verifying they are identical, but I get the same result.
The new system's zstreamdump seems happy with the stream:
[midget 18:14] ~ >zcat /tmp/test.gz| zstreamdump
hdrtype = 1
features = 0
magic = 2f5bacbac
creation_time = 5fc49191
type = 2
flags = 0x0
toguid = 54852dc9f8234af4
fromguid = 0
toname = www at 20201201-0902
END checksum = 100209f0a087fed/dd40d3fa795d846e/ae2049c273df5121/f012e76312cbb2a3
Total DRR_BEGIN records = 1
Total DRR_END records = 1
Total DRR_OBJECT records = 12961
Total DRR_FREEOBJECTS records = 2820
Total DRR_WRITE records = 13565
Total DRR_WRITE_BYREF records = 0
Total DRR_WRITE_EMBEDDED records = 0
Total DRR_FREE records = 28490
Total DRR_SPILL records = 0
Total records = 57838
Total write size = 148137472 (0x8d46600)
Total stream length = 169604120 (0xa1bf418)
Is there some debugging that can be enabled to get some idea about what's going wrong? 'dmesg' doesn't show anything on the sender or receiver side.
I am sure I have done this in the past from this machine, unfortunately I don't have the receiving machine any more as it got repurposed.
PS I am well aware of the warning in the man page about send format.
"The nice thing about standards is that there
are so many of them to choose from."
-- Andrew Tanenbaum
More information about the freebsd-hackers