web-dev-qa-db-ja.com

QEMUで「リンククローン」またはレイヤード共有ディスクを作成する

QEMUは VMwareの「リンククローン」のような機能をサポートしていますか?

私が達成しようとしていること:私は、すべてほぼ同じである少数のVMを使用してテスト環境をセットアップしています。ただし、Windowsの新規インストールには20 GiB以上かかり、VMごとに複製されます。

VMwareでは、「リンククローン」を作成します。これは、元のディスクイメージの上にコピーオンライトレイヤーである可能性があります。

QEMUでこれを行うことはできますか?私は特にvirt-manager(libvirt)を使用してこれを達成しようとしています。

関連:

6

QEMUのプライマリ仮想ディスクフォーマットはQCOW2で、これはQEMUコピーオンライト2の略です。これらの種類のセットアップを有効にするように特別に設計されています。

これは、qemu-imgを使用して手動で行うことができます。 (ベースイメージが既にある場合は、2番目のコマンドに直接スキップします)

$ qemu-img create -f qcow2 base-image.qcow2 1M
Formatting 'base-image.qcow2', fmt=qcow2 size=1048576 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16

$ qemu-img create -f qcow2 -b base-image.qcow2 linked-image.qcow2
Formatting 'linked-image.qcow2', fmt=qcow2 size=1048576 backing_file='base-image.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16

$ qemu-img info base-image.qcow2
image: base-image.qcow2
file format: qcow2
virtual size: 1.0M (1048576 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

$ qemu-img info linked-image.qcow2
image: linked-image.qcow2
file format: qcow2
virtual size: 1.0M (1048576 bytes)
disk size: 196K
cluster_size: 65536
backing file: base-image.qcow2
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
4