como renomear uma VM usando libvirt + KVM

24

Como posso renomear uma VM no KVM + libvirt?

Eu gostaria que ele alterasse o nome no 'inventário', além de alterar o nome do armazenamento, etc.

    
por Arthur Ulfeldt 18.11.2010 / 08:08

5 respostas

17

executar

virsh dumpxml name_of_vm > name_of_vm.xml

Desfaça a vm antiga para evitar um erro devido a um UUID duplicado.

virsh undefine name-of-vm

Edite o arquivo xml e importe-o.

virsh define name_of_vm.xml

Claro que você terá que parar e iniciar a VM para que as alterações entrem em vigor

virsh destroy name_of_vm
virsh start name_of_vm
    
por 18.11.2010 / 08:24
14
virsh dumpxml myvm > foo.xml
<edit foo.xml, change the name, move storage>
virsh undefine myvm
virsh define foo.xml

Fonte: link

    
por 28.11.2011 / 15:08
10

virsh applied domrename na release 1.2.19: 02 de setembro de 2015. Portanto, a prática recomendada atual é apenas:

 virsh domrename oldname newname

Como você pode esperar, o domínio deve ser interrompido, mas também não pode ter nenhum instantâneo.

    
por 02.09.2016 / 14:42
5

Para alterar muitas máquinas, você pode usar isto:

virsh shutdown old-name

Aguarde até que o acima termine e corra:

virsh dumpxml old-name > old-name.xml
virsh undefine old-name

Aguarde até que o acima termine e corra:

sed -i 's/<name>old-name<\/name>/<name>new-name<\/name>/g' old-name.xml
virsh define old-name.xml

Execute este um por um para cada máquina. Você pode usar este RegExp se você tiver uma lista contendo 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
    
por 08.10.2012 / 10:58
0

Eu faço isso de maneira um pouco diferente e pode ser um método não recomendado (não tenho certeza).

virsh destroy old-vm virsh edit old-vm

Na mudança de XML

  1. nome do domínio old-vm para new-vm
  2. alterar um caractere / dígito no UUID salve e saia.

virsh list --all

1 desligamento do old-vm

2 shut-off de nova vm

Agora undefine o antigo-vm

virsh undefine old-vm

    
por 03.09.2014 / 06:42