Поделиться через


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

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

Hyper-V поддерживает изоляцию с точки зрения секции. Секция — это логическая единица изоляции, поддерживаемая гипервизором, в которой выполняются операционные системы. Гипервизор Майкрософт должен иметь по крайней мере один родительский элемент или корневой каталог, секцию под управлением Windows. Стек управления виртуализацией выполняется в родительской секции и имеет прямой доступ к аппаратным устройствам. Затем корневая секция создает дочерние секции, в которых размещаются гостевые операционные системы. Корневая секция создает дочерние секции с помощью интерфейса программирования гиперкаллов (API).

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

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

Виртуальные устройства также могут использовать функцию виртуализации Windows Server с именем "Просвещенный ввод-вывод" для хранения, сети, графики и входных подсистем. Просвещенный ввод-вывод — это специализированная реализация протоколов связи высокого уровня (например, SCSI), которые напрямую используют vmBus, обходя любой уровень эмуляции устройства. Это делает взаимодействие более эффективным, но требует просвещенного гостя, который является гипервизором и VMBus с учетом. Hyper-V просвещенный ввод-вывод и ядро с поддержкой гипервизора предоставляется с помощью установки служб интеграции Hyper-V. Компоненты интеграции, включающие драйверы клиента виртуального сервера (VSC), также доступны для других клиентских операционных систем. Hyper-V требуется процессор, включающий аппаратное вспомогательное виртуализацию, например технологию Intel VT или AMD Virtualization (AMD-V).

На следующей схеме представлен общий обзор архитектуры среды Hyper-V.

Схема архитектуры высокого уровня Hyper V с четырьмя секциями и разделами гипервизора.

Glossary

  • APIC — расширенный программируемый контроллер прерываний — устройство, которое позволяет назначать уровни приоритета для выходных данных прерываний.
  • Дочерний раздел — секция, в которой размещена гостевая операционная система. Все доступ к физической памяти и устройствам дочерним разделом предоставляется через шину виртуальной машины (VMBus) или гипервизор.
  • Hypercall — интерфейс для взаимодействия с гипервизором — интерфейс гиперкела обеспечивает доступ к оптимизации, предоставляемой гипервизором.
  • Гипервизор — слой программного обеспечения, который находится между оборудованием и одной или несколькими операционными системами. Его основное задание — предоставить изолированные среды выполнения, называемые секциями. Гипервизор контролирует и разрешает доступ к базовому оборудованию.
  • IC — компонент интеграции — компонент, позволяющий дочерним секциям обмениться данными с другими секциями и гипервизором.
  • Стек ввода-вывода — стек входных и выходных данных
  • MSR — подпрограмма службы памяти
  • Корневая секция — иногда называется родительской секцией. Управляет функциями на уровне компьютера, такими как драйверы устройств, управление питанием и горячее добавление и удаление устройств. Корневой (или родительский) раздел — это единственная секция, которая имеет прямой доступ к физической памяти и устройствам.
  • VID — драйвер инфраструктуры виртуализации — предоставляет службы управления секциями, службы управления виртуальными процессорами и службы управления памятью для секций.
  • VMBus — механизм обмена данными на основе каналов, используемый для обмена данными между секциями и перечислением устройств в системах с несколькими активными виртуализированными секциями. VmBus устанавливается с Hyper-V служб Integration Services.
  • VMMS — служба управления виртуальными машинами— отвечает за управление состоянием всех виртуальных машин в дочерних секциях.
  • VMWP — рабочий процесс виртуальной машины — компонент пользовательского режима стека виртуализации. Рабочий процесс предоставляет службы управления виртуальными машинами из экземпляра Windows Server 2008 в родительской секции гостевым операционным системам в дочерних секциях. Служба управления виртуальными машинами создает отдельный рабочий процесс для каждой работающей виртуальной машины.
  • VSC — клиент службы виртуализации — экземпляр искусственного устройства, который находится в дочерней секции. VSCs используют аппаратные ресурсы, предоставляемые поставщиками служб виртуализации (VSPs) в родительской секции. Они взаимодействуют с соответствующими VSP в родительской секции по виртуальной шине для удовлетворения запросов устройств ввода-вывода дочерних секций.
  • VSP — поставщик службы виртуализации — находится в корневой секции и обеспечивает поддержку искусственных устройств дочерним секциям через шину виртуальной машины (VMBus).
  • WinHv — библиотека интерфейсов гипервизора Windows . WinHv по сути является мостом между драйверами секционированных операционных систем и гипервизором, который позволяет драйверам вызывать гипервизор с помощью стандартных соглашений о вызовах Windows
  • WMI — служба управления виртуальными машинами предоставляет набор API на основе инструментария управления Windows (WMI) для управления виртуальными машинами и управления ими.