Как клонировать существующие образы виртуальной машины KVM в Linux

Я хотел клонировать мою виртуальную машину Debian или Ubuntu Linux KVM для тестирования. Как клонировать существующие образы виртуальной машины в KVM?

Вы можете использовать простую команду с именем virt-clone . Это утилита командной строки для клонирования существующих образов виртуальной машины с использованием библиотеки управления гипервизором «libvirt». Он скопирует образы дисков любой существующей виртуальной машины и определит нового гостя с идентичной конфигурацией виртуального оборудования. Элементы, которые требуют уникальности, будут обновлены, чтобы избежать столкновения между старыми и новыми гостями.

Как клонировать вашу виртуальную машину и создавать новые экземпляры в KVM

Синтаксис будет выглядеть следующим образом

# virt-clone --original {Domain-Vm-Name-Here} --auto-clone

ИЛИ

# virt-clone --original {Domain-Vm-Name-Here} \
--name {New-Domain-Vm-Name-Here}

Примеры

Сначала, виртуальная машина/домен с устройствами для клонирования должна быть приостановлена или отключена. Чтобы изящно завершить работу домена с именем ubuntu-box1 , запустите:

$ sudo virsh shutdown ubuntu-box1
$ sudo virsh shutdown ubuntu-box1

ИЛИ вы можете приостановить её следующим образом:

$ sudo virsh suspend ubuntu-box1
$ virsh list

Примеры возможных выводов данных:

Domain ubuntu-box1 suspended

 Id    Name                           State

----------------------------------------------------

 1     freebsd                        running

 5     ubuntu-box1                    paused

Давайте сгенерируем новое имя гостя и пути для нового автоматического сохранения для виртуальной машины, под названием ubuntu-box1

$ sudo virt-clone --original ubuntu-box1 --auto-clone

Примеры возможных выводов данных:

WARNING  Setting the graphics device port to autoport, in order to avoid conflicting.
Allocating 'ubuntu-box-1-clone.qcow2'                                                              |  40 GB  00:00:04     
Clone 'ubuntu-box1-clone' created successfully.

Вышеупомянутая команда клонировала гостя под названием «demo» по умолчанию, автоматически создает новое имя, которое выглядит как ubuntu-box1-clone , а также клон пути диска. Вы можете начать или возобновить исходный домен:

$ sudo virsh start ubuntu-box1

ИЛИ

$ sudo virsh resume ubuntu-box1

Далее, запустите ubuntu-box1-clone , для этого введите:

$ sudo virsh start ubuntu-box1-clone

Проверьте его:

$ virsh list

Мой сервер dhcpd дал 192.168.2.147 IP-адрес ubuntu-box1-clone виртуальной машине, выполните:

$ ping -c2 192.168.2.147

И наконец, ssh там, где нам надо:

$ ssh [email protected]

Примеры сессии:

Как клонировать существующие образы виртуальной машины KVM в Linux
Рисунок 01 Команда virt-clone клонирует существующие образы виртуальной машины

Обратите внимание, что virt-clone ничего не меняет в гостевой операционной системе, он только дублирует диски и изменяет хост-сервер. Таким образом, такие вещи, как смена паролей, изменение статического IP-адреса, ssh-ключей, имен хостов и т. д., выходят за рамки этого инструмента. После входа в систему с помощью клонирования виртуальной машины, используя ssh, вы можете изменить следующее:

$ ssh [email protected]
$ sudo -s
# echo 'ubuntu-box1-clone' > /etc/hostname
# sed -i 's/ubuntu-box1/ubuntu-box1-clone/g' /etc/hosts
# reboot
# /bin/rm -v /etc/ssh/ssh_host_*
# dpkg-reconfigure openssh-server
# passwd vivek

Вы можете использовать virt-sysprep вместо virt-clone , если вам нужно клонировать виртуальную машину и делать / перезагружать что-либо внутри гостевой операционной системы.

Перевод: Анна Давыдова
Источник: cyberciti.biz

Это интересно:

Оставьте комментарий