最初はここに保存されると思いましたが、/var/lib/libvirt/images/
ドメインのスナップショットを作成すると、centos7
このディレクトリには何も変更されません。
drwx--x--x 2 root root 4096 Feb 29 21:28 .
drwxr-xr-x 7 root root 4096 Feb 28 23:47 ..
-rw------- 1 libvirt-qemu kvm 5370216574 Feb 29 22:09 centos7-1.qcow2
-rw------- 2 libvirt-qemu kvm 5931597824 Feb 29 22:12 centos7.qcow2
-rw------- 1 root root 1499267135 Feb 28 21:07 centos7-server.qcow2
/var/lib/libvirt/qemu/snapshot/centos7
次に、次のようなXMLファイルの内容を確認しました。
client2.xml client.xml disks.xml
私がスナップショットに付けた名前です。
スナップショットがディスクイメージではなくXMLファイルである理由を誰か教えてください。このxmlファイルは何を保存しますかimages
?機能するには、私のディレクトリに元のqcow2イメージが必要で、どのイメージでも機能しないようです。これは正しいですか?
答え1
xmlファイルはスナップショットメタデータを表し、ファイルを開くと次の内容が表示されます(簡潔にフィールド定義が短縮されます)。
yoursnapshot.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh snapshot-edit
or other application using the libvirt API.
-->
<domainsnapshot>
<name>your-snapshot</name>
<state>shutoff</state>
<creationTime>1567455358</creationTime>
<memory snapshot='no'/>
<disks>
<disk name='hda' snapshot='internal'/>
</disks>
<domain type='kvm'>
<name>centos76-client</name>
[...]
</domain>
<active>1</active>
</domainsnapshot>
このファイルには、スナップショット名、作成時のドメイン状態、作成時間、スナップショットの場合はメモリ、ディスク、およびその時点のドメイン定義が記録されます。
このフィールド定義は、あなたが取得する情報と同じですvirsh dumpxml your-domain
。スナップショット当時の機器、CPU、メモリなどの構成です。たとえば、スナップショット後に一部のデバイス、メモリサイズなどを変更した場合は、スナップショットを撮るときの正確な設定に戻ることができます。
このdisks
セクションでは、実際にスナップショットが作成されたディスクデバイスを確認できます。ディスクイメージを作成しようとしましたが、qcow2
ファイルの場合は少し異なります。
qcow2
書き込み時に画像コピーを実装します。他のCOW(記録中のコピー)ファイルシステムでは、ファイルはbtrfs
その場所で変更されず、代わりに変更されたときにファイルの変更されたコピーがディスク上の他の場所に保存されることを意味します。
スナップショットを使用すると、イメージはqcow2
常にその場所で変更されますが、スナップショットが作成された場合は、スナップショットの後にファイルが変更されるたびに、変更が適用されるqcow2
前のファイルのコピーがスナップショットに保存されます。これは、イメージとスナップショットの両方がqcow2
ファイル内にあることを意味します。 (ファイル形式とスナップショットのしくみの詳細についてはqcow2
、ここ。
コマンドを使用して、これらのディスクスナップショットを一覧表示して対話することができます(熱、復元、作成、削除)qemu-img
。たとえば、次のようにスナップショットを一覧表示できます。
# qemu-img snapshot -l /var/lib/libvirt/qemu/centos7-server.qcow2
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 your-snapshot 0 2019-09-02 22:15:58 00:00:00.000
ここのタグは、name
スナップショットXMLファイルの名前とXML自体内のエントリと一致する必要があり、イメージのどのスナップlibvirt
ショットを復元する必要があるかを知ることができます。qcow2
答え2
ブログ記事を書いたhttps://www.lorenzobettini.it/2023/04/kvm-virtual-machine-manager-and-virtual-machines-on-external-drives/virt-managerが使用するディレクトリと、マシン、構成、スナップショットを別のディレクトリまたは外部ドライブに保存する場合は、それらを処理する方法について説明します。
重要なディレクトリ/etc/libvirt/qemu
はとです/var/lib/libvirt/qemu/
。