What does the positional parameters of "virsh backup-begin" actually do?

Peter Krempa pkrempa at redhat.com
Fri Jan 14 21:18:53 UTC 2022

On Fri, Jan 14, 2022 at 23:39:10 +0600, Ahmad Ismail wrote:
> Normally when I backup a kvm machine I shutdown the machine then run:


> The problem with this help is, it is not clear enough.
> I understand that I should use virsh backup-begin vm1 to backup a live kvm
> machine. However, this command only create .qcow2 files. What about the .xml
> file.
> What does --backupxml , --checkpointxml & --reuse-external actually do?
> When should I use them?

'man virsh' states:


          backup-begin domain [backupxml] [checkpointxml] [--reuse-external]

       Begin a new backup job. If backupxml is omitted, this defaults  to
       a  full  backup  using a push model to filenames generated by lib‐
       virt; supplying XML allows fine-tuning such as requesting  an  in‐
       cremental  backup  relative  to an earlier checkpoint, controlling
       which disks participate or which filenames are  involved,  or  re‐
       questing  the use of a pull model backup.  The backup-dumpxml com‐
       mand shows any resulting values assigned by libvirt. For more  in‐
       formation           on          backup          XML,          see:

       If --reuse-external is used it instructs libvirt to  reuse  tempo‐
       rary and output files provided by the user in backupxml.

       If checkpointxml is specified, a second file with a top-level ele‐
       ment of domaincheckpoint is used to create a  simultaneous  check‐
       point,  for  doing a later incremental backup relative to the time
       the backup was created. See checkpoint-create for more details  on

       This  command returns as soon as possible, and the backup job runs
       in the background; the progress of a  push  model  backup  can  be
       checked with domjobinfo or by waiting for an event with event (the
       progress of a pull model backup is under the control  of  whatever
       third  party  connects  to  the NBD export). The job is ended with

Does this clarify it sufficiently?

More information about the libvirt-users mailing list