KVM

Программное решение для аппаратной виртуализации в среде Linux, интегрированное непосредственно в ядро ОС.

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 микросекунд, что позволяет использовать его для высоконагруженных баз данных и систем реального времени.