Hyper - V
При подготовке данной лекции были использованы материалы следующих книг:
- Kappel J., Velte A., Velte T. "Microsoft Virtualization with Hyper - V" (раздел "Virtualization Overview")
- Tulloch M. "Understanding Microsoft Virtualizations Solutions" (раздел "Server Virtualization")
- Kelbley J., Sterling M., Stewart A. "Windows Server 2008 Hyper - V" (раздел "Introduction to Hyper - V")
Hyper - V является технологией, разработанной Microsoft для виртуализации серверов, в основе которой лежит гипервизор для x64 систем.
Hyper - V распространяется двумя способами:
- как часть платформы Windows Server 2008;
- в качестве отдельного, независимого, бесплатного решения Microsoft Hyper-V Server.
В первом случае Hyper-V может быть развернут, как при полной установке Windows 2008, в качестве соответствующей роли, так и в режиме Core. Во втором случае возможна установка только в Core - режиме.
Также отметим, что Core - версия поддерживает до четырех процессоров (или 24 процессорных ядер) и до 32Гб оперативной памяти и не имеет графического интерфейса пользователя.
Hyper - V является примером решения виртуализации серверов, т.е. позволяет создавать несколько виртуальных машин на базе одной физической. Единственным обязательным (и очевидным) условием является Hyper-V хостовая операционная система. Более подробную информацию о виртуальных машинах см. в предыдущей лекции.
В текущей лекции и в дальнейшем, говоря о Hyper-V мы будем иметь ввиду R2 версию решения.
Архитектура Hyper-V
Рис. 6.1. Архитектура Hyper – V: Ring 0 - уровень ядра. Ring 1 - уровень гипервизора. Ring 3 - уровень пользователя.
Гипервизор Hyper - V является гипервизором первого типа (см. предыдущую лекцию). Уровнем выше гипервизора располагаются родительский и дочерний разделы - области изоляции, в рамках которых работают информационные системы. Хостовая операционная система запускается в родительском разделе, как и стек виртуализации. Гостевые операционные системы располагаются в дочерних разделах. Каждый раздел связан с гипервизором посредством интерфейса гипервызовов.
Доступ к аппаратному обеспечению есть только у родительского раздела, дочерние могут взаимодействовать с "железом" только через родителя.
Рассмотрим более подробно родительский и дочерние разделы.
Родительский раздел (parent partition)
Родительский раздел технологии виртуализации Hyper - V содержит ряд компонент, которых нет в дочерних разделах.
Родительский раздел создается системой в первую очередь, как только гипервизор начинает работу. Родительский раздел создается только для операционной системы Windows Server 2008 R2 с Hyper-V ролью.
Особенности родительского раздела:
- Родительский раздел используется для создания и управления дочерними разделами системы и включает WMI провайдера, предоставляющего интерфейс для удаленного администрирования.
- Родительский раздел управляет и распределяет аппаратные ресурсы, за исключением процесса физического распределения памяти, который осуществляется гипервизором.
- Аппаратные ресурсы родительского раздела являются общими и выделяются для использования дочерними разделами.
- Родительский раздел управляет питанием, "plug and play" - операциями и ведет журналы аппаратных сбоев.
Стек виртуализации
Ряд компонент, располагающийся в родительском разделе, называется стеком виртуализации. Стек виртуализации имеет прямой доступ к аппаратному обеспечению хостового компьютера. Стек виртуализации состоит из следующих компонент:
- Virtual Machine Management Service.
- Virtual Machine Worker Process (рабочий процесс виртуальной машины).
- Virtual Devices.
- Virtualization Infrastructure Driver.
- Windows Hypervisor Interface Library.
Кроме того, в родительском разделе функционируют VM - шина и провайдер служб виртуализации (VSP).
Дочерний раздел (child partition)
Как уже отмечалось, в рамках дочерних разделов функционируют гостевые операционные системы. Гипервизор первого типа поддерживает три основные типа дочерних разделов:
- с операционной системой семейства Windows и установленными компонентами интеграции;
- с операционной системой, отличной от семейства Windows и с установленными компонентами интеграции;
- с операционной системой, не поддерживающей компоненты интеграции.
В каждом из указанных случаев, набор компонент дочернего раздела будет разным (см. рис. 6.1).
Дочерний раздел с Windows и установленными компонентами интеграции содержит следующие компоненты:
- Клиенты служб виртуализации (VSС) - устройства позволяющие дочерним разделам получить доступ к аппаратным ресурсам.
- Улучшения - модификации в коде операционной системы.
Дочерний раздел с установленными компонентами интеграции и отличной от Windows операционной системы используют сторонние клиенты служб виртуализации для получения доступа к аппаратным ресурсам.
Дочерний раздел без компонент интеграции должны эмулировать устройства вместо VSC, что отрицательно сказывается на производительности.