When doing a live volume migration (block migration) thin volumes effectively become thick because all bytes are copies from the source to the destination.
I understand that only the filesystem can know about the block that are unallocated, but Nova can set the "detect_zeroes" when doing the block mirroring.
This doesn't seem to work for all drivers, but I have confirmed that it works for NFS and RBD volumes. Probably someone more knowledgeable should look into why it doesn't work for iSCSI and such.
It requires some additional CPU computational power, so we shouldn't be setting it for normal operations, but I believe the big difference in time and network bandwidth during live migration is well worth it.
When doing a live volume migration (block migration) thin volumes effectively become thick because all bytes are copies from the source to the destination.
I understand that only the filesystem can know about the block that are unallocated, but Nova can set the "detect_zeroes" when doing the block mirroring.
This doesn't seem to work for all drivers, but I have confirmed that it works for NFS and RBD volumes. Probably someone more knowledgeable should look into why it doesn't work for iSCSI and such.
It requires some additional CPU computational power, so we shouldn't be setting it for normal operations, but I believe the big difference in time and network bandwidth during live migration is well worth it.