Как установить 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 / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

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.
Вы должны согласиться с условиями для продолжения

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