- Введение
- Подготовка образа виртуальной машины
- Создание образа для контейнера Vagrаnt
- Подготовка хоста Vagrant
- Запуск контейнера Vagrant на хосте Vagrant
- Установка компонентов виртуализации при установке операционной системы.
- Установка компонентов виртуализации после установки операционной системы:
- Установка компонентов виртуализации с помощью tasksel
- Установка компонентов виртуализации с помощью командного интерфейса
- Установка компонентов виртуализации с помощью графического менеджера пакетов Synaptic
- Настройка прав пользователей
- Установка сервера KVM
Введение
В статье рассматривается пример создание контейнера Vagrant на базе образа подготовленного в системе виртуализации QEMU/KVM в Astra Linux. Предполагается, что имеется машина с установленной и настроенной системой виртуализации, на которой образ создается, настраивается и конвертируется в файл для передачи в Vagrant.
Подготовка образа виртуальной машины
Для создания исходного образа следует использовать обычные процедуры работы с системой виртуализации QEMU/KVM.
Для системы хранения (диска) создаваемого исходного образа рекомендуется использовать драйвер virtio. Этот драйвер используется в vagrant по умолчанию. Если использовать другие драйверы (SATA или SCSI), то для запуска созданного образа потребуется вручную указать использованный драйвер.
Для подготовки созданного образа в работе с Vagrant выполнить следующие действия в операционной системе образа:
- Создать пользователя с именем vagrant, имеющего права администратора (для Astra Linux Special Edition с включенным МРД — администратора с высоким уровнем целостности). Это можно сделать при установке ОС на виртуальную машину (при этом пользователю должен быть установлен пароль), или выполнив на ранее созданной машине команды:
- пакет vagrant;
- система виртуализации QEMU/KVM;
- vagrant-плагин vagrant-libvirt (или пакет vagrant-libvirt);
- пакет vagrant-plugin-astra.
- Клавишами навигации (стрелками вверх и вниз) переместится на необходимый набор программного обеспечения;
- Пробелом обозначить необходимый набор программного обеспечения;
- «TAB»-ом перейти на кнопку «ОК» и нажать «Enter»;
- После этого начнется установка;
- Создать пользователя vagrant:
опции команды:
-m — создать домашний каталог;
-s /bin/bash — задать командную оболочку;
-G astra-admin — включить пользователя в группу astra-admin, что позволит ему выполнять команды с sudo без пароля;
Пароль может быть любым, так как далее настраивается подключение SSH по ключу без использования пароля.
wget https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub
ssh-copy-id -f -i vagrant.pub vagrant@localhost
Создание образа для контейнера Vagrаnt
Конвертировать образы qcow2 в контейнеры vagrant можно на любой машине, при этом ни система виртуализации, ни vagrant не нужны. Для подготовки машины к созданию контейнеров:
- Установить пакет qemu-utils:
При работе на машине с установленной системой виртуализации QEMU/KVM для того, чтобы найти файл с образом виртуальной машины можно использовать команду:
config.nfs.verify_installed = false;
config.vm.synced_folder ".", "/vagrant", disabled: true
Подготовка хоста Vagrant
На машине, на которой будет запускаться контейнер vagrant, должны быть установлены:
Подключить расширенный репозиторий (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования) версии не ниже 1.7.2 и установить пакеты из репозитория:
Для успешной работы с системой виртуализации включить пользователей, от имени которых должны запускаться виртуальные машины, в группы kvm, libvirt, libvirt-qemu, libvirt-admin и перезапустить пользовательскую сессию (подробнее см. Виртуализация QEMU/KVM в Astra Linux):
Запуск контейнера Vagrant на хосте Vagrant
Установка компонентов виртуализации при установке операционной системы.
При установке операционной системы на этапе выбора пакетов для установки выбрать (поставить отметку) на пункте «Средства виртуализации»:
Установка компонентов виртуализации после установки операционной системы:
Все действия в операционной системе Astra Linux Special Edition должны осуществляться со всеми установленными оперативными обновлениями.
См. Оперативные обновления для Astra Linux Special Edition, а при использовании ПК СВ Брест также см. Архив ⬝ Совместимость версий ПК СВ «Брест» с обновлениями ОС Astra Linux Special Edition.
Если при установке ОС установка компонента «Средства виртуализации» не была выбрана, то после установки ОС это можно сделать тремя способами:
Установка компонентов виртуализации с помощью tasksel
Открыть терминал нажатием комбинации горячих клавиш «ALT + T» и ввести команду:
После установки всех пакетов необходимо перезагрузить операционную систему.
Нас интересует пакет Fly-virtualization — это и есть средства локальной виртуализации.
Более подробную информацию можно получить выполнив команду:
Установка компонентов виртуализации с помощью командного интерфейса
Данный способ НЕ повторяет процессы установки пакетов при установке системы, в нем рассматривается установка пакетов, содержащих необходимые компоненты.
Открыть терминал нажатием комбинации горячих клавиш «ALT + T» и ввести команду:
Все необходимые пакеты, такие как ibvirt0 и libvirt-daemon установятся автоматически. Так же будут установлены пакеты qemu, необходимые для эмуляции аппаратной платформы x86-64 (например такие как qemu-system-x86)
При необходимости эмуляции аппаратного обеспечения других аппаратных платформ ввести соответствующую команду:
После набора текста команды несколько раз нажать кнопку «Tab» для вывода возможных вариантов выбора устанавливаемых пакетов
После установки всех пакетов перезагрузить операционную систему.
Установка компонентов виртуализации с помощью графического менеджера пакетов Synaptic
Графический менеджер пакетов synaptic устанавливается автоматически при установке ОС и доступен через меню:
«Пуск» — «Панель управления» — «Программы» — «Менеджер пакетов Synaptic»
Для установки необходимых пакетов , воспользовавшись поиском по пакетной базе, (в поле поиска ввести libvirt ) выбрать правой кнопкой мыши пакет libvirt-daemon-system.
Пакеты libvirt0 и libvirt-daemon и все необходимые сопутствующие пакеты будут автоматически добавлены к выборке согласно зависимостям.
Так же для пакета qemu еще раз воспользовавшись поиском по пакетной базе, (в поле поиска ввести qemu) выбрать правой кнопкой мыши пакет qemu.
Добавленные к выборке пакеты будут поставлены в очередь на установку после пакетов из выборки по libvirt.
Нажать Применить .
После установки всех пакетов необходимо перезагрузить операционную систему.
Настройка прав пользователей
Прежде чем приступать к настройке и/или использованию virt-manager, необходимо сделать так, чтобы пользователь имел необходимые права для работы с компонентами виртуализации.
Для возможности полного управления ВМ администратор должен входить в группы kvm, libvirt-admin, libvirt-qemu, astra-console.
Для работы с ПК СВ «Брест» обычному пользователю может потребоваться вхождение в локальные группы kvm и libvirt-qemu.
Операции по изменению состава или конфигурации виртуальных машин требуют вхождения пользователя в специальную локальную административную группу libvirt-admin.
Для этого необходимо добавить пользователя в следующие группы командой: (перечисление групп добавляемых пользователю необходимо делать через запятую БЕЗ пробелов)
Для функционирования системы в режиме замкнутой программной среды (ЗПС) необходимо дополнительная установка пакета brest-digsig-key .
libvirt — admin — группа для администраторов виртуальной среды, позволяет администрировать ВМ: создавать/клонировать/удалять, изменять состав и конфигурацию
libvirt-qemu — позволяет пользователю создавать образы виртуальных машин
libvirt — позволяет пользователю подключаться к демону
disk — для работы с блочными устройствами
kvm — даёт доступ пользователю непосредственно к модулю kvm для возможности запуска самого процесса виртуализации
astra-admin — системная группа администраторов
astra-console — необходима для доступа к консоли. Для разрешения выполнения консольных команд
Установка сервера KVM
После создаем каталог в разделе диска, в котором будем хранить файлы виртуалки. Выполняем:
Копируем установочный образ для развертывания сервера в папку /iso
sudo mv установочный_образ_сервера.iso /iso
Меняем владельца установочного образа
sudo chown libvirt-qemu:libvirt /iso/установочный_образ_сервера.iso
Создание виртуальной машины в графике:
Теперь перейдем к созданию виртуальной машины с помощью утилиты virt-manager.
virt-manager
Появится вот такое окошко:
Выбираем Файл-> создать виртуальную машину
Выбираем метод установки — Локальный ISO или CDROM, Вперед.
Жмем Обзор, и выбираем iso/установочный_образ_сервера.iso
В левой части мы видим пространства данных. По умолчанию пространство данных содается в /var/lib/libvirt/images
Чтобы создать пространство данных на другом диске или в другой папке, нажимаем занчек «+» в левом нижнем углу.
Вводим имя создаваемого хранилища с образами. Вперёд.
Обзор и указываем путь до хранилища (папки). Открыть.
В меню выбор тома хранилища появился наш новый том и установочные образы (которые ранее скопировали сюда).
Выбираем установочный образ. Жмем Выбор тома.
Настраиваем выделяемое количество ОЗУ и процессоров.
Настраиваем размер и расположение пространства данных для нашей виртуальной машины (по умолчанию создается в папке /var/lib/libvirt/. )
Если нужно пространство разместить на другой папке или диске-жмем «Настроить»
Выбираем созданное на предыдущем этапе пространство данных, Около «Список томов» жмем «+»
Называем том хранилища, ставим его размер. Нажимаем галочку проверить конфигурацию. Готово.
При проверке конфигурации нажимаем добавить оборудование (это делается для обеспечения работоспособности мыши в виртуальной машине)
Наводим указатель на ВВОД и выбираем Графический планшет USB EvTouch. Нажимаем готово.
Нажимаем в верхне левом углу начать установку
В появившейся вкладке предлагается включить дефолтную сеть. Настройка сети мостом в статье.
Наживаем ДА и начинается установка.
Если при запуске виртуальной сети пишет что «Не удалось запустить виртуальную сеть «default»: internal error: Failed to initialize a valid firewall backend» установите следующие пакеты:
sudo apt install firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo service libvirtd restart
Далее идет интуитивно понятная установка операционной системы.
Для создания общего буфера обмена установим на виртуальной машине следующие пакеты и перезагрузим:
sudo apt install spice-vdagent && sudo reboot
Что бы осуществлять изменение сетевых настроек без перезагрузки виртуальной машины установим пакет на виртуальную машину:
sudo apt install qemu-guest-agent