Из этой инструкции вы узнаете как создать шаблон виртуальной машины KVM. Шаблон виртуальной машины это, копия установленной виртуальной машины. Которая пригодится, если вы хотите быстро развернуть несколько экземпляров виртуальных машин. Создание шаблона это 3-х шаговый процесс, который включает в себя:
- Создание виртуальной машины.
- Установку всех пакетов.
- Очистка шаблона.
Давайте посмотрим, как это можно сделать.
Шаг 1: Установка KVM в Linux
Первое что мы сделаем это установим KVM в вашей системе.
Далее надо убедиться что libvirtd запущен и включен. А так же добавлен в автозагрузку системы.
$ sudo systemctl включить libvirtd
$ sudo systemctl start libvirtd
Проверьте работоспособность libvirtd.
$ sudo systemctl status libvirtd
Если вы используете систему Ubuntu или Debian, убедитесь, что образ vhost-net загружен.
$ sudo modprobe vhost_net
Шаг 2: создайте виртуальный образ KVM
Прежде чем мы приступим к созданию шаблона, нам нужен установочный экземпляр. В командной строке с помощью команды qemu-img, мы создадим образ 20G CentOS 8 KVM , как показано на рисунке.
$ sudo qemu-img create-o preallocation=metadata-f qcow2 /var/lib/libvirt/images/centos8.qcow2 20G
Для создания виртуальной машины CentOS 8 требуется использовать команду virt-install. Делайте так как показано на рисунке.
$ sudo virt-install virt-type kvm name centos8 ram 2096
disk /var/lib/libvirt/images/centos8. qcow2, format=qcow2
network network=default
graphics vnc,listen=0.0.0.0 noautoconsole
os-type=linux os-variant=rhel7.0
location=/home/tecmint/Downloads/CentOS-8-x86_64-1905-dvd1.iso
От этого запускается экземпляр виртуальной машины. Вы можете проверить это перейдя в Virtual manager. Если вы откроете окно как показано на рисунке. То вы увидите страницу приветствия для установщика. Вам требуется завершить установку до самого конца.
Шаг 3: Создание образа шаблона виртуальной машины KVM
После завершения установки войдите в виртуальную машину и обновите все системные пакеты.
$ sudo dnf update
Установите необходимые пакеты, которые необходимы для работы. В этом случае я установлю EPEL release, wget, curl, net-tools и vim. Конечно список программ для ваших нужд может отличаться.
$ sudo dnf install epel-release wget curl net-tools vim
Если вы собираетесь развернуть шаблон на облачной платформе, тогда вам потребуется установить пакеты cloud-init.
$ sudo dnf install cloud-init cloud-utils-growpart acpid
Далее отключите маршрут zeroconf.
$ echo NOZEROCONF=yes >>> /etc/sysconfig/network
Как только вы закончите, обязательно выключите виртуальную машину и очистите образ шаблона виртуальной машины, как показано ниже.
$ sudo virt-sysprep-d centos8
Virt-sysprep это утилита командной строки, которая сбрасывает виртуальную машину для создания из нее клонов. Она удаляет такие записи как:
- Ключи хоста SSH.
- Файлы журналов.
- Учетные записи пользователей и некоторые постоянные сетевые конфигурации.
Чтобы использовать эту команду, вы должны убедиться, что виртуальная машина выключена.
$ sudo virt-sysprep-d centos8
И последнее, введите команду, чтобы отменить определение домена виртуальной машины.
$ sudo virsh undefine centos8
Образ шаблона теперь готов к клонированию и развертыванию.