Что такое виртуализация в windows. Обзор бесплатной версии Hyper-V




Не так давно вышла очередная новая версия Windows Server 2016. Вместе с ним обновился и бесплатный гипервизор от Microsoft — Windows Hyper-V Server 2016. Его можно свободно скачать и использовать на свое усмотрение. Как обычно, первоначальная настройка сложна и не очевидна, придется немного повозиться для получения приемлемого функционала.

Введение

Дальше выполняете установку стандартным способом, как и любую другую систему. Загружаетесь с iso образа и следуете по шагам инсталлятора. Каких-то нюансов или проблем с тем, чтобы установить hyper-v server нет, так что я не буду заострять на этом внимание. Обращу внимание только на самый конец установки. У меня появилось вот такое окно:

При этом я не мог ничего сделать или выбрать. Я нажал ctrl+alt+delete и появилось предложение задать пароль администратора. Я сделал это, установка завершилась, загрузилось окно со стандартным интерфейсом управления:

Если вы по какой-то причине закроете это окно, вызвать его снова можно в командной строке с помощью команды sconfig .

Настройка Hyper-V Server 2016

Сразу же выполняем первоначальную настройку Hyper-V Server 2016 через стандартную консоль управления:

  1. Указываете рабочую группу, если вас не устраивает стандартная.
  2. Меняем имя сервера на что-то более осмысленное и понятное.
  3. Добавьте еще одного администратора. Это нужно сделать, чтобы иметь еще одну админскую учетную запись, отличную от administrator. В дальнейшем рекомендую все настройки и подключения выполнять под этой учетной записью.
  4. Разрешаем удаленное управление, в том числе ping.
  5. Автоматическое обновление оставляю на ваше усмотрение. Я обычно отключаю и все делаю вручную.
  6. Рекомендую сразу проверить обновления и установить их.
  7. Включаем Remote Desktop со всеми версиями клиента.
  8. Указываем сетевые настройки. Стандартно стоит dhcp, рекомендую установить адрес статически.
  9. Настройте время, если по-умолчанию стоит не правильное.
  10. Настройки телеметрии полностью отключить нельзя. Такой вот микрософт. Не приходится удивляться, с учетом нововведений в последних версиях системы.

Быстренько пробежались по основным настройкам hyper-v server 2016. Теперь бы сразу начать установку виртуальных машин, но, к сожалению, пока это не получится сделать. Нам надо каким-то образом подключиться к серверу с помощью панели управления. Пока нам доступен только rdp доступ, но этого не достаточно.

Удаленное подключение и управление Hyper-V Server 2016

Подключаемся по rdp к серверу, чтобы было удобно копировать и вставлять длинные команды в командную строку. В консоли cmd переходим в powershell , просто введя команду:

Powershell

Вводим команды для настройки разрешений на фаерволе для удаленного управления:

Set-NetFirewallRule -DisplayGroup "Windows Management Instrumentation (WMI)" -Enabled true -PassThru Set-NetFirewallRule -DisplayGroup "Remote Event Log Management" -Enabled true -PassThru Set-NetFirewallRule -DisplayGroup "Remote Volume Management" -Enabled true -PassThru

Теперь переходим на клиентскую систему. Напоминаю, что в моем случае это Windows 10 Корпоративная. Заходить на нее нужно под учетной записью с теми же параметрами, что создана на гипервизоре. Добавьте такого же пользователя и работайте под ним. Это обязательное условие для подключения к управлению непосредственно сервером, его службам, дисковой подсистемой и т.д. Для подключения только для управления ролью hyper-v иметь одинаковую с сервером учетку не обязательно, в конце я расскажу, как это сделать.

Первым делом создадим запись в файле hosts с именем сервера hyperv. В моем случае эта запись выглядит так:

192.168.1.100 hyperv2016

Убедитесь, что с клиентской машины вы пингуете гипервизор по имени. Теперь нам нужно проверить, чтобы в настройках сетевого адаптера текущее сетевое подключение было указано, как подключенное к частной сети. Это нужно для того, чтобы было включено сетевое обнаружение устройств. Речь вот о чем:

По-умолчанию этот параметр включен для частных сетей и выключен для общедоступных. Можете либо включить его и для общедоступных, либо поменять параметр сетевого соединения на частную сеть. Сделать это можно в соседнем разделе панели управления:

Я не сразу смог найти, где это сделать, поэтому подсказываю вам. Продолжаем настройку хоста для подключения к hyper-v server 2016. Запускаем cmd от администратора и переходим в powershell. Выполняем команду:

Winrm quickconfig

Обязательно жмите Y и продолжайте. Вводим следующую команду, которая разрешает управление удаленными системами:

Winrm set winrm/config/client "@{TrustedHosts="hyperv2016"}"

В данном примере, hyperv2016 — имя моего гипервизора.

При копировании приведенной выше команды обратите внимание на одинарные и двойные кавычки. Они могут измениться при копировании/вставке. В итоге вы получите ошибку во время выполнения команды. При необходимости отредактируйте их вручную.

