Inainte de a incepe clonarea oricarei masini virtuale trebuie mai intai s-a obtinem cateva informatii de baza despre aceasta. Informatiile minime necesare cu privire la sursa masini virtuale ce suntem pe cale de a clona cum ar fi numele si numarul de disc in utilizarea acestuia.
# virsh list
Id Name State
----------------------------------------------------
1 server1.linuxconfig.org running
In continuare, ne-am putea dori sa cunoastem disc sursa al masinii noastre virtuale precum si locatia sa. Informatiile despre locatia discurilor este optionala, deoarece ne ofera doar un indiciu in cazul in care am stoca noi fisiere pe clona disc:
O modalitate de clonare a masini virtuale bazate pe KVM pe RedHat este de a utiliza comutator--auto-clone. Principalul avantaj al comutatorului --auto-clone este ca cloneaza in mod automat un numar nelimitat de discuri sursa , prin urmare , utilizatorul nu are nevoie sa cunoasca locatia si numarul discului atasat la masina virtuala originala.
Dezavantajul este ca utilizatorul nu poate specifica nume discului la noile discuri virtuale clonate. Urmatoarea comanda va clona masina virtuala originala server1.linuxconfig.org in noua masina virtuala clona server2.linuxconfig.org automat folosind comutatorul --auto-clone.
# virt-clone --original=server1.linuxconfig.org --name=server2.linuxconfig.org --auto-clone
WARNING Setting the graphics device port to autoport, in order to avoid conflicting.
Allocating 'server2.linuxconfig.org.qcow2' | 10 GB 00:00:00
Allocating 'server1.linuxconfig.org-1-clone.qcow2' | 5.0 GB 00:00:07
Allocating 'server1.linuxconfig.org-2-clone.qcow2' | 5.0 GB 00:00:00
Clone 'server2.linuxconfig.org' created successfully.
Dupa cum se poate vedea mai sus --auto-clone cloneaza automat toate discurile virtuale atasate la masina virtuala originala. Noua masina virtuala clonata ar trebui sa fie acum in asteptare isi asteapta sa fie pornita:
# virsh list --all
Id Name State
----------------------------------------------------
1 server1.linuxconfig.org paused
- server2.linuxconfig.org shut off
Pentru a obtine mai mult control asupra noii locatii de disc si numele clonei putem omite comutatorul --auto-clone si sa furnizam nume nou discului clonat si calea de destinatie , folosind comutatorul --file. Notati numarul de argument --file furnizat ce trebuie sa fie egal cu numarul de discuri atasate la masina virtuala originala. Exemplu:
# virt-clone --original=server1.linuxconfig.org --name=server2.linuxconfig.org --file /var/lib/libvirt/images/server2.linuxconfig.org.img --file /var/lib/libvirt/images/server2.linuxconfig.org-1.img --file /var/lib/libvirt/images/server2.linuxconfig.org-2.img
WARNING Setting the graphics device port to autoport, in order to avoid conflicting.
Allocating 'server2.linuxconfig.org.img' | 10 GB 00:00:00
Allocating 'server2.linuxconfig.org-1.img' | 5.0 GB 00:00:07
Allocating 'server2.linuxconfig.org-2.img' | 5.0 GB 00:00:00
Clone 'server2.linuxconfig.org' created successfully.
In aceasta etapa , suntem gata sa reluam masina noastra originala virtuala server1.linuxconfig.org:
Si , de asemenea , porniti masina virtuala nou clonata server2.linuxconfig.org:
# virsh start server2.linuxconfig.org
Domain server2.linuxconfig.org started
Verificati starea tuturor masinilor virtuale:
# virsh list --all
Id Name State
----------------------------------------------------
1 server1.linuxconfig.org running
3 server2.linuxconfig.org running