2 Глава Облачные системы 3




Скачать 0.96 Mb.
страница 6/13
Дата 28.08.2016
Размер 0.96 Mb.
1   2   3   4   5   6   7   8   9   ...   13

Описание работы Microsoft Client Hyper-V

  1. Общее описание


Гипервизор Client Hyper-V [44, 51], с помощью которого будет создан прототип облачной системы, является гибридным гипервизором. Хотя он входит в состав хостовой ОС (Windows 8), и по определению должен относится к гипервизорам второго типа, это не совсем так. По умолчанию, компоненты Hyper-V отключены в системе и гипервизор не активен. Все управление компьютером лежит на операционной системе. При включении компонентов данного гипервизора, происходит установка управляющей роли Hyper-V. После этого Windows 8 становится виртуализирована и назначается хостовой(родительской) ОС. В этом случае хостовая ОС запускается в таком же виртуальном окружении, как и все виртуальные машины, и именуется «родительским разделом». Все остальные окружения, соответственно – «дочерние». Единственная разница между родительским и дочерними разделами состоит в том, что только родительский раздел имеет непосредственный доступ к оборудованию сервера. Выделением памяти же и планировкой процессорного времени занимается сам гипервизор.

Схема работы гибридного гипервизора:



Рис.4. Схема работы гибридного гипервизора

Схема работы гипервизора Client hyper-V [24]:

Рис.5. Схема работы гипервизора Client Hyper-V.



Рис.5.1. Схема работы гипервизора Microsoft Client Hyper-V [18].

Гипервизор распределяет ресурсы на основе заданных параметров для памяти, процессора, дисков, сети и т.д., а также правил распределения этих ресурсов. Но важно заметить, что все ресурсы заданы как динамически расширяемые, т.е. если конечному пользователю для решения задач не достаточно имеющихся вычислительных ресурсов, гипервизор автоматически добавит из имеющегося резерва дополнительные мощности. Но и здесь существуют заданные ограничения по расширению ресурсов, а также ограниченные возможности физического оборудования. [18,24,47]

Гипервизор управляет ресурсами так, чтобы не случалось перегрузок системы. ВМ с наибольшим весом ресурсов получает их в первую очередь, и выгрузка ресурсов происходит из данной ВМ в последнюю очередь. В случае, если ресурсы требуются обеим ВМ, первой получает машина с наибольшим весом конкретного ресурса. Например, для памяти: До тех пор, пока у сервера имеется свободная память – веса виртуальных машин не играют никакой роли. Но как только память подходит к концу и нужно ее перераспределить – гипервизор отбирает память у виртуальных машин с наименьшим приоритетом, и отдает тем, у кого приоритет наиболее высокий.[30]


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


Архитектура Client Hyper-V не отличается от серверной Hyper-V.

Основные термины архитектуры Hyper-V [18,24]:

Hyper-V – технология виртуализации на основе гипервизора для x64 систем.

Раздел (partition) - логическая единица разграничения, поддерживаемая гипервизором, в которой функционируют операционные системы.

VID (Virtualization Infrastructure Driver) - драйвер виртуальной машины. Осуществляет управление разделами, процессами виртуальной машины и памятью. Является промежуточным звеном между гипервизором и стеком виртуализации.



VM шина - обеспечивает высокоскоростное взаимодействие между родительским и дочерними разделами.

VSC (Virtualization Service Client) - клиент служб виртуализации. Располагается в дочерних разделах, перенаправляет запросы гостевой операционной системы родительскому разделу, через VM шину.

VSP (Virtualization Service Provider) - провайдер служб виртуализации. Располагаются в родительском разделе и обеспечивают доступ дочерних разделов к аппаратным ресурсам.

WinHv (Windows Hypervisor Library) - мост между драйверами операционных систем и гипервизором, который позволяет драйверам вызывать гипервизор с использованием стандартного для Windows соглашения о вызовах.

      1. Принцип устройства и работы Microsoft Client Hyper-V



        1. Родительский раздел


Родительский раздел [3,5,18,24] назначается сразу же при установке системной роли Hyper-V. Компоненты родительского раздела показаны на рис. ниже.

Назначение родительского раздела следующее [5,18,24]:



  • Создание, удаление и управление дочерними разделами, в том числе и удаленное, посредством WMI-провайдера.

  • Управление доступом к аппаратным устройствам, за исключением выделения процессорного времени и памяти – этим занимается гипервизор.

  • Управление питанием и обработка аппаратных ошибок, если таковые возникают.

Рис.6. Устройство родительского раздела Microsoft Client Hyper-V [24]