Теперь нам нужно изменить еще один параметр. Запускаем оснастку dcomcnfg.exe , выполнив эту команду в cmd. Открывается оснастка управления службой компонентов.

Выполняем последовательность действий, указанных на картинке. Дальше надо установить стандартную оснастку для управления hyperv. Для этого идем в Панель управления -> Программы -> Включение или отключение компонентов Windows . Выбираем там Средства управления Hyper-V и устанавливаем их. Дожидаемся окончания установки и пробуем подключиться к удаленному серверу:

Если все сделали правильно, вы подключитесь к серверу и у вас появится возможность им управлять.

Расскажу еще об одном нюансе. Вы можете подключиться к удаленному hyper-v серверу, даже если работаете не под той учетной записью, что имеет административные права на гипервизоре. При подключении есть возможность ввести параметры другого пользователя. Но чтобы эта возможность заработала, необходимо выполнить ряд действий как на сервере, так и на клиенте. Для начала надо изменить один параметр в локальной политике компьютера. Для этого выполняем в cmd команду gpedit . Откроется оснастка управления локальными политиками компьютера. Идем по пути: Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных -> Разрешить передачу новых учетных данных с проверкой подлинности сервера «только NTLM» . Включаем ее и добавляем запись:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value "hyperv2016" Enable-WSManCredSSP -Role client -DelegateComputer "hyperv2016"

Теперь надо внести некоторые изменения на самом гипервизоре. Подключаемся к нему по rdp, переходим в cmd, запускаем powershell и выполняем команды:

Enable-PSRemoting Enable-WSManCredSSP -Role server

После этого можете работать под привычным пользователем компьютера, но при этом подключаться к hyper-v server 2016 под другой учетной записью и управлять им.

Самое трудное сделали. Теперь мы можем свободно подключаться и управлять гипервизором. Забыл упомянуть о том, как подключиться к управлению самим сервером, то есть как посмотреть список дисков, службы, почитать логи и т.д. Делается это очень просто. Заходите на компьютер под той же учетной записью, что является администратором на гипервизоре. Запускаете стандартную оснастку «Управление компьютером», выбираете локальный компьютер, жмете правой правой кнопкой мыши и выбираете подключиться к другому компьютеру:

Пишите имя сервера и подключаетесь к нему. Вам доступны все разделы управления компьютером, кроме диспетчера устройств. К нему почему-то не получается подключиться, возникает ошибка. Я подробно не разбирался в чем дело и как ее исправить.

Настройка виртуальных коммутаторов

Перед тем, как мы приступим к установке виртуальных машин, подготовим для них сеть. Я не буду подробно рассказывать о нюансах работы сети в hyper-v. Это не тема текущего повествования. Просто создадим сетевой бридж для виртуальных машин. В оснастке управления выбираем справа «Диспетчер виртуальных коммутаторов», выбираем тип «Внешняя». Указываете имя коммутатора. Я рекомендую давать осмысленные названия, чтобы было проще потом управлять. Если это бридж в локальную сеть, то назовите виртуальный коммутатор local.

Сохраняйте настройки. Вы увидите предупреждение о том, что сетевые соединения будут сброшены. Все в порядке, соглашайтесь. Будет создан новый виртуальный сетевой интерфейс с теми же настройками, что были у физического. Но здесь есть один важный нюанс. Если ваш сервер получал сетевые настройки по dhcp, то он скорее всего получит новый ip адрес. Имейте это ввиду.

Создание виртуальных машин

Мы почти закончили настройку Windows Hyper-V Server 2016 и готовы приступить к установке виртуальных машин. Надо только загрузить iso образ на гипервизор. Тут все очень просто. Открываем в проводнике на управляющей машине удаленный диск через стандартную возможность windows машин, создаем папку iso и загружаем нужный образ.

Так же я рекомендую сразу загрузить какой-нибудь файловый менеджер для удобной навигации по папкам на самом гипервизоре. Лучше использовать портированную версию. Запустить этот менеджер можно будет через командную строку, подключившись по rdp

Теперь все готово к созданию виртуальных машин. Сделайте несколько тестовых, а дальше мы научимся их бэкапить.

Бэкап виртуальных машин Hyper-V

Ранее я уже рассказывал про программу . Она замечательно работает с Windows Hyper-V Server 2016, приведенная статья полностью актуальна. Для работы программы необходимо установить на гипервизоре .Net Framework 3.5 с помощью команды powershell:

Install-WindowsFeature NET-Framework-Core

Программа, конечно, монструозная, весит много, ставится долго, но зато никаких заморочек. Все настраивается легко и понятно через интерфейс программы. После установки запускаете программу. Добавляете новый сервер:

Указываете, что это Standalone Hyper-V server, добавляете учетные данные и дожидаетесь окончания установки необходимых компонентов на hyperv сервере. После этого можно создать резервную копию виртуальной машины. Для этого выберите гипервизор, виртуальную машину, которую хотите забэкапить и жмите правой кнопкой мыши по ней. Выбираете VeeamZIP:

