Я хотел клонировать мою виртуальную машину 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 vivek@192.168.2.147
Примеры сессии:
Обратите внимание, что virt-clone ничего не меняет в гостевой операционной системе, он только дублирует диски и изменяет хост-сервер. Таким образом, такие вещи, как смена паролей, изменение статического IP-адреса, ssh-ключей, имен хостов и т. д., выходят за рамки этого инструмента. После входа в систему с помощью клонирования виртуальной машины, используя ssh, вы можете изменить следующее:
$ ssh vivek@192.168.2.147 $ 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
Это интересно: