виртуализация hyper v windows 10 что это
Hyper-V для разработчиков под Windows 10
Hyper-V более известен как технология виртуализации серверов; однако, начиная с Windows 8, он также доступен в клиентской операционной системе. В Windows 10 мы значительно улучшили работу, сделав Hyper-V отличным решением для разработчиков и ИТ-специалистов.
Microsoft Hyper-V, кодовое название Viridian, — это нативный (тип 1) гипервизор, который, в отличие от VMware Workstation, VirtualBox и других гипервизоров типа 2, работает непосредственно на оборудовании. Впервые он был выпущен в Windows Server 2008 и позволяет запускать виртуальные машины в системах x86-64.
Hyper-V позволяет разработчикам быстро разгонять виртуальные машины для разработки на Windows 10 с превосходной производительностью, но он также используется в нескольких других функциях разработки в качестве серверной технологии, например, в таких как эмулятор Android, подсистема Windows для Linux 2 (WSL2) или контейнеры Docker. В этой статье мы кратко рассмотрим, как Hyper-V в Windows 10 может помочь разработчикам.
Быстрое создание коллекции виртуальных машин
Во-первых, давайте начнем с одной из основных функций для создания виртуальных машин. Теперь вы можете не только создавать виртуальные машины Hyper-V, устанавливая их с помощью файла ISO; вы можете использовать Hyper-V Quick Create VM Gallery, чтобы быстро создать новую среду разработки Windows 10 или даже виртуальную машину Ubuntu. Инструмент загрузит предварительно настроенную виртуальную машину Hyper-V с Windows 10 и средой разработки Visual Studio или Ubuntu 18.04 или 19.04. При желании вы также можете создавать собственные образы виртуальных машин Quick Create и даже делиться ими с другими разработчиками.
Подсистема Windows для Linux 2 (WSL 2)
С подсистемой Windows для Linux Microsoft перенесла среду Linux на Windows 10 desktop и позволяет запускать среду GNU/Linux — включая большинство инструментов, утилит и приложений командной строки — непосредственно в Windows без изменений, без издержек полноценных виртуальных машин. В последних версиях Windows 10 Insider Preview Microsoft выпустила превью WSL 2. WSL 2 использует технологию виртуализации Hyper-V для изоляции и виртуализации WSL в серверной части. Это обеспечивает не только преимущества безопасности, но и огромный прирост производительности. Подробнее о подсистеме Windows для Linux 2 вы можете узнать здесь.
Расширенный режим сеанса для обмена устройствами с вашей виртуальной машиной
Чекпоинты
Огромным преимуществом виртуализации является возможность легко сохранять состояние виртуальной машины, что позволяет вам возвращаться назад или вперед в определенный момент времени. В Hyper-V эта функция называется контрольной точкой виртуальной машины, ранее была известна как снимок виртуальной машины.
Hyper-V знает типы контрольных точек:
Тип контрольной точки может быть установлен виртуальной машиной. Оба типа чекпоинтов имеют разные преимущества и недостатки. В последних версиях Hyper-V продакшн-контрольные точки выбираются по умолчанию. Однако вы можете легко изменить это с помощью настроек диспетчера Hyper-V или PowerShell. На моем клиентском компьютере с Windows 10 я предпочитаю использовать стандартные контрольные точки, поскольку он также сохраняет состояние памяти виртуальной машины, однако в системах с продакшн-серверами я настоятельно рекомендую использовать продакшн-контрольные точки, и даже в этом случае вам следует соблюдать осторожность.
NAT сети
Одной из особенностей, которые были очень болезненными в прошлом, была сеть. С появлением опции переключения NAT в виртуальном коммутаторе Hyper-V теперь вы можете легко подключить все ваши виртуальные машины к сети, к которой подключен ваш хост. В Windows 10 вы получите переключатель по умолчанию для подключения ваших виртуальных машин. Если этого недостаточно или вы хотите использовать виртуальный коммутатор NAT на сервере Hyper-V, вы можете использовать следующие команды для создания виртуального коммутатора и правила NAT.
Вы можете узнать больше о Hyper-V NAT сетях здесь.
Запускайте контейнеры Windows и Linux в Windows 10
Контейнеры являются одной из самых популярных технологий прямо сейчас, с Docker Desktop для Windows вы можете запускать их на своем компьютере с Windows 10. По умолчанию Windows использует технологию Hyper-V, чтобы создать дополнительную защиту между контейнером и операционной системой хоста, так называемыми контейнерами Hyper-V. Эта функция также позволяет запускать Windows и Контейнеры Linux в Windows side-by-side без необходимости запуска полной виртуальной машины Linux в Windows 10.
PowerShell Direct и HVC
Если вы хотите взаимодействовать с вашей виртуальной машиной, работающей под управлением Windows 10, вы можете использовать диспетчер Hyper-V и консоль для непосредственного взаимодействия с операционной системой. Однако есть также два других варианта, которые позволяют вам управлять виртуальными машинами и получать к ним доступ с помощью командной строки. PowerShell Direct позволяет создавать сеанс удаленного взаимодействия PowerShell для виртуальной машины с использованием шины VM, так что никаких сетей не требуется. То же самое касается виртуальных машин Linux и инструмента HVC, который позволяет создавать SSH-соединение непосредственно с виртуальной машиной. Оба варианта также позволяют копировать файлы на виртуальные машины и с них.
Это очень удобно, если вы настроили некоторую автоматизацию, и вам нужно выполнить некоторые команды на виртуальной машине.
Windows песочница
Песочница Windows — это новая функция в Windows 10, выпущенная в версии 1903. Песочница Windows использует технологию Hyper-V для предоставления Windows 10 Sandbox. Песочница позволяет раскрутить изолированную временную среду рабочего стола, где вы можете запускать ненадежное программное обеспечение. Песочница отлично подходит для демонстраций, разработки, тестирования, устранения неполадок или для работы с вредоносными программами. Если вы закроете песочницу, все программное обеспечение со всеми его файлами и состоянием будет удалено навсегда. Это виртуальные машины с Windows 10, их преимущество в том, что они встроены в Windows 10, поэтому они используют существующую ОС, что обеспечивает более быстрый запуск, лучшую эффективность и удобство в обращении без потери безопасности.
Опыт Windows Sandbox также можно настроить с помощью файлов конфигурации. Таким образом, вы можете добавить дополнительное программное обеспечение и инструменты в свою Windows Sandbox.
Windows Defender Application Guard
Это может быть не связано непосредственно с развитием. Тем не менее, я думаю, что такое происходило с каждым. Мы видим ссылку, и мы не уверены, точно ли это доверенный сайт или это вредоносный сайт. С Windows Defender Application Guard мы получаем изолированный браузер, который защищает нас от вредоносных веб-сайтов и программного обеспечения. Если пользователь переходит на ненадежный сайт через Microsoft Edge или Internet Explorer, Microsoft Edge открывает сайт в изолированном контейнере с поддержкой Hyper-V, который отделен от операционной системы хоста.
Hyper-V Battery Pass-through
Эта особенность больше об удобстве. Если вы работаете и разрабатываете внутри виртуальной машины и используете консоль виртуальной машины в полноэкранном режиме, вы можете не заметить, когда у вашего ноутбука разрядился аккумулятор. Благодаря функции Hyper-V Battery Pass-through гостевая операционная система внутри виртуальной машины знает о состоянии батареи. Функция виртуальной батареи Hyper-V включена по умолчанию и работает с виртуальными машинами Windows и Linux.
Вложенная (Nested) виртуализация
Вложенная виртуализация позволяет запускать виртуализацию на виртуальной машине, в основном, как на начальном этапе для виртуальных машин. С Hyper-V вы можете запускать Hyper-V на виртуальной машине Hyper-V. Это интересно для пары разных сценариев. Во-первых, вы можете создать виртуальный хост Hyper-V для тестирования и лабораторных работ, или, что еще важнее, вы можете запускать контейнеры Hyper-V или Windows Sandbox на виртуальной машине. И еще одна замечательная особенность Nested Virtualization: она также работает с виртуальными машинами в Microsoft Azure.
Для включения nested-виртуализации внутри Hyper-V, вы можете изучить этот гайд.
Эмулятор Visual Studio для Android
Если вы используете Visual Studio для создания приложений Android, я уверен, что вы уже использовали Эмулятор Visual Studio для Android. Фича позволяет разработчикам использовать эмулятор Android с аппаратным ускорением, не переключаясь на гипервизор Intel HAXM, что обеспечивает им еще большую производительность и скорость.
Как настроить Hyper-V на Windows 10
Теперь, как вы можете видеть, Hyper-V является отличным инструментом для разработчиков и используется для множества различных функций. Чтобы установить Hyper-V, вы должны проверить следующие требования на вашем компьютере:
Hyper-V — дитя маркетинга или реальная альтернатива?
Привет, Хабр! Сейчас я задам вам вопрос, а вы задумайтесь: Что, очень популярное и когда-то вызывавшее трепет лично у вас, сегодня вспоминается только для «поностальгировать»? Наверняка, кто-то вспомнит Dendy или Super Nintendo, а некоторые свой пейджер. Так вот, к чему это я… Есть выражение «ничто не вечно». В сегодняшней статье рассмотрим, действительно ли это так в сфере разработки и стоит отказываться от VMWare в пользу Hyper-V в вопросе виртуализации? А также затронем плюсы обеих платформ и процесс перехода с одной на другую. Заглядывайте под кат!
Передаю слово автору.
Дисклеймер:
Мы живем в удивительном времени. А, может быть, и в ужасном, смотря с какой стороны посмотреть. Сейчас возможно то, что буквально лет 20 назад я читал в фантастических книжках: будущее наступившее через 200–500–1000 лет. Полеты на другие планеты, выход за пределы нашей солнечной системы, «цветущие яблони на Марсе» — все это казалось далеким и несбыточным.
Так, собственно, к чему я это все веду. Это я к тому, что все это стало возможным благодаря (или вопреки) стремительно развивающимся компьютерным технологиям. Об одной из таких технологий сейчас и поговорим.
Эпиграф
Жила была одна компания. Ни большая, ни маленькая, ни высокая, ни низкая. Такой прям вылитый средний бизнес. Жила она себе с несколькими стойками оборудования, старого, от матери доставшегося. И наступил момент все это хозяйство обновлять. Посчитали товарищи стоимость оборудования, подумали, да надумали внедрять виртуализацию. А год был давний, из представителей славного рода универсальных виртуализаций только VMWare и была. В общем ее и внедрили. Шло время, менялись задачи, росли другие представители славного рода виртуализации. И пришло время снова выбирать себе представителя…
Главный вопрос ИТ-профессионала – «Зачем?»
(или «А нафига?»)
Позвольте представиться. Меня зовут Антон и я руковожу отделом инфраструктурных решений в одном их крупных российских ретейлеров. Как и в любой уважающей себя организации у нас используется виртуализация и, конечно же, наша всеми «любимая» 1С. Внедряли мы VMware давно, жили с ней, в принципе, неплохо (хотя историй добавивших мне седых волос тоже хватает), но, как и при любом развитии периодически приходится осматриваться вокруг, чтобы узнавать об альтернативных решениях.
А началась наша история перехода с того, что я увидел Hyper-V в одном углу вместе с VMware у квадранта Gartner. Тут-то я и призадумался. По итогу раздумий получилась вот такая табличка «за/против» перехода. А еще знаменитые косяки VMware с CBT… Прямо мнямка. Да еще и два раза в двух разных релизах. Прям огонь!
Тут же вспоминается анекдот:
«Как узнать, что человек ярый веган. Никак. Он сам вам об этом расскажет.»
Так же и тут — как узнать ярого красноглазика. Никак. Он сам расскажет, что Linux — это божья благодать, а Windows — порождение князя тьмы.
Хейтеры 2×354 тут же встанут в стойку и, брызгая жидкостями, начнут рассказывать, как обновления Microsoft ломают к чертям вообще всю ОС. Это да, тут спорить не буду, есть у товарищей любовь к таким вот веселым подарочкам. Но в целом, процесс эволюции на мой взгляд у компании Microsoft доведен до совершенства. Революция — это не их, а вот эволюция — конек. И каждый выбирает то, что ему ближе.
Сразу оговорюсь — сравнение «by feature» тоже было, только в жизни никто «в здравом уме и крепкой памяти» не будет строить кластера по предельным значениям. Да и похожи они на самом деле практически как братья близнецы, а принципиальной разницы между тем, сколько сотен ядер можно отдать одной виртуальной машине я лично не вижу.
Почему «Killer feature» от VMware во многом просто маркетинг?
Fault Tolerance. Серьезно? Вы читали ограничения? Вы реально это используете в продакшене? Если да, то мне вас искренне по-человечески жаль… За все время ни разу не видел, чтобы это кому-нибудь реально пригодилось…
Проброс USB и PCI-девайсов. Тоже очень спорный момент. Эти вещи лишают виртуалку основного преимущества виртуализации — свободной миграции между хостами. Проброс PCI мы использовали, но как только смогли отказаться — облегченно выдохнули. Для проброса USB уже давным-давно придуманы и сделаны как софтовые, так и аппаратные решения. Сильно проще.
Кэширование данных на чтение на локальные SSD. Да, когда вышла очень радовался этой возможности. Но в реальности прирост не увидел даже на синтетических данных. А в рабочей среде периодически ловил дикие зависания этой системы (тут я не утверждаю, что вина системы —возможно это мои кривые руки что-то не так настроили). И вишенка на торте: кэширует эта система только блоки определенного размера, и надо потратить много времени на сбор информации о размере запроса к диску, думать какая именно виртуалка должна быть приоритетна в использовании этой технологии.
Зато у Hyper-V есть штатная возможность уменьшить диск. Знаете, сколько раз я мечтал о таком в VMware? Гораздо больше чем можно себе это представить.
Да, еще момент. Переход на другой гипервизор — это индивидуальное решение, но вот мой список стоп-факторов, при наличии которых на мой взгляд точно не стоит переходить на Hyper-V. Ну или очень внимательно все продумать и протестировать.
Табличка размышлений
За переход на Hyper-V | Против перехода на Hyper-V |
---|---|
Сокращение расходов на лицензии VMware | Известность платформы VMware |
На базе этой же платформы построен Azure | Размер дистрибутива (спойлер: Nano Server не является аналогом esxi — это немного другая идеология и позиционирование) |
Интересная сетевая виртуализация | Простая схема лицензирования |
Репликация на другие СХД виртуалок штатными методами | Поддержка большого числа разных ОС |
Бонусы при покупке комплекта для построения виртуализации (набор CIS, в который входят Windows Datacenter + System Center) | VMware уже работает |
Различные плюшки при разворачивании Windows-серверов | Нет поддержки именно гипервизора как отдельного продукта |
Можно уменьшать диски на лету | VDI тут можно использовать только для лабы/тестов. Для продакшена это не подходит |
Более оперативная поддержка новых версий Windows | Наличие интересных законченных решений для виртуализации, когда ты у одного вендора покупаешь и железо и софт, и получаешь одну консоль управления и одно окно техподдержки |
Это Microsoft | Это Microsoft |
«Прыжок веры»
Думал и гадал бы я еще долго, но тут сошлись звезды, и мы обновили парк серверов. А старые остались, причем неплохие, только уже медленные по нынешним меркам и к тому же морально устаревшие. И было принято стратегическое решение сделать ферму для разработки на базе Hyper-V. Перетащили сервера на новую площадку, обновили все прошивки серверов и понеслась.
План тестирования был прост:
a) Для 1С тест Гилева.
a) Для 1С тест Гилева.
a) Для 1С тест Гилева.
a) Для 1С тест Гилева.
Получили вот такие результаты:
VMWare без Best Practices | Тест Гилева | Тест SQL |
---|---|---|
1 | 22.42 | 12.2 |
2 | 18.6 | 17.51 |
3 | 18.12 | 7.12 |
4 | 26.74 | 7.18 |
5 | 26.32 | 4.22 |
VMWare с Best Practices | Тест Гилева | Тест SQL |
1 | 26.46 | 4.28 |
2 | 26.6 | 6.38 |
3 | 26.46 | 4.22 |
4 | 26.46 | 6.56 |
5 | 26.6 | 4.2 |
HyperV без Best Practices | Тест Гилева | Тест SQL |
1 | 27.17 | 4.32 |
2 | 26.46 | 6.08 |
3 | 26.04 | 4.24 |
4 | 26.18 | 5.58 |
5 | 25.91 | 6.01 |
HyperV с Best Practices | Тест Гилева | Тест SQL |
1 | 26.18 | 6.02 |
2 | 27.62 | 6.04 |
3 | 26.46 | 6.2 |
4 | 26.74 | 4.23 |
5 | 26.74 | 6.02 |
Физика | Тест Гилева | Тест SQL |
1 | 35.97 | 4.06 |
2 | 32.47 | 4.04 |
3 | 31.85 | 6.14 |
4 | 32.47 | 5.55 |
5 | 32.89 | 5.43 |
Легенда
Тест Гилева — больше значит лучше, абстрактные «попугаи».
Тест SQL — меньше значит лучше, время исполнения.
1. Шаги по подготовке хоста DELL Poweredge 630.
1.1. Настраиваем хост по рекомендациям от DELL
1.1.6. Отключить ненужные девайсы в Integrated Devices — не трогал.
1.2 Настраиваем хост по рекомендации
1.2.1 Настроить Fibre Chanel HBA.
1.2.1.1 При загрузке хоста зайти в QLogic Fast!UTIL (CTRL+Q).
1.2.1.2 Выбрать первый порт.
1.2.1.11 Настроить второй порт по пунктам 1.2.1.3 – 1.2.1.10.
2. Шаги по тестированию на платформе VMware без best practices.
2.1 Устанавливаем VMware 5.5 со всеми апдейтами.
2.2 Делаем необходимые настройки на VMware (в кластер не включаем, тестим отдельно).
2.3 Устанавливаем Windows 2016 и все обновления.
2.4 Устанавливаем «1С: Предприятие». Настраиваем, если нужно пока ставим по дефолту, версия 1С — 8.3.10. (последняя).
2.5 На отдельной машине устанавливаем Windows 2016 с сервером SQL 2016 — со всеми апдейтами.
2.6 Проводим тесты (5 раз).
3. Шаги по тестированию на платформе VMware по best practices.
3.1.2 Рекомендуется включить vSphere Flash Infrastructure layer – не знаю, насколько это реализуемо в наших реалиях.
3.2 Настраиваем VM согласно рекомендациям:
3.2.2 Желательно использовать Thick provision eager zeroed.
4. Шаги по тестированию на платформе Windows Server без best practices:
4.1 Устанавливаем Windows Server 2016 Datacenter на хост и все обновления.
4.2 Делаем необходимые настройки на хосте.
4.3 Устанавливаем виртуальную машину с Windows и все обновления.
4.4 Устанавливаем «1С: Предприятие». Настраиваем, если нужно пока ставим по дефолту, версия 1С — 8.3.10 (последняя).
4.5 На отдельной машине устанавливаем Windows Server 2016 с сервером SQL 2016 со всеми апдейтами.
5. Шаги по тестированию на платформе Windows Server по best practices
Best practices изложены тут, тут и тут.
5.1 Настраиваем Host согласно рекомендациям:
5.1.1 Активировать MPIO:
Enable-WindowsOptionalFeature – Online – FeatureName MultiPathIO
(Get-WindowsOptionalFeature – Online – FeatureName «MultiPathIO»).State
5.2 Настраиваем VM согласно рекомендациям:
5.2.1 Используем Generation2 VM.
5.2.2 Используем fixed диски в VM.
Если жизнь на Марсе?
Вроде жизнь удалась, тесты показывают, что расчеты и ставки были верны и теперь наступит та самая искомая нирвана… Так я думал и надеялся до тех пор, пока мы в тестовом режиме не поставили кластер для разработчиков.
Врать не буду, установка действительно происходит просто и незатейливо. Система сама проверяет все, что ей нужно для счастья, и если чего нет, то отправляет вас за этим в ближайший гастроном показывает подробный отчет о том, что не так и даже дает советы по устранению проблемы. В этом плане мне продукт от Microsoft понравился гораздо больше.
Тут же вспомнилась история о пятидневной переписке с техподдержкой VMware о проблеме при переходе на 5.5. Оказалось, веселая штука. Если ты заводишь на SQL-сервере отдельную учетную запись для подключения vSphere, то пароль у нее должен быть не длиннее 14 символов (или 10, сейчас уже не помню), ибо дальше система банально обрезает и выкидывает как ненужную часть кусок пароля. Действительно, вполне себе обоснованное поведение.
Но все веселье началось позже. Один сервер вылетел и отказался видеть сетевую карту (в итоге ОС тут оказалась не при чем). Потом сервера начали терять кворум. Потом сервера хаотически стали вылетать из кластера. VMM толком не работал и зачастую просто не мог подсоединится к ферме. Потом сервера стали вставать на паузу в кластере. Потом при миграции машины стали видеться на двух хостах. В целом ситуация была близка к катастрофе, как мы думали.
Но, собравшись с духом, мы, все-таки, решили повоевать. И знаете, что? Все получилось. И оказалось, что проблемы с сетевой картой были аппаратные, проблема с кластером решились после правильной настройки сети. А после того, как мы переставили хостовые ОС и VMM на английские версии вообще все стало хорошо. И тут мне стало грустно… 2017 год, а все еще нужно ставить английскую Windows чтобы было меньше проблем. Это epic fail на мой взгляд. Зато бонусом получили гораздо более простой поиск по тексту ошибок.
В итоге кластер завелся, VMM работает корректно, а мы начали раздавать виртуалки пользователям.
Кстати, отдельного котла в аду заслуживает тот, кто придумал интерфейс и логику VMM… Сказать, что он непонятный — это ничего не сказать. При первом открытии у меня появилось полное ощущение что я смотрю на приборную доску корабля пришельцев. Вроде формы знакомые, но понимания что тут что и зачем нет никакого. Хотя возможно через много лет я привыкну. Или просто заучу действия как обезьянка.
Каково это, когда все-таки завел трактор?
В целом эмоции и ощущения у меня от перехода положительные. Шаблоны и их возможности для ОС от Microsoft не идут ни в какое сравнение с аналогами у VMware. Они прям очень удобные, с огромным количеством всяких свистелок и рюшечек, которые в целом достаточно толковые. Пока гоняем кластер для разработчиков, привыкаем к новой жизни.
Еще очень сильно, но очень приятно удивил вопрос миграцией машин из VMWare. Изначально я читал форумы, искал софт, думал как это будет. Оказалось, за меня уже все придумали. Мы в два счета подключили в VMM vCenter и прямо из VMM сказали «дорогой товарищ, дайте, пожалуйста, вот тех конфеток, уж больно они вкусные смигрируй мне пожалуйста вот эту виртуалку на новый гипервизор.» И самое что забавное — смигрировал. С первого раза. Без бубна и ошибок. И в итоге миграция, на тест которой я планировал выделить неделю уложилась в 40 минут, из которых 20 была сама миграция.