Дальше указываете место, куда будет сохранен бэкап и все. Запускаете задание и ждете окончания процесса. Бэкапить можно в любое место, куда есть доступ с машины, на которую установлен сам veeam. Можете подключить сетевой диск и бэкапить в него.

Подключение к Hyper-V Server 2016 с Windows 7

Рассмотрим еще один вариант подключения к бесплатному hyper-v, когда у вас в наличие только операционная система Windows 7. Вам нужно создать виртуальную машину, либо изменить настройки существующей, завершить ее работу, или наоборот запустить. Оснастку управления Hyper-V на Windows 7 поставить не получится. На помощь придет программа 5nine Manager Free . Скачать ее можно либо с указанного сайта, но нужна регистрация, после которой на почту придет ссылка для скачивания и файл с лицензией. Для нормальной установки требуется.NET Framework 4.5 или выше. Если в системе он не будет установлен, то инсталлятор просто не начнет установку, даже не сказав почему. Мне пришлось читать руководство, чтобы разобраться, почему на один компьютер у меня нормально ставится программа, а на другой не хочет.

Если нет стандартной оснастки, эта программа выручает. Сам ей частенько пользуюсь при необходимости.

Заключение

Постарался рассмотреть все наиболее значимые аспекты в работе с бесплатным гипервизором от Microsoft. Сам еще не проверял его в работе и особо не интересовался нововведениями, пока не было времени. Смотрел на него только в тестовых стендах. Можете сравнить его с бесплатным гипервизором на kvm — proxmox, который я рассматривал в своей статье у .

Самым большим преимуществом последнего является возможность установки на программный рейд. Hyper-V сервер я никогда не пробовал установить на программный рейд, я даже не знаю, возможно ли это. Так что использовать его можно только там, где есть аппаратный рейд, либо в тестовых вариантах. Лично я никогда не ставлю гипервизоры в продакшн на одиночные диски. Все остальное дело привычки и удобства. В proxmox мне нравится управление через web браузер. Не нужно ничего ставить на компьютер. После установки гипервизор сразу готов к работе.

онлайн-курсом «Администратор Linux» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Что даст вам этот курс:

  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по.

Если на вашем компьютере установлена Windows 10 Pro или Enterprise, вы можете не знать, что эта операционная система имеет встроенную поддержку виртуальных машин Hyper-V. Т.е. все что нужно, чтобы установить Windows (и не только) в виртуальную машину уже имеется на компьютере. Если у вас домашняя версия Windows, вы можете .

Обычный пользователь может не знать, что такое виртуальная машина и зачем она может пригодиться, я постараюсь это объяснить. «Виртуальная машина» - это своего рода программно запущенный отдельный компьютер, если еще более просто - Windows, Linux или другая ОС, запущенная в окне, со своим собственным виртуальным жестким диском, системными файлами и прочим.

Как это сделать:

  1. В диспетчере Hyper-V слева в списке выберите второй пункт (имя вашего компьютера).
  2. Кликните правой кнопкой мыши по нему (или пункт меню «Действие») - Диспетчер виртуальных коммутаторов.
  3. В диспетчере виртуальных коммутаторов выберите «Создать виртуальный сетевой коммутатор, «Внешняя» (если нужен Интернет) и нажмите кнопку «Создать».
  4. В следующем окне в большинстве случаев что-либо менять не нужно (если вы не специалист), разве что можете задать свое собственное имя сети и, если у вас есть и Wi-Fi адаптер и сетевая карта, выберите в пункте «Внешняя сеть» тот и сетевых адаптеров, который используется для доступа в Интернет.
  5. Нажмите Ок и дождитесь, когда будет создан и настроен виртуальный сетевой адаптер. В это время соединение с Интернетом может пропадать.

Готово, можно переходить к созданию виртуальной машины и установки Windows в нее (можно поставить и Linux, но по моим наблюдениям, в Hyper-V его производительность оставляет желать лучшего, рекомендую Virtual Box для этих целей).

Создание виртуальной машины Hyper-V

Также, как и на предыдущем этапе, кликните правой кнопкой мыши по имени вашего компьютера в списке слева или нажмите пункт «Действие» меню, выберите «Создать» - «Виртуальная машина».

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

Следующий этап позволяет выбрать поколение виртуальной машины (появилось в Windows 10, в 8.1 этого шага не было). Внимательно прочтите описание двух вариантов. По сути, поколение 2 представляет собой виртуальную машину с UEFI. Если вы планируете много экспериментировать с загрузкой виртуальной машины с различных образов и установкой разных операционных систем, рекомендую оставить 1-е поколение (виртуальные машины 2-го поколения загружаются не со всех загрузочных образов, только UEFI).

Третий шаг - выделение оперативной памяти для виртуальной машины. Используйте тот размер, который требуется для планируемой к установке ОС, а лучше даже больше, учитывая при этом, что эта память на время работы виртуальной машины будет недоступна в вашей основной ОС. Отметку «Использовать динамическую память» я обычно снимаю (люблю предсказуемость).

