Hyper-V – программное средство по управлению виртуализацией от компании Microsoft, пришедшее на смену MS Virtual Server. Является гипервизором 1-ого типа с микроядерной архитектурой. Существует два варианта исполнения Hyper-V: как компонент Microsoft Windows и как самостоятельная операционная система Microsoft Hyper-V Server.
Все операционные системы (клиентская (хостовая) и гостевые) именуются в Hyper-V разделами (partitions).
Ключевые особенности Hyper-V:
способность виртуализировать различное оборудование;
запуск перед клиентской (хостовой) ОС;
наличие виртуальной шины для взаимодействия клиентской (хостовой) и гостевыми ОС;
«живые» миграции;
«облегченный» исходный код;
наличие функции вложенной виртуализации.
Возможности и особенности виртуализации Hyper-V
Виртуализация Hyper-V позволяет создавать виртуальные жесткие диски, виртуальные коммутаторы и целый ряд других виртуальных устройств. Эти виртуальные машины можно экспортировать, а затем импортировать в любую другую систему Hyper-V, включая Microsoft Azure.
Запуск перед клиентской (хостовой) операционной системой позволяет отнести Hyper-V к гипервизорам первого типа. Клиентская (хостовая) ОС является «нулевой» гостевой ОС, называемой родительским разделом (parent partition) и имеет особые права на управление гипервизором.
Для высокоскоростной связи между родительским и дочерними разделами (ими называются гостевые ОС) служит виртуальная шина (VMBus). Для включения необходимо устанавливать компоненты интеграции сразу же после установки гостевой ОС. При использовании VMBus взаимодействие между клиентской хостовой и гостевой ОС происходит по клиент-серверной модели. В родительском разделе запущены провайдеры служб виртуализации (VSP), которые являются серверной частью, а в дочерних разделах – клиентская часть (VSC). VSC перенаправляет запросы гостевой ОС через VMBus к VSP в родительском разделе, а сам VSP переадресовывает запрос драйверу устройства. Этот процесс взаимодействия абсолютно прозрачен для гостевой ОС.
Популярной опцией в Hyper-V, позволяющей переносить виртуальные машины внутри кластера без их выключения, является "живая" миграция (live migration). Процесс миграции ВМ с одного узла на другой выполняется по следующему алгоритму: конфигурация ВМ копируется с одного узла кластера на другой, затем страницы памяти ВМ помечаются для копирования на целевой хост, и начинается процесс их перемещения в режиме онлайн. Поскольку ВМ все еще работает, страницы памяти постоянно меняются. Во время миграции Hyper-V отслеживает измененные страницы памяти и переносит их на другой хост. Процесс повторяется до тех пор, пока на первом узле кластера не останется только несколько измененных страниц. Затем выполняется копирование страниц памяти с одного узла на другой и их синхронизация. ВМ на исходном хосте выключается, оставшиеся страницы памяти копируются на целевой хост, и ВМ на нем включается.
Микроядерная архитектура Hyper-V позволяет нацелить работу гипервизора непосредственно на управление аппаратными средствами (оперативной памятью и процессором), а управление средой виртуализации предоставить родительскому разделу (parent partition). Это непосредственно снижает объем кода Hyper-V. Компоненты родительского раздела (именуются стеком виртуализации): служба управления виртуальными машинами (VMMS), рабочие процессы виртуальных машин (VMWP), виртуальные устройства, драйвер виртуальной инфраструктуры (VID), библиотека интерфейсов гипервизора. Помимо этого в родительском разделе работают еще два компонента. Это провайдеры служб виртуализации (VSP) и шина виртуальных машин (VMBus). На службу управления виртуальными машинами (VMMS) возлагается управление состоянием виртуальных машин (включено/выключено), добавление/удаление виртуальных устройств, управление моментальными снимками (снепшотами, snapshots).
Вложенная виртуализация позволяет запускать Hyper-V на виртуальной машине Hyper-V. Эта функция пригодится для запуска приложений или эмуляторов на вложенной ВМ, тестирования выпусков программного обеспечения на ВМ, сокращения времени развертывания для сред обучения, использования изоляции Hyper-V для контейнеров. Современные процессоры поддерживают аппаратные функции, которые делают виртуализацию быстрее и надежнее, например, Intel VT-x и AMD-V. Hyper-V использует эти расширения процессора для запуска виртуальных машин, а вложенная виртуализация предоставляет поддержку этих аппаратных функций гостевым ВМ.
Подводя итог, Hyper-V – продукт Microsoft, а это значит, что это несомненно качественный продукт, над которым трудится огромная команда. Его преимуществом является знакомый для большинства Windows-подобный интерфейс управления. Недостатком можно назвать «капризность» к использованию разнообразных гостевых ОС, которые не поддерживают компоненты интеграции с Hyper-V, без которых невозможно добиться высокой производительности.