Как установить KVM на Fedora / CentOS / RHEL 8

Как установить KVM на Fedora / CentOS / RHEL 8

Рубрики:

KVM

Метки:

, , ,

KVM (Kernel-based Virtual Machine) — это инструмент с открытым исходным кодом для виртуализации. Который отличается высоким уровнем интеграции с операционными системами семейства GNU / Linux.

Данное приложение представляет собой загружаемый модуль ядра, который модифицирует вашу ОС в гипервизор Типа 1 (bare-metal). С помощью которого можно создавать платформу, используемую для запуска виртуальных машин (ВМ).

Так каким образом можно установить KVM на системы под управлением дистрибутивов Fedora / CentOS / RHEL 8? Давайте попробуем разобраться вместе!

Содержание:

  1. Как работает KVM
  2. Установка KVM на Fedora / CentOS / RHEL 8
  3. Настройка Cockpit
  4. Установка модуля виртуализации KVM на CentOS 8
  5. Настройка сетевого моста в Cockpit
  6. Создание виртуальных машин и управление ими через Cockpit
  7. Подключение к ОС виртуальной машины с помощью SSH
  8. Выводы

Как работает KVM

Для начала попробуем объяснить принципы, на базе которых реализована KVM. Прежде всего остального, все виртуальные системы в ней обособлены как отдельные процессы Linux. Все они обладают своим виртуальным аппаратным обеспечением:

  • процессором;
  • оперативной памятью;
  • сетевой картой;
  • жестким диском.

Также каждая виртуальная машина управляется ядром.

Это интересно: с помощью KVM можно реализовать вложенную виртуализацию, запуская виртуальные системы в уже работающих виртуальных системах.

Стоит отметить, что приложение может эмулировать различное аппаратное обеспечение архитектуры x86 и поддерживает средства аппаратной виртуализации — Intel VT и AMD-V. За счет этого можно добиться следующих преимуществ:

  • эффективной изоляции виртуальных систем и повышенного уровня безопасности;
  • использования SELinux (Security-Enhanced Linux) с технологией sVirt, обеспечивающей безопасную виртуализацию;
  • наследования функции управления памятью ядра;
  • миграции в автономном режиме в реальном времени (передачи активной виртуальной системы между разными физическими хостами).

Все это и многое другое делает KVM стандартным инструментом многих системных администраторов и других IT-специалистов по всему миру.

Установка KVM на Fedora / CentOS / RHEL 8

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

 

Кроме того, следует убедиться в том, что модули KVM уже загружены в ядро вашей операционной системы. Для этого достаточно ввести следующую команду:

 

Пример вывода (тестовая платформа на базе Intel):

Check-Virtualization-Support-on-CentOS-8 - Как установить KVM на Fedora / CentOS / RHEL 8?

Кроме того, в данной статье мы решили дополнительно использовать веб-интерфейс Cockpit. С помощью которого будем создавать виртуальные системы GNU / Linux и заниматься их системным администрированием.

Настройка Cockpit

Cockpit — это удобный и простой в освоении инструмент, предназначенный для мониторинга и администрирования серверов под управлением Linux через веб-браузер. С его помощью можно легко выполнять следующие виды задач:

  • мониторинг трафика и настройка сетевых подключений;
  • управление дисковым пространством;
  • создание виртуальных систем;
  • чтение системных логов.

Также авторизация в веб-интерфейсе данного инструмента происходит с использованием данных локальной учетной записи вашей системы. И права доступа, которыми обладает выбранная учетная запись, определяют доступные Cockpit возможности по управлению системой. То есть, для выполнения большинства операций нужно авторизоваться с помощью данных аккаунта, имеющего права суперпользователя (sudo).

Стоит отметить, что системы под управлением дистрибутивов CentOS 8 и RHEL 8 уже содержат установленный и активированный инструмент Cockpit. В том случае, если приложение отсутствует — его поможет установить простая команда dnf. Помимо всего прочего, для работы с виртуальными системами на основе Libvirt следует установить соответствующее расширение cockpit-machines. Для этого введите в командную строку следующую команду:

 

Далее нужно дождаться установки указанного пакета. После чего — можно активировать сокет Cockpit:

 

Кроме того, важно настроить его автозапуск после включения системы:

 

Также следует проверить статус сокета, чтобы убедиться в его работоспособности. Для этого введите в консоль следующую команду:

 