Следующие компоненты, работающие в родительском разделе, в совокупности называют стеком виртуализации [24]:

  1. Служба управления виртуальными машинами (VMMS)

  2. Рабочие процессы виртуальных машин (VMWP)

  3. Виртуальные устройства

  4. Драйвер виртуальной инфраструктуры (VID)

  5. Библиотека интерфейсов гипервизора


Помимо этого, в родительском разделе работают еще два компонента. Это провайдеры служб виртуализации (VSP) [5,18,24] и шина виртуальных машин (VMBus).
Служба управления виртуальными машинами [18,24]

В задачи службы управления виртуальными машинами (VMMS) входит:

  • Управление состоянием виртуальных машин (включено/выключено)

  • Добавление/удаление виртуальных устройств

  • Управление моментальными снимками


При запуске виртуальной машины VMMS создает новый рабочий процесс виртуальной машины. Так же именно VMMS определяет, какие операции разрешено выполнять с виртуальной машиной в настоящий момент: к примеру, если происходит удаление снимка, то применить снимок в течение операции удаления она не даст. Если говорить более детально – то VMMS [18,24] управляет следующими состояниями виртуальных машин:

  • Starting

  • Active

  • Not Active

  • Taking Snapshot

  • Applying Snapshot

  • Deleting Snapshot

  • Merging Disk

Другие задачи управления – Pause, Save и Power Off – выполняются не службой VMMS, а непосредственно рабочим процессом соответствующей виртуальной машины. Служба VMMS работает как на уровне пользователя, так и на уровне ядра как системная служба (VMMS.exe) и зависит от служб Remote Procedure Call (RPC) и Windows Management Instrumentation (WMI). Служба VMMS включает в себя множество компонент, среди которых имеется и WMI-провайдер, предоставляющий интерфейс для управления виртуальными машинами. Благодаря этому можно управлять виртуальными машинами из командной строки и с помощью скриптов VBScript и PowerShell. System Center Virtual Machine Manager так же использует этот интерфейс для управления виртуальными машинами.

Рабочий процесс виртуальной машины (VMWP)[18,24]

Для управления виртуальной машиной из родительского раздела запускается особый процесс – рабочий процесс виртуальной машины (VMWP). Процесс этот работает на уровне пользователя. Для каждой запущенной виртуальной машины служба VMMS запускает отдельный рабочий процесс. Это позволяет изолировать виртуальные машины друг от друга. Для повышения безопасности, рабочие процессы запускаются под встроенным пользовательским аккаунтом Network Service. Процесс VMWP используется для управления соответствующей виртуальной машиной. В его задачи входит: Создание, конфигурация и запуск виртуальной машины, Пауза и продолжение работы (Pause/Resume) Сохранение и восстановление состояния (Save/Restore State),Создание моментальных снимков (снапшотов),Кроме того, именно рабочий процесс эмулирует виртуальную материнскую плату (VMB), которая используется для предоставления памяти гостевой ОС, управления прерываниями и виртуальными устройствами.,
Виртуальные устройства [18,24]

Виртуальные устройства (VDevs) – это программные модули, реализующие конфигурацию и управление устройствами для виртуальных машин. VMB включает в себя базовый набор виртуальных устройств, включающий в себя шину PCI и системные устройства. Есть два типа виртуальных устройств:

  • Эмулируемые устройства – эмулируют определенные аппаратные устройства, такие, к примеру, как видеоадаптер VESA. Эмулируемых устройств достаточно много, к примеру: BIOS, DMA, APIC, шины ISA и PCI, контроллеры прерываний, таймеры, управление питанием, контроллеры последовательных портов, системный динамик, контроллер PS/2 клавиатуры и мыши, эмулируемый (Legacy) Ethernet-адаптер (DEC/Intel 21140), FDD, IDE-контроллер и видеоадаптер VESA/VGA. Именно поэтому для загрузки гостевой ОС может использоваться только виртуальный IDE-контроллер, а не SCSI, который является синтетическим устройством.

  • Синтетические устройства – не эмулируют реально существующие в природе железки. Примерами служат синтетический видеоадаптер, устройства взаимодействия с человеком (HID), сетевой адаптер, SCSI-контроллер, синтетический контроллер прерывания и контроллер памяти. Синтетические устройства могут использоваться только при условии установки компонент интеграции в гостевой ОС. Синтетические устройства обращаются к аппаратным устройствам сервера посредством провайдеров служб виртуализации, работающих в родительском разделе. Обращение идет через виртуальную шину VMBus, что намного быстрее, чем эмуляция физических устройств.


Драйвер виртуальной инфраструктуры (VID) [18,24]

Драйвер виртуальной инфраструктуры (vid.sys) работает на уровне ядра и осуществляет управление разделами, виртуальными процессорами и памятью. Так же этот драйвер является промежуточным звеном между гипервизором и компонентами стека виртуализации уровня пользователя.

