Подсказки по KVM/QEMU
Установка KVM/QEMU
Базовая статья https://www.reddit.com/r/homelab/comments/pz1a8m/5_minute_nofuss_kvm_installation_for_ubuntu_2004/?tl=ru
Это руководство, которое поможет вам превратить вашу машину с Ubuntu 20.04 в хост виртуализации всего за 5 минут.
-
Проверьте, поддерживается ли аппаратная виртуализация. Если да, вы получите результат больше, чем 0. Если 0, включите виртуализацию в BIOS (проверьте руководство).
sudo egrep -c '(vmx|svm)' /proc/cpuinfo
-
Установите KVM checker…
sudo apt update sudo apt install cpu-checker
-
… и запустите его. Вы должны получить "INFO: /dev/kvm exists \ KVM acceleration can be used". Если нет, вернитесь к вышесказанному.
sudo kvm-ok
-
Установите KVM
sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
-
Настройте автоматический запуск службы виртуализации, перезапустите, проверьте
sudo systemctl enable libvirtd sudo systemctl restart libvirtd sudo systemctl status libvirtd
-
Финальная проверка загрузки KVM. Вы должны получить что-то вроде "kvm_intel" или "kvm_amd". Если нет, ваши виртуальные машины будут тормозить, как не знаю что, так что вернитесь к вышесказанному.
sudo lsmod | grep -i kvm
| Преобразуйте сетевое подключение в режим моста перед установкой виртуальной машины. Вы не будете довольны виртуальными машинами с NAT. Если вы используете netplan вместо NetworkManager, используйте это руководство. Или установите Cockpit (ему нравится NetworkManager) и преобразуйте сетевой интерфейс в мост за секунды. |
-
Теперь в графическом интерфейсе Ubuntu найдите Virtual Machine Manager. Если не найдено:
sudo virt-manager
-
Далее просто подключите ISO по вашему выбору к "Local install media", "create a disk image for the virtual machine" (не трогайте никакие диски и т. д.), выделите много памяти и ядер, назначьте созданный мост вашему сетевому интерфейсу, и готово.
Настройка bridge на хосте
Шаг 1. Узнай имя физического интерфейса Выполни:
ip -br link
Будет что-то вроде:
lo UNKNOWN enp0s31f6 UP wlp2s0 UP virbr0 DOWN
Нас интересует именно проводной интерфейс (enp… или eth0).
Шаг 2. Проверь, что NetworkManager управляет сетью
nmcli device status
Например:
DEVICE TYPE STATE CONNECTION enp0s31f6 ethernet connected Wired connection 1 wlp2s0 wifi disconnected
Шаг 3. Создай bridge Допустим, физический интерфейс называется enp0s31f6. Создаем bridge:
sudo nmcli connection add type bridge ifname br0 con-name br0
Шаг 4. Добавь физический интерфейс в bridge
sudo nmcli connection add type bridge-slave ifname enp0s31f6 master br0
Шаг 5. Настрой получение IP Чтобы bridge получал IP по DHCP:
sudo nmcli connection modify br0 ipv4.method auto sudo nmcli connection modify br0 ipv6.method auto
Шаг 6. Отключи старое подключение Сначала узнай его имя:
nmcli connection show
Например:
NAME UUID Wired connection 1 br0 bridge-slave-enp0...
Отключаем старое:
sudo nmcli connection down "Wired connection 1"
Шаг 7. Включаем bridge
sudo nmcli connection up br0
Проверяем:
ip addr show br0
Должно быть примерно:
br0
inet 192.168.1.100/24
И
ip route
должен показывать маршрут через br0.
Шаг 8. Проверяем
ip link show br0