How to rename KVM virtual machine (VM) domain with virsh command

Posted on in Categories , , , , , last updated February 16, 2017

How do I rename KVM-powered virtual machine from foo to bar using virsh command line option on Linux?

There are two ways to rename a domain/VM. Let us see how to change the name of a domain or vm under KVM.
Rename KVM Virtual Machine with virsh

Method 1 – Rename KVM VM with virsh

The syntax is:
# virsh domrename {domain} {new-name}
To rename VM from foo to bar, type:
# virsh shutdown foo
Domain foo is being shutdown

Now rename a VM, run:
# virsh domrename foo bar
Domain successfully renamed

Start a VM/domain, enter:
# virsh start bar
Domain bar started

Method 2 – Rename KVM domain with virsh

First get domain information in XML and save it to a new file:
# virsh dumpxml foo > bar.xml
Edit the XML file and change the name between the <name></name>
# vi bar.xml
Update it as follows from foo to bar:

<name>bar</name>

Shutdown the foo domain/vm:
# virsh shutdown foo
Domain foo is being shutdown

You need to undefine the old VM name:
# virsh undefine foo
Domain foo has been undefined

Finally, import the edited XML file to define the VM bar:
# virsh define bar.xml
Domain bar defined from bar.xml

Start the domain bar, enter:
# virsh start bar
Domain bar started

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

2 comment

  1. Thanks for the post. I wouldn’t have discovered “virsh domrename” otherwise which is soooo much easier!

  2. “Edit the XML file and change the name between the ”

    I would not recommend this.
    It is much safer to

    virsh edit

    That will land you in vi too, but the difference is, if you have a typing error, no changes will be saved.

Comments are closed.