Как установить 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

Метки:

, , , , , , , ,

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

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

  • Добрый день! Вы приложили скрипт, который лежит по пути /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). В веб-интерфейсе отсутствуют кнопки редактирования сетевой карты и жесткого диска, в чем может быть причина?

    Ответить
  • В CentOS 7 используется старая версия ovirt, как вариант установить отдельно https://www.ovirt.org/release/ но оптимальные мигрировать на AlmaLinux/RockLinux 8.

    Ответить

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

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

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


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