В KVM клон виртуальной машины делается путем создания копии файловой системы через virsh-clone. Затем клон запускается как новая VM.
KVM клон через virsh
Пусть имеется виртуальная машина с именем guest_vm. Имя можно увидеть выполнив virsh list (с флагом --all
если машина остановлена)
Список машин:
Прежде всего она выключается на мастер хосте
virsh shutdown guest_vm
Это позволит избежать потери данных при копировании
Затем через virsh-clone создается копия. Флаг --original
указывает на исходную машину.
virsh-clone --original guest_vm --name guest_vm_clone -f /var/lib/libvirt/images/guest_vm_clone.qcow2
Флаг --name
задает имя клона, с -f можно указать путь к .qcow2 файлу, который будет использоваться как диск для нового виртуального сервера.
Когда клон создан — его можно запустить указав новое имя
virsh start guest_vm_clone
Если клон машины должен иметь доступ в публичной сети для него нужно задать в настройках необходимый ip адрес и прочие параметры.
В статье о том как создать новую машину приведены основные команды для управления.
Клон VM KVM без virsh
Без virsh того же результата можно добиться скопировав файл образа виртуальной машины.
Обычно создают новую машину с нужными параметрами, такими же как у оригинала.
Потом остановив предварительно новую машину удаляют её диск на хост сервере, на его место загружают копию диска-образа оригинальной машины, диску дают такое же имя как было у удалённого.
После старта такой машины в её сетевых настройках остаётся заменить ip адрес и другие сетевые настройки. Их можно менять в режиме восстановления загрузившись с внешнего носителя с операционной системой. Также можно использовать chroot.