virshpermitirá editar, exportar e importar a definição XML para seus servidores. Eu usaria virt-clonepara gerar um arquivo de imagem clonado e exportar o XML. Para ser seguro, eu removeria a configuração do clone do servidor original.
O qual fará uma cópia this-vm, nomeará that-vme cuida da duplicação dos dispositivos de armazenamento. Nada de novo aqui, exceto detalhes.
Mais ao ponto, o que as perguntas frequentes estão dizendo é que as descrições de domínio XML não são diretamente editáveis, você precisa passar pela libvirt. Para concluir as etapas executadas pelo virt-clonecomando, você pode:
source_vm=vm_name
new_vm=new_vm_name
# You cannot "clone" a running vm, stop it. suspend and destroy
# are also valid options for less graceful cloning
virsh shutdown "$source_vm"
# copy the storage.
cp /var/lib/libvirt/images/{"$source_vm","$new_vm"}.img
# dump the xml for the original
virsh dumpxml "$source_vm" > "/tmp/$new_vm.xml"
# hardware addresses need to be removed, libvirt will assign
# new addresses automatically
sed -i /uuid/d "/tmp/$new_vm.xml"
sed -i '/mac address/d' "/tmp/$new_vm.xml"
# and actually rename the vm: (this also updates the storage path)
sed -i "s/$source_vm/$new_vm" "/tmp/$new_vm.xml"
# finally, create the new vm
virsh define "/tmp/$new_vm.xml"
virsh start "$source_vm"
virsh start "$new_vm"
Isso funciona também para copiar uma VM para outro host: use sftp em vez de cp, (possível) altere o caminho da imagem antes de 'definir' a nova vm e sftp também that-vm.xml para o outro host.
Andreas Florath
Obrigado por isso, me salvou um monte de tempo. O problema que tive foi clonar ou criar um novo, pois se eu criar um novo nó, as versões do pacote ficariam fora de sincronia com os outros nós que usavam um espelho local.
21414 Mike Purcell
Lida virt-clonecom a criptografia completa do disco corretamente? Significado, ele vai me pedir o meu descriptografar pw antes de fazer sua coisa?
codificador
Eu acho que sed -i "s/$source_vm/$new_vm" "/tmp/$new_vm.xml"deveria ler, sed -i "s/$source_vm/$new_vm/" "/tmp/$new_vm.xml"ou pelo menos no meu derivado debian, sed queixa-se de um / final ausente. Obrigado pela informação também, meu virsh-clone simplesmente não estava funcionando.
precisa saber é o seguinte
2
Além de "virt-clone", você pode duplicar a VM desta maneira:
Verifique se a VM existente (a ser duplicada) está desligada.
faça um "sudo virsh dumpxml <domid>" da VM existente e salve o arquivo xml de saída.
Modifique a tag <name> sob a tag <domain>.
Use "uuidgen" para gerar um novo ID exclusivo e use-o para modificar a tag <uuid> existente.
Faça uma cópia das imagens virtuais qcow existentes que a VM usa (geralmente armazenadas em / var / lib / libvirt / images, mas certifique-se de ler seu arquivo XML para obter a localização exata). O comando é "sudo cp /var/lib/libvirt/images/xxx.qcow2 yyyy.qcow2" e preencha o novo arquivo yyyy.qcow2 no arquivo XML.
Além dos nomes de pseudo VM, isso é idêntico ao comando da resposta de três anos de idade - mas faltam as informações adicionais dessa resposta.
G-Man diz 'Reinstate Monica'
0
O virt-clone --auto-clone não parece funcionar muito bem com o LVM. Eu esperava que ele criasse uma captura instantânea e a usasse, mas, em vez disso, copia todos os dados.
Melhor fazer a rota dumpxml / define; e lembre-se de montar o sistema de arquivos raiz do clone e alterar os endereços IP e o nome do host adequadamente antes de iniciar o original e o clone.
virt-clone
com a criptografia completa do disco corretamente? Significado, ele vai me pedir o meu descriptografar pw antes de fazer sua coisa?sed -i "s/$source_vm/$new_vm" "/tmp/$new_vm.xml"
deveria ler,sed -i "s/$source_vm/$new_vm/" "/tmp/$new_vm.xml"
ou pelo menos no meu derivado debian, sed queixa-se de um / final ausente. Obrigado pela informação também, meu virsh-clone simplesmente não estava funcionando.Além de "virt-clone", você pode duplicar a VM desta maneira:
fonte
Aparentemente, o virt-clone é o caminho a percorrer.
Tentei duplicar o XML, mas ele não apareceria no virt-manager.
Ainda me pergunto como posso transferir um XML + .img para um novo sistema que dizia ...
fonte
O comando a seguir funcionou para mim (é necessário desligar o VSA / Vm antes de executar o comando)
fonte
O virt-clone --auto-clone não parece funcionar muito bem com o LVM. Eu esperava que ele criasse uma captura instantânea e a usasse, mas, em vez disso, copia todos os dados.
Melhor fazer a rota dumpxml / define; e lembre-se de montar o sistema de arquivos raiz do clone e alterar os endereços IP e o nome do host adequadamente antes de iniciar o original e o clone.
fonte