web-dev-qa-db-ja.com

KVMで最新の外部スナップショットに戻すにはどうすればよいですか?

KVMを使用して外部スナップショットを作成しました

virsh snapshot-create-as domain --name snap1 --disk-only

次に、「virsh start domain」でドメインを開始しました。外部スナップショットへの復帰はまだ実装されておらず(少なくともRHEL7では)、XMLを編集してqemu-ingを使用することで手動で行う可能性があることを私は知っています。しかし、私が見つけたすべてのHOWTOSは、曖昧または疑わしい、あるいはその両方です。

では、現在のオーバーレイを破棄して最新のスナップショットに戻り、その上に新しいオーバーレイを開始するにはどうすればよいでしょうか。

私がこれまでに見つけたもの:

  • 準公式の回避策 :これはRedHatのドキュメントにリンクされています。これは非常に複雑で、具体的な指示がないことがわかります。
  • Stackexchangeでの回答 :これはあいまいです。 XMLファイルで何を変更する必要がありますか?オーバーレイをきれいに削除するにはどうすればよいですか?
  • Linux Mintフォーラムの投稿 :これは私にとって少なくとも少しは役に立ちます。しかし、なぜファイルタイプを「raw」に変更する必要があるのでしょうか。その上、これは最新のスナップショットの上に新しいオーバーレイを開始するようには見えませんが、代わりに現在のスナップショットの前にオーバーレイに変更を追加しますね。
3
Torsten Bronger

--atomicを使用してライブ外部スナップショットを作成すると、libvirtxmlは次のようになります。

<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2'/>
  <source file='/srv/qemu/images/proxmox4-node2.pre_upgrade'/>
  <backingStore type='file'>
    <format type='qcow2'/>
    <source file='/srv/qemu/images/proxmox4-node2.qcow2'/>
  </backingStore>
  <target dev='vda' bus='virtio'/>
  <boot order='1'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</disk>

vmを元に戻すには、単にvirsh edit my_domainを次のように戻します。

<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2'/>
  <source file='/srv/qemu/images/proxmox4-node2.qcow2'/>
  <target dev='vda' bus='virtio'/>
  <boot order='1'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</disk>
1
Stuart Cardall