Efficient live disk backup with active blockcommit ================================================== Purpose: Take efficient live disk backup using virsh blockcommit Procedure --------- (1) Start with a single disk image: $ virsh domblklist vm1 Target Source ------------------------------------------------ vda /export/images/base.qcow2 (2) Create an external disk snapshot: $ virsh snapshot-create-as --domain vm1 sn1 \ --diskspec vda,file=/export/images/sn1.qcow2 \ --disk-only --atomic --no-metadata Now, the chain is: [base] <-- [sn1] (live QEMU) NOTE (thanks Eric Blake): Above, if you have QEMU guest agent installed in your virtual machine, try --quiesce option with 'snapshot-create-as' to ensure you have a consistent disk state. (3) Take a backup of the original disk in backround: $ rsync -avh --progress /export/images/base.img \ /export/images/copy.img (4) Now that the backup is finished, perform active blockcommit by mergning contents of sn1 into base: $ virsh domblklist vm1 Target Source ------------------------------------------------ vda /export/images/sn1.qcow2 $ virsh blockcommit vm1 vda --active --verbose --pivot $ virsh domblklist vm1 Target Source ------------------------------------------------ vda /export/images/base.qcow2 The final resulting disk image chain (a single consolidated disk image): [base] (live QEMU)