Xen HVM (Hardware Virtual Machine) — режим работы гипервизора Xen с полной аппаратной виртуализацией. В отличие от режима PV (паравиртуализация), HVM запускает немодифицированные ОС Windows и Linux без специальных драйверов для гостя. Это стало возможным с появлением в 2005–2006 годах поддержки VT-x в процессорах Intel и AMD-V в AMD. Amazon Web Services использовала Xen HVM как основу EC2 с 2006 по 2017 год.
Как работает Xen HVM
В режиме HVM процессор переходит в специальный режим VMX non-root (терминология Intel), в котором гостевая ОС может выполнять большинство инструкций напрямую. Только привилегированные операции — обращение к устройствам, прерывания, изменение таблиц страниц памяти — перехватываются Xen и эмулируются через QEMU. Эмуляция QEMU добавляет задержку 1–5 мкс на каждую I/O-операцию.
Для лучшей производительности используется PVHVM — гибридный режим: HVM-основа + паравиртуализованные (PV) драйверы для дисков и сети (PV drivers, xen-blkfront, xen-netfront). Это сочетает совместимость HVM с производительностью PV-драйверов: диск — как нативный, сеть — без QEMU-эмуляции сетевой карты.
Xen HVM vs Xen PV
| Параметр | HVM | PV (паравиртуализация) |
|---|---|---|
| Требует изменений гостя | Нет | Да (paravirt-драйверы) |
| Поддержка Windows | Да | Нет |
| Производительность I/O (диск, сеть) | Ниже без PV-драйверов | Выше (native virtio-подобный) |
| Требование к CPU | Intel VT-x или AMD-V | Не требует, работает на любом x86 |
| PVHVM (гибрид) | Оба достоинства | — |
История
Xen разработан в Кембриджском университете (Ian Pratt, Keir Fraser), первый публичный релиз — октябрь 2003 года. Изначально Xen поддерживал только паравиртуализацию. Поддержка HVM появилась в Xen 3.0 (2005–2006) после выхода первых процессоров с VT-x (Intel Pentium 4 Prescott F, 2005). Amazon Web Services выбрала Xen для EC2 при запуске в 2006 году. В 2017 году AWS начала переход на Nitro — собственный гипервизор на базе KVM. К 2020 году большинство новых EC2-инстансов работают на Nitro.
Применение в хостинге
Xen HVM исторически был доминирующей технологией VPS-хостинга в 2006–2015 годах. Он позволяет предоставлять виртуальные машины как с Linux, так и с Windows без модификации гостевого ядра. Сегодня Xen конкурирует с KVM — оба используются крупными провайдерами. Virtuozzo и SolusVM — популярные панели управления Xen-кластерами. Proxmox VE также поддерживает Xen через libxl-бэкенд, хотя основным рекомендуемым стеком является KVM.
Xen HVM в современном хостинге
В 2024 году Xen используется в облачных платформах как резервный вариант. Oracle Cloud Infrastructure использует Xen для части инстансов. Citrix Hypervisor (бывший XenServer) — коммерческая версия Xen, применяется в корпоративном VDI и частных облаках. Для российских провайдеров KVM через Proxmox VE стал стандартом как бесплатная альтернатива. Xen сохраняет нишу там, где важна совместимость с legacy-системами или требуется специфика Xen API (XCP-ng, XenCenter).
XCP-ng — open-source Xen
XCP-ng (Xen Cloud Platform - new generation) — полностью открытая альтернатива Citrix Hypervisor, базирующаяся на Xen. Создана в 2018 году после того, как Citrix закрыл часть XenServer. XCP-ng используется совместно с Xen Orchestra — веб-интерфейсом управления. Для небольших провайдеров и корпоративных частных облаков это конкурентоспособное open-source решение рядом с Proxmox VE. XCP-ng поддерживает live migration, снапшоты и HA-кластеры без лицензионных отчислений.