4.2.2. KVM/libvirt
4.2.2.1. Undefining virsh snapshots fail
KVM/libvirt で virsh
を使用して開発ワークフローにスナップショットを作成する場合は、minishift delete
を使用してスナップショットを削除すると、以下のエラーが発生する可能性があります。
$ minishift delete Deleting the Minishift VM... Error deleting the VM: [Code-55] [Domain-10] Requested operation is not valid: cannot delete inactive domain with 4 snapshots
原因: スナップショットは ~/.minishift/machines に保存されますが、定義は /var/lib/libvirt/qemu/snapshot/minishift に保存されます。
回避策: スナップショットを削除するには、root で以下の手順を実行します。
定義を削除します。
# virsh snapshot-delete --metadata minishift <snapshot-name>
CDK ドメインの定義を解除します。
# virsh undefine minishift
minishift delete
を実行して仮想マシンを削除して CDK を再起動できるようになりました。
これらの手順で問題が解決しない場合は、以下のコマンドを使用してスナップショットを削除することもできます。
$ rm -rf ~/.minishift/machines
スナップショットを作成する際にメタデータを使用しないことが推奨されます。これを確認するには、--no-metadata
フラグを指定します。以下に例を示します。
# virsh snapshot-create-as --domain vm1 overlay1 --diskspec vda,file=/export/overlay1.qcow2 --disk-only --atomic --no-metadata