Hyper-V: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Knyf (обсуждение | вклад) Нет описания правки |
Alecv (обсуждение | вклад) |
||
Строка 70: | Строка 70: | ||
Паравиртуализация достижима при включении модулей ядра Linux или при установке дополнительных ''компонентов интеграции'' (Integration Components). Ранние версии компонентов интеграции функционировали как прослойка между интерфейсом гостевого ядра [[Xen]] и Hyper-V (Hypercall Translator). Позднее была реализована прямая поддержка шины VMBbus без Xen. 20 июля 2009 Microsoft опубликовала эти драйверы под лицензией [[GPL]], и они были официально включены в ядро Linux (опция STAGING/HYPERV). В процессе работы над драйверами, различные компоненты постепенно покидали ветку STAGING и начиная с версии ядра Linux 3.4 были перенесены в основное дерево<ref>[http://social.technet.microsoft.com/Forums/en-US/linuxintegrationservices/thread/7007beff-db11-4261-a9f2-0f4461a9cc92 Hyper-V drivers in mainline kernel - what's next]</ref>. Таким образом, дистрибутивы с ядрами новее, чем 2.6.32 могут включать встроенную поддержку паравиртуализации Hyper-V (однако, как правило, не включают). Данные драйвера содержат поддержку шины VMbus и позволяют гостевой операционной системе Linux работать c устройствами в режиме ''Enlightened I/O''. Поддерживаются устройства Synthetic IDE, Synthetic SCSI и Synthetic Ethernet. Поддерживаются [[Симметричная мультипроцессорность|SMP]] до 4 ядер и такие функции, как синхронизация времени (в RHEL5 только для 32-битных систем), остановка системы (shutdown) и проверка активности (heartbeat). |
Паравиртуализация достижима при включении модулей ядра Linux или при установке дополнительных ''компонентов интеграции'' (Integration Components). Ранние версии компонентов интеграции функционировали как прослойка между интерфейсом гостевого ядра [[Xen]] и Hyper-V (Hypercall Translator). Позднее была реализована прямая поддержка шины VMBbus без Xen. 20 июля 2009 Microsoft опубликовала эти драйверы под лицензией [[GPL]], и они были официально включены в ядро Linux (опция STAGING/HYPERV). В процессе работы над драйверами, различные компоненты постепенно покидали ветку STAGING и начиная с версии ядра Linux 3.4 были перенесены в основное дерево<ref>[http://social.technet.microsoft.com/Forums/en-US/linuxintegrationservices/thread/7007beff-db11-4261-a9f2-0f4461a9cc92 Hyper-V drivers in mainline kernel - what's next]</ref>. Таким образом, дистрибутивы с ядрами новее, чем 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 бесплатно распространяет [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=eee39325-898b-4522-9b4c-f4b5b9b64551 Linux Integration Components 2.1] (для SuSe и RHEL5), [http://www.microsoft.com/en-us/download/details.aspx?id=34603 Linux Integration Components 3.4] (для RHEL6), которые содержат исходные тексты и скрипты для компиляции, автоматической установки драйверов и автоматической загрузки модулей при старте. |
Для поддерживаемых систем SLES, RHEL и CentOS компания Microsoft бесплатно распространяет [http://www.microsoft.com/downloads/en/details.aspx?FamilyID=eee39325-898b-4522-9b4c-f4b5b9b64551 Linux Integration Components 2.1] (для SuSe и RHEL5), [http://www.microsoft.com/en-us/download/details.aspx?id=34603 Linux Integration Components 3.4] (для RHEL6), которые содержат исходные тексты и скрипты для компиляции, автоматической установки драйверов и автоматической загрузки модулей при старте. Начиная с RHEL 6.4 паравиртуальные драйвера Hyper-V входят в состав системы, поэтому Integration Components более не нужны (хотя и могут применяться). |
||
Интеграция функций мыши гостевой системы Linux ранее достигалось при установке драйверов [http://www.xen.org/download/satori.html Citrix XEN Satori InputVSC] (являются комбинацией исходных текстов под GPL2 и [[Проприетарное программное обеспечение|проприетарных]] бинарных объектных файлов). В ядре Linux 2.6.39 появилась свободная поддержка InputVSC-мыши. Linux IС 3 также содержат модули поддержки мыши. |
Интеграция функций мыши гостевой системы Linux ранее достигалось при установке драйверов [http://www.xen.org/download/satori.html Citrix XEN Satori InputVSC] (являются комбинацией исходных текстов под GPL2 и [[Проприетарное программное обеспечение|проприетарных]] бинарных объектных файлов). В ядре Linux 2.6.39 появилась свободная поддержка InputVSC-мыши. Linux IС 3 также содержат модули поддержки мыши. |
Версия от 07:39, 4 апреля 2013
Microsoft Hyper-V (кодовое имя Viridian),[1] — система виртуализации для x64-систем на основе гипервизора.[2] Бета-версия Hyper-V была включена в x64-версии Windows Server 2008, а финальная версия для этих версий была выпущена 26 июня 2008.[3] Ранее была известна как виртуализация Windows Server (Windows Server Virtualization)
Версии и варианты
Hyper-V существует в двух вариантах: отдельный продукт Microsoft Hyper-V Server 2008 (Hyper-V Server 2008 R2 для второй версии) или же как роль в Windows Server 2008 и Windows Server 2008 R2.
Отдельная версия 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 2008 x86/x64 SP1/SP2 и R2
- Windows HPC Server 2008
- Windows Server 2003 x86/x64 SP2 R2
- Windows 2000 Server SP4 и Advanced Server SP4[6]
- Windows 7 и Windows 8 (кроме Home editions)
- Windows Vista SP1/SP2 (кроме Home editions)
- Windows XP Professional SP2/SP3/x64
- SUSE Linux Enterprise Server (SLES) 10 SP3 и 11
- Red Hat Enterprise Linux (RHEL) 5.2 — 5.6 (x86 Edition или x86_64 Edition)[7]
- Red Hat Enterprise Linux (RHEL) 6.0, 6.1 (x86 Edition или x86_64 Edition)
- CentOS 5.2 — 5.6, 6.0
- FreeBSD 8.2-8.3 [8]
- Ubuntu 12.04
Гостевые 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 не поддерживаются, но, тем не менее, могут успешно запускаться.[9][10][11]
Гостевые ОС с поддержкой технологии Enlightened I/O и ядром с поддержкой режима гипервизора как, например, Windows Server 2008, Windows Vista SP1 и готовящееся предложение от Citrix XenServer и Novell позволят использовать ресурсы хоста более эффективно благодаря тому, что VSC-драйверы в этих гостевых ОС будут взаимодействовать напрямую с VSP через VMbus.[12] ОС без поддержки Enlightened I/O будут запускаться с эмуляцией ввода-вывода;[13] тем не менее, компоненты интеграции (которые включают в себя VSC-драйверы) доступны для Windows Server 2003 SP2, Windows XP SP3, Windows Vista SP1 и Linux, и позволяют достичь большей производительности.
Гостевые системы Linux также могут быть паравиртуализованы в Hyper-V. Однако сейчас подобным образом только SLES 10 SP3, SLES 11, RHEL и CentOS 5.2, 5.3, 5.4, 5.5, 5.6, 6.0 и 6.1 для x86 и x64 официально поддерживаются Microsoft при установке компонентов интеграции.
При использовании гостевых ОС 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 были перенесены в основное дерево[14]. Таким образом, дистрибутивы с ядрами новее, чем 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[15] (начиная с версии RHEL 5.5). Однако, при автоматическом обновлении ядра гостевой системы RHEL 5 может возникнуть проблема, описанная в статье KB2387594.
Совместимость 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 файлам, однако формат открыт и опубликован[16], и многие фирмы разработали такую поддержку сами.
Ограничения
По состоянию на декабрь 2008 Hyper-V не поддерживает доступ к USB-устройствам или воспроизведение звуков в гостевых ВМ. Тем не менее, обходным маневром для доступа к USB-накопителям в гостевых ВМ может послужить использование Microsoft Remote Desktop Client для открытия доступа к накопителям хоста для «гостей» через соединение Remote Desktop Connection.[17] Другая возможность — использовать устройства типа USB-over-Network с установкой драйверов в каждую виртуальную машину.
Также Hyper-V весьма слаб в поддержке старых приложений для MS-DOS, в том числе игр. Unreal mode в «гостях» не поддерживается вовсе, хотя он правильно поддерживается в Virtual PC.
Также, Hyper-V поддерживает живую миграцию (начиная с Windows Server 2008 R2) гостевых ВМ, где живая миграция понимается как поддержка сетевых соединений и отсутствие прерываний выполнения служб во время переноса ВМ. Ранее вместо этого, Hyper-V на Server 2008 Enterprise и Datacenter Editions поддерживал быструю миграцию, во время которой гостевая ВМ приостанавливается на одном хосте и «пробуждается» уже на другом. Такая операция занимает столько времени, сколько потребуется для передачи активной памяти гостевой ВМ по сети от первого хоста второму.[18]
См. также
Примечания
- ↑ 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 помогает покупателям преодолеть сложности с виртуализацией и получить виртуальность немедленно". PressPass (Press release). Microsoft. 1 октября 2008. Дата обращения: 2 октября 2008.
{{cite press release}}
: Проверьте значение даты:|date=
(справка) - ↑ Supported Guest OS on Windows Server 2008 Hyper-V
- ↑ Microsoft releases Hyper-V RC1
- ↑ Microsoft and Red Hat sign virtualization pact
- ↑ FreeBSD Support on Windows Server Hyper-V
- ↑ Установка Fedora Core 8 на Hyper-V
- ↑ Предварительный обзор: Fedora 9 Alpha, запущенная на Hyper-V Beta: CRN
- ↑ Установка Ubuntu 7.10 на Hyper-V
- ↑ Обзор продукта Hyper-V
- ↑ Microsoft Hyper-V: из-за чего столько шума?
- ↑ Hyper-V drivers in mainline kernel - what's next
- ↑ What are Flex Guest Entitlements in Red Hat Network?
- ↑ Virtual Hard Disk Image Format Specification
- ↑ Получаем доступ к USB-устройствам в виртуальных машинах Microsoft
- ↑ Hyper-V: Живая миграция против быстрой
Литература
- Morimoto, Rand. Windows Server 2008 Hyper-V Unleashed. — ISBN ISBN 0-672-33028-8.
Дополнительные источники
- Обзор Hyper-V, офф. сайт (рус.)
- Знакомство с Windows Server 2008 Hyper-V (рус.)
- Блог сотрудника Microsoft Андрея Бешкова о виртуализации на основе 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 (англ.)
- Core Scenarios and Key features of Hyper-V (англ.)
- Official x64 Hyper-V Download (англ.)
- Windows Virtualization team blog (англ.)
- Windows Server 2008 Evaluation Software (англ.)
- Windows Server 2008 Hyper-V FAQ (англ.)
- Представляем Hyper-V в Windows Server 2008 (рус.)