How do I make a persistent domain with virsh?

Solution 1:

Use virsh define somefile.xml and virsh start domain-name, doing this the VM will be persistent. I can't check right now, but I think you can use virsh define on an already started VM and this will make it persistent.

Solution 2:

If you don't have the xml for the running vm (eg. after transient migration), you can do

virsh dumpxml vm_name > vm_name.xml
virsh define vm_name.xml

To check:

virsh list --all --persistent

The VM should now be listed. Or

virsh dominfo vm_name

There should be a line with 'Persistent: yes'.