[virt-tools-list] Virt Tools Survey: What to do about virt-clone
Richard W.M. Jones
rjones at redhat.com
Tue May 10 11:56:30 UTC 2011
I've volunteered for the task of fixing virt-clone. There are a
number of bugs which need to be addressed. Unfortunately the current
virt-clone is broken-by-design since it cannot make changes inside the
The bugs boil down to what Microsoft calls "sysprepping" the clone,
which is to say, removing its existing identity, hostname, ssh host
keys, persistent network rules, host SID and workgroup name (for
Windows). It's helpful for Linux guests to remove some of this
stuff -- it will make the cloning process smoother. For Windows
it's absolutely required.
All that virt-clone can do now is to copy the guest and make some
simple changes to the libvirt XML (eg. giving it a new MAC address).
It doesn't even address the sysprepping problem.
The problem with sysprepping is that it's hard to do, and it's
different for every operating system. I've summarized some of the
techniques below. Worse than that, for some OSes there are different
levels of sysprepping that an administrator might want; also see
So I'd like feedback from "virt-clone next generation" users:
(a) Is cloning guests useful for you or not? Often or infrequently?
(b) Do you currently use virt-clone to clone guests?
(c) Do you have a homebrew method to clone guests? What does it do?
(d) Do you use another tool to clone guests? (And how is it?)
(e) When you clone a guest, do you "sysprep" it or would you like to?
(Using the term "sysprep" generically here, I mean any sort of
reinitialization for Linux or Windows guests).
(f) How do you feel about a multi-step process?
virt-clone -> virt-sysprep -> virt-resize (for example)
(g) Have you had other problems with cloning guests?
(h) What have I missed out in this analysis? What other features have
you missed in virt-clone?
This is a complex, manual process. We do some steps to automate it in
RHEV. It's best to read Microsoft's online documentation at
In theory you can just write a file /.unconfigured in the root, and
Fedora will go through the firstboot process at next boot (it will
reset timezone, root password, netconfig, keyboard, authentication).
Some admins will *not* want all of these things to be reset, and will
want either a lesser degree of unconfiguration, or will want to
control each thing manually.
I'm not totally convinced that this hasn't been broken by systemd
introduction in Fedora 15.
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
More information about the virt-tools-list