web-dev-qa-db-ja.com

libvirt外部スナップショットを元に戻す

KVMを使用してubuntu14.04でスナップショットを元に戻す方法を理解する上でいくつかの問題があります...

これまで内部スナップショットを使用していましたが、スペースの問題(スナップショットが削除された後にスペースが再割り当てされない)のため、外部スナップショットに移動したいと思います...

スナップショット間でマージしたりプルしたりできることは(まだ試していませんが)理解していますが、スナップショットに戻す方法が理解できないようです...

例:ベース<-snap1 <--- snap2 <--- snap3(現在)

スナップショット3を破棄したい場合、どうすればsnap2に戻ることができますか?

...そして、snap2の「クローン」である新しいインスタンスを開始して、テストを続行し、後で破棄してsnap3に戻るにはどうすればよいですか?

これはsnapshote-revertを使用して内部スナップショットで簡単に作成できましたが、外部スナップショットでどのように機能するか理解できないようです...いくつかの例は素晴らしいでしょう。ありがとう

1
Onitlikesonic
  1. VMを停止します。
  2. virsh edit VMNAMEを使用してdomxmlを編集し、snap2の場所にディスクを向けます。
  3. VMを起動します。

Snap3を削除することを忘れないでください

編集:分岐

現在のスナップ後にチェーン全体を破損することなく、チェーン内のスナップショットに戻すことができるようにするには、ブランチを作成する必要があります。この例を使用すると、VMを停止し、snap2の新しいスナップ(例:snap2branch1)を取得し、実際にsnap2に影響を与えることなく、snap2で遊ぶために使用します。変更が受け入れられる場合は、snap3(およびその後のチェーンの残りの部分)を破棄し、snap2branch1の名前をsnap3に変更して、作業を続行します。変更をダンプしてsnap3に戻る場合は、ブランチを破棄し、VMをsnap3の使用に再度切り替えます。

2
dyasny