[libvirt-users] Possible to change 'machine type' attribute while vm is running?

Eric Blake eblake at redhat.com
Mon Feb 9 21:41:29 UTC 2015

On 02/09/2015 01:24 PM, Andre Goree wrote:
> Hello.  I'd like to determine if it's possible to change the 'machine
> type' attribute while a vm is running.

In general, no, because it would be a guest-visible change, and guests
don't react well to hardware ABI changing in the middle of a running system.

> For example, I have:
>   <os>
>     <type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type>
>     <boot dev='hd'/>
>   </os>
> I'd like to change that to "machine='pc-i440fx-1.7'" due to an error[1]
> I'm seeing while migrated similar images to another host.
> The only way I've been able to change the machine is by first shutting
> down the vm, making the change, then starting the vm back up.  I'd like
> to avoid that if at all possible.

Sadly, I think a shutdown is the only working approach.  Specifying a
different machine type tells qemu to present different hardware to the
guest, which really only works on fresh guest boots (and even then,
Windows guests tend to want revalidation of the license key).

On the rare case that the different spellings of the machine type do NOT
change the hardware, it might be possible to take a saved guest image,
edit that file to swap out the machine type, and then restore from the
saved image; at least that way you won't lose guest state and the
downtime can be shorter than a full reboot cycle.  But I'm not familiar
enough with pc-i440fx-trusty vs. pc-i440fx-1.7 (both are downstream-only
machine names from Debian, not in upstream qemu) to know if that is the

> I did find the tool "libvirt-migrate-qemu-machinetype", but it doesn't
> seem to do what I think it's intended to do -- i.e., it does NOT change
> the machine type, even after reboot.  Perhaps I'm just using it wrong? 

That tool is not provided by upstream; maybe it is a downstream Debian
tool?  And from the name, that may indeed be the tool that does what you

Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20150209/a7aa076d/attachment.sig>

More information about the libvirt-users mailing list