Виртуальный жесткий диск подключается или создается на следующем шаге. Укажите желаемое место его расположения на диске, имя файла виртуального жесткого диска, а также задайте размер, которого будет достаточно для ваших целей.

После нажатия «Далее» вы можете задать параметры установки. Например, установив пункт «Установить операционную систему с загрузочного компакт-диска или DVD», можно указать физический диск в приводе или файл образа ISO с дистрибутивом. В данном случае при первом включении виртуальная машина загрузится именно с этого накопителя и можно будет сразу установить систему. Также можно сделать это в дальнейшем.

Вот и все: вам покажут своду по виртуальной машине, а по нажатию кнопки «Готово» она будет создано и появится в списке виртуальных машин диспетчера Hyper-V.

Запуск виртуальной машины

Для того, чтобы запустить созданную виртуальную машину, вы можете просто дважды кликнуть по ней в списке диспетчера Hyper-V, а в окне подключения к виртуальной машине нажать кнопку «Включить».

Если при ее создании вы указывали образ ISO или диск, с которого нужно загрузиться, это произойдет при первом запуске, и вы сможете установить ОС, например, Windows 7 так же, как происходит установка на обычный компьютер. Если вы не указывали образа, то сделать это можно в пункте меню «Медиа» подключения к виртуальной машине.

Обычно после установки загрузка виртуальной машины автоматически устанавливается с виртуального жесткого диска. Но, если этого не произошло, вы можете настроить порядок загрузки, кликнув по виртуальной машине в списке диспетчера Hyper-V правой кнопкой мыши, выбрав пункт «Параметры» и затем пункт настроек «BIOS».

Также в параметрах вы можете изменить размер оперативной памяти, число виртуальных процессоров, добавить новый виртуальный жесткий диск и изменить другие параметры виртуальной машины.

В заключение

Конечно, эта инструкция - лишь поверхностное описание создания виртуальных машин Hyper-V в Windows 10, всех нюансов тут не уместить. Дополнительно стоит обратить внимание на возможности создания контрольных точек, подключения физических накопителей в ОС, установленных в виртуальной машине, расширенные настройки и т.п.

Но, думаю, в качестве первого знакомства для начинающего пользователя вполне подойдет. Со многими вещами в Hyper-V можно при желании разобраться и самостоятельно. Благо, все на русском языке, достаточно хорошо пояснено, а при необходимости ищется в Интернете. А если вдруг возникнут вопросы при экспериментах - задавайте их, я буду рад ответить.

Ни для кого не секрет, что в Windows Server 2016 появилась вложенная виртуализация Hyper-V. Несмотря на то, что на момент написания статьи доступна лишь версия Technical Preview 5, уже в ней можно очень близко познакомиться с новым функционалом, о котором я и постараюсь коротко рассказать в этой статье.

Хочу отметить, что все сказанное относится к предрелизной версии и может сильно отличаться от официального релиза.

Если вам интересна тематика Windows Server, рекомендую обратиться к тегу на моем блоге.

Функция вложенной виртуализации в гипервизорах разных производителей доступна достаточно давно. Например у VMWare поддержка 64х-битных вложенных виртуальных машин была реализована в версии ESXi 5.1 и это было аж в 2011 году, не говоря о поддержке 32х-битных вложенных ОС, доступных ещё ранее. Другие вендоры также не отставали. Тем не менее, у Microsoft мы не могли увидеть такого функционала до сегодняшнего дня. Почему? Официального ответа мне найти не удалось, но можно говорить как об общей позиции (неприоритетная на то время задача), так и о чисто логических рассуждениях — в 2008 году с выходом Windows Server 2008 и последующей 2008 R2 говорить о вложенной виртуализации было не совсем актуально, ведь гипервизор был ещё во многом сыроват по многим направлениям (например max. vCPU упиралось в 4 шт.), а ситуация с конкурентами была такова, что Microsoft по сути вынужден был активно их догонять.

Архитектура

Классическая виртуализация первого типа представляет из себя гипервизор, разграничивающий доступ к оборудованию между единственным родительским и множеством гостевых разделов. При этом доступен только один уровень виртуализации — Level 1 — и использование вложенных виртуальных машин (VM внутри VM) не подразумевается. В общем виде архитектура выглядит следующим образом:

Раньше попытка развернуть роль Hyper-V внутри виртуальной машины непременно заканчивалась ошибкой:

Так происходило потому, что гипервизор намеренно маскировал от гостевых ОС наборы аппаратных инструкций (Virtualization Extensions), отвечающих за виртуализацию — Intel VT-x и AMD-V (все мы помним, что Hyper-V — это система именно аппаратной виртуализации и без поддержки функционала со стороны «железа» работать не будет).

Теперь же архитектура изменилась таким образом, что появилась возможность передачи наборов аппаратных инструкций в гостевые ОС (по умолчанию этот функционал отключен):

Все это открывает возможности для вложенной виртуализации, которая при этом не ограничена вторым уровнем (Level 2 на рис. вверху).

Примечание: в лабораторных условиях я совершенно спокойной развернул виртуальную машину с четвертой степенью вложенности.

