Skip to content

Releases: abbbi/qmpbackup

Version 0.49

15 Jul 09:58
Compare
Choose a tag to compare

Version 0.49

  • Fix for issue #29
  • Add note about supported qemu versions to README

Full Changelog: v0.48...v0.49

Version 0.48

16 Jun 10:16
Compare
Choose a tag to compare

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

02 Apr 13:51
Compare
Choose a tag to compare

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

01 Apr 08:38
Compare
Choose a tag to compare

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

25 Feb 12:44
Compare
Choose a tag to compare

Version 0.45

#21: fix detection of devices without device name set: fall back to node name setting

Full Changelog: v0.44...v0.45

Version 0.44

10 Feb 09:30
Compare
Choose a tag to compare

Version 0.44

#20: qmprestore does not remove temporary files

Full Changelog: v0.43...v0.44

Version 0.43

21 Jan 20:23
Compare
Choose a tag to compare

Version 0.43

  • #18: fix backup issue: default_exception_handler: Task exception was never retrieved

Full Changelog: v0.42...v0.43

Version 0.42

19 Dec 19:31
Compare
Choose a tag to compare

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

17 Dec 19:10
Compare
Choose a tag to compare

Version 0.41

  • Update README
  • Code Cleanup

Full Changelog: v0.40...v0.41

Version 0.40

17 Dec 13:58
Compare
Choose a tag to compare

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