
Hi Kashyap, Thanks for your answer! Unfortunately my use case requires cloning the exact memory state, so I won't be able to use virt-sysprep. But the snapshot command looks like something I could use. Could you suggest how to proceed and create/start a new vm from that snapshot? Thanks, Michael On Tue, Apr 12, 2016 at 2:37 PM, Kashyap Chamarthy <kchamart@redhat.com> wrote:
On Mon, Apr 11, 2016 at 12:01:08PM +0300, Michael Ravits wrote:
Hi,
My use case involves creating duplicates of saved virtual machines.
While I realize you want to trivially clone VMs with some state at random point in time, you might want to look into `virt-builder` about cloning VMs. It has some sensible advice:
http://libguestfs.org/virt-builder.1.html#clones
Using `virt-builder` to clone images, will 'sysprep' the images, which will ensure that (a) each VM copy gets a fresh pair of SSH host keys; (b) a new random seed; (c) all security/sensitive information is removed; (d) log files are cleaned (in the below URL, look up the string "logfiles *" to see what all it removes), and much more. Take a look here for what all it does:
http://libguestfs.org/virt-sysprep.1.html#operations http://libguestfs.org/virt-sysprep.1.html#security
Tried with virt-manager and with virsh but so far it seems like this case is not supported by these tools. Does anyone know how I could achieve the above?
With 'virsh', you _can_ save the live disk and memory state:
$ virsh snapshot-create-as \ --domain myvm snap1 \ --diskspec vda,file=./disk-snap.qcow2,snapshot=external \ --memspec file=./mem-snap.qcow2,snapshot=external \ --atomic
-- /kashyap