Но как и у любой свежей технологии (в данном случае свежей именно для Microsoft), у неё есть некоторые ограничения, о которых ниже.

Ограничения

Условно можно разделить на аппаратные и программные.

Аппаратные

Аппаратные ограничения упираются в обязательную поддержку процессором Intel технологий VT-x и EPT. Если наличие VT-x было стандартным требованиям и для ранних версий Hyper-V, то необходимость в EPT появилась только сейчас и только для вложенной виртуализации:

Примечание: Intel EPT предоставляет виртуальным машинам прямой доступ к памяти, минуя гипервизор и по сути представляет из себя технологию виртуализации страниц памяти. Технология эта не нова и её можно встретить даже в давно устаревших Core 2 Quad.

И я ничего не забыл, не написав про процессоры AMD. Дело в том, что в Windows Server 2016 TP5 вложенная виртуализация на процессорах AMD пока что не поддерживается.

Программные

Программных ограничений значительно больше:

  1. Использование Windows Server 2016 или Windows 10 как в родительском, так и в гостевых разделах;
  2. Виртуальная машина с версией конфигурации 8.0 и выше;

Примечание: в Windows Server 2016 изменился формат хранения файлов конфигурации виртуальных машин. Если верить разработчикам, то новый формат стал более надежным, также появилась поддержка новых функций, которые будут недоступны при использовании виртуальных машин со старой версией конфигурации (для Windows Server 2012 R2 эта версия — 5.0).

Для вложенных виртуальных машин не поддерживается:

  1. Динамическая память;
  2. Динамическая миграция;
  3. Снимки виртуальных машин и состояния Save/Restore;

Важно помнить, что если вы собрались выпускать вложенные виртуальные машины во внешнюю сеть, то на виртуальном адаптере «хостовой» виртуальной машины будет поднят виртуальный свитч и на нем будут несколько виртуальных сетевых адаптеров, а значит несколько MAC-адресов, а значит надо включать спуфинг MAC-адресов на адаптере . Это тоже в некотором смысле ограничение.

Есть и обходной вариант — использовать NAT (это тоже новый функционал, о котором расскажу ниже).

Применение

У тех, кто встретился с вложенной виртуализацией впервые, может возникнуть вопрос об области её применения. Остановимся на этом более подробно.

Наиболее адекватными сценариями представляются тестирование и разработка. В продакшене вы конечно можете использовать полностью вложенную виртуальную инфраструктуру, но непременно столкнетесь с падением производительности вложенных экземпляров.

Мне стало интересно проверить на реальной среде падение производительности ЦП внутри виртуальных машин разной степени вложенности. Для этого я использовал Hot CPU Tester Pro. Хоть и тестирование получилось исключительно субъективное, но оно как минимум намекает на существенное падение отдачи CPU:

Примечание: для измерения индекса производительности ЦП я просто запускал тест по очереди сначала на хосте (при этом все VM были заглушены), потом включал виртуальную машину и измерял индекс внутри неё, выделив максимально возможное количество vCPU. Следующим шагом был запуск VM внутри этой VM и измерение индекса производительности уже внутри виртуальной машины второй вложенности и т.д.

Моего терпения хватило только для развертывания экземпляра третьей вложенности.

Настройка

Для возможности использовать вложенную виртуализацию, необходимо выполнить ряд настроек на хостовой ОС. Приступаем.

Обновление версии VM

Если по каким-либо причинам ваша виртуальная машина имеет версию конфигурации ниже 7.1 (например она смигрировала на ваш Hyper-V с предыдущих версий Technical Preview), то обязательно обновляем конфигурацию вручную, нажав правой кнопкой по VM и выбрав Обновить версию конфигурации :

Или через Powershell:

PowerShell

Update-VMVersion -Name "vm_name"

Update-VMVersion -Name "vm_name"

Последний вариант удобен при массовом обновлении виртуальных машин. Обновить все VM враз можно командой Get-VM | Update-VMVersion .

Активирование вложенной виртуализации

По умолчанию гипервизор все также маскирует аппаратные наборы инструкций, отвечающих за виртуализацию, не передавая их гостевым ОС, как я и упоминал ранее. Чтобы изменить это поведение, необходимо выполнить команду:

Shell

Set-VMProcessor -VMName VMName -ExposeVirtualizationExtensions $true

Set - VMProcessor - VMName VMName - $true

Изменение опции ExposeVirtualizationExtensions доступно только через Powershell.

Спуфинг MAC-адресов / NAT

Если вы планируете настроить сеть вложенных виртуальных машин таким образом, чтобы все они находились в реальной локальной сети, то на одном единственном сетевом адаптере «хостовой» виртуальной машины будут висеть несколько MAC-адресов. Это ожидаемо вызовет проблемы со связью, если не активирована настройка Включить спуфинг MAC-адресов (а она не активирована по умолчанию).

Ставим галочку вручную:

Или через Powershell:

Shell

Get-VMNetworkAdapter -VMName "vm_name" | Set-VMNetworkAdapter -MacAddressSpoofing On

