does the guest have a snapshot ?

Lentes, Bernd bernd.lentes at helmholtz-muenchen.de
Fri Feb 7 17:29:59 UTC 2020



----- On Feb 7, 2020, at 3:43 PM, Peter Krempa pkrempa at redhat.com wrote:

> On Fri, Feb 07, 2020 at 15:25:22 +0100, Lentes, Bernd wrote:
 ...
> 
> Libvirt is probably lacking the metadata for the snapshot. That is not a
> problem though, because since libvirt doesn't support deletion of
> external snapshots anyways currently you'd need to use the below
> approach anyways.
> 
> virsh blockcommit crispor_1604 vda --active --pivot
> 
> in the case above. that merges the
> file='/var/lib/libvirt/images/crispor_1604/crispor_1604.sn'/
> into file='/var/lib/libvirt/images/crispor_1604/crispor_1604.img'/ and
> finishes the job.
> 
> If you have more complex backing chain you might want to use the --top
> and --base arguments to control which portion to merge as the command
> I've suggested merges everything into the bottom-most image.

Hi Peter,

i'm not lucky:

virsh help blockcommit does not know --active or --pivot.

virsh # help blockcommit

  SYNOPSIS
    blockcommit <domain> <path> [<bandwidth>] [<base>] [--shallow] [<top>] [--delete] [--wait] [--verbose] [--timeout <number>] [--async]

  OPTIONS
    [--domain] <string>  domain name, id or uuid
    [--path] <string>  fully-qualified path of disk
    [--bandwidth] <string>  bandwidth limit in MiB/s
    [--base] <string>  path of base file to commit into (default bottom of chain)
    --shallow        use backing file of top as base
    [--top] <string>  path of top file to commit from (default top of chain)
    --delete         delete files that were successfully committed
    --wait           wait for job to complete
    --verbose        with --wait, display the progress
    --timeout <number>  with --wait, abort if copy exceeds timeout (in seconds)
    --async          with --wait, don't wait for cancel to finish
It does not say anything about the device.

I tried:

virsh # blockcommit crispor_1604 /var/lib/libvirt/images/crispor_1604.sn vda --wait --verbose
error: bandwidth must be a number

virsh # blockcommit crispor_1604 /var/lib/libvirt/images/crispor_1604.sn --wait --verbose
error: invalid argument: No device found for specified path

virsh # blockcommit crispor_1604 crispor_1604.sn --wait --verbose
error: invalid argument: No device found for specified path

virsh # blockcommit crispor_1604 vda --wait --verbose
error: Operation not supported: committing the active layer not supported yet

virsh # blockcommit crispor_1604 crispor_1604.sn --wait --verbose
error: invalid argument: No device found for specified path

virsh # blockcommit crispor_1604 crispor_1604.sn --verbose
error: missing --wait option

virsh # blockcommit crispor_1604 crispor_1604.sn
error: invalid argument: No device found for specified path

virsh # blockcommit crispor_1604 crispor_1604.sn vda
error: bandwidth must be a number

Am i missing something ? Is there an error or is my libvirt version to old ?
If yes, would it be successfull to copy the files to a host with more recent libvirt, define it and then blockcommit ?

I have libvirt 1.2.5-15.3 (host is SLES 11 SP4).

Bernd
Helmholtz Zentrum München

Helmholtz Zentrum Muenchen
Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH)
Ingolstaedter Landstr. 1
85764 Neuherberg
www.helmholtz-muenchen.de
Aufsichtsratsvorsitzende: MinDir.in Prof. Dr. Veronika von Messling
Geschaeftsfuehrung: Prof. Dr. med. Dr. h.c. Matthias Tschoep, Kerstin Guenther
Registergericht: Amtsgericht Muenchen HRB 6466
USt-IdNr: DE 129521671







More information about the libvirt-users mailing list