При подготовке данной лекции были использованы материалы следующих книг:
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 (Server Core) - режим установки, обеспечивающий развертывание минимального окружения для выполнения какой-либо одной серверной роли. Более подробную информацию см. http://www.petri.co.il/understanding-windows-server-2008-core.htm
Также отметим, что 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" - операциями и ведет журналы аппаратных сбоев.
(рис 6.2) Структура родительского раздела
Стек виртуализации
Ряд компонент, располагающийся в родительском разделе, называется стеком виртуализации. Стек виртуализации имеет прямой доступ к аппаратному обеспечению хостового компьютера. Стек виртуализации состоит из следующих компонент:
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, что отрицательно сказывается на производительности.
Особенности Hyper-V
Подводя итог рассмотрению архитектуры Hyper-V, отметим ряд ключевых особенностей данного решения:
Поддержка различных гостевых операционных систем, использующихся единовременно, в том числе 32- и 64-битных и различных серверных платформ, как Windows, Linux и т.д.
Возможность расширения. Hyper-V основан на WMI - стандартах (Windows Management Instrumentation) и API (Application Programming Interfaces), что позволяет оперативно создавать собственные инструменты и утилиты, для усовершенствования платформы виртуализации.
Балансировка нагрузки сети. Hyper-V может использовать NLB (Windows Network Load Balancing) для балансировки нагрузки между виртуальными машинами, запущенными на разных серверах.
Микроядерная архитектура. Гипервизор Hyper-V является многоядерным 64-битным, что позволяет поддерживать различные методы повышения производительности и обеспечения безопасности.
Разделение аппаратных ресурсов. Hyper-V включает Virtualization Service Provider (VSP) и Virtualization Service Client (VSC), архитектура которых обеспечивает расширенный доступ и использование аппаратных ресурсов, таких как жесткие диски, сетевые- и видеокарты.
Быстрая миграция. Hyper-V предоставляет возможность миграции работающих виртуальных машин с одного физического компьютера на другой. При этом возможности Windows Server 2008 и инструментов управления System Center минимизируют время простоя виртуальной машины.
Масштабируемость. Hyper-V поддерживает многопроцессорные и многоядерные хосты, что улучшает доступ виртуальных машин к ресурсам памяти. Кроме того, это позволяет поддерживать большее число виртуальных машин в рамках одного хоста, без потери возможности миграции.
Поддержка SMP - систем (симметричных мультипроцессорных). Hyper-V поддерживает до четырех процессоров в среде одной виртуальной машины, что позволяет использовать преимущества многопоточных приложений.
Снимки виртуальных машин. Hyper-V позволяет создавать снимки виртуальных машин, что позволяет вернуться в любой момент к предыдущему состоянию (резервное копирование и восстановление виртуальных машин).
Live Migration. Начиная с Hyper-V R2 появилась возможность переноса виртуальной машины, без потери сетевого соединения, или прерывания в предоставлении сервисов, обеспечиваемых переносимой виртуальной машиной. Live Migration обеспечивает высокую доступность серверов и приложений, упрощает процесс модернизации и сопровождения серверного оборудования.
Общие тома кластера. Функция Windows Server 2008 R2, которая предоставляет единое пространство имен таким образом, что все узлы кластера видят одно и то же хранилище.
Поддержка возможности "горячей" замены. Можно добавлять, или удалять виртуальные жесткие диски без необходимости прекращения работы виртуальной машины.
Режим совместимости процессоров. Можно переносить виртуальные машины на хосты с процессором той же архитектуры (AMD или Intel), что и на первоначальном хосте. К примеру, можно перенести виртуальную машину с хоста с процессоров Intel Core 2 на хост с Intel Pentium 4, или c AMD Opteron на AMD Athlon. Нельзя осуществить миграцию Intel-to-AMD или AMD-to-Intel.
Отметим, что последние четыре особенности относятся только к Hyper-V R2.
Hyper-V поддерживает следующие гостевые операционные системы:
Windows Server 2008 (x86,x64) SP1\SP2 (R2).
Windows HPC Server 2008.
Windows Server 2003 (x86,x64) SP2 R2.
Windows 2000 Server SP4.
Windows 7 исключая Home Edition
Windows Vista SP1\SP2
SP2 исключая Home Edition
.
Windows XP Professional SP2\SP3 (в т.ч. x64).
SUSE Linux Enterprise Server 10 SP3.
SUSE Linux Enterprise Server 11.
Red Hat Enterprise Linux 5.2,5.3,5.4,5.5.
CentOS.
Сравнение с Microsoft Virtual Server
Hyper - V не является ни первым, ни единственным решением виртуализации от Microsoft. Предыдущим решением, используемым для серверной виртуализации являлось MS Virtual Server. В данной части лекции мы приведем сравнение указанных решений.
|
MS Virtual Server 2005 R2 |
Hyper-V R2 |
| Поддержка 32-битных виртуальных машин |
+ |
+ |
| Поддержка 64-битных виртуальных машин |
- |
+ |
| Поддержка 32-битного хоста |
+ |
- |
| Поддержка 64-битного хоста |
- |
+ |
| Поддержка многопроцессорных виртуальных машин |
- |
+ |
| Максимум поддерживаемо ОП хоста |
256Гб |
1Тб |
| Максимум ОП на виртуальную машину |
3,6Гб |
64Гб |
| Максимум процессоров на виртуальную машину |
1 |
4 |
| Максимальное количество единовременно запущенных виртуальных машин |
64 |
384 |
| Возможность управления ресурсами |
+ |
+ |
| Поддержка возможности миграции |
+ |
+ |
| Поддержка снимков состояний виртуальных машин |
- |
+ |
Для более полной информации об отличиях Hyper-V и MS Virtual Server см. Tulloch M. "Understanding Microsoft Virtualizations Solutions".
Сценарии использования
Для иллюстрации возможностей Hyper-V приведем описания типовых сценариев использования данной технологии.
Консолидация серверов.
Одно из наиболее классических применений технологий виртуализации серверов и рабочих станций - объединение нескольких серверов в единую систему при сохранении изоляции между ними. Преимуществом Hyper-V при этом является снижение общей стоимости владения оборудованием, которое достигается путем снижения требований к самому оборудованию, уменьшения расходов на энергообеспечение, охлаждение, сопровождение, хостинг, сопутствующего оборудования и комплектующих. Кроме того, Hyper-V позволяет объединить в единую среду 32- и 64-битные платформы.
Непрерывность предоставления услуг и восстановление после сбоев
Непрерывность предоставления услуг предприятием достигается за счет минимизации времени плановых и внеплановых простоев. Для этого Hyper-V предоставляет функции резервного копирования и быстрой миграции. Использование отказоустойчивых кластеров Windows Server 2008 R2 Hyper-V позволяет оперативно провести восстановление системы после сбоев даже в случаях территориальной удаленности кластеров.
Разработка и тестирование
Мы уже неоднократно указывали в качестве преимуществ виртуализации ИТ - инфраструктуры именно предоставляемые ею широкие возможности для тестирования и разработки. Технология Hyper-V позволяет смоделировать необходимую среду для тестирования и отладки приложений, без необходимости изменения фактической ИТ - инфраструктуры. Благодаря поддержки технологией Hyper-V большого количества разнообразных гостевых операционных систем, можно снизить затраты на разработку, улучшить качество разрабатываемых решений, упростить процессы тестирования и управления жизненным циклом разработки.
Динамический центр обработки данных
Такие функции Hyper-V, как автоматическая реконфигурация виртуальных машин, гибкое управление ресурсами и быстрая миграция, при интеграции с Microsoft System Center позволяют создавать динамически центры обработки данных для оперативного реагирования при возникновении проблемных ситуаций и т.п.
Термины
Hyper-V - технология виртуализации на основе гипервизора для x64 систем.
Раздел (partition)- логическая единица разграничения, поддерживаемая гипервизором, в которой функционируют операционные системы.
VID (Virtualization Infrastructure Driver) - драйвер виртуальной машины. Осуществляет управление разделами, процессами виртуальной машины и памятью. Является промежуточным звеном между гипервизором и стеком виртуализации.
VM шина - обеспечивает высокоскоростное взаимодействие между родительским и дочерними разделами.
VSC (Virtualization Service Client) - клиент служб виртуализации. Располагается в дочерних разделах, перенаправляет запросы гостевой операционной системы родительскому разделу, через VM шину.
VSP (Virtualization Service Provider) - провайдер служб виртуализации. Располагаются в родительском разделе и обеспечивают доступ дочерних разделов к аппаратным ресурсам.
WinHv (Windows Hypervisor Library) - мост между драйверами операционных систем и гипервизором, который позволяет драйверам вызывать гипервизор с использованием стандартного для Windows соглашения о вызовах.
WMI (Windows Management Instrumentation) - набор инструментов, основанный на API для управления и контроля виртуальных машин.
VMMS (Virtual Machine Management Service) - служба управления виртуальными машинами. Отвечает за управление состоянием виртуальной машины, добавление и удаление устройств и управление снимками виртуальной машины.
Рабочий процесс виртуальной машины - процесс запускаемый родительским разделом для управления виртуальной машиной. Выполняется на уровне пользователя. Для каждого дочернего раздела создается свой рабочий процесс. Решает задачи создания, конфигурации и запуска, приостановления и возобновления работы, сохранения и восстановления состояния виртуальной машины.
Virtual Devices - виртуальные устройства - программные модули, реализующие конфигурацию и управление устройствами для виртуальных машин.
Краткие итоги
В данной лекции мы рассмотрели архитектуру и особенности решения Microsoft Hyper-V для виртуализации серверов, а также типовые сценарии использования данного решения.
Hyper-V технология базируется на гипервизоре первого типа (микроядерная архитектура) и значительно расширяет возможности виртуализации серверов, поскольку поддерживает широкий ряд гостевых операционных систем, а также многоядерную и многопроцессорную структуру виртуальных машин.
Архитектура Hyper-V поддерживает разделы (partition) - логические единицы разграничения. Каждый экземпляр гипервизора должен иметь один родительский раздел с Windows Server 2008.
Особенности работы с Hyper - V будут рассмотрены в лекции 7 и соответствующих практических занятиях.