Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Virtualization performance: Full Clone vs Linked Clone?
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Virtualization performance: Full Clone vs Linked Clone?

Hi,

I am using Proxmox for my personal Virtualization Environment to research. When I clone a VM, there are 2 options to clone: Full clone and linked clone. From Proxmox wiki

Full Clone

The result of such copy is an independent VM. The new VM does not share any storage resources with the original.

Linked Clone

They are called linked because the new image still refers to the original. Unmodified data blocks are read from the original image, but modification are written (and afterwards read) from a new location. This technique is called Copy-on-write.

I have run some tests to identify which type gives the better performance but the result seems to be similar. So, I would like to ask, in theory, which type of clone gives the better performance in 2 cases:

  • Normal use
  • Massive IO read/write

Anyway, are there any ways to test the theory in practice? Thanks.

Comments

  • I'll go for full clone, bcoz it's not sharing resources with the pattern (original) node.
    It make exact copy of the parent node, and you can deploy elsewhere..

    Not an expert in proxmox, have some basics.

    Thanked by 1levnode
  • COW always causes some performance hit. How noticeable it is depends on usage, implementation and storage backend. Which format do you use for VM disks?

    There is also an issue with the fact that such "clone" is not actually clone, but more like a snapshot, it depends on original VM, and you need to be careful not to forget you used such "clone" and delete original VM.

    But for testing it may still be a good idea, since it is fast and does not require much space. I would not use it on something other then testing though...

    Thanked by 1levnode
  • @Gamma17 said:
    COW always causes some performance hit. How noticeable it is depends on usage, implementation and storage backend. Which format do you use for VM disks?

    There is also an issue with the fact that such "clone" is not actually clone, but more like a snapshot, it depends on original VM, and you need to be careful not to forget you used such "clone" and delete original VM.

    But for testing it may still be a good idea, since it is fast and does not require much space. I would not use it on something other then testing though...

    I am using Qcow2 for VM disks. I just want to measure the performance of disk in guest VM and ignore all other factors such as cloning speed, data reliability.

  • @levnode said:
    I am using Qcow2 for VM disks. I just want to measure the performance of disk in guest VM and ignore all other factors such as cloning speed, data reliability.

    Try using raw and compare performance. May be something have changed recently, but last time i tried difference was significant.

    Personally i prefer to use lvm volumes, because of functionality they provide and performance.

  • hostfavhostfav Member, Host Rep

    We use Proxmox. I will recommend Full clone, which doesn't require an ongoing connection to the parent VM.

    Performance of full clone and Linked clone are almost same. But remember, your Linked clone VMs are always depend on parent VM and you have to be careful when removing VMs. If you delete the parent vim for a given linked clone, that linked clone will die.

    For performance and Massive IO read/write, you should prefer a full clone and RAW format.

    Thanked by 2levnode WSS
Sign In or Register to comment.