KVM - это технология виртуализации с открытым исходным кодом, которая превращает вашу Linux-машину в гипервизор, который позволяет вам запускать несколько виртуальных машин или гостевых виртуальных машин.
RHEL 8 KVM . Что необходимо.
- OS = RHEL 8
- Имя хоста = rhel8-kvm
- Карты Ethernet = ens32 - 192.168.1.4 и ens36 - 192.168..1.12
- RAM = 4 ГБ
- CPU = 2
- Диск = 40 ГБ свободного места (/ var / libvirtd)
Давайте перейдем к этапам установки KVM
Шаг: 1) Убедитесь, что виртуализация оборудования включена
Откройте терминал и выполните приведенную ниже команду egrep.
[root@rhel8-kvm ~]# egrep -c '(vmx|svm)' /proc/cpuinfo
2
[root@rhel8-kvm ~]#
Если вывод вышеуказанной команды egrep равен 1 или больше 1, это подтверждает, что аппаратная виртуализация включена и поддерживается.
Альтернативный способ проверить, включена ли аппаратная виртуализация или нет, выполните команду ниже,
[root@rhel8-kvm ~]# lscpu | grep Virtualization:
Virtualization: VT-x
[root@rhel8-kvm opt]#
Если в приведенной выше команде нет выходных данных, это подтверждает, что виртуализация не включена из BIOS.
Примечание. Чтобы включить аппаратную виртуализацию, перезагрузите систему, перейдите в настройки BIOS, а затем найдите параметр виртуализации Intel VT или AMD и включите один из этих параметров, который соответствует архитектуре вашей системы.
Шаг: 2) Установите KVM и его зависимые пакеты, используя dnf
Выполните следующую команду dnf, чтобы установить KVM и его зависимые пакеты,
[root@rhel8-kvm ~]# dnf install qemu-kvm qemu-img libvirt virt-install libvirt-client virt-manager -y
После того, как вышеупомянутые пакеты были успешно установлены, выполните команду ниже, чтобы подтвердить, загружен ли модуль KVM в ядро или нет
root@rhel8-kvm ~]# lsmod | grep -i kvm
kvm_intel 245760 0
kvm 745472 1 kvm_intel
irqbypass 16384 1 kvm
[root@rhel8-kvm ~]#
Шаг: 3) Включите и запустите службу libvirtd
Запустите следующую команду systemctl, чтобы включить и запустить службу libvirtd
[root@rhel8-kvm ~]# systemctl enable libvirtd
[root@rhel8-kvm ~]# systemctl start libvirtd
Шаг: 4) Создайте сетевой мост и подключите к нему интерфейс
В RHEL 8 сетевые сценарии устарели, мы должны использовать Network Manager (nmcli / nmtui) для настройки сети и сетевых мостов.
У меня есть две карты Ethernet на моем сервере, ens36 будет подключен к мосту br0, и ens32 будет использоваться для управления.
[root@rhel8-kvm ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens32 1d21959d-e2ea-4129-bb89-163486c8d7bc ethernet ens32
ens36 1af408b6-c98e-47ce-bca7-5141b721f8d4 ethernet ens36
virbr0 d0f05de4-4b3b-4710-b904-2524b5ad11bf bridge virbr0
[root@rhel8-kvm ~]#
Удалить существующее соединение интерфейса «ens36»
[root@rhel8-kvm ~]# nmcli connection delete ens36
Connection 'ens36' (1af408b6-c98e-47ce-bca7-5141b721f8d4) successfully deleted.
[root@rhel8-kvm ~]#
Создайте сетевой мост с именем « br0 » с помощью команды mcli
[root@rhel8-kvm ~]# nmcli connection add type bridge autoconnect yes con-name br0 ifname br0
Connection 'br0' (62c14e9d-3e72-41c2-8ecf-d17978ad02da) successfully added.
[root@rhel8-kvm ~]#
Присвойте тот же IP-адрес ens36 интерфейсу моста, используя следующие команды nmcli:
[root@rhel8-kvm ~]# nmcli connection modify br0 ipv4.addresses 192.168.1.12/24 ipv4.method manual
[root@rhel8-kvm ~]# nmcli connection modify br0 ipv4.gateway 192.168.1.1
[root@rhel8-kvm ~]# nmcli connection modify br0 ipv4.dns 192.168.1.1
Добавьте интерфейс ens36 в качестве моста salve к сетевому мосту br0
[root@rhel8-kvm ~]# nmcli connection add type bridge-slave autoconnect yes con-name ens36 ifname ens36 master br0
Connection 'ens36' (0c2065bc-ad39-47a7-9a3e-85c80cd73c94) successfully added.
[root@rhel8-kvm ~]#
Теперь откройте сетевой мост, используя команду nmcli
[root@rhel8-kvm ~]# nmcli connection up br0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)
[root@rhel8-kvm ~]#
Проверьте соединения, используя следующую команду
[root@rhel8-kvm ~]# nmcli connection show
NAME UUID TYPE DEVICE
br0 00bcff8f-af85-49ad-9196-974de2d9d9d1 bridge br0
ens32 1d21959d-e2ea-4129-bb89-163486c8d7bc ethernet ens32
ens36 eaef13c9-c24e-4a3f-ae85-21bf0610471e ethernet ens36
virbr0 d0f05de4-4b3b-4710-b904-2524b5ad11bf bridge virbr0
[root@rhel8-kvm ~]#
Просмотр сведений о мосте (br0) и состояния с помощью команды ip
Если вы хотите использовать сетевые сценарии в системе RHEL 8, установите эти пакеты
~ ]# dnf install network-scripts -y
Шаг: 5) Создание и управление виртуальными машинами KVM
В RHEL 8 есть различные способы создания и управления виртуальными машинами KVM,
- Вирт-менеджер (GUI)
- Инструменты командной строки ( virt-install & virsh )
Во время установки KVM мы уже установили пакеты virt-manager и virt-install.
Создание виртуальных машин с использованием инструмента virt-manager GUI:
Запустите команду virt-manager из командной строки или получите доступ к virt-manager из рабочего стола RHEL 8
Нажмите на иконку монитора, чтобы создать новую гостевую виртуальную машину (виртуальную машину),
Выберите локальный установочный носитель в качестве ISO
Нажмите на вперед,
На следующем экране просмотрите файл ISO установки ОС, в моем случае я поместил ISO-файл сервера Ubuntu 18.04 LTS в папку / opt
нажмите «Вперед, чтобы продолжить»,
В следующем окне вам будет предложено указать RAM и vCPU для вашей виртуальной машины, поэтому укажите значения, которые подходят для вашей установки, а затем нажмите Forward
В следующем окне укажите размер диска для вашей виртуальной машины и нажмите «Вперед», в моем случае я предоставляю дисковое пространство для моей виртуальной машины как 20 ГБ
В следующем окне укажите имя виртуальной машины и выберите сеть, которую вы хотите подключить к Ethernet-карте виртуальной машины, так как мы создали сетевой мост «br0» для сети vms, поэтому выберите мост «br0».
Нажмите «Готово» для продолжения создания виртуальной машины и ее установки ОС
Следуйте инструкциям на экране и завершите установку.
Создание виртуальной машины KVM из командной строки
Если вы являетесь поклонником командной строки, то для создания виртуальных машин вам будет предложен инструмент командной строки под названием «virt-install». После того, как виртуальные машины подготовлены, можно управлять vms с помощью инструмента командной строки «virsh».
Давайте предположим, что мы хотим создать виртуальную машину CentOS 7 с помощью virt-install, я уже поместил ISO-файл CentOS 7 в папку / opt
Выполните ниже команды для предоставления виртуальной машины
[root@rhel8-kvm ~]# virt-install -n CentOS7-Server --description "CentOS 7 Virtual Machine" --os-type=Linux --os-variant=rhel7 --ram=1096 --vcpus=1 --disk path=/var/lib/libvirt/images/centos7-server.img,bus=virtio,size=20 --network bridge:br0 --graphics none --location /opt/CentOS-7-x86_64-DVD-1511.iso --extra-args console=ttyS0
Вывод команды будет что-то вроде этого:
Следуйте инструкциям на экране для завершения установки CentOS 7. Это все, я надеюсь, что эти шаги помогли вам настроить KVM в вашей системе RHEL 8.