Get - VMNetworkAdapter - VMName "vm_name" | Set - VMNetworkAdapter - MacAddressSpoofing On

Если же вы не планируете выпускать вложенные VM в локальную сеть, но все же хотите обеспечить их возможностью коммуникаций по сети, можно поднять NAT. Для этого необходимо создать виртуальный коммутатор внутреннего типа командой (на данный момент настройка NAT возможна только через Powershell):

Примечание: если до этого момента все настройки производились на хостовой ОС, то NAT настраивать нужно внутри виртуальной машины.

Shell

New-VMSwitch -Name "NAT 01" -SwitchType Internal

New - VMSwitch - Name "NAT 01" - SwitchType Internal

Создаем NAT:

Shell

New-NetNat -Name "name" –InternalIPInterfaceAddressPrefix "ip-address/netmask"

New - NetNat - Name "name" –InternalIPInterfaceAddressPrefix "ip-address/netmask"

Обратите внимание, что на этом этапе нужно определиться с подсетью, которая будет использоваться за NAT-ом. Разумеется диапазон адресов не должен пересекаться с реальными диапазонами в вашей локальной сети.

Назначаем адрес для интерфейса.

Изначально был компонентом серверных версий Windows. На десктопах технология виртуализации от Microsoft получила реализацию в Windows 8. Отличительной особенностью Hyper-V является ее максимальная интеграция в операционную систему, что и определяет ее бесконфликтную работу. Программа создает виртуальные машины двух разновидностей (поколений). Второе поколение обеспечивает неплохой прирост производительности, но совместимо исключительно с 64-битными версиями Windows 8.1 и новее, и серверными системами не старше Windows Server 2012. Новая виртуальная машина поддерживает опцию изменения размера виртуального жесткого диска. Полноценное взаимодействие между физическим компьютером и виртуальной машиной реализовано за счет использования стандартной функции удаленного рабочего стола.

Преимущества и недостатки Hyper-V

Высокая производительность, гибкая настройка потребления ресурсов (поскольку виртуальная машина напрямую обращается к аппаратным ресурсам);
+ виртуальная машина не прекращает работать в фоновом режиме;
+ быстрая работа виртуального жесткого диска в фирменном формате VHDX
- по умолчанию гостевая ОС не работает с флеш-картами и USB-накопителями, не воспроизводит звук;
- буфер обмена по умолчанию односторонний (с физического компьютера – в гостевую ОС);
- установка виртуальной машины 2-го поколения производится только из сети или через ISO-образ.

Основные возможности

  • выделение памяти и места на жестком диске для виртуальной гостевой операционной системы;
  • интернет-доступ из созданной виртуальной ОС;
  • быстрый запуск и отключение виртуальной машины;
  • предусмотрена опция установки в качестве гостевой ОС Linux;
  • создание локальной сети между системами на виртуальной машине;
  • запись контрольных точек, фиксирующих состояние ОС, которая установлена виртуально;
  • копирование и восстановление виртуальных ОС;
  • перенос виртуального HDD с одного на другой компьютер.

В тройке лидеров на рынке софта для виртуализации операционных систем – VMware, VirtualBox и Hyper-V – последний гипервизор занимает особое место. Такое особое место обусловлено тем, что Hyper-V является штатным компонентом серверных систем Windows и некоторых версий Windows для настольных ПК. Уступая VMware Workstation и VirtualBox в функциональности, кроссплатформенности и отчасти в удобстве пользования, Hyper-V, тем не менее, не лишен своих преимуществ. И главное из них – более высокая производительность гостевых ОС.

Ниже речь пойдет об активации Hyper-V в системе Windows 10 и создании средствами этого гипервизора виртуальной машины.

1. Hyper-V - штатный гипервизор от Microsoft

Штатный компонент Hyper-V система Windows 10 унаследовала от версий Windows 8 и 8.1, а в них гипервизор перекочевал из Windows Server. И Windows 8.1, и Windows 10 опционально предусматривают компонент Hyper-V в редакциях Pro и Enterprise. Работа гипервизора возможна только в 64-битных системах.

Длительное время Hyper-V не поддерживал никаких иных гостевых ОС, кроме как Windows. Однако относительно недавно компания Microsoft позаботилась о поддержке гипервизором гостевой ОС Linux. И сегодня с помощью Hyper-V можно тестировать некоторые дистрибутивы Linux, в частности, популярный Ubuntu.

2. Требования для работы Hyper-V

Минимальный объем оперативной памяти физического компьютера для работы Hyper-V – 4 Гб.

Процессор компьютера должен поддерживать технологию SLAT (Intel EPT или AMD RVI). Практически все современные процессоры соответствуют этому требованию.

Другое требование к процессору, также предусматриваемое многими современными моделями – поддержка технологии аппаратной виртуализации и, соответственно, ее активное состояние в BIOS. В BIOS материнских плат для процессоров Intel такая технология (в зависимости от версии) может называться по-разному – Intel-VT, Intel Virtualization Technology, Intel VT-x, Vanderpool или Virtualization Extensions. У AMD технология аппаратной виртуализации называется AMD-V или SVM (Secure Virtual Machines). Например, в AMI BIOS версии 17.9 функцию аппаратной виртуализации процессора AMD можно найти по пути Cell Menu – CPU Feature – SVM Support.

