Страницы

среда, 30 декабря 2015 г.

Архитектура Hyper-V


Коллеги, приближается новый год, и я приготовил для вас подарок – мини-курс «Hyper-V в Windows 10». 

Курс состоит из 6 связанных между собой веб-кастов, в которых я расскажу об основных возможностях Hyper-V в Windows 10, уделив отдельное внимание новым возможностям и вопросам по Hyper-V, которые скопились у меня в почте.

Веб-касты будут выходить в следующем порядке:
  1. Установка и настройка Hyper-V в Windows 10.
  2. Создание виртуальных машин Hyper-V в Windows 10.
  3. Импорт и экспорт виртуальных машин Hyper-V в Windows 10.
  4. Базовое управление Hyper-V при помощи PowerShell в Windows 10.
  5. Продвинутое управление Hyper-V при помощи PowerShell в Windows 10.
  6. Вложенная виртуализация Hyper-V в Windows 10.
Перед тем как начать публикацию веб-кастов, специально для тех кто не знаком с технологиями и терминологией Hyper-V, я адаптировал следующий материал.

Архитектура Hyper-V.

   Hyper-V – это основанная на гипервизоре технология виртуализации для 64-ех битных версий операционных систем Windows. Гипервизор – это платформа виртуализации, которая позволяет запускать множество изолированных операционных систем, параллельно использующих одну аппаратную платформу.

   Hyper-V поддерживает изоляцию в виде разделов. Раздел – это логическая единица изоляции, в которой выполняется операционная система. Гипервизор Microsoft должен иметь родительский раздел (Parent Partition), или корневой раздел (Root Partition) с 64-ех битной версией Windows. Стек виртуализации запускается в родительском разделе и имеет прямой доступ к аппаратным устройствам. Корневой раздел в дальнейшем создает дочерние разделы (Child Partition), в которых размещаются гостевые операционные системы (Guest Operating Systems). Корневой раздел создает дочерние разделы при помощи Hypercall API.

   Разделы не имеют доступа к физическому процессору, и они не обрабатывают прерываний процессора. Вместо этого они имеют виртуальное представление процессора и запускаются в виртуальном адресном пространстве памяти, которая является частной для каждого гостевого раздела. Гипервизор обрабатывает прерывания процессора и перенаправляет их в соответствующий раздел. Hyper-V также может ускорить адресную передачу между различными гостевыми адресными пространствами при помощи единицы управления вводом выводом памяти (Input Output Memory Management Unit, IOMMU), которая работает независимо от аппаратного управления памятью используемого процессором (CPU). IOMMU используется для переразметки адресов физической памяти в адреса используемые дочерними разделами.

   Дочерние разделы также не имеют прямого доступа к прочим аппаратным ресурсам, они представлены в виде виртуальных представлений ресурсов, как виртуальные устройства (Virtual Devices, VDevs). Запросы к виртуальным устройствам перенаправляются через VMBus или гипервизор к устройствам в родительском разделе, который обрабатывает запросы. VMBus – это логический канал взаимодействия между разделами. Родительский раздел размещает поставщиков служб виртуализации (Virtualization Service Providers, VSPs) которые взаимодействуют через VMBus для обработки запросов на доступ к устройствам из дочерних разделов. Дочерние разделы содержат потребителей служб виртуализации (Virtualization Service Consumers, VSCs), которые перенаправляют запросы устройств для VSPs в родительский раздел через VMBus. Весь этот процесс является очевидным для гостевой операционной системы.

   Виртуальные устройства также могут получить преимущества от компонента виртуализации Windows, который называется просвещенный ввод/вывод (Enlightened I/O) для хранилища, сетевого взаимодействия, графики и подсистемы ввода. Просвещенный ввод/вывод – это специализированное виртуализационное применение протоколов высокоуровневого взаимодействия (таких как SCSI), которые используют VMBus напрямую, минуя любые слои эмуляции устройства. Это делает взаимодействие более эффективным, но требует просвещенной гостевой системы, которой известно о VMBus и гипервизоре.

   Просвещенный ввод/вывод Hyper-V и ядро, которому известно о гипервизоре предоставляется за счет установки служб интеграции Hyper-V (Hyper-V Integration Services). Компоненты интеграции, которые включают в себя драйвера клиента виртуального сервера (Virtual Server Client, VSC), также доступны для других операционных систем (не Microsoft). Hyper-V требует процессор, который включает в себя аппаратную поддержку виртуализации, такую как реализуют технологии Intel VT или AMD Virtualization (AMD-V).

   Следующая диаграмма предоставляет высокоуровневый обзор архитектуры окружения Hyper-V:

PS> Все веб-касты уже записаны и я постараюсь их опубликовать как можно быстрее.