Kernel Virtual Machine (KVM) — это гипервизор Type1/bare-metal с открытым исходным кодом, который позволяет пользователям размещать и запускать несколько изолированных виртуальных сред на своих компьютерах с Linux.

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

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

1. Подтвердите аппаратную виртуализацию

Убедитесь, что в вашей системе включены расширения аппаратной виртуализации. Для хостов на базе Intel используйте следующую команду, чтобы подтвердить, доступно ли расширение виртуализации ЦП (vmx):

$ sudo grep -e 'vmx' /proc/cpuinfo

Для хостов на базе AMD проверьте, доступно ли расширение виртуализации ЦП (svm), выполнив следующую команду:

$ sudo grep -e 'svm' /proc/cpuinfo

Если виртуализация не включена, вы можете включить ее в настройках BIOS вашего компьютера.

2. Установите KVM на Rocky Linux 9 / AlmaLinux 9

Выполните следующую команду для установки пакетов KVM, которые находятся в репозитории Rocky Linux 9 по умолчанию:

$  sudo dnf install qemu-kvm libvirt virt-manager virt-install

Установить-KVM-на-rockylinux9-almalinux9

Установите другие инструменты управления KVM, как показано:

$ sudo dnf install epel-release -y

Включить-EPEL-репозиторий-RockyLinux9-AlmaLinux9

$ sudo dnf -y install bridge-utils virt-top libguestfs-tools bridge-utils virt-viewer

Установить-bridge-utils-virt-viewer-rockylinux9

Ниже приводится краткое описание вышеуказанных пакетов:

  • virt-manager предоставляет графический пользовательский интерфейс для управления виртуальными машинами.
  • libvirt-client предлагает утилиту CL для администрирования виртуальной среды.
  • virt-install — это инструмент командной строки, используемый для создания виртуальных машин.
  • libvirt предоставляет библиотеки на стороне хоста для взаимодействия с хост-системами и гипервизорами.

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

$ sudo lsmod | grep kvm

3. Запустите и включите демон libvirtd

libvirtd — это компонент-демон, работающий на стороне сервера и управляющий задачами на виртуализированных гостях. Он используется для управления технологиями виртуализации, включая ESXi, KVM и Xen.

Чтобы запустить и включить демон libvirtd, выполните:

$ sudo systemctl start libvirtd
$ sudo systemctl enable libvirtd

Чтобы проверить, запущен ли демон libvirtd, выполните следующую команду:

$ sudo systemctl status libvirtd

Libvirtd-Service-Status-RockyLinux9-AlmaLinux9

Вам также необходимо добавить системного пользователя в группу KVM для выполнения команд virt-install без sudo.

$ sudo usermod -aG libvirt $USER
$ newgrp libvirt

4. Создайте сетевой мост для экземпляров KVM

Сетевой мост с именем virbr0 автоматически создается для предоставления трансляции сетевых адресов (NAT). Виртуальные машины, использующие этот мост, не имеют внешнего подключения.

Список существующих мостовых сетей можно получить с помощью команды brctl:

$ sudo brctl show

По умолчанию-virbr0-KVM-RockyLinux9-AlmaLinux9

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

$ sudo nmcli connection show

Nmcli-Connection-Show-Command-Output-RockyLinux9-AlmaLinux9

Чтобы начать создание моста, сначала удалите существующее соединение с помощью следующей команды:

$ sudo nmcli connection delete bf2bae34-5130-309a-b84d-a3c56dec9ed8

Прежде чем двигаться дальше, важно иметь под рукой следующую информацию:

  • Название моста: Это предпочтительное имя нового моста (например, br1).
  • Имя устройства: Это имя сетевого интерфейса. Это будет подчиненный мост (например, ens160).
  • IP-адрес/подсеть: Это IP-адрес и подсеть мостовой сети, например, 192.168.122.1/24. Это должно совпадать с IP-адресом подсети вашей сети.
  • шлюз: Это адрес шлюза сети по умолчанию, например, 192.168.16.2
  • DNS1 и DNS2: Это предпочтительные адреса DNS (например, 8.8.8.8 и 8.8.4.4).

Чтобы создать новый мост, выполните следующую команду:

$ sudo nmcli connection add type bridge autoconnect yes con-name br1 ifname br1

Создать-Сетевой-Мост-Br1-KVM-RockyLinux9

Затем добавьте IP, шлюз и DNS к мосту, как показано ниже:

