Гипервизор
Программа, которая делит физический сервер на изолированные виртуальные машины и распределяет между ними CPU, память и устройства.
Что такое гипервизор
Гипервизор (hypervisor, монитор виртуальных машин) — слой программного обеспечения, который позволяет запускать на одном физическом сервере несколько виртуальных машин одновременно. Он делит между ними процессорное время, память, диск и сеть, а главное — изолирует их друг от друга: у каждой ВМ своя операционная система, и она не знает о соседях.
Простыми словами: гипервизор — это то, что превращает один мощный сервер в десяток независимых серверов. Именно на нём держится вся индустрия хостинга — когда вы арендуете VPS, вы получаете гостевую ВМ на чужом гипервизоре.
Тип 1 и тип 2
| Тип 1 (bare-metal) | Тип 2 (hosted) | |
|---|---|---|
| На чём работает | Прямо на железе | Как программа внутри обычной ОС |
| Хостовая ОС | Не нужна | Windows / macOS / Linux |
| Накладные расходы | Минимальные | Заметные |
| Примеры | VMware ESXi, KVM, Hyper-V, Xen | VirtualBox, VMware Workstation |
| Применение | ЦОД, production | Ноутбук разработчика, тесты |
Тип 1 ставится на голое железо и сам является операционной системой. Ничего лишнего между ним и процессором нет — отсюда производительность, близкая к нативной. Всё, что работает в ЦОД, — это тип 1.
Тип 2 запускается как обычное приложение поверх вашей ОС. Удобно (свернул окно — и всё), но за каждый доступ к диску платите двойным проходом через хостовую систему.
Граница не всегда чёткая: KVM — модуль ядра Linux, что формально делает его типом 2, но по архитектуре и производительности он ведёт себя как тип 1.
Как это работает
Гипервизор опирается на аппаратную поддержку виртуализации в процессоре — Intel VT-x или AMD-V. Гостевое ядро выполняется в специальном режиме, и когда оно пытается сделать привилегированную операцию (обратиться к устройству, поменять таблицы страниц), процессор передаёт управление гипервизору. Тот эмулирует операцию и возвращает управление обратно.
Без аппаратной поддержки пришлось бы интерпретировать инструкции программно — это в разы медленнее. Поэтому первое, что проверяют при установке:
# Linux: есть ли поддержка в CPU и включена ли в BIOS
egrep -c '(vmx|svm)' /proc/cpuinfo # > 0 — процессор умеет
kvm-ok # KVM acceleration can be used
lsmod | grep kvm # модуль загружен
Если счётчик нулевой, а процессор современный — виртуализация выключена в UEFI/BIOS.
Что даёт гипервизор кроме изоляции
- Overcommit: сумма vCPU всех ВМ может превышать число физических ядер — машины редко нагружены одновременно. Это экономика хостинга.
- Снапшоты: снимок состояния ВМ целиком, откат за секунды.
- Живая миграция: перенос работающей ВМ на другой хост без остановки — так обслуживают железо, не роняя сервисы.
- GPU passthrough: проброс физической видеокарты внутрь гостя через IOMMU. Так работают арендные GPU-инстансы: вы получаете реальную карту, а не эмуляцию.
Гипервизор или контейнеры
Контейнеры — не альтернатива, а другой уровень изоляции. ВМ несёт полноценное гостевое ядро (десятки секунд на загрузку, гигабайты памяти), контейнер использует ядро хоста и стартует за миллисекунды. Цена — слабее изоляция: уязвимость ядра затрагивает все контейнеры хоста. На практике их сочетают: Docker внутри ВМ, ВМ на гипервизоре.
Связанные термины
- Виртуализация — технология, которую реализует гипервизор
- Виртуальная машина — то, что он запускает
- Гипервизоры (VirtualBox/KVM/Hyper-V) — конкретные продукты
- VMware — ESXi, классический гипервизор типа 1
- Proxmox — платформа на KVM с веб-интерфейсом
- GPU passthrough — проброс видеокарты в гостевую ВМ
Готовы запустить GPU-задачу?
Запустить GPU-сервер