Hyper-V
Hyper-V | |
---|---|
Тип | Гипервизор |
Разработчик | Microsoft |
Операционная система | Windows 8, Windows 8.1, Windows 10, Windows 11 (x64; Pro, Enterprise and Education) |
Первый выпуск | 28 июня 2008 |
Microsoft Hyper-V (кодовое имя Viridian[1]) — система аппаратной виртуализации для x64-систем на основе гипервизора[2]. Бета-версия Hyper-V была включена в x64-версии Windows Server 2008, а законченная версия (автоматически, через Windows Update) была выпущена 26 июня 2008[3]. Ранее была известна как виртуализация Windows Server (Windows Server Virtualization).
Версии и варианты
Hyper-V существует в двух вариантах:
- Как отдельный продукт Microsoft Hyper-V Server. Существуют следующие версии: Hyper-V Server 2022 (текущая версия Hyper-V), Hyper-V Server 2019, Hyper-V Server 2016, Hyper-V Server 2012 R2, Hyper-V Server 2012, Hyper-V Server 2008 R2 и Hyper-V Server 2008.
- Как роль Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows Server 2008 и x64-разрядной Pro- и Enterprise-версии Windows 8, Windows 8.1, Windows 10.
Отдельная версия Hyper-V Server — бесплатная. Первая версия была выпущена 1 октября 2008 года. Является базовым («Server Core») вариантом Windows Server 2008, то есть включает в себя полную функциональность Hyper-V; прочие роли Windows 2008 Server отключены, также ограничены службы Windows.[4] Бесплатная 64-разрядная Core-версия Hyper-V ограничена интерфейсом командной строки (CLI PowerShell), где конфигурация текущей ОС, физического аппаратного и программного оборудования выполняется при помощи команд оболочки. Новое меню интерфейса управления позволяет выполнить простую первичную конфигурацию, а некоторые свободно распространяемые скрипты расширяют данную концепцию. Администрирование и конфигурирование виртуального сервера (или гостевых ОС) выполняется с помощью ПО, установленного на ПК под управлением Windows Vista, Windows 7 или Windows 2008 Server с установленным дополнением для администрирования Hyper-V из MMC. Другим вариантом администрирования/конфигурирования сервера Windows 2008 Core является использование удалённой Windows или Windows Server при перенаправлении (некоторой) консоли управления (MMC), указывающей на Core Server. Это значительно упрощает настройку, сводя её к нескольким щелчкам мыши.
В Windows Server 2012 включена обновлённая версия Hyper-V.
Архитектура
Hyper-V поддерживает разграничение согласно понятию раздел. Раздел — логическая единица разграничения, поддерживаемая гипервизором, в котором работают операционные системы. Каждый экземпляр гипервизора должен иметь один родительский раздел с запущенной Windows Server 2008. Стек виртуализации запускается на родительском разделе и обладает прямым доступом к аппаратным устройствам. Затем родительский раздел порождает дочерние разделы, на которых и располагаются гостевые ОС. Дочерний раздел также может породить собственные дочерние разделы. Родительский раздел создает дочерние при помощи API-гипервизора, представленного в Hyper-V.
Виртуализированные разделы не имеют ни доступа к физическому процессору, ни возможности управлять его реальными прерываниями. Вместо этого у них есть виртуальное представление процессора и гостевой виртуальный адрес, зависящий от конфигурации гипервизора, вовсе необязательно при этом занимающий всё виртуальное адресное пространство. Гипервизор может определять подмножество процессоров для каждого раздела. Гипервизор управляет прерываниями процессора и перенаправляет их в соответствующий раздел, используя логический контроллер искусственных прерываний (Synthetic Interrupt Controller или сокр. SynIC). Hyper-V может аппаратно ускорять трансляцию адресов между различными гостевыми виртуальными адресными пространствами при помощи IOMMU (I/O Memory Management Unit — Устройство управления вводом-выводом памяти), которое работает независимо от аппаратного управления памятью, используемого процессором.
Дочерние разделы не имеют непосредственного доступа к аппаратным ресурсам, но зато получают виртуальное представление ресурсов, называемое виртуальными устройствами. Любая попытка обращения к виртуальным устройствам перенаправляется через VMBus к устройствам родительского раздела, которые и обработают данный запрос. VMBus — это логический канал, осуществляющий взаимодействие между разделами. Ответ возвращается также через VMBus. Если устройства родительского раздела также являются виртуальными устройствами, то запрос будет передаваться дальше, пока не достигнет такого родительского раздела, где он получит доступ к физическим устройствам. Родительские разделы запускают провайдер сервиса виртуализации (Virtualization Service Provider или сокр. VSP), который соединяется с VMBus и обрабатывает запросы доступа к устройствам от дочерних разделов. Виртуальные устройства дочернего раздела работают с клиентом сервиса виртуализации (Virtualization Service Client или сокр. VSC), который перенаправляет запрос через VMBus к VSP родительского раздела. Этот процесс прозрачен для гостевой ОС.
Виртуальные устройства также поддерживают технологию Windows Server Virtualization, называемую прогрессивный ввод-вывод (англ. Enlightened I/O), для накопителей, сетевых и графических подсистем в том числе. Enlightened I/O — специализированная виртуализационная реализация высокоуровневых протоколов, как, например, SCSI, для возможности работать с VMBus напрямую, что позволяет параллельно обрабатывать любые уровни эмуляции устройства. Это делает взаимодействие более эффективным, но взамен требует от гостевой ОС поддержки Enlightened I/O. Только Windows Server 2008 R2, Windows Server 2008, Windows 7, Windows Vista, Red Hat Enterprise Linux и SUSE Linux сейчас обладают поддержкой Enlightened I/O, позволяющей им работать быстрее в качестве гостевых ОС под Hyper-V, чем прочим операционным системам, которым требуется более медленная эмуляция устройств.
Системные требования / Спецификации
- x64-совместимый процессор, поддерживающий запуск x64-версии Windows Server 2008 Standard, Windows Server 2008 Enterprise или Windows Server 2008 Datacenter.
- Аппаратная поддержка виртуализации. Это особенность процессоров, дающая возможность аппаратной виртуализации; касается технологий Intel VT и AMD Virtualization (AMD-V, ранее известная как Pacifica).
- NX-бит-совместимый процессор и активированная аппаратная поддержка Data Execution Prevention (DEP).
- Память объёмом не менее 2 ГБ (каждая виртуальная ОС требует собственного объёма памяти, поэтому в действительности нужно больше).
- Windows 2008 Standard (64-bit) Hyper-V Core требует примерно 3 ГБ дискового пространства в установленном виде.
- Windows 2008 Standard (64-bit) Hyper-V с GUI требует примерно 8 ГБ дискового пространства в установленном виде.
- Windows 2008 Standard (64-bit) Hyper-V с GUI или в виде Core-версии поддерживает до 31 ГБ памяти для работы VM, плюс 1 ГБ для родительской ОС Hyper-V. [1]
- Windows 2008 Standard (64-bit) Hyper-V с GUI или в виде Core поддерживает до 8 процессоров с 1, 2 или 4 ядрами.
- Windows 2008 Standard (64-bit) Hyper-V с GUI или в виде Core поддерживает до 384 гостевых ОС [2].
- Windows 2008 Standard (64-bit) Hyper-V с GUI или в виде Core поддерживает 32-разрядные (x86) и 64-разрядные (x86_64) гостевые виртуальные машины.
Отдельный Hyper-V Server не требует установленного Windows Server 2008, минимальный объём памяти — 1 ГБ, минимум места на диске — 2 ГБ.
Поддержка гостевых ОС
Поддерживаемые/протестированные операционные системы:[5]
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2 с пакетом обновления 1 (SP1)
- Windows Server 2008 с пакетом обновления 2 (SP2)
- Windows 11
- Windows 10
- Windows 8.1
- Windows 7 с пакетом обновления 1 (SP1)
- SUSE Linux Enterprise Server (SLES) 11 SP3 — 15 SP2
- Red Hat Enterprise Linux (RHEL) / CentOS 5.2 — 8.5
- FreeBSD 8.4 — 12.1
- Ubuntu 14.04 LTS — 20.04 LTS
- Debian 7.0 — 10.3
- Oracle Linux 6.8 — 8.1
Гостевые Windows Server 2008 и Windows HPC Server 2008 могут быть сконфигурированы для 1-, 2- или 4-процессорного SMP, Windows Server 2003 и Windows Vista для 1- или 2-процессорного SMP. Прочие гостевые ОС, такие как Ubuntu Linux 6.06/6.10/7.10 или Fedora 8/9, не поддерживаются, но, тем не менее, могут успешно запускаться.[6][7][8]
Гостевые ОС с поддержкой технологии Enlightened I/O и ядром с поддержкой режима гипервизора, как, например, Windows Server 2008, Windows Vista SP1 и готовящееся предложение от Citrix XenServer и Novell позволят использовать ресурсы хоста более эффективно благодаря тому, что VSC-драйверы в этих гостевых ОС будут взаимодействовать напрямую с VSP через VMbus.[9] ОС без поддержки Enlightened I/O будут запускаться с эмуляцией ввода-вывода;[10] тем не менее компоненты интеграции (которые включают в себя VSC-драйверы) доступны для Windows Server 2003 SP2, Windows XP SP3, Windows Vista SP1 и Linux и позволяют достичь большей производительности.
Гостевые системы Linux также могут быть паравиртуализованы в Hyper-V. Однако сейчас подобным образом официально поддерживаются Microsoft при установке компонентов интеграции только SLES 10 SP3, SLES 11, RHEL и CentOS 5.2, 5.3, 5.4, 5.5, 5.6, 6.0 и 6.1 для x86 и x64.
При использовании гостевых ОС Windows версий до Server 2003 невозможно использование виртуальных SCSI-дисков и адаптеров в них. Это связано с тем, что гостевой драйвер виртуального SCSI-контроллера (STORVSC) основан на подсистеме STORPORT, которая появилась только в Server 2003.
Поддержка Linux
Hyper-V обеспечивает базовую поддержку виртуализации гостевых Linux-систем в режиме эмуляции устройств, не требуя никаких изменений. Эмулируются контроллеры дисков IDE PIIX4 и PCI Ethernet-адаптер DEC 21140 Tulip, однако скорость работы может быть невысокой и имеется ограничение 128 ГБ на диск.
Паравиртуализация достижима при включении модулей ядра Linux или при установке дополнительных компонентов интеграции (Integration Components). Ранние версии компонентов интеграции функционировали как прослойка между интерфейсом гостевого ядра Xen и Hyper-V (Hypercall Translator). Позднее была реализована прямая поддержка шины VMBbus без Xen. 20 июля 2009 года Microsoft опубликовала эти драйверы под лицензией GPL, и они были официально включены в ядро Linux (опция STAGING/HYPERV). В процессе работы над драйверами различные компоненты постепенно покидали ветку STAGING и начиная с версии ядра Linux 3.4 были перенесены в основное дерево[11]. Таким образом, дистрибутивы с ядрами новее, чем 2.6.32, могут включать встроенную поддержку паравиртуализации Hyper-V (однако, как правило, не включают). Данные драйверы содержат поддержку шины VMbus и позволяют гостевой операционной системе Linux работать c устройствами в режиме Enlightened I/O. Поддерживаются устройства Synthetic IDE, Synthetic SCSI и Synthetic Ethernet. Поддерживаются SMP до 4 ядер и такие функции, как синхронизация времени (в RHEL5 только для 32-битных систем), остановка системы (shutdown) и проверка активности (heartbeat).
Для поддерживаемых систем SLES, RHEL и CentOS компания Microsoft бесплатно распространяет Linux Integration Components 2.1 (недоступная ссылка) (для SuSe и RHEL5), Linux Integration Components 3.4 (для RHEL6), которые содержат исходные тексты и скрипты для компиляции, автоматической установки драйверов и автоматической загрузки модулей при старте. Начиная с RHEL 6.4, паравиртуальные драйверы Hyper-V входят в состав системы, поэтому Integration Components более не нужны (хотя и могут применяться).
Интеграция функций мыши гостевой системы Linux ранее достигалась при установке драйверов Citrix XEN Satori InputVSC (являются комбинацией исходных текстов под GPL2 и проприетарных бинарных объектных файлов). В ядре Linux 2.6.39 появилась свободная поддержка InputVSC-мыши. Linux IС 3 также содержат модули поддержки мыши.
Гостевая машина c RedHat Enterprise Linux, работающая под Hyper-V, может пользоваться службами RedHat Networks благодаря лицензии Flex Guest Entitlements[12] (начиная с версии RHEL 5.5). Однако при автоматическом обновлении ядра гостевой системы RHEL 5 может возникнуть проблема, описанная в статье KB2387594.
Hyper-V для Windows Server 2012
Версия Hyper-V в Windows Server 2012 года поддерживает Windows 8.1 (32- и 64-разрядную). Также стоит отметить, что максимальное число поддерживаемых процессоров для операционных систем Windows Server и Linux увеличено с четырех до 64.
Веб-интерфейс для Hyper-V
Совместимость VHD с Virtual Server 2005 и Virtual PC 2004/2007
Hyper-V, как Virtual Server 2005 и Virtual PC 2004/2007, хранит виртуальные диски (в том числе системные тома гостевых ОС) в файлах с расширением VHD. Этот файл содержит гостевую ОС целиком, хотя для некоторых файлов можно настроить откаты и пр.
Старые vhd-файлы от Virtual Server 2005 и Virtual PC 2004/2007 можно скопировать и использовать с помощью Windows 2008 Hyper-V Server, но некоторые изменения в виртуальном оборудовании (видео- и сетевая карта) будут означать потребность гостевых ОС в обновлении драйверов, и, как следствие, в случае последних версий Windows может потребоваться повторная активация.
Microsoft не предоставляет ни DLL, ни API для посекторного доступа к vhd-файлам, однако формат открыт и опубликован[13], и многие фирмы разработали такую поддержку сами.
Ограничения
По состоянию на декабрь 2008 года Hyper-V не поддерживает доступ к USB-устройствам или воспроизведение звуков в гостевых ВМ. Тем не менее, обходным маневром для доступа к USB-накопителям в гостевых ВМ может послужить использование Microsoft Remote Desktop Client для открытия доступа к накопителям хоста для «гостей» через соединение Remote Desktop Connection.[14] Другая возможность — использовать устройства типа USB-over-Network с установкой драйверов в каждую виртуальную машину.
Также Hyper-V весьма слаб в поддержке старых приложений для MS-DOS, в том числе игр. Unreal mode в «гостях» не поддерживается вовсе, хотя он правильно поддерживается в Virtual PC.
Также Hyper-V поддерживает живую миграцию (начиная с Windows Server 2008 R2) гостевых ВМ, где живая миграция понимается как поддержка сетевых соединений и отсутствие прерываний выполнения служб во время переноса ВМ. Ранее вместо этого Hyper-V на Server 2008 редакций Enterprise и Datacenter поддерживал быструю миграцию, во время которой гостевая ВМ приостанавливается на одном хосте и «пробуждается» уже на другом. Такая операция занимает столько времени, сколько требуется для передачи активной памяти гостевой ВМ по сети от первого хоста второму.[15]
См. также
- Cluster Shared Volumes
- Сравнение виртуальных машин
- Microsoft Hyper-V Server
- Nutanix
- Windows Admin Center
Примечания
- ↑ Microsoft to ship Windows Server 2008, over time, in eight flavors . Дата обращения: 13 ноября 2007. Архивировано 23 марта 2012 года.
- ↑ Paul Thurrott. Windows Server Virtualization Preview . Дата обращения: 25 сентября 2007. Архивировано 23 марта 2012 года.
- ↑ http://www.microsoft.com/presspass/features/2008/jun08/06-26hyperv.mspx (англ.). Дата обращения: 26 июня 2008. Архивировано 23 марта 2012 года.
- ↑ Microsoft (1 октября 2008). Microsoft помогает покупателям преодолеть сложности с виртуализацией и получить виртуальность немедленно. Пресс-релиз. Проверено 2008-10-02.
- ↑ Supported Guest OS on Windows Server 2008 Hyper-V (недоступная ссылка). Дата обращения: 13 декабря 2010. Архивировано 25 августа 2009 года.
- ↑ Установка Fedora Core 8 на Hyper-V . Дата обращения: 12 февраля 2009. Архивировано 10 февраля 2010 года.
- ↑ Предварительный обзор: Fedora 9 Alpha, запущенная на Hyper-V Beta: CRN Архивировано 23 июля 2010 года.
- ↑ Установка Ubuntu 7.10 на Hyper-V (недоступная ссылка). Дата обращения: 12 февраля 2009. Архивировано 24 февраля 2009 года.
- ↑ Обзор продукта Hyper-V . Дата обращения: 12 февраля 2009. Архивировано 4 июля 2008 года.
- ↑ Microsoft Hyper-V: из-за чего столько шума? (недоступная ссылка). Дата обращения: 12 февраля 2009. Архивировано 15 мая 2009 года.
- ↑ Hyper-V drivers in mainline kernel - what's next (недоступная ссылка). Дата обращения: 14 июня 2012. Архивировано 10 декабря 2012 года.
- ↑ What are Flex Guest Entitlements in Red Hat Network?
- ↑ Virtual Hard Disk Image Format Specification . Дата обращения: 29 октября 2017. Архивировано 22 января 2011 года.
- ↑ Получаем доступ к USB-устройствам в виртуальных машинах Microsoft . Дата обращения: 12 февраля 2009. Архивировано 20 ноября 2008 года.
- ↑ Hyper-V: Живая миграция против быстрой . Дата обращения: 12 февраля 2009. Архивировано 19 ноября 2008 года.
Литература
- Morimoto, Rand; Jeff Guillet. Windows Server 2008 Hyper-V Unleashed (неопр.).
Дополнительные источники
- Знакомство с Windows Server 2008 Hyper-V (рус.)
- Набор русских вебкастов о работе с Hyper-V (рус.)
- Раздел на VM Guru по виртуализации на платформе Hyper-V (рус.)
- Установка Windows 7/2008 SP1 и обновление Hyper-V Integration Services (рус.)
- Настройка виртуальных сетей в Hyper-V (рус.)
- Microsoft Hyper-V Server 2008 (англ.)
- Hyper-V Functional Specification (англ.)
- WinHEC 2006 Presentation Slides Архивная копия от 27 декабря 2008 на Wayback Machine (англ.)
- Core Scenarios and Key features of Hyper-V (англ.)
- Official x64 Hyper-V Download (англ.)
- Windows Virtualization team blog Архивная копия от 18 марта 2009 на Wayback Machine (англ.)
- Windows Server 2008 Evaluation Software (англ.)
- Windows Server 2008 Hyper-V FAQ (англ.)
- Представляем Hyper-V в Windows Server 2008 (рус.)
- Риски при внедрении виртуализации. Сергей Чекмасов. Журнал «Директор информационной службы», № 03, 2014 (рус.)
- Риски при внедрении виртуализации. Сергей Чекмасов. Журнал «Директор информационной службы», № 03, 2014 (рус.)
- Установка и проверка компонент интеграции Hyper-V в Debian GNU/Linux (рус.)
- Установка и проверка компонент интеграции Hyper-V в CentOS Linux (рус.)
- Windows Admin Center
- Hv Manager