qemu qcow2ディスクの共通部分をマージする方法

qemu qcow2ディスクの共通部分をマージする方法

私はqemuイメージを持っていますB.qcow2A.qcow2byB.qcow2を使用してコピーを作成し、2つのコピーをcp B.qcow2 C.qcow2独立して作業しました。したがって、とendは異なりますが、共通部分があります(C.qcow2がB.qcow2からコピーされたため)。B.qcow2C.qcow2B.qcow2C.qcow2

common.qcow2ディスクスペースを節約するために(qemu-imgを使用するか、プログラム的に)すべての共通部分を含む別のイメージを作成し、この共通B.qcow2部分C.qcow2を削除して次のイメージからリセットできるかどうかを知りたいです。画像の基盤はどのように基盤を置いており、基盤を置いているのか?B.qcow2C.qcow2B.qcow2C.qcow2common.qcow2common.qcow2A.qcow2

ベストアンサー1

秘密は、基本イメージと違いを含む2つのイメージを持つことです。これは次のことで達成できます。

  1. 混乱を避けるには:mv B.qcow2 common.qcow2
  2. Aに基づく一般的なリベース:qemu-img rebase -b common.qcow2 A.qcow2
  3. 共通に基づいてBを再生成します。git create -b common B.qcow2
  4. Cサイジングの共通点:qemu-img rebase -b common.qcow2 C.qcow2

もちろん、B.qcow2は共通に比べて変更がない「空のシェル」であり、CにはAとBの間のすべての変更が含まれていますが、2つのファイルのいずれかが重要ではないと仮定すると、より多くのスペースを節約する方法がありますありません。変更が含まれており、他のソリューションと同じくらい良いです。

おすすめ記事