Установка гипервизора KVM

Установка гипервизора KVM представляет из себя простую задачу. Тем не менее, она отличается на разных версиях Debian и не помешает лишний раз сделать себе пару заметок, а кроме этого рассмотреть и базовую настройку для минимальной готовности окружения.


Если вам интересна тематика Debian и связанных с ним приложений, рекомендую обратиться к тегу Debian на моем блоге.


Установка гипервизора KVM

Не забудьте ознакомиться с системными требованиями. Это можно сделать например из официальной документации Redhat по виртуализации 1. Конечно RHV немного другой продукт, но основан он на все том же KVM, а лучше документации вам просто не найти.

Также проверьте аппаратную поддержку виртуализации на вашем оборудовании:

Если возвращает отличное от 0 значение, значит все хорошо.

Установка

Ставим на Debian 9 2:

Примечание: для предыдущих версий ОС список пакетов будет отличаться

apt-get install qemu-kvm libvirt-bin bridge-utils virtinst.

Подробнее о пакетах:

  • qemu-kvm – сам гипервизор;
  • libvirt-clients – набор библиотек для взаимодействия с гипервизором;
  • libvirt-daemon-system – демон libvirtd;
  • virtinst – инструменты и библиотеки для управления виртуальными машинами;
  • bridge-utils – для организации сети для виртуальных машин.

После установки место на диске уменьшится на 120-650МБ в зависимости от дистрибутива ОС.

Проверка

Пришло время проверить корректность выполненных выше операций. Первым делом убедимся загружены ли модули KVM в ядре:

Вывод должен иметь примерно такой вид:

Также через virsh – одну из основных утилит администрирования KVM – можно получить сводку по состоянию оборудования:

Вывод команды сокращен:

Если все ОК, идем дальше.

Б – безопасность

Пока что ни слова не было сказано о безопасности. Предполагается, что все операции с виртуальными машинами будут выполняться из под учетной записи суперпользователя, что не совсем правильно.

Примечание: стоит оговориться, что вариант работы поз под root полностью приемлем для тестового окружения, но не для продакшена.

Взаимодействие с KVM осуществляется через библиотеку libvirt (которая, помимо всего прочего, умеет общаться и с другими гипервизорами, но это уже из другой оперы). Чтобы предоставить права рядовому пользователю, достаточно добавить его в группы kvm и libvirt, что мы и сделаем:

Где bq – рядовой юзер на моем тестовом сервере. Если пользователь ещё не был создан, исправляем это и сразу выставляем ему пароль:

Далее открываем конфиг для редактирования:

Изменяем параметры:

Где bq – соответственно новый пользователь и группа. Перезапускаем демона:

Переходим к следующему этапу.

Хранилище

К задачам начальной настройки также относится процесс подготовки хранилища данных виртуальных машин.

Примечание: В данном случае моим выбором будет хранилище на основе директорий 3, но вы можете использовать различные варианты, в том числе основанные на дисках 4, разделах 5, томах LVM 6 и др 7.. Для получения более подробной информации читайте руководство Virtualization Deployment and Administration Guide от Redhat. Оно даст вам наиболее полное представление о KVM.

Под новым пользователем создаем нужную папку, сразу назначив необходимые права:

Определяем пул:

Проверим что у нас получилось:

Запускаем пул:

Активируем автозапуск пула:

Осталось только посмотреть что в итоге получилось:

Пример свойств пула на моем тестовом сервере:

Настройка хранилища завершена.

Базовая настройка сети

Функционал виртуальной сети положен на сторонний софт, а именно на bridge-utils, о котором я упоминал выше. Напомню, что гипервизор отвечает лишь за управление ресурсами CPU и RAM.

В статье Установка гипервизора Xen я уже рассказывал про настройку сети, но не будет лишним напомнить об этом важном моменте ещё раз.

Предположим сетевые настройки выглядят следующим образом:

С конфигурацией моста настройки примут следующий вид:

Перезапускаем демона (либо перезагрузите сервер, чтобы убедиться в нормальном функционировании конфигурации при старте):

Примечание: если вы сделали какие-либо ошибки в сетевых настройках, то вы можете потерять подключение к серверу. В этом случае неплохо либо находиться недалеко от сервера, либо иметь к нему удаленную консоль, не завязанную на основном сетевом подключении (например ipmi).

Различные варианты настройки моста доступны в официальной документации 8, а у меня на этом все.

Можно переходить к созданию первых виртуальных машин.

Яндекс.Метрика