-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
File size multiplying with zfs send | zfs receive #8315
Comments
The problem is also exhibited in a much smaller dataset, making it easier to work with:
So, we've moved the single-file contents of this dataset from one host to another by both replication, and a simple scp. Both methods agree we transferred roughly 90GB of data. And
But when we drop the
We also see it with
|
Note that snapshots are not the issue here; USED and REFER are identical. The only snapshot present on this dataset is the one created by |
Why does this occur with replication, but not with a straight copy - and why only on some datasets? There's another dataset on the same source that's 580G on both source and target. Sorry for opening a not-bug; this is coming as a surprise to me, I've replicated from ashift=12 to ashift=13 hosts many times and not seen this before. |
Example, from same source and target, also a dataset with a single .qcow2 file in it:
|
OK, thank you; respecting your desire to close here. =) |
System information
Distribution Name | Ubuntu
Distribution Version | 18.04
Linux Kernel | 4.15.0-29-generic #31-Ubuntu SMP
Architecture | x86_64
ZFS Version | 0.7.5-1ubuntu15
SPL Version | 0.7.5-1ubuntu1
Describe the problem you're observing
Source dataset on Ubuntu 14.04 / 0.6.5.11-1~trusty host is replicated to this host using zfs send | zfs receive. Apparent size of the single file this dataset contains (as observed with ls -lh, or du --apparent-size) does not change, but used size of file (as observed with zfs list, or du -h) roughly doubles on the target as compared to the host.
This appears to be a function of the source being ashift=12 and the target being ashift=13; replicating from the same source to another host with same versions of Ubuntu and ZFS, but an ashift=12 pool, does not result in the file size multiplication.
Scp or other non-ZFS-replication methods of copying the file from source to target also does not result in file size multiplication. It only happens with replication using zfs send | zfs receive.
Source and target both have compress=lz4; source is recordsize=16K and target is recordsize=64K.
Describe how to reproduce the problem
I'm not sure how to coherently reproduce the problem; other datasets on the same source replicated to the same host do not appear to suffer from the same issue. A 3.1T .qcow2 file in one dataset ended up being 6.2T on the target (and filling the pool), but a 580G .qcow2 file in another dataset was still only 580G when replicated to the target.
The text was updated successfully, but these errors were encountered: