Releases: abbbi/qmpbackup
Version 0.49
Version 0.49
- Fix for issue #29
- Add note about supported qemu versions to README
Full Changelog: v0.48...v0.49
Version 0.48
Version 0.48
- Fix cleanup of attached devices if backup operation fails due to unsupported parameters (#26)
- Add --rate-limit option for qmprestore command.
Full Changelog: v0.47...v0.48
Version 0.47
Version 0.47
Fix issue #24 (Backup fails with "invalid node-name"):
For the new image fleecing technique, qmpbackup needs to work with internal Qemu node names.
If users do not specify node names, by using obsolete Qemu command lines, the node names are generated by Qemu (#blockXXX).
The node name is also used for the temporary devices and bitmap names, but Qemu forbids to use # in these names, which makes
the backup fail.
Add fallback to the device name and use a safe node name (without #) for these situations.
Full Changelog: v0.46...v0.47
Version 0.46
Version 0.46
This version introduces image fleecing technique for backup (enabled by default)
Usually, during backup, Qemu will use a so called copy-before-write filter so that data for new guest writes is sent to the backup target first, the guest write blocks until this operation is finished.
If the backup target is flaky, or becomes unavailable during backup operation, this could lead to high I/O wait times or even complete VM lockups.
To fix this, a so called “fleecing” image is introduced during backup being used as temporary cache for write operations by the guest. This image can be placed on the same storage as the virtual machine disks, so is independent from the backup target performance.
qmpbackup
backup process now looks like:
- For each disk included in the backup, a temporary fleece image is added to the virtual machine
- The copy-before-writer filter and snapshot-access devices are enabled
- Backup is executed like before, just that the copy-before-write filter utilizes the fleece image, so I/O operations can utilize the production storage instead of being stalled by the slow backup I/O operations.
- Changes are reverted and temporary fleece images are deleted.
Please note that there are some changes in the target directory layout, the utility now uses the
Qemu internal node names instead of device names.
Full Changelog: v0.45...v0.46
v0.45
Version 0.44
Version 0.43
Version 0.43
- #18: fix backup issue: default_exception_handler: Task exception was never retrieved
Full Changelog: v0.42...v0.43
Version 0.42
Version 0.42
- Update README: add info for Proxmox
- Code Cleanup
- Colorized log output
- Add --syslog option: write logging to syslog
Full Changelog: v0.41...v0.42
Version 0.41
Version 0.40
Version 0.40
This version contains an important Bugfix!
The backup function would use an while loop to report the backup job progress. This loop would exit in
case no jobs are returned by the query-block-jobs QMP command. The final state of the block job operation
was not handled in these cases and the backup utility could miss situations where the block job failed
with BLOCK_JOB_ERROR or BOCK_JOB_CANCELLED:
This version moves the progress function to a seperate asyncio task so qemu events will be catched in all
cases:
INFO Block job [qmpbackup.snapshot.snapshot.qcow2] finished
INFO Block job [qmpbackup.ide0-hd1.disk2.qcow2] finished
CRITICAL Error executing backup: Block job failed for device [qmpbackup.ide0-hd0.disk1.qcow2]: [BLOCK_JOB_CANCELLED]
INFO Removing backup target devices from virtual machine
Full Changelog: v0.38...v0.40