virsh backup-begin problem

Colleagues, could you please advise what a problem could be in XML file in case of: virsh backup-begin lubuntu2 ./backup.xml where backup.xml - <domainbackup> <disk name='/var/lib/libvirt/images/lubuntu2.qcow2' type='file'> <target file='$PWD/scratch1.img'/> <driver type='raw'/> </disk> <disk name='/var/lib/libvirt/images/lubuntu2-1.qcow2' type='file'> <target file='$PWD/scratch2.img'/> <driver type='raw'/> </disk> </domainbackup> and domain config is- <domain type="kvm"> <name>lubuntu2</name> <uuid>c466086e-4570-4fb5-8cb6-bfe104791381</uuid> <memory unit="KiB">1048576</memory> <currentMemory unit="KiB">1048576</currentMemory> <vcpu placement="static">1</vcpu> <os> <type arch="x86_64" machine="pc-i440fx-focal">hvm</type> <boot dev="hd"/> </os> <features> <acpi/> <apic/> <vmport state="off"/> </features> <cpu mode="host-model" check="partial"/> <clock offset="utc"> <timer name="rtc" tickpolicy="catchup"/> <timer name="pit" tickpolicy="delay"/> <timer name="hpet" present="no"/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>destroy</on_crash> <pm> <suspend-to-mem enabled="no"/> <suspend-to-disk enabled="no"/> </pm> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type="file" device="disk"> <driver name="qemu" type="qcow2"/> <source file="/var/lib/libvirt/images/lubuntu2.qcow2"/> <target dev="hda" bus="ide"/> <address type="drive" controller="0" bus="0" target="0" unit="0"/> </disk> <disk type="file" device="cdrom"> <driver name="qemu" type="raw"/> <target dev="hdb" bus="ide"/> <readonly/> <address type="drive" controller="0" bus="0" target="0" unit="1"/> </disk> <disk type="file" device="disk"> <driver name="qemu" type="qcow2"/> <source file="/var/lib/libvirt/images/lubuntu2-1.qcow2"/> <target dev="hdc" bus="ide"/> <address type="drive" controller="0" bus="1" target="0" unit="0"/> </disk> <controller type="usb" index="0" model="ich9-ehci1"> <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x7"/> </controller> <controller type="usb" index="0" model="ich9-uhci1"> <master startport="0"/> <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x0" multifunction="on"/> </controller> <controller type="usb" index="0" model="ich9-uhci2"> <master startport="2"/> <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x1"/> </controller> <controller type="usb" index="0" model="ich9-uhci3"> <master startport="4"/> <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x2"/> </controller> <controller type="pci" index="0" model="pci-root"/> <controller type="ide" index="0"> <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x1"/> </controller> <controller type="virtio-serial" index="0"> <address type="pci" domain="0x0000" bus="0x00" slot="0x06" function="0x0"/> </controller> <interface type="network"> <mac address="52:54:00:90:d7:29"/> <source network="default"/> <model type="e1000"/> <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/> </interface> <serial type="pty"> <target type="isa-serial" port="0"> <model name="isa-serial"/> </target> </serial> <console type="pty"> <target type="serial" port="0"/> </console> <channel type="spicevmc"> <target type="virtio" name="com.redhat.spice.0"/> <address type="virtio-serial" controller="0" bus="0" port="1"/> </channel> <input type="tablet" bus="usb"> <address type="usb" bus="0" port="1"/> </input> <input type="mouse" bus="ps2"/> <input type="keyboard" bus="ps2"/> <graphics type="spice" autoport="yes"> <listen type="address"/> <image compression="off"/> </graphics> <sound model="ich6"> <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0"/> </sound> <video> <model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="1" primary="yes"/> <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/> </video> <redirdev bus="usb" type="spicevmc"> <address type="usb" bus="0" port="2"/> </redirdev> <redirdev bus="usb" type="spicevmc"> <address type="usb" bus="0" port="3"/> </redirdev> <memballoon model="virtio"> <address type="pci" domain="0x0000" bus="0x00" slot="0x07" function="0x0"/> </memballoon> </devices> </domain> -- BRG, Andrey