$ sudo nmcli connection modify br1 ipv4.addresses 192.168.16.122.1/24 ipv4.method manual
$ sudo nmcli connection modify br1 ipv4.gateway 192.168.16.2
$ sudo nmcli connection modify br1 ipv4.dns 8.8.8.8 +ipv4.dns 8.8.4.4

Назначить-IP-адрес-KVM-мост-Br1-RockyLinux9-AlmaLinux9

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

$ sudo nmcli connection add type bridge-slave autoconnect yes con-name ens160 ifname ens160 master br1

Добавить-Интерфейс-к-KVM-мосту-RockyLinux9-AlmaLinux9

Чтобы проверить создание моста, выполните следующую команду:

$ sudo nmcli connection show

Nmcli-подключение-после-создания-моста-rockylinux9-almalinux9

Далее запускаем сетевой мост:

$ sudo nmcli connection up br1

Старт-KVM-Сетевой-Мост-Br1-RockyLinux9-AlmaLinux9

Чтобы проверить, активен ли мост, выполните:

$ sudo nmcli connection show br1

KVM-Сетевой-Мост-Подробности-RockyLinux9-AlmaLinux9

Чтобы разрешить KVM использовать этот мост, отредактируйте файл ниже:

$ sudo vim /etc/qemu-kvm/bridge.conf

Добавьте строку:

Qemu-KVM-Bridge-Conf-RockyLinux9-AlmaLinux9

Затем перезапустите службу libvirtd.

$ sudo systemctl restart libvirtd

5. Создание виртуальной машины с использованием KVM

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

Легко запустить виртуальную машину через CLI, особенно если вы понимаете основы KVM. Для начала установите правильное владение каталогом libvirt:

$ sudo chown -R $USER:libvirt /var/lib/libvirt/

Используя следующий синтаксис, мы создадим виртуальную машину в командной строке, используя образ Rocky9 Linux.

$ virt-install \
--name Rocky9 \
--ram 2048 \
--vcpus 1 \
--disk path=/var/lib/libvirt/images/rocky-9.img,size=20 \
--os-variant centos-stream9 \
--network bridge=br1,model=virtio \
--graphics vnc,listen=0.0.0.0 \
--console pty,target_type=serial \
--location /home/rocky9/Downloads/Rocky-9.0-x86_64-minimal.iso

Примечание:

  • -путь к диску=/var/lib/libvirt/images/rocky-9.img,size=20 – Это путь для создания диска и размер диска в ГБ.
  • -vcpus 1 — это количество выделяемых ЦП.
  • -баран 2048 — выделенная память.
  • сетевой мост=br1 указывает сетевой мост для использования.
  • графика vnc,слушай=0.0.0.0 показывает адрес прослушивания VNC.
  • расположение /home/rocky9/Downloads/Rocky-9.0-x86_64-minimal.iso — это путь к вашему ISO-файлу.

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

Virt-Install-VM-Установка-экран-RockyLinux9-AlmaLinux9

Вы также можете создавать виртуальные машины с помощью Virt-Manager GUI. Чтобы начать, перейдите в меню приложения и щелкните значок, как показано:

Поиск-Менеджер-виртуальной-машины-RockyLinux9-AlmaLinux9

Нажмите на выделенный значок, чтобы создать виртуальную машину.

Щелкните значок виртуальной машины VirtManager RockyLinux9 AlmaLinux9

Здесь выберите способ установки ISO-образа, выберите вариант по умолчанию и продолжите.

Выбрать-Локально-Установить-Медиа-VirtManager-RockyLinux9

В этом окне выберите ISO-образ.

Выберите-ISO-образ-KVM-Virt-Manager-RockyLinux9

Настройте память и процессор виртуальной машины.

Память-ЦП-для-ВМ-в-KVM-VirtManager-RockyLinux9-AlmaLinux9

Здесь настройте размер жесткого диска.

Размер-диска-для-KVM-VM-VirtManager-RockyLinux9

Теперь нажмите кнопку «Готово», чтобы начать установку.

Нажмите-Готово-KVM-VirtManager-RockyLinux9-AlmaLinux9

Экран установки KVM-VM

Заключение

Вот и все! Мы показали вам, как установить KVM на Rocky Linux 9 или AlmaLinux 9. Надеемся, вы найдете это руководство полезным и информативным. Не стесняйтесь размещать ваши вопросы и отзывы в разделе комментариев ниже.