Comment puis-je renommer A VM sur kvm + libvirt?
J'aimerais qu'il modifie le nom dans "Inventaire" et modifier le nom du stockage, etc.
cours
virsh dumpxml name_of_vm > name_of_vm.xml
Indéfinez l'ancien VM pour empêcher une erreur en raison d'un uuid en double.
virsh undefine name-of-vm
Modifiez le fichier XML puis importer.
virsh define name_of_vm.xml
Bien sûr, vous devrez arrêter et démarrer la machine virtuelle pour que les modifications prennent effet.
virsh destroy name_of_vm
virsh start name_of_vm
virsh dumpxml myvm > foo.xml
<edit foo.xml, change the name, move storage>
virsh undefine myvm
virsh define foo.xml
Source: https://www.redhat.com/archives/libvirt-user/2010-october/msg00072.html
virsh
_ Mise en œuvre domrename
Dans la version 1.2.19: Sep 02 2015. Donc, la meilleure pratique actuelle est juste:
virsh domrename oldname newname
Comme on pouvait s'y attendre, TheDomain doit être arrêté, mais aussi, il ne peut pas avoir d'instantané.
Pour changer de machines, vous pouvez utiliser ceci:
virsh shutdown old-name
Attendez que ci-dessus finir et courir:
virsh dumpxml old-name > old-name.xml
virsh undefine old-name
Attendez que ci-dessus finir et courir:
sed -i 's/<name>old-name<\/name>/<name>new-name<\/name>/g' old-name.xml
virsh define old-name.xml
Exécutez ce seul par-un pour chaque machine. Vous pouvez utiliser cette REGEXP si vous avez une liste contenant old-name new-name
:
([^\r\n]+?)[ \t]+([^\r\n]+)
virsh shutdown $1\n#WAIT!\nvirsh dumpxml $1 > $1.xml\nvirsh undefine $1\n\#WAIT!\nsed -i 's/<name>$1<\\/name>/<name>$2<\\/name>/g' $1.xml\nvirsh define $1.xml\n
Je le fais peu différemment et peut être une méthode non recommandée (pas sûr).
virsh destroy old-vm virsh edit old-vm
Dans le changement de XML
virsh list --all
1 old-vm fermeture
2 Nouveau-VM Shut-Off
Maintenant non révéler l'ancien vm
virsh undefine old-vm