Библиотека интерфейса гипервизора [18,24]

Библиотека интерфейса гипервизора (WinHv.sys) – это DLL уровня ядра, которая загружается как в хостовой, так и в гостевых ОС, при условии установки компонент интеграции. Эта библиотека предоставляет интерфейс гипервызовов, использующийся для взаимодействия ОС и гипервизора.

Провайдеры служб виртуализации (VSP) [18,24]

Провайдеры служб виртуализации работают в родительском разделе и предоставляют гостевым ОС доступ к аппаратным устройствам через клиент служб виртуализации (VSC). Связь между VSP и VSC осуществляется через виртуальную шину VMBus.

Шина виртуальных машин (VMBus) [18,24]

Назначение VMBus состоит в предоставлении высокоскоростного доступа между родительским и дочерним разделами, в то время как остальные способы доступа значительно медленнее из-за высоких накладных расходах при эмуляции устройств. Если гостевая ОС не поддерживает работу интеграционных компонент – приходится использовать эмуляцию устройств. Это означает, что гипервизору приходится перехватывать вызовы гостевых ОС и перенаправлять их к эмулируемым устройствам, которые, напоминаю, эмулируются рабочим процессом виртуальной машины. Поскольку рабочий процесс запускается в пространстве пользователя, использование эмулируемых устройств приводит к значительному снижению производительности по сравнению с использованием VMBus. Именно поэтому рекомендуется устанавливать компоненты интеграции сразу же после установки гостевой ОС. Как уже было сказано, при использовании VMBus взаимодействие между хостовой и гостевой ОС происходит по клиент-серверной модели. В родительском разделе запущены провайдеры служб виртуализации (VSP), которые являются серверной частью, а в дочернем разделе – клиентская часть – VSC. VSC перенаправляет запросы гостевой ОС через VMBus к VSP в родительском разделе, а сам VSP переадресовывает запрос драйверу устройства. Этот процесс взаимодействия абсолютно прозрачен для гостевой ОС.
        1. Дочерние разделы


Вернемся к нашему рисунку с архитектурой Hyper-V [4,5,18,24], только немного сократим его, поскольку нас интересуют лишь дочерние разделы.

Рис. 8 Дочерние разделы [2424]
Итак, в дочерних разделах могут быть установлены:

  • ОС Windows, с установленными компонентами интеграции (в нашем случае – Windows 7)

  • ОС не из семейства Windows, но поддерживающая компоненты интеграции (Red Hat Enterprise Linux в нашем случае)

  • ОС, не поддерживающие компоненты интеграции (например, FreeBSD).


Во всех трех случаях набор компонент в дочерних разделах будет немного различаться.

Остановимся на рассмотрении ОС Windows с установленными компонентами интеграции. Операционные системы Microsoft Windows [5,6], начиная с Windows 2000 поддерживают установку компонент интеграции. После установки Hyper-V Integration Services [5,6,24] в гостевой ОС запускаются следуюшие компоненты:



  • Клиенты служб виртуализации. VSC представляют собой синтетические устройства, позволяющие осуществлять доступ к физическим устройствам посредством VMBus через VSP. VSC появляются в системе только после установки компонент интеграции, и позволяют использовать синтетические устройства. Без установки интеграционных компонент гостевая ОС может использовать только эмулируемые устройства. ОС Windows 7 и Windows Server 2008 R2 включает в себя компоненты интеграции, так что их не нужно устанавливать дополнительно.

  • Улучшения. Под этим имеются в виду модификации в коде ОС чтобы обеспечить работу ОС с гипервизором и тем самым повысить эффективность ее работы в виртуальной среде. Эти модификации касаются дисковой, сетевой, графической подсистем и подсистемы ввода-вывода. Windows Server 2008 R2 и Windows 7 уже содержат в себе необходимые модификации, на другие поддерживаемые ОС для этого необходимо установить компоненты интеграции.


Так же, компоненты интеграции предоставляют следующий функционал:

  • Heartbeat (пульс) – помогает определить, отвечает ли дочерний раздел на запросы из родительского.

  • Обмен ключами реестра – позволяет обмениваться ключами реестра между дочерним и родительским разделом.

  • Синхронизация времени между хостовой и гостевой ОС

  • Завершение работы гостевой ОС

  • Служба теневого копирования томов (VSS), позволяющая получать консистентные резервные копии.
1   2   3   4   5   6   7   8   9   ...   13


База данных защищена авторским правом ©infoeto.ru 2022
обратиться к администрации
Как написать курсовую работу | Как написать хороший реферат
    Главная страница