バッキング ファイル (base.qcow2 という名前) に基づいて新しい .qcow2 qcow2 イメージを作成し、バッキング ファイルが NFS 共有上にある場合、誰かが base.qcow2 を変更、置換、または削除しようとするとどうなりますか?
これを防ぐロック メカニズムはありますか? base.qcow2 を削除または変更する前に、すべてのブロックが new.qcow2 イメージにコピーされますか?
シナリオは次のとおりです。
qemu-img create -f qcow2 -b /mnt/nfs/base.qcow2 /localdisk/new.qcow2
NFS サーバーまたはその他のクライアントで:
rm nfs/base.qcow2
base.qcow2 から作成された new.qcow2 はどうなりますか?
答え1
誰かが base.qcow2 を変更、置換、または削除しようとするとどうなりますか?
ベースイメージに基づくイメージは無関係/破損/役に立たなくなります。もちろん、完全なクローンは引き続き機能します。
これを防ぐロック機構はありますか?
qemu に組み込まれていません。oVirt/RHEV などの管理システムにはそれらが備わっています。
base.qcow2 を削除または変更する前に、すべてのブロックが new.qcow2 イメージにコピーされますか?
手動で を実行する場合のみqemu-img rebase
。ベース ファイルを単純に編集したり、スナップショット チェーンの最後の派生イメージではなく VM で直接使用したりすると、スナップショット ツリー全体が壊れてしまいます。
実際のシナリオでは、この-b
オプションは新しいスナップショットとベースイメージの差分のみを含むデルタイメージのみを作成します。ベースを削除すると、スナップショットは参照がなくなるため役に立たなくなります。http://docs.fedoraproject.org/en-US/Fedora/13/html/Virtualization_Guide/sect-Virtualization-Tips_and_tricks-Using_qemu_img.htmlより良い参考のために。