KVM (Kernel-based Virtual Machine) — это инфраструктура виртуализации для ядра Linux, превращающая его в гипервизор первого типа. Технология интегрирована в основную ветку ядра с 2007 года. Для работы KVM требует процессор с поддержкой аппаратных расширений Intel VT-x или AMD-V.
В отличие от традиционных гипервизоров, KVM использует стандартные компоненты Linux: планировщик задач, управление памятью и драйверы устройств. Каждая виртуальная машина запускается как обычный процесс Linux, управляемый через интерфейс /dev/kvm. Для эмуляции ввода-вывода и оборудования чаще всего применяется связка с QEMU.
Как работает
- Изоляция: Каждая ВМ имеет собственное виртуальное оборудование: сетевые карты, диски и графические адаптеры.
- Производительность: Использование драйверов
virtioминимизирует накладные расходы на эмуляцию, обеспечивая скорость работы дисков и сети, близкую к физическим показателям. - Масштабируемость: KVM поддерживает горячее добавление процессоров (CPU hotplug) и оперативной памяти.
KVM является основой для облачных платформ OpenStack и Proxmox VE. Согласно тестам, задержки при обработке прерываний в KVM составляют менее 15 микросекунд, что позволяет использовать его для высоконагруженных баз данных и систем реального времени.