title: Create multiple VMs based on single image
body: <p>I would like to use <em>libvirt</em> to run multiple Domains (VMs) based on the same image at once. The image itself should not be modified. The image should be considered as a starting point or template.</p>
  
  <p>An obvious possibility would be to create a (temporary) copy for every domain. Since the image might take multiple GB, I don't want to create a full copy of it every time. It would like to store differences only. As I understand the documentation, external snapshots are using such technics. But it seems that snapshots are bound to a domain and I cannot use them as template.</p>
  
  <p>According to <a href="http://wiki.qemu.org/download/qemu-doc.html" rel="noreferrer">documentation of <em>qemu</em></a>, I could use qemu directly while passing option <code>-snapshot</code>. As far as I'm not committing changes manually, it should work.</p>
  
  <pre><code>qemu-system-x86_64 -snapshot -hda &lt;image&gt;
  </code></pre>
  
  <p>Is there a way to achieve something similar in <em>libvirt</em>?</p>