У процессоров AMD функция аппаратной виртуализации, как правило, включена по умолчанию. Поддерживает ли конкретная модель процессора аппаратную виртуализацию, этот момент можно выяснить на сайтах компаний Intel и AMD.

3. Активация и запуск Hyper-V

Hyper-V в комплекте Windows 10 Pro и Enterprise поставляется опционально. Изначально штатный гипервизор отключен. Включается он в разделе панели управления «Программы и компоненты». Самый быстрый способ попасть туда – внутрисистемный поиск.

Запускаем «Включение и отключение системных компонентов».

В появившемся небольшом окошке галочкой отмечаем все подпункты пункта Hyper-V. Жмем «Ок».

Система пару секунд будет применять изменения и попросит перезагрузку. После перезагрузки ищем ярлык запуска диспетчера Hyper-V. Ярлык диспетчера Hyper-V можно сразу закрепить на начальном экране Windows 10, найдя его в средствах администрирования меню «Пуск».

Доступ к ярлыку диспетчера Hyper-V также можно получить с помощью внутрисистемного поиска.

Запускаем диспетчер Hyper-V.

4. Настройка доступа к сети

В диспетчере Hyper-V сеть настраивается отдельным этапом, и сначала нужно создать виртуальный коммутатор – параметр, обеспечивающий доступ к сети. Делаем клик на названии физического компьютера, а в правой части окна выбираем «Диспетчер виртуальных коммутаторов…».

Запустится мастер создания виртуального коммутатора, где первым делом нужно выбрать тип сети. Их три:

  • Внешняя – этот тип использует сетевую карту или адаптер Wi-Fi физического компьютера и подключает виртуальную машину к той же сети, в которой находится физический компьютер. Соответственно, это тип сети, предусматривающий доступ виртуальной машины к Интернету;
  • Внутренняя – этот тип обеспечивает сеть между физическим компьютером и виртуальными машинами Hyper-V, но не предусматривает их доступ к Интернету;
  • Частная – этот тип позволяет создать сеть между виртуальными машинами Hyper-V, но в этой сети не будет физического компьютера, равно как и не будет выхода в Интернет.

В нашем случае доступ виртуальной машины к Интернету необходим, потому выберем первый тип - внешнюю сеть. Жмем «Создать виртуальный коммутатор».

В окне свойств виртуального коммутатора задаем ему имя, это может быть какое угодно имя, например, «Сетевая карта 1». При необходимости виртуальному коммутатору можно добавить примечание. Если физический компьютер имеет на борту и сетевую карту, и адаптер Wi-Fi, конкретное устройство, посредством которого виртуальная машина будет подключаться к сети, можно выбрать из выпадающего списка в графе «Тип подключения». После проделанных настроек жмем «Применить» внизу окна.

5. Создание виртуальной машины

Теперь можно приступить непосредственно к созданию виртуальной машины. Слева в окне Hyper-V выбор по-прежнему должен быть на названии физического компьютера. В правом углу вверху жмем «Создать», затем – соответственно, «Виртуальная машина».

В приветственном окне запустившегося мастера жмем «Далее».

Задаем виртуальной машине имя; также можно сменить ее месторасположение на диске физического компьютера, указав нужный раздел диска и нужную папку с помощью кнопки обзора. Жмем «Далее».

Одна из относительно новых возможностей Hyper-V – выбор поколения виртуальной машины. В нашем случае выбрано поколение 2.

Что это значит? Поколение 1 – это виртуальные машины, поддерживающие 32- и 64-битные системы Windows. Поколение 1 совместимо с прежними версиями Hyper-V.

Поколение 2 – виртуальные машины нового формата со встроенным программным обеспечением на базе UEFI. Такие виртуальные машины поддерживают ряд новых возможностей и способны обеспечить небольшой прирост производительности. На виртуальные машины поколения 2 в качестве гостевых ОС устанавливаются только 64-битные версии Windows 8.1 и 10, а также серверные Windows Server 2012, Server 2012 R2 и Server 2016.

Платформа UEFI обуславливает еще одно требование для использования виртуальных машин поколения 2 – загрузочный носитель UEFI. Этот момент необходимо уточнять, скачивая ISO-образ с дистрибутивом Windows со сторонних источников в Интернете. Но лучше все же скачивать дистрибутивы Windows с официальных источников компании Microsoft. Так, утилита Media Creation Tool, скачивающая с сайта Microsoft дистрибутивы Windows 8.1 и , на выходе создает загрузочный ISO-образ, поддерживающий среду UEFI.

