Поиск по сайту:

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


Виртуальная машина на основе ядра (сокращенно KVM) — это стандартное решение виртуализации с открытым исходным кодом, которое тесно интегрировано в Linux. Это загружаемый модуль ядра, который превращает Linux в гипервизор типа 1 (голый металл), который создает виртуальную операционную платформу, используемую для запуска виртуальных машин (ВМ).

В разделе KVM каждая VM представляет собой процесс Linux, который планируется и управляется ядром и имеет частное виртуализированное оборудование (например, ЦП, сетевую карту, диск и т. д.). Он также поддерживает вложенную виртуализацию, которая позволяет запускать одну виртуальную машину внутри другой виртуальной машины.

Некоторые из его ключевых функций включают поддержку широкого спектра аппаратных платформ, поддерживаемых Linux (оборудование x86 с расширениями виртуализации (Intel VT или AMD-V)), он обеспечивает повышенную безопасность и изоляцию виртуальных машин с использованием обоих SELinux. и безопасную виртуализацию (sVirt), он наследует функции управления памятью ядра и поддерживает как автономную миграцию, так и миграцию в реальном времени (миграцию работающей виртуальной машины между физическими хостами).

В этой статье вы узнаете, как установить виртуализацию KVM, создавать виртуальные машины и управлять ими в CentOS 8 и RHEL 8 Linux.

Предварительные условия

  1. Свежая установка сервера CentOS 8.
  2. Свежая установка сервера RHEL 8.
  3. Подписка RedHat включена на сервере RHEL 8.

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

grep -e 'vmx' /proc/cpuinfo		#Intel systems
grep -e 'svm' /proc/cpuinfo		#AMD systems

Также убедитесь, что модули KVM загружены в ядро (по умолчанию они должны быть загружены).

lsmod | grep kvm

Вот пример вывода тестовой системы на базе Intel:

В предыдущей серии руководств по KVM мы показали, как создавать виртуальные машины в Linux с помощью KVM (виртуальная машина на основе ядра), где мы продемонстрировали, как создавать виртуальные машины и управлять ими с помощью инструмента с графическим интерфейсом virt-manager (который в настоящее время устарел согласно документации RHEL 8). В этом руководстве мы воспользуемся другим подходом и будем использовать веб-консоль Cockpit.

Шаг 1. Настройка веб-консоли Cockpit на CentOS 8

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

Он поставляется предустановленным и включенным в только что установленных системах CentOS 8 и RHEL 8. Если он у вас не установлен, установите его с помощью следующей команды dnf. Для управления виртуальными машинами на базе Libvirt необходимо установить расширение Cockpit-machines.

dnf install cockpit cockpit-machines

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

systemctl start cockpit.socket
systemctl enable cockpit.socket
systemctl status cockpit.socket

3. Затем добавьте службу ockpit в системный брандмауэр, который включен по умолчанию, с помощью команды firewall-cmd и перезагрузите конфигурацию брандмауэра, чтобы применить новые изменения.

firewall-cmd --add-service=cockpit --permanent
firewall-cmd --reload

4. Чтобы получить доступ к веб-консоли кабины, откройте веб-браузер и используйте следующий URL-адрес для навигации.

https://FQDN:9090/
OR
https://SERVER_IP:9090/

Cockpit использует самозаверяющий сертификат для включения HTTPS. Просто продолжайте подключение, когда получите предупреждение от браузера. На странице входа используйте учетные данные учетной записи пользователя сервера.

Шаг 2. Установка виртуализации KVM CentOS 8

5. Затем установите модуль виртуализации и другие пакеты виртуализации следующим образом. Пакет virt-install предоставляет инструмент для установки виртуальных машин из интерфейса командной строки, а virt-viewer используется для просмотра виртуальных машин.

dnf module install virt 
dnf install virt-install virt-viewer

6. Затем выполните команду virt-host-validate, чтобы проверить, настроен ли хост-компьютер для запуска драйверов гипервизора libvirt.

virt-host-validate

7. Затем запустите демон libvirtd (libvirtd) и включите его автоматический запуск при каждой загрузке. Затем проверьте его статус, чтобы убедиться, что он запущен и работает.


systemctl start libvirtd.service
systemctl enable libvirtd.service
systemctl status libvirtd.service

Шаг 3. Настройка сетевого моста (виртуального сетевого коммутатора) через кабину

8. Теперь создайте сетевой мост (виртуальный сетевой коммутатор) для интеграции виртуальных машин в ту же сеть, что и хост. По умолчанию после запуска демона libvirtd он активирует сетевой интерфейс по умолчанию virbr0, который представляет коммутатор виртуальной сети, работающий в режиме NAT.

В этом руководстве мы создадим сетевой интерфейс в режиме моста под названием br0. Это позволит виртуальным машинам быть доступными в хост-сетях.

В главном интерфейсе кабины нажмите Сеть, затем нажмите Добавить мост, как показано на следующем снимке экрана.

9. Во всплывающем окне введите имя моста и выберите ведомые устройства моста или портовые устройства (например, enp2s0, представляющий интерфейс Ethernet), как показано на следующем снимке экрана. Затем нажмите Применить.

10. Теперь, когда вы посмотрите на список Интерфейсов, там должен появиться новый мост, и через несколько секунд интерфейс Ethernet должен быть отключен (снесен).

Шаг 4. Создание виртуальных машин и управление ими через веб-консоль Cockpit

11. В главном интерфейсе кабины управления выберите параметр Виртуальные машины, как показано на следующем снимке экрана. На странице Виртуальные машины нажмите Создать виртуальную машину.

12. Откроется окно с опциями создания новой VM. Введите соединение, имя (например, ubuntu18.04), тип источника установки (в тестовой системе мы сохранили ISO-образы в пуле хранения, т. е. /var/lib/libvirt/ images/), Источник установки, Хранилище, Размер, Память, как показано на следующем изображении. Поставщик ОС и операционная система должны выбираться автоматически после ввода источника установки.

Также установите флажок немедленно запускать ВМ, затем нажмите Создать.

13. После нажатия кнопки Создать на предыдущем шаге VM должна автоматически запуститься и загрузиться с использованием предоставленного ISO-образа. Перейдите к установке гостевой операционной системы (в нашем случае Ubuntu 18.04).

Если вы нажмете Сетевые интерфейсы VM, сетевой источник должен указать вновь созданный сетевой интерфейс моста.

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

Обратите внимание, что вам необходимо установить пакет OpenSSH для доступа к гостевой ОС через SSH с любого компьютера в хост-сети, как описано в последнем разделе.

14. После завершения установки гостевой ОС перезагрузите ВМ, затем перейдите в раздел Диски и отсоедините/удалите устройство cdrom под дисками ВМ. . Затем нажмите Выполнить, чтобы запустить VM.

15. Теперь в разделе Консоли вы можете войти в гостевую ОС, используя учетную запись пользователя, созданную во время установки ОС.

Шаг 5. Доступ к гостевой ОС виртуальной машины через SSH

16. Чтобы получить доступ к недавно установленной гостевой ОС из хост-сети через SSH, выполните следующую команду (замените 10.42.0.197 на IP-адрес вашего гостя).

ssh [email 

17. Чтобы выключить, перезапустить или удалить виртуальную машину, щелкните ее в списке виртуальных машин, а затем воспользуйтесь кнопками, выделенными на следующем снимке экрана.

На данный момент это все! В этом руководстве мы показали, как устанавливать пакеты виртуализации KVM, а также создавать виртуальные машины и управлять ими через веб-консоль кабины. Подробнее см.: Начало работы с виртуализацией в RHEL 8.