Il più conveniente è semplicemente:
# virt-clone --connect=qemu://example.com/system -o this-vm -n that-vm --auto-clone
Che creerà una copia di this-vm
, denominato that-vm
e si occupa della duplicazione dei dispositivi di archiviazione. Niente di nuovo qui tranne i dettagli.
Più precisamente, quello che dice la FAQ è che le descrizioni del dominio XML non sono direttamente modificabili, devi passare libvirt. Per completare i passaggi compiuti dal virt-clone
comando, potresti:
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"
Oltre a "virt-clone" puoi duplicare la VM in questo modo:
- Assicurati che la VM esistente (da duplicare) sia chiusa.
- fai un "sudo virsh dumpxml
" della VM esistente e salva il file xml di output. - Modifica il tag
sotto il tag . - Utilizza "uuidgen" per generare un nuovo ID univoco e utilizzalo per modificare il tag
esistente. - Fai una copia delle immagini virtuali qcow esistenti che la VM usa, (solitamente memorizzate in /var/lib/libvirt/images, ma per essere sicuri basta leggere il tuo file XML per la posizione esatta). Il comando è "sudo cp /var/lib/libvirt/images/xxx.qcow2 yyyy.qcow2" e inserisci il nuovo file yyyy.qcow2 nel file XML.
- Avvia la nuova vm:sudo virsh define new.xml
- Avvia il nuovo domid:sudo virsh start
virsh
ti consentirà di modificare, esportare e importare la definizione XML per i tuoi server. Userei virt-clone
per generare un file immagine clonato ed esportare l'XML. Per sicurezza, rimuoverei la configurazione del clone dal server originale.