Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a QEMU image (qcow2) with a snapshot stored in it. Right now I'm using libvirt to start it.

However, I want to be able to run more than one instance of the same image snapshot.

I guess I can do that by cloning the virtual-hd and installing/creating a new domain (virsh) and then running revert from snapshot. But I want to be able to do that pretty much "on-the-fly" with as little as possible latency from the time I decide I need to run another instance of image X to the time that instance is running from the stored snapshot. (I wan't to avoid writing to the hard-drive as possible)

Anyone did anything like that? I started thinking maybe libvirt is not low-level enough for this?

share|improve this question

Libvirt supports this very well. Create one disk image that has everything you want to share between your domains. This will be your read-only backing file. When creating volumes for new domains, set backingStore to refer to it. The new volume you're creating for each domain will start out taking zero bytes but grow as you make changes.

share|improve this answer
Thanks, but I also wanted the VM to start exactly in the same spot - as if I ran virsh snapshot-revert. With backing store it just creates a "snapshot" of the disk image.. – Ofir Israel Jun 4 '14 at 7:16
Your backing file should be in the state you want it to be before you start any VMs based on it. In your case, it sounds like you need to revert the snapshot it already has. – sciurus Jun 4 '14 at 13:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.