Появление Hyper-V на Windows 8 |
![]() |
Добавил(а) microsin |
Кем бы Вы ни были - разработчик ПО, администратор IT, или простой энтузиаст, интересующийся компьютерами и операционными системами - наверняка встречались со случаями, когда нужно иметь под рукой несколько операционных систем, которые традиционно были бы запущены на разных компьютерах. Но далеко не все имеют доступ к полноценной лаборатории и не у всех есть дома несколько компьютеров, так что виртуализация может сохранить Ваши время и ресурсы. Сборку Windows 8 мы сделали с разрешенной Hyper-V, которая была ранее частью последних двух релизов Windows Server, так что она теперь может работать и на "клиентской" ОС. Если сказать коротко, то Hyper-V позволяет Вам выполнить более чем одну 32- или 64-разрядную операционную систему x86 одновременно на одном и том же компьютере. Вместо того, чтобы работать на реальном железе, операционные системы работают внутри виртуальной машины (VM). Hyper-V позволяет разработчикам очень просто иметь в наличии сразу несколько рабочих сред для тестирования, с быстрым переключением между ними, при этом не нужно делать дополнительные траты на железо. Например, для WEB-разработчиков мы подготовили сразу несколько виртуальных машин Internet Explorer Application Compatibility VPC Image, которые содержат все старые версии IE. Администратор IT также получает при этом дополнительную выгоду, если может проводить свое обучение и на виртуальных Windows Server и Windows Client. Мы также знаем, что многие используют виртуализацию, когда пытаются проверить новые вещи без риска сделать нежелательные изменения на PC, который активно используете. [Введение в Hyper-V] Hyper-V требует для работы 64-битную систему, которая имеет технологию Second Level Address Translation (SLAT). SLAT является особой фичей, представленной в текущем поколении 64-разрядных процессоров от Intel и AMD. Вам также нужна 64-разрядная версия Windows 8, и как минимум 4 гигабайта физической памяти RAM. Hyper-V поддерживает создание внутри VM как 32-битных, так и 64-битных операционных систем. Hyper-V предоставляет память, необходимую для динамического выделения и освобождения виртуальной машиной (Вы указываете минимум и максимум), и совместного задействования неиспользуемой памяти между всеми виртуальными машинами (VM). Вы можете запустить 3 или 4 VM на компьютере, у которого в наличии 4 гигабайта RAM, однако Вам нужно больше RAM для запуска 5 и более VM. Вы также можете создавать большие VM с 32 процессорами и 512 гигабайтами RAM. Что касается работы пользователей с VM, то для этого Windows предоставляет 2 механизма: через консоль виртуальных машин (VM Console) и через подключение к серверу терминалов (RDC - Remote Desktop Connection, подключение терминальным клиентом по протоколу RDP). Оснастка VM Console (также известная как VMConnect) является консольным отображением VM. Она предоставляет один монитор для VM с разрешением экрана до 1600x1200 в 32-битном цвете. Эта консоль предоставляет Вам вид даже на процесс загрузки VM. Гораздо больше возможностей предоставляет подключение к VM через Remote Desktop Connection (RDC). Вместе с RDC получает многие достоинства, которые есть у физического PC, на котором работает клиент RDP. Например, если у Вас несколько мониторов, то VM может показывать свою графику на всех этих мониторах. И аналогично, если у Вас есть в наличии мультитач-интерфейс на PC, то VM может использовать и этот интерфейс, предоставляя Вам все его удобства. VM также имеет все мультимедийные возможности, которые предоставляет физическая система, так что можно задействовать динамики и микрофон. Root OS, т. е. Windows, на которая управляет VM, может также предоставлять в общее пользование буфер обмена и общие папки для других VM. И наконец, с помощью RDC для VM можно задействовать устройства USB, как будто они подключены не к Root OS, а прямо к VM. Для устройств хранения данных Вы можете добавить несколько жестких дисков к контроллерам IDE или SCSI, доступных в VM. Вы можете использовать виртуальные жесткие диски (Virtual Hard Disks, .VHD или .VHDX) или физические диски, которые Вы можете передать виртуальной машине. VHD могут также размещаться на отдаленном (подключенном через сеть) сервере, что упрощает поддержку и содержание таких предварительно созданных VHD внутри команды IT. У Hyper-V есть фича "Live Storage Move" (можно попытаться перевести как Возможность Перемещения Систем Хранения), помогающая Вашей VM быть довольно независимой от базовых систем хранения данных. С этой возможностью Вы можете переместить свое хранилище с одного локального диска на другой, даже на флешку USB, или на сетевой диск, и при этом не нужно останавливать VM. Мне кажется, что эта функция довольно удобна для быстрого развертывания инфраструктуры IT: когда мне срочно нужна VM, я запускаю одну VM из библиотеки VM, которая находится на общем сетевом файловом хранилище, и затем переношу систему хранения данных VM на локальный диск. Другая замечательная фича Hyper-V - возможность создания снимков (snapshots) состояния работающей VM. В снапшоте сохранено все, что происходит сейчас в виртуальной машине, что позволяет Вам вернуться обратно в предыдущую точку времени жизни VM, и это действительно мощный инструмент в отладке сложных проблем. Одновременно виртуальные машины Hyper-V обладают всеми преимуществами управляемости Windows. Система Windows Update может патчить компоненты Hyper-V, так что не требуется устанавливать какие-то дополнительные процессы для обслуживания. И Windows имеет все унаследованные возможности с установленной системой Hyper-V. Говоря все это, не нужно забывать, что использование виртуализации имеет свои ограничения. Функции или приложения, которые зависят от определенной аппаратуры, не будут хорошо работать в VM. Например, технологии Windows BitLocker и Measured Boot, которые полагаются на модуль TPM (Trusted Platform Module, модуль доверяемой платформы), могут неправильно работать в VM, и игры и приложения, которые требуют вычислительной обработки GPU (графический ускоритель), не смогут хорошо работать без правильной реакции программного обеспечения или его переделки. Кроме того, приложения, полагающиеся на субтаймеры 10 мс, т. е. чувствительные к задержке и требующие высокой точности отсчета времени (например, программы, генерирующие и смешивающие живые звуки) и т. д. могут иметь проблемы при работе внутри VM. Root OS также работает поверх слоя виртуализации Hyper-V, но особенность в том, что у неё есть доступ ко всей аппаратуре. По этой причине приложения со специальными требованиями к аппаратуре продолжат беспрепятственно работать в root OS, но чувствительные к задержкам, высокоточные приложения все еще будут иметь проблемы при запуске на root OS. Напомню, что для использования виртуальных машин (VM) Вам понадобятся лицензии для операционных систем и программ, которые Вы запускаете на VM. [Поддержка обмена данными VM через беспроводные сетевые адаптеры] Создание внешнего сетевого коммутатора делается так же просто, как выбор физического сетевого адаптера (NIC) из выпадающего списка. Это уже хорошо работало на серверных системах Hyper-V. Но чтобы получить подобные результаты в Windows 8, у него должен быть настроенный и работающий беспроводный NIC. Здесь есть некоторая проблема. Виртуальный коммутатор сети в Hyper-V работает на сетевом слое 2, т. е. он переключает сетевые пакеты (определяет маршрут, по которому пойдет пакет Ethernet) на основе MAC-адресов, которые однозначно идентифицируют каждого (физического и виртуального) участника обмена данных в сети. MAC-адрес машин получателей и источников отправляется в каждом пакете Ethernet уровня 2, и сетевой коммутатор использует эти данные, чтобы определить, куда именно нужно послать пакет. Внешний виртуальный сетевой коммутатор соединен с внешним миром через физическую сетевой адаптер (NIC). Пакеты Ethernet от VM, предназначенные для обмена данными с машиной во внешнем мире, будут отосланы через этот физический NIC. Это означает, что физический NIC должен быть в состоянии переносить трафик от всех VM, соединенных с этим виртуальным коммутатором. Это подразумевает, что пакеты, проходящие через физический NIC, будут содержать несколько MAC-адресов (по одному адресу MAC каждого виртуального NIC для VM). Это поддерживается на проводных физических NIC (путем ввода их в так называемый "неразборчивый" режим, promiscuous mode). Схема взаимодействия через виртуальный коммутатор в случае использования обычного проводного NIC показана на рис. 1. Рис. 1. Обмен сетевыми данными между VM и внешним хостом (Machine 2) при использовании традиционного проводного соединения (через wired Ethernet NIC). Такой режим обмена данными не поддерживается на беспроводных NIC, поскольку беспроводный канал, установленный между WiFi NIC и точкой доступа, позволяет пропускать Ethernet пакеты только с MAC-адресом беспроводного физического NIC WiFi, без вариантов. Другими словами, Hyper-V не может использовать WiFi NIC-и для внешнего коммутатора, если мы продолжаем использовать текущую архитектуру виртуального коммутатора. Чтобы обойти это ограничение, мы использовали решение Microsoft Bridging (создание сетевого моста), в котором реализовано проксирование ARP (для IPv4) и проксирование Neighbor Discovery (для IPv6) чтобы заменить MAC-адреса виртуальных NIC-ов с MAC-адресами адаптеров WiFi для исходящих пакетов. Мост сохраняет внутри себя привязку между IP-адресами виртуальных NIC и их адресами, чтобы гарантировать, что пакеты из внешнего мира будут отправлены тому виртуальному NIC, которому предназначены. Hyper-V интегрирует в себя мост как часть создания виртуального коммутатора. Таким образом, когда Вы создаете внешний виртуальный коммутатор, используя адаптер WiFi, проделайте следующее: • Создайте адаптер сетевого моста, подключенного к NIC WiFi, С такой моделью коммутация пакетов Ethernet по уровню 2 будет происходить в виртуальном коммутаторе, а трансляция MAC-адресов будет происходить в мосте. Для конечного пользователя, который создает внешнюю сеть, рабочий процесс её создания тот же самый - независимо от того, выбираете ли Вы проводной или беспроводный NIC. Организация сети в случае подключения VM через беспроводный NIC показана на рис. 2. В заключение: с появлением Hyper-V не только на серверных платформах Windows, но и на клиентских машинах с Windows 8, мы можем обеспечить технологию виртуализации, специально разработанную для мастабируемости, безопасности, надежности и потребностей эффективности большинства центров обработки и хранения данных. С использованием Hyper-V разработчики и специалисты IT теперь могут создать более эффективную по удобству и стоимости инфраструктуру, используемую для тестов и работы с несколькими виртуальными машинами. [Hyper-V на Windows 7] На Windows 7 Вы можете установить только лишь оснастку для подключения к серверу Hyper-V, что дает возможность управлять удаленно виртуальными машинами, работающими на сервере Hyper-V (т. е. это будет Root OS). Устанавливается оснастка (Диспетчер Hyper-V) следующим образом: 1. Скачайте [2] (Windows6.1-KB958830-x64-RefreshPkg.msu), установите. [Проблемы с Hyper-V] Диспетчер Hyper-V не дает создать виртуальные машины, в оснастке диспетчера появляется сообщение "Программное обеспечение hyper-v не установлено на компьютере localhost" ("Hyper-V has not been installed on computer ‘localhost’").
Windows 8 (если она не урезанная, для одного языка) поставляется с поддержкой технологии Hyper-V, которая была доступна только на серверных системах. На Windows 7 поддержку Hyper-V также можно установить закачкой обновления [1]. Однако теоретическая поддержка Hyper-V со стороны операционной системы еще не означает, что Hyper-V будет работать на любом железе. Физический процессор и материнская плата должны иметь также некоторые специальные возможности. К счастью, в настоящий момент большинство процессоров имеют такие возможности. Если у Вас Windows 8 64-bit (ни в коем случае не Windows 8.1 для одного языка), процессор аппаратно поддерживает Hyper-V, включена поддержка Hyper-V в BIOS материнской платы, то платформа Hyper-V позволит нормально создавать виртуальные машины. Обычно компьютер должен работать под управлением 64-битной системы с разрешенной на процессоре технологией VT (Virtualization Technology) и SLAT (Second Level Address Translation, трансляция адреса второго уровня). Также должно быть установлено минимум 4 гигабайта физической памяти. Платформа (сервер) Hyper-V, позволяющий создавать виртуальные машины, будет работать только на Windows 8 64-bit (на Windows 7 можно установить только оснастку для подключения к серверу Hyper-V). Проверьте, включена ли в BIOS Вашей системы поддержка технологии аппаратной виртуализации. Для того, чтобы проверить, поддерживает ли Ваша система Hyper-V, используйте утилиту coreinfo [4]. Для этого откройте командную строку с правами администратора и выполните команду coreinfo.exe -v: C:\Windows\System32>coreinfo.exe -v Coreinfo v3.31 - Dump information on system CPU and memory topology Copyright (C) 2008-2014 Mark Russinovich Sysinternals - www.sysinternals.com AMD FX(tm)-6300 Six-Core Processor AMD64 Family 21 Model 2 Stepping 0, AuthenticAMD HYPERVISOR - Hypervisor is present SVM * Supports AMD hardware-assisted virtualization NP * Supports AMD nested page tables (SLAT) Наличие строки EPT со звездочкой для процессора Intel и NP для процессора AMD означает, что процессор поддерживает технологию SLAT. В этом примере показано отсутствие поддержки гипервизора (напротив HYPERVISOR стоит черточка). Здесь причина сообщения "Программное обеспечение hyper-v не установлено ..." в том, что версия операционной системы Windows 7 Максимальная 64-бит (можно только управлять виртуальными машинами на другом сервере, но создавать их локально нельзя): C:\Windows\System32>systeminfo.exe Имя узла: MYWORKSTATION Название ОС: Microsoft Windows 7 Максимальная Версия ОС: 6.1.7601 Service Pack 1 сборка 7601 Изготовитель ОС: Microsoft Corporation Параметры ОС: Изолированная рабочая станция Сборка ОС: Multiprocessor Free Зарегистрированный владелец: User Зарегистрированная организация: Код продукта: XXXXX-OEM-YYYYYYY-ZZZZZ Дата установки: 03.09.2014, 15:03:15 Время загрузки системы: 05.09.2014, 13:13:12 Изготовитель системы: To be filled by O.E.M. Модель системы: To be filled by O.E.M. Тип системы: x64-based PC Процессор(ы): Число процессоров - 1. [01]: AMD64 Family 21 Model 2 Stepping 0 Authe nticAMD ~3500 МГц Версия BIOS: American Megatrends Inc. 2501, 09.04.2014 Папка Windows: C:\Windows Системная папка: C:\Windows\system32 Устройство загрузки: \Device\HarddiskVolume1 Язык системы: ru;Русский Язык ввода: en-us;Английский (США) Часовой пояс: (UTC+04:00) Ереван Полный объем физической памяти: 8 094 МБ Доступная физическая память: 5 372 МБ Виртуальная память: Макс. размер: 20 231 МБ Виртуальная память: Доступна: 17 112 МБ Виртуальная память: Используется: 3 119 МБ Расположение файла подкачки: C:\pagefile.sys Домен: WORKGROUP Сервер входа в сеть: \\MYWORKSTATION Исправление(я): Число установленных исправлений - 4. [01]: KB958830 [02]: KB2505454 [03]: KB958488 [04]: KB976902 Сетевые адаптеры: Число сетевых адаптеров - 1. [01]: Realtek PCIe GBE Family Controller Имя подключения: Подключение по локальной сети DHCP включен: Нет IP-адрес [01]: 192.168.0.121 [02]: fe80::4031:4080:3c2e:4b3b Могут быть также и другие причины для появления сообщения о невозможности запуска Hyper-V: • У Вас операционная система Windows 8 32-бит. [Ссылки] 1. Установка менеджера Hyper-V на Windows 7, 8 site:free4blog.ru. |