📌 KVM

KVM (Kernel-based Virtual Machine) — встроенный в Linux Kernel модуль, превращающий ядро в полноценный гипервизор. Позволяет запускать изолированные виртуальные машины с доступом к CPU и RAM через аппаратную виртуализацию.

🧠 Как работает

KVM использует:

  • Hardware virtualization расширения: Intel VT-x, AMD-V
  • Модули ядра: kvm.ko, kvm-intel.ko, kvm-amd.ko
  • QEMU как пользовательский уровень для эмуляции устройств

Каждая VM — это обычный Linux процесс, использующий /dev/kvm для взаимодействия с гипервизором.

Компоненты:

  • /dev/kvm — интерфейс между QEMU и ядром
  • KVM API — ioctl-интерфейс управления ВМ
  • VMCS / VMCB — аппаратные структуры управления виртуализацией
  • EPT / NPT — вложенные таблицы страниц

Поддерживает:

⚙️ Где применяется

ОбластьПрименение
CloudОсновной гипервизор для OpenStack, Proxmox
DevOpsЛокальные среды разработки и тестирования
CDАвтоматизация билдов и тестов в изоляции
NFVСетевые функции виртуализированы

✅ Преимущества

  • Встроен в Linux Kernel, нет стороннего ядра
  • Высокая производительность благодаря аппаратной виртуализации
  • Хорошо масштабируется под многопроцессорные VM
  • Активно развивается и используется в индустрии

❌ Недостатки

  • Требует Hardware virtualization
  • Без libvirt или virt-manager — сложность управления
  • Некоторые устройства требуют passthrough для высокой скорости