가상 머신을 한 번 백업하려면 "virsh snapshot-create-as"를 사용하십시오. 두 번째 실패

가상 머신을 한 번 백업하려면 "virsh snapshot-create-as"를 사용하십시오. 두 번째 실패

QEMU 4.2.1과 함께 Ubuntu 20.04를 실행 중이며 다음 지침에 따라 백업을 설정하려고 합니다. https://libvirt.org/kbase/live_full_disk_backup.html(Ubuntu 20에는 이전 libvirt가 있으므로 이전 libvirt 지시문)

백업 방법은 한 번만 작동하지만 두 번째 실행에서는 실패합니다. 이는 VM 디스크가 .raw 파일로 있는 VM을 사용하기 위한 지침과 관련이 있을 수 있지만 저는 .qcow2를 사용하고 있습니다. 이 시점에는 여러 개의 가상 머신이 있으므로 .raw로 변환하고 싶지 않습니다.

내가 실행할 때 :

$ virsh snapshot-create-as --domain vm1 overlay1 \
    --diskspec vda,file=/var/lib/libvirt/images/overlay1.qcow2 \
    --disk-only
virsh blockcommit vm1 vda --active --verbose --pivot 

모든 것이 잘 작동하고 오류도 없습니다. "overlay1.qcow2" 파일을 삭제하지 않고 명령을 다시 실행하면 다음 오류가 발생합니다.

error: unsupported configuration: external snapshot file for disk vda already exists and is not a block device: /var/lib/libvirt/images/overlay1.qcow2 

다시 실행하기 전에 파일을 삭제하는 경우(지침에 따라):

error: operation failed: domain moment overlay1 already exists 

몇 가지 조사를 수행하고 스냅샷 목록을 실행했습니다.

$ virsh snapshot-list --tree vm1
overlay1 

스냅샷을 삭제해 보세요.

virsh snapshot-delete vm1 overlay1
error: Failed to delete snapshot overlay1
error: unsupported configuration: deletion of 1 external disk snapshots not supported yet

여기서 어디로 가야할지 잘 모르겠습니다.
.raw 이미지를 사용해야 합니까? . . 그렇다면 왜 그렇습니까?

감사해요.

답변1

스냅샷 메타데이터 삭제 방법에 대한 링크를 제공한 Alex에게 감사드립니다.

.qcow2 이미지를 사용하는 VM에 대한 유효한 명령 시리즈는 다음과 같습니다.

$ virsh snapshot-create-as --domain vm1 overlay1 \
    --diskspec vda,file=/var/lib/libvirt/images/overlay1.qcow2 \
    --disk-only
(Insert your backup command here)
$ virsh blockcommit vm1 vda --active --verbose --pivot 
$ virsh snapshot-delete vm1 --metadata overlay1
$ rm -f /var/lib/libvirt/images/overlay1.qcow2

관련 정보