仮想マシンを一度バックアップするには、「virsh snapshot-create-as」を使用します。 2回目の失敗

仮想マシンを一度バックアップするには、「virsh snapshot-create-as」を使用します。 2回目の失敗

QEMU 4.2.1でUbuntu 20.04を実行しており、次のガイドラインに従ってバックアップを設定しようとしています。 https://libvirt.org/kbase/live_full_disk_backup.html(Ubuntu 20には古いlibvirtがあるので、古いlibvirtディレクティブ)

バックアップ方法は一度だけ機能しますが、2回目の実行では失敗します。これは、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

関連情報