On Wed, Jan 20, 2021 at 20:49:49 +0300, Andrey Fokin wrote:
Colleagues, could you please advise what a problem could be in XML file in case of: virsh backup-begin lubuntu2 ./backup.xml
where backup.xml - <domainbackup> <disk name='/var/lib/libvirt/images/lubuntu2.qcow2' type='file'> <target file='$PWD/scratch1.img'/> <driver type='raw'/> </disk> <disk name='/var/lib/libvirt/images/lubuntu2-1.qcow2' type='file'> <target file='$PWD/scratch2.img'/> <driver type='raw'/> </disk> </domainbackup>
snip ... You forgot to add what you are observing, but I presume: 'operation unsupported: incremental backup is not supported yet' Unfortunately it's what it says on the tin. The implementation of the incremental backup code is not finished yet, thus the feature is disabled. If you want to test-drive incremental backup APIs, you can enable the experimental feature by using the XML documented in: https://libvirt.org/drvqemu.html#xmlnsfeatures to enable a feature named 'incremental-backup'. Please make sure to read the caveats of doing so thoroughly. I also advise not to combine incremental backups with snapshots (virDomainSnapshot* APIs) and blockjobs (virDomainBlock* APIs) as that will not work properly without a patch enabling also experimental qemu features. I also suggest you use the latest qemu for this.

Thanks Peter! But is possible change XML configuration towards will be possible to do full (push) backup? On Wed, Jan 20, 2021 at 9:08 PM Peter Krempa <pkrempa@redhat.com> wrote:
On Wed, Jan 20, 2021 at 20:49:49 +0300, Andrey Fokin wrote:
Colleagues, could you please advise what a problem could be in XML file in case of: virsh backup-begin lubuntu2 ./backup.xml
where backup.xml - <domainbackup> <disk name='/var/lib/libvirt/images/lubuntu2.qcow2' type='file'> <target file='$PWD/scratch1.img'/> <driver type='raw'/> </disk> <disk name='/var/lib/libvirt/images/lubuntu2-1.qcow2' type='file'> <target file='$PWD/scratch2.img'/> <driver type='raw'/> </disk> </domainbackup>
snip ...
You forgot to add what you are observing, but I presume:
'operation unsupported: incremental backup is not supported yet'
Unfortunately it's what it says on the tin. The implementation of the incremental backup code is not finished yet, thus the feature is disabled.
If you want to test-drive incremental backup APIs, you can enable the experimental feature by using the XML documented in:
https://libvirt.org/drvqemu.html#xmlnsfeatures
to enable a feature named 'incremental-backup'. Please make sure to read the caveats of doing so thoroughly.
I also advise not to combine incremental backups with snapshots (virDomainSnapshot* APIs) and blockjobs (virDomainBlock* APIs) as that will not work properly without a patch enabling also experimental qemu features.
I also suggest you use the latest qemu for this.
-- BRG, Andrey

On Thu, Jan 21, 2021 at 13:31:03 +0300, Andrey Fokin wrote:
Thanks Peter! But is possible change XML configuration towards will be possible to do full (push) backup?
Yes, I've included links to the documentation to do so in my previous reply, so I'd suggest you follow it. See ...
On Wed, Jan 20, 2021 at 9:08 PM Peter Krempa <pkrempa@redhat.com> wrote:
On Wed, Jan 20, 2021 at 20:49:49 +0300, Andrey Fokin wrote:
Colleagues, could you please advise what a problem could be in XML file in case of: virsh backup-begin lubuntu2 ./backup.xml
where backup.xml - <domainbackup> <disk name='/var/lib/libvirt/images/lubuntu2.qcow2' type='file'> <target file='$PWD/scratch1.img'/> <driver type='raw'/> </disk> <disk name='/var/lib/libvirt/images/lubuntu2-1.qcow2' type='file'> <target file='$PWD/scratch2.img'/> <driver type='raw'/> </disk> </domainbackup>
snip ...
You forgot to add what you are observing, but I presume:
'operation unsupported: incremental backup is not supported yet'
Unfortunately it's what it says on the tin. The implementation of the incremental backup code is not finished yet, thus the feature is disabled.
If you want to test-drive incremental backup APIs, you can enable the experimental feature by using the XML documented in:
... here. I specifically avoided giving exact steps so that you read the documentation including the description of caveats of enabling this _experimental_ feature. So please make sure to read it. This is NOT meant for production use. Anyways: You need to add the 'qemu' namespace to your domain XML: <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> And force-on the incremental backup capability: <qemu:capabilities> <qemu:add capability='incremental-backup'/> </qemu:capabilities> This enables backups, but as I've wrote previously ...
to enable a feature named 'incremental-backup'. Please make sure to read the caveats of doing so thoroughly.
.. observe the following:
I also advise not to combine incremental backups with snapshots (virDomainSnapshot* APIs) and blockjobs (virDomainBlock* APIs) as that will not work properly without a patch enabling also experimental qemu features.
If you use them, backups will break. You get to keep the pieces, as you've been warned. Also this:
I also suggest you use the latest qemu for this.
participants (2)
-
Andrey Fokin
-
Peter Krempa