Verify-Cockpit-Status - Как установить KVM на Fedora / CentOS / RHEL 8?

Следующий шаг — добавление службы Cockpit в исключения вашего брандмауэра и перезагрузите его. Для этого можно воспользоваться командой firewall-cmd:

 

Теперь запустите свой веб-браузер и введите в адресную строку следующий URL-адрес:

 

Также можно попробовать такой URL:

 

В результате у вас должен открыться веб-интерфейс Cockpit. Стоит отметить, что данный инструмент использует самозаверенный сертификат SSL для включения HTTPS. То есть, для доступа к нему вам нужно в ответ на предупреждение от браузера подтвердить желание перейти по выбранному адресу. В результате вы должны увидеть окно авторизации, куда можно ввести данные вашей учетной записи Linux.

Cockpit-Login - Как установить KVM на Fedora / CentOS / RHEL 8?

В том случае, если вы правильно ввели свои данные и правильно выполнили предыдущие шаги — откроется веб-консоль приложения.

Cockpit-Dashboard - Как установить KVM на Fedora / CentOS / RHEL 8?

Установка модуля виртуализации KVM на CentOS 8

Следующий шаг — установка модуля виртуализации. Осуществить эту операцию можно, воспользовавшись следующей командой:

 

Также нужно установить некоторые пакеты. Например, virt-install позволит вам легко создавать виртуальные системы через интерфейс командной строки. Тогда как пакет virt-viewer — позволяет осуществлять мониторинг существующих виртуальных машин. Для их установки можно воспользоваться одной командой:

 

Безусловно, стоит проверить, сконфигурирован ли хост для активации драйверов гипервизора Libvirt. Для этого предназначена команда virt-host-validate:

 

validate-host-virtualization-setup - Как установить KVM на Fedora / CentOS / RHEL 8?

Теперь нам осталось лишь запустить демон Libvirt. В этом поможет следующая команда:

 

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

 

Рекомендуем дополнительно убедиться в работоспособности Libvirt, проверив его статус:

 

Verify-Libvirtd-Service - Как установить KVM на Fedora / CentOS / RHEL 8?

Настройка сетевого моста в Cockpit

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

После того, как запускается демон Libvirt, в качестве сетевого интерфейса по умолчанию активируется virbr0. Это виртуальный сетевой коммутатор, работающий в NAT-режиме.

Специально для этой статьи мы создадим сетевой интерфейс в режиме моста с именем br0. Который обеспечит присутствие виртуальных систем в сети, к которой подключен хост-компьютер.

Для этого следует зайти в веб-интерфейс Cockpit и там выбрать пункт панели инструментов «Сети» (Networking). После этого нужно выбрать подпункт «Добавить мост» (Add Bridge).

Add-Bridge-Network - Как установить KVM на Fedora / CentOS / RHEL 8?

Далее вы должны увидеть всплывающее окно. В нем нужно указать следующие данные:

  • имя моста;
  • подчиненные устройства моста или портовые устройства (к примеру — enp2s0, интерфейс Ethernet).

После этого нужно нажать кнопку «Принять» (Apply).

Enter-Network-Bridge-Settings

В списке доступных интерфейсов должен появиться ваш мост. Спустя пару секунд интерфейс Ethernet должен быть деактивирован.

Verify-New-Network-Bridge

Создание виртуальных машин и управление ими через Cockpit

Для начала вернитесь в панель инструментов Cockpit. Там выберите пункт «Виртуальные машины» (Virtual Machines). Там вы должны увидеть подпункт «Создать ВМ» (Create VM).

Create-a-New-Virtual-Machine

Снова появится всплывающее окно, куда следует ввести следующие параметры новой виртуальной машины:

  • подключение (Connection);
  • имя (Name, например — ubuntu18.04);
  • тип источника для установки (Installation Source Type, в тестовой системе мы сохранили образы ISO в пуле хранения — /var/lib/libvirt/images/);
  • источник для установки (Installation Source);
  • хранилище (Storage);
  • размер (Size);
  • память (Memory).

Важно: данные о поставщике операционной системы и о самой ОС автоматически заполнялся после указания источника для установки.

Также обязательно поставьте отметку в чекбоксе напротив опции немедленного запуска виртуальной машины. После этого можно нажать кнопку «Создать» (Create).

