Битлента
Словарь терминов3 мин чтения·

Гипервизор: что это, какие бывают типы и зачем он нужен

Гипервизор создаёт виртуальные машины и распределяет между ними ресурсы. Разбираем два типа, аппаратную поддержку и примеры на практике.

Программа-распределитель

Гипервизор — программный слой, который позволяет запустить несколько независимых операционных систем на одном физическом компьютере. Он выдаёт каждой виртуальной машине долю процессорного времени, память, виртуальные диски и сетевые адаптеры, а также следит, чтобы гости не вмешивались друг в друга.

Для гостя всё выглядит как отдельный компьютер. О том, что под ним общая аппаратура, операционная система обычно не знает.

В облаках гипервизоры дополнены системой оркестрации, которая автоматически размещает машины по серверам, учитывая загрузку и требования клиентов.

Тип 1 и тип 2

Гипервизор первого типа устанавливается прямо на железо и служит основой системы. Примеры: VMware ESXi, Microsoft Hyper-V в серверном режиме, Xen. К этому же классу относят KVM, встроенный в ядро Linux. Такие решения применяют в дата-центрах и облаках, потому что они эффективны и надёжны.

Гипервизор второго типа работает как обычная программа внутри хостовой ОС, например VirtualBox или VMware Workstation. Он удобен на рабочем компьютере для тестов, но добавляет лишний слой и менее производителен.

Для настольного использования гипервизор второго типа удобен: он позволяет проверить неизвестную программу в отдельной виртуальной машине или запустить другую операционную систему без переразметки диска.

Как гость получает процессор

Современные процессоры имеют аппаратную поддержку виртуализации: Intel VT-x и AMD-V. Гостевой код выполняется непосредственно на процессоре, а гипервизор перехватывает только привилегированные операции. Поэтому потеря производительности невелика.

Оперативная память гостей отображается через таблицы страниц, а для ввода-вывода применяют паравиртуальные драйверы, такие как virtio, чтобы ускорить работу диска и сети. Эти драйверы знают, что работают в виртуальной среде, и общаются с гипервизором напрямую.

Загрузку виртуальных машин можно ограничивать, задавая лимиты: сколько ядер и какой объём памяти выдать, и допускать ли динамическое изменение этих значений на лету.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Практическое значение

Виртуализация позволяет плотнее загружать оборудование, быстро создавать копии систем, делать снимки состояния и переносить машины между серверами. На этом построены VPS и публичные облака. Изоляция позволяет размещать клиентов на одном железе, хотя и с общей физической основой, отчего ошибки гипервизора считаются особо серьёзными.

Контейнеры решают похожую задачу другим путём: они не эмулируют железо, а делят ядро. Различие подробно описано на странице про Docker.

Сегодня почти каждый пользователь косвенно работает с гипервизорами, поскольку большинство сайтов и сервисов запущено на виртуальных машинах.

Из-за нагрузки на память, сеть и диск число виртуальных машин на одном сервере ограничено, и планирование ёмкости — обязательная часть эксплуатации.

Заблуждения и проверка: Гипервизор

Заблуждение: виртуальная машина всегда заметно медленнее. Для вычислительных задач разница обычно небольшая, а для дискового и сетевого ввода-вывода она зависит от драйверов. Другое заблуждение — что вложенная виртуализация работает везде. Она требует включения на уровне хоста.

Проверить, включена ли аппаратная поддержка на Linux, можно поиском флагов vmx или svm в /proc/cpuinfo, а на Windows смотреть вкладку «Производительность» в диспетчере задач, где есть строка «Виртуализация». Она включается в настройках BIOS или UEFI.

Снимки, миграция и изоляция

Снимок фиксирует состояние диска и, при необходимости, памяти виртуальной машины, чтобы можно было вернуться к нему. Это удобно перед обновлением, но снимки не заменяют резервные копии: они лежат на том же хранилище и замедляют работу, если их накопилось много.

Живая миграция позволяет переместить работающую машину на другой физический сервер практически без остановки: память копируется поэтапно, а в финале происходит короткое переключение. Так администраторы обслуживают оборудование без простоя клиентов.

Изоляция обеспечивается тем, что гость не имеет прямого доступа к памяти соседей. Побег из виртуальной машины на хост — редкий, но серьёзный класс уязвимостей, поэтому своевременное обновление гипервизора критично.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
виртуализациягипервизор

Часто задаваемые вопросы

Читайте также