В случае установки в качестве гостевой ОС Windows 10 именно такой способ получения ISO-образа системы и рекомендуется. Windows 10 предусматривает процесс установки с возможностью отложенного ввода . В нашем случае в качестве гостевой ОС будет установлена Windows 8.1, а ее официальный дистрибутив, получаемый с помощью утилиты Media Creation Tool, в процессе установки требует ввод ключа продукта. Обеспечить поддержку среды UEFI и воспользоваться бесплатной возможностью протестировать систему Windows 8.1 поможет сайт Центра пробного ПО TechNet. На этом сайте можно скачать англоязычную редакцию 64-битной Windows 8.1 Корпоративная и бесплатно тестировать систему целых 3 месяца. Проблему с отсутствием поддержки русского языка после установки системы можно решить отдельно, установив языковой пакет и настроив русский основным языком системы.

Возвращаемся к мастеру создания виртуальной машины. В окне выделения памяти оставляем предустановленные параметры, если физический компьютер имеет не более 4 Гб оперативной памяти. Если ее больше 4 Гб, можно увеличить показатель, выделяемый при запуске виртуальной машины. Для гостевой Windows ХР показатель оперативной памяти можно, наоборот, уменьшить до 512 Мб. Жмем «Далее».

В окне настроек сети из выпадающего списка выбираем ранее созданный виртуальный коммутатор. Жмем «Далее».

В окне подключения виртуального жесткого диска задаем виртуальной машине имя, указываем расположение на диске физического компьютера, указываем размер. Это параметры создания нового жесткого диска. Второй пункт этого шага мастера используется, когда на компьютере уже имеется виртуальный жесткий диск, в частности, с установленной гостевой ОС. При выборе виртуальной машины поколения 2 файл такого виртуального жесткого диска должен иметь формат VHDX (а не VHD), а гостевая ОС должна поддерживать среду загрузки UEFI. Жмем «Далее».

Если в предыдущем шаге мастера выбран пункт создания нового виртуального жесткого диска, следующим шагом будет указание пути к дистрибутиву Windows. Виртуальные машины поколения 2 уже не предусматривают загрузку с физического CD/DVD-привода. Источниками загрузки дистрибутива гостевой ОС могут быть только сеть и ISO-образ. В нашем случае это ISO-образ. Жмем «Далее».

Завершающий этап мастера – жмем «Готово».

6. Подключение виртуальной машины

Создав виртуальную машину, вернемся в окно диспетчера Hyper-V. Теперь ее нужно подключить. Для этого существует команда «Подключить» в числе прочих команд контекстного меню, вызываемого на виртуальной машине. Команда «Подключить» присутствует и в правой части окна диспетчера Hyper-V. Для подключения также можно сделать двойной клик левой клавишей мыши на окошке-превью выбранной виртуальной машины.

В открывшемся окне подключения жмем зеленую кнопку запуска.

Последует обычный процесс установки Windows 8.1, как это происходило бы на физическом компьютере.

Как только начнется копирование файлов установки, можно закрыть окно подключения к виртуальной машине и заняться другими делами.

Закрытие окна подключения высвободит какие-то ресурсы физического компьютера для выполнения других задач, при этом виртуальная машина продолжит свою работу в фоновом режиме. Ее рабочие показатели будут отображаться в диспетчере Hyper-V.

Подключаться к виртуальной машине можно по мере необходимости выполнения в ней действий.

Все – Windows 8.1 установилась. Выключить, приостановить, сохранить виртуальную машину или сбросить ее состояние можно и командами в диспетчере Hyper-V, и кнопками на верхней панели окна подключения.

7. Приоритет загрузки

Чтобы в дальнейшем при запуске виртуальной машины не терять время на окно загрузки с CD/DVD-диска, нужно в выключенном ее состоянии открыть окно параметров и убрать путь к ISO-файлу с дистрибутивом. Это делается во вкладке DVD-привода настроек оборудования виртуальной машины.

Альтернативный вариант – поднять жесткий диск в приоритете загрузки выше DVD-привода (но не выше файла «bootmgfw.efi»). Это делается во вкладке «Встроенное ПО» настроек оборудования.

В обоих случаях проделанные изменения сохраняются кнопкой «Применить» внизу.

8. Обход ограничений окна подключения Hyper-V

Во главу угла работы гипервизора Hyper-V поставлена производительность виртуальных машин, а не функциональность. В отличие от своих конкурентов – VMware и VirtualBox – виртуальные машины Hyper-V не работают с подключенными флешками, не воспроизводят звук, а взаимодействие с физическим компьютером осуществляется только вставкой внутри гостевых ОС текста, скопированного в основной ОС. Такова цена производительности виртуальных машин Hyper-V. Но это если работать с обычным окном подключения Hyper-V.

Полноценную интеграцию физического компьютера и виртуальной машины можно получить с помощью штатной утилиты подключения к удаленному рабочему столу.

Эта утилита позволяет гибко настроить параметры подключения, в частности, сделать доступными внутри виртуальной машины не только подключенные к физическому компьютеру USB-накопители, но и отдельные разделы жесткого диска.

Подключение к виртуальной машине таким образом обеспечит в гостевой ОС воспроизведение звука и двустороннюю передачу файлов.

Отличного Вам дня!