KVM (Kernel-based Virtual Machine) — модуль ядра, обеспечивающий аппаратную виртуализацию.
QEMU — эмулятор, который с KVM превращается в полноценный гипервизор. Вместе они позволяют запускать VM быстро и эффективно, без overhead, как в VirtualBox или VMware.
Полезно для тестирования, разработки.
🟢 Пример 1
Создание VM одной командой (через QEMU)
qemu-system-x86_64 \
-enable-kvm \
-m 1G \
-cpu host \
-drive file=focal-server-cloudimg-amd64-disk-kvm.img,format=qcow2 \
-netdev user,id=net0 \
-device virtio-net-pci,netdev=net0 \
-nographic
Где:
-enable-kvm — используем аппаратное ускорение
-m 1G — выделяем 1 ГБ памяти
-cpu host — пробрасываем CPU хоста без эмуляции
-nographic — запускаем без GUI (для серверов)
Преимущество
Максимально быстро и минималистично, но без персистентности — закрыли терминал = ВМ остановилась.
🟢 Пример 2
Создание управляемой ВМ одной командой (через libvirt)
virt-install \
--name vm \
--ram 2048 \
--vcpu 2 \
--disk my_disk.qcow2,size=8 \
--cdrom ubuntu-24.04.3-live-server-amd64.iso
✅ Что это дает
— Автоматическая регистрация ВМ в libvirt
— Управление через virsh
— Сетевые мосты "из коробки"
— Персистентность конфигурации
Управление такими виртуальными машины происходит через утилиту virsh.
Основные команды:
virsh list --all # список всех ВМ
virsh start vm # запуск ВМ
virsh shutdown vm # штатная остановка
virsh destroy vm # принудительное завершение
virsh edit vm # редактирование конфигурации
virsh undefine vm # удаление ВМ (но не дисков)
📍 Первый пример с qemu-system-x86_64 — ваш выбор для быстрого тестирования образов и экспериментов, когда нужно запустить ВМ буквально одной командой.
📍 Второй подход через virt-install + virsh идеален, когда требуется полноценное управление виртуальными машинами — здесь на помощь приходит libvirt с его персистентностью и удобным CLI.
Оба способа отлично дополняют друг друга в арсенале инженера.
#линуксятина