Add-New-Virtual-Machine-in-KVM

В результате ваша виртуальная машина должна автоматически запуститься с использованием указанного ISO-образа. После этого стоит продолжить установку ОС (например, Ubuntu 18.04).

Install-Guest-OS-on-KVM

Нажатие кнопки «Сетевые интерфейсы» (Network Interfaces) на панели управления виртуальной машиной покажет вам, что в качестве источника используется созданный ранее мост.

Network-Bridge-of-VM

Стоит отметить, что во время настройки сетевого интерфейса вы увидите, как Ethernet виртуальной системы получает IP от DHCP-сервера сети, к которой подключена хост-система.

IP-Address-of-VM

Важно: вам следует установить пакет OpenSSH, чтобы иметь возможность подключаться через SSH к виртуальной операционной системе через любой компьютер, подключенный к хост-сети.

Как только операционная система установится, перезагрузите свою виртуальную машину. После этого выберите не панели инструментов пункт «Диски» (Disks) и отключите устройство под названием cdrom.

Detach-Cdrom-After-VM-Installation

Далее нажмите кнопку «Запуск» (Run), чтобы активировать виртуальную машину.

Run-VM-Console

После этого с помощью пункта панели инструментов «Консоли» (Consoles) можно войти в операционную систему с использованием той учетной записи, которую вы создали во время ее установки.

VM-Login

Подключение к ОС виртуальной машины с помощью SSH

Теперь попробуем с помощью SSH подключиться к установленной на виртуальную машину операционной системе из нашей хост-сети. Для этого нужно ввести в командную строку следующий набор команд, не забыв заменить 10.42.0.197 на IP вашей гостевой системы:

Guest-VM-SSH-Login

Также на панели управления виртуальной машиной есть дополнительные кнопки, позволяющие ее:

  • выключить;
  • остановить;
  • перезапустить;
  • удалить.

Delete-Guest-VM-from-KVM

Теперь создадим файл, чтобы воспользоваться хуками для проброса портов на нашу виртуальную машину. Для этого воспользуемся следующей командой:

 

В открывшемся текстовом редакторе нам нужно будет ввести следующий текст:

Выводы

Совсем не трудно установить на системы под управлением дистрибутивов Fedora / CentOS / RHEL 8 такой инструмент, как KVM с пакетами виртуализации. И что каждый может научиться создавать и администрировать виртуальные системы с помощью простого веб-интерфейса Cockpit.

Спасибо за время, которое вы уделили прочтению статьи о том, как установить KVM!

Если возникли вопросы — задавайте их в комментариях!

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

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности, полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

Рубрики:

KVM

Метки:

, , ,

Больше похожих постов

5 комментариев. Оставить новый

  • Добрый день! Вы приложили скрипт, который лежит по пути /etc/libvirt/hooks/qemu
    Вопрос такой, скажите, пожалуйста, как его использовать если у него несколько гостевых машин? Я предполагаю, что нужно их плодить под каждую гостивую машину?

    Ответить
  • Поддерживаю вопрос. Хотелось бы уточнить, что нужно сделать, чтобы корректно настроить проброс портов на несколько гостевых машин.

    И второй вопрос, как настроить туда грамотный ssh доступ? Нужно делать проброс 24-ого порта?

    Просто гипотетически у меня будет 4 машины, все приходят на 1 ip, а как дальше их разделать если все приходит на 80-ый порт? Заранее спасибо за ответы

    Ответить
  • Сергей, в этом-же файле, ниже, прописывайте правила для каждой гостевой машины.

    Ответить
  • Доброго времени суток
    я по вашей статье начал поднимать КВМ и дошел до момента когда нужно МВ ставить
    и вот там у меня ошибка выходит “error: failed to get emulator capabilities error: недопустимый аргумент: не найдено ни одного эмулятора, способного работать с архитектурой «x86_64» ERROR Host does not support any virtualization options” в биосе в разделе процессор включена виртуализация
    но все ровно не могу подключить
    за ранее благодарен за помощь

    Ответить
  • Добрый день. Все установил по инструкции (только ОС Centos 7). В веб-интерфейсе отсутствуют кнопки редактирования сетевой карты и жесткого диска, в чем может быть причина?

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Поиск по сайту
Лучшее
Популярное
Рубрики
Меню