Efficient sparse image transfer
This adds option for efficient copy-image-
In copy image to volume, image files are written to volume using 'qemu-img convert'.
When the image files include many sparse area, since qemu-img convert writes all data including '0' data, image transfer is inefficient.
This blueprint adds option for image transfer with skip '0' data by following way.
1. Convert image file to raw format file in local temporaly area
2. Write the raw file to volume with 'dd' command with 'conv=sparse' option, which skips sparse data.
Here are data measured in my environment where Linux servers connected directly via 1G iSCSI network and I used RHEL6.7 KVM guest image(https:/
[Conventinal way]
# time qemu-img convert -t none -O raw rhel-guest-
real 3m31.587s
user 0m8.539s
sys 0m1.475s
==> 3min32sec
[My proposal]
# time qemu-img convert -O raw rhel-guest-
real 0m7.046s
user 0m4.732s
sys 0m2.406s
# time dd if=./tmp.img of=/dev/
16384+0 records in
16384+0 records out
17179869184 bytes (17 GB) copied, 25.6639 s, 669 MB/s
real 0m25.667s
user 0m2.162s
sys 0m3.877s
==> Total : 33sec
Blueprint information
- Status:
- Started
- Approver:
- Sean McGinnis
- Priority:
- Medium
- Drafter:
- Yusuke Hayashi
- Direction:
- Approved
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Started
- Milestone target:
- None
- Started by
- Yusuke Hayashi
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Add argment for efficient sparse image transfer