2016-11-12 17 views
0

libvirtを使用して、同じイメージに基づいて複数のドメイン(VM)を同時に実行したいです。画像自体は変更しないでください。画像は開始点またはテンプレートとして考慮する必要があります。単一のイメージに基づいて複数のVMを作成する

明白な可能性は、すべてのドメインに対して(一時的な)コピーを作成することです。イメージには複数のGBが必要なので、毎回完全なコピーを作成する必要はありません。違いを保存するだけです。私がドキュメンテーションを理解するにつれ、外部のスナップショットはそのような技術を使用しています。しかし、スナップショットはドメインにバインドされており、テンプレートとして使用することはできません。

documentation of qemuによれば、私は、オプション-snapshotを渡しながら、qemuを直接使うことができました。私が手動で変更をコミットしていない限り、それはうまくいくはずです。

qemu-system-x86_64 -snapshot -hda <image> 

libvirtので似た何かを達成するための方法はありますか?

答えて

1

qcow2バッキングファイルを使用するだけでOKです。次のステップでは、ベースイメージをqcow2として既に持っていると仮定します。

は、あなたの基本イメージに裏打ちされたディスクイメージを作成します。

qemu-img create -f qcow2 \ 
       -o backing_file=/path/to/base/image.qcow2 \ 
       /path/to/guest/image.qcow2 

次に、あなたのゲストに、ディスクとして/path/to/guest/image.qcow2使用します。このファイルは、基本イメージとの差分のみを取得します。

詳細については、qemu-imgのマニュアルページを確認してください。 qemu-imgには、オーバーレイファイルの変更をベースイメージにコミットするコマンド、別のベースにrebaseするコマンドなどがあります。

+0

ありがとう!確認してみるよ。 :) – JojOatXGME

+0

これはこのように動作します。私は 'qemu-img'を直接呼び出すことは避けたいですが、* libvirt *でそのようなイメージを作成するには、* storage-pools *を定義する必要があります。私はlibvirtを使用するとこのケースではかなりオーバーヘッドになるので、私は 'qemu-img'を直接使用します。 – JojOatXGME

関連する問題