Le plus pratique est simplement :
# virt-clone --connect=qemu://example.com/system -o this-vm -n that-vm --auto-clone
Ce qui fera une copie de this-vm
, nommé that-vm
, et prend en charge la duplication des périphériques de stockage. Rien de nouveau ici sauf le détail.
Plus précisément, ce que dit la FAQ, c'est que les descriptions de domaine XML ne sont pas directement modifiables, vous devez passer par libvirt. Pour compléter les démarches effectuées par le virt-clone
commande, vous pourriez :
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"
Autre que "virt-clone", vous pouvez dupliquer la VM de cette façon :
- Assurez-vous que la machine virtuelle existante (à dupliquer) est arrêtée.
- faites un "sudo virsh dumpxml
" de la VM existante, et enregistrez le fichier xml de sortie. - Modifiez la balise
sous la balise . - Utilisez "uuidgen" pour générer un nouvel identifiant unique et utilisez-le pour modifier la balise
existante. - Faites une copie des images virtuelles qcow existantes utilisées par la machine virtuelle (généralement stockées dans /var/lib/libvirt/images, mais pour être sûr, lisez simplement votre fichier XML pour connaître l'emplacement exact). La commande est "sudo cp /var/lib/libvirt/images/xxx.qcow2 yyyy.qcow2", et remplissez le nouveau fichier yyyy.qcow2 dans le fichier XML.
- Démarrez la nouvelle machine virtuelle :sudo virsh define new.xml
- Démarrez le nouveau domid :sudo virsh start
virsh
vous permettra de modifier, d'exporter et d'importer la définition XML pour vos serveurs. J'utiliserais virt-clone
pour générer un fichier image cloné et exporter le XML. Pour être sûr, je supprimerais la configuration du clone du serveur d'origine.