Из этой инструкции вы узнаете как создать шаблон виртуальной машины 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
Образ шаблона теперь готов к клонированию и развертыванию.