Виртуализация изменила способы управления ресурсами и их развертывания. Будь то в облаке или локально, технологии виртуализации позволяют нам максимально использовать ресурсы, повышать масштабируемость, снижать затраты и укреплять безопасность.
Hyper-V — это широко используемый продукт виртуализации от Microsoft, который может беспрепятственно запускать несколько независимых виртуальных машин на любом компьютере. В этой статье мы представим подробное руководство по Hyper-V, рассказывающее о его функциях, о его сравнении с VMware, а также о том, как включить его и управлять им в Windows Server 2019.
Виртуализация — это процесс создания нескольких изолированных виртуальных ресурсов из одного физического ресурса. Проще говоря, виртуализация позволяет физическому компьютеру запускать множество виртуальных компьютеров, при этом каждый виртуальный компьютер получает свою собственную выделенную сеть, память, хранилище и операционную систему (OS).
Виртуализация делает это с помощью специального программного обеспечения, называемого гипервизором. Гипервизор действует как уровень абстракции между виртуальными компьютерами (или машинами) и физическими ресурсами. Он управляет распределением виртуальных ресурсов между виртуальными компьютерами и гарантирует, что они не будут мешать друг другу.
Контейнеры Docker и виртуальные машины (VMS) — два популярных типа виртуализации. Контейнеры Docker — это облегченные решения для виртуализации, которые упаковывают приложение и его зависимости в единый образ. Виртуальные машины — это более мощные решения для виртуализации, которые позволяют запускать целые операционные системы в изолированных средах.
Виртуализация имеет ряд преимуществ, в том числе:
Hyper-V — это гипервизор, разработанный Microsoft, который позволяет создавать, развертывать виртуальные машины и управлять ими на сервере Windows server. Он предлагает несколько функций безопасности, производительности и сетевого взаимодействия, которых не было в старых продуктах Microsoft для виртуализации, таких как Microsoft Virtual Server и Windows Virtual PC.
Hyper-V виртуализирует все аппаратные ресурсы физического компьютера и распределяет их по разным виртуальным машинам. Физический компьютер, на котором работает Hyper-V, называется хостом. Виртуальные машины, работающие на хосте, известны как гостевые виртуальные машины.
Каждая виртуальная машина Hyper-V работает так, как если бы это был отдельный физический компьютер, со своей собственной операционной системой, памятью, хранилищем, сетью и процессором. Такая изоляция позволяет запускать приложения с разными потребностями в ядре на одном компьютере. Например, вы можете запустить приложение C ++ внутри виртуальной машины CentOS 7 и приложение Java внутри виртуальной машины Windows Server на одном и том же физическом компьютере.
Последние версии Hyper-V также могут быть включены в определенных версиях Windows 10, включая Windows 10 Enterprise, Windows 10 Pro и Windows 10 Education. Для запуска Hyper-V ваша система должна соответствовать следующим минимальным требованиям:
Hyper-V использует виртуальный коммутатор и виртуальный сетевой адаптер для работы в сети. Виртуальный коммутатор представляет собой коммутатор Ethernet уровня 2 со множеством готовых функций для сегментации трафика, мониторинга и безопасности. Сетевой адаптер подключается к порту виртуального коммутатора, что позволяет виртуальной машине подключаться к сети.
Для настройки сети администраторы могут создать виртуальный коммутатор во время установки Hyper-V. Затем этот коммутатор можно подключить к виртуальным машинам по мере их подготовки. Когда коммутатор связан с виртуальной машиной, Hyper-V автоматически добавляет сетевой адаптер к этой виртуальной машине.
Стоит отметить, что один виртуальный коммутатор может быть связан с несколькими виртуальными машинами. Коммутатор позволяет виртуальным машинам совместно использовать одни и те же сетевые ресурсы и при необходимости взаимодействовать друг с другом и с внешней сетью.
Hyper-V предлагает различные виды виртуальных коммутаторов:
Hyper-V также поддерживает преобразование собственных сетевых адресов (NAT) для виртуальных машин. NAT позволяет нескольким виртуальным машинам использовать IP-адрес хоста при подключении к внешним сетям. Для реализации NAT необходимо создать виртуальную сеть NAT и подключить ее к внутреннему коммутатору вашей виртуальной машины.
VMware — компания, предлагающая широкий спектр продуктов для виртуализации, включая vSphere, VMware Workstation и VMware ESXi. Hyper-V и VMware — две ведущие платформы виртуализации. Обе платформы предлагают широкий спектр преимуществ, но между ними также есть некоторые ключевые различия.
При выборе между физическими серверами («bare metal») и виртуальными машинами Hyper-V/VMware важно взвесить все «за» и «против» каждого варианта. В этом разделе мы рассмотрим ключевые соображения, которые помогут вам принять правильное решение.
Когда вы используете bare metal, ваши рабочие нагрузки выполняются непосредственно на физических серверах. Обычно на каждом сервере работает одна операционная система, и вы имеете максимальный контроль над оборудованием. Такой подход обеспечивает высочайший уровень изоляции, поскольку каждый сервер может работать независимо.
С виртуальными машинами вы запускаете несколько экземпляров операционных систем на одном физическом сервере. Все виртуальные машины совместно используют аппаратные ресурсы сервера, включая центральный процессор, память, сеть и хранилище. Хотя виртуальные машины и обеспечивают изоляцию между рабочими нагрузками, она не такая строгая, как в случае с bare metals.
При использовании bare metal каждый сервер предназначен для определенной задачи или приложения. Хотя это обеспечивает максимальную производительность для данной конкретной рабочей нагрузки, это может привести к недоиспользованию оборудования, поскольку один сервер часто использует не все доступные ресурсы.
Виртуальные машины гораздо более ресурсоэффективны, поскольку позволяют запускать несколько рабочих нагрузок на одном физическом сервере. Такое эффективное использование ресурсов является одним из ключевых преимуществ виртуализации. Более того, пользователи могут динамически распределять ресурсы для виртуальных машин в зависимости от спроса, что также делает их гибким решением.
Масштабирование с использованием «чистого металла» обычно предполагает добавление большего количества физических серверов. Этот процесс гораздо менее гибкий и медленный по сравнению с масштабированием виртуальных машин, поскольку часто требует покупки, установки и настройки нового оборудования.
Виртуальные машины обладают большей масштабируемостью. Вы можете легко создавать, клонировать или переносить виртуальные машины в соответствии с меняющимися требованиями, часто без необходимости в дополнительном физическом оборудовании. Такая масштабируемость является основной причиной, по которой виртуализация является популярным выбором для облачных вычислений и центров обработки данных.
Управление, мониторинг и обслуживание физических серверов могут быть более трудоемкими. Обновления, резервное копирование, устранение неполадок и аудит могут потребовать дополнительных усилий, особенно при крупномасштабных развертываниях.
Виртуальными машинами по своей сути проще управлять. Платформы виртуализации, такие как HyperV и VMware, предоставляют инструменты для централизованного управления, моментального резервного копирования, плавной миграции и устранения неполадок. Обновления и обслуживание могут быть более упрощенными, поскольку изменения могут вноситься централизованно (на уровне виртуализации).
Развертывание простых серверов может потребовать более высоких первоначальных затрат, поскольку вам понадобятся выделенные серверы для различных рабочих нагрузок. Однако в некоторых случаях это может быть более экономичным для конкретных высокопроизводительных приложений, которым требуются выделенные ресурсы, например хранилище данных.
С точки зрения потребностей в оборудовании и использования виртуальные машины могут быть гораздо более экономичными по сравнению с «голым металлом». Они позволяют максимально использовать существующее оборудование и обеспечивают гибкость при масштабировании ресурсов по мере необходимости.
Hyper-V предлагает множество функций, связанных с развертыванием, подключением к сети, управлением, безопасностью, эксплуатацией и миграцией виртуальных машин.
Hyper-V поставляется в составе большинства версий Windows. Вам нужно только установить и включить роль Hyper-V, чтобы начать создавать и запускать виртуальные машины. Мы покажем вам два способа включить роль в Windows Server 2019: через диспетчер серверов и PowerShell.
Прежде чем начать, проверьте, соответствует ли ваша система требованиям к виртуализации. Вы можете сделать это, выполнив эту команду в PowerShell:
Systeminfo.exe
Перейдите к разделу «Требования к Hyper-V» в конце выходных данных. В поддерживаемой системе вы должны увидеть следующие строки:
Hyper-V Requirements: VM Monitor Mode Extensions: Yes Virtualization Enabled In Firmware: Yes Second Level Address Translation: Yes Data Execution Prevention Available: Yes
Мы будем использовать командлет Install-WindowsFeature для установки и включения Hyper-V. Выполните следующие действия:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
Install-WindowsFeature -Name Hyper-V -ComputerName -IncludeManagementTools -Restart
(Примечание: заменить с фактическим именем удаленного сервера.)
Теперь сервер должен перезапуститься с включенным Hyper-V.
После завершения установки вы сможете увидеть новый сервер на странице “Все серверы” в диспетчере серверов.
Теперь, когда мы установили и включили роль Hyper-V на нашем сервере, мы можем использовать Hyper-V manager для создания виртуальной машины. Выполните следующие действия.:
Теперь, когда мы создали нашу первую виртуальную машину на виртуализированном ресурсе с поддержкой Hyper-V, давайте рассмотрим, как выполнять некоторые распространенные административные операции с помощью Hyper-V manager и PowerShell.
Мы можем использовать PowerShell для остановки виртуальной машины, которая работает со сбоями или не отвечает на запросы. Команда Stop-VM позволяет завершить работу или выключить виртуальную машину, используя ее имя. Например, выполнение следующей команды из гостевой системы завершит работу виртуальной машины с именем SampleVM:
Stop-VM -Name SampleVM
Вы также можете использовать опцию -Force для принудительного завершения работы после предоставления виртуальной машине 5 минут на сохранение ее данных.
Stop-VM -Name SampleVM -Force
Чтобы просто выключить компьютер, используйте опцию -turnOff . Это похоже на отключение физического компьютера от сети и может привести к потере несохраненных данных.
Stop-VM -Name SampleVM -TurnOff
Можно импортировать/экспортировать виртуальные машины Hyper-V с помощью PowerShell или Hyper-V manager.
Для экспорта:
При использовании Hyper-V manager щелкните правой кнопкой мыши виртуальную машину и выберите Экспорт. Затем выберите каталог для хранения экспортированного файла и нажмите Экспорт.
Из PowerShell вы можете использовать командлет Export-VM для экспорта виртуальной машины. Например, следующая команда экспортирует виртуальную машину с именем SampleVM в каталог D:\export.
Export-VM -Name SampleVM -Path D:\export
Для импорта:
При использовании Hyper-V manager:
Из PowerShell вы можете использовать командлет Import-VM для импорта виртуальной машины. Например, следующая команда импортирует виртуальную машину по заданному пути и копирует ее файлы в каталоги по умолчанию. (Обязательно замените путь и имя файла экспорта)
Import-VM -Path 'D:\export\2B912EC3-F1F0-4FDF-B98E-29CAD592C95B.vmcx' -Copy -GenerateNewId
Выполните следующие действия, чтобы создать новый внешний виртуальный коммутатор для ваших виртуальных машин с помощью PowerShell:
$adapter = Get-NetAdapter -Name 'Ethernet Adapter 2'
New-VMSwitch -Name "External Virtual Switch 2" -AllowManagementOS $True -NetAdapterName $adapter.Name
Hyper-V упрощает создание контрольных точек. Контрольная точка фиксирует состояние виртуальной машины, позволяя при необходимости выполнить откат к предыдущему состоянию. Вот как создать контрольную точку с помощью Hyper-V manager:
Вы можете перенести работающую виртуальную машину с помощью Hyper-V Manager всего за пять простых шагов:
Hyper-V manager предлагает некоторые базовые показатели работоспособности и состояния виртуальной машины, включая время безотказной работы, загрузку процессора, выделенную память и статус. Microsoft также предлагает другие встроенные инструменты для отслеживания виртуальных машин Hyper-V в режиме реального времени.
Например, командлет Measure-VM можно использовать для извлечения данных, связанных с сетевым трафиком, использованием диска, процессора и другими данными. Командлет Measure-VMReplication показывает статистику, связанную с репликацией. Командлет Measure-VMResourcePool сообщает данные об использовании ресурсов для пулов виртуальных машин.
PowerShell Direct — это удобный способ удаленного управления виртуальными машинами Hyper-V. Выполните следующие действия, чтобы получить удаленный доступ к виртуальной машине и управлять ею с помощью PowerShell:
Enter-PSSession -VMName TestVM
Вот и все! Теперь вы можете запускать команды непосредственно на подключенной виртуальной машине. Как только вы закончите, используйте Exit-PSSession для выхода из сеанса.
Hyper-V — ведущее программное обеспечение для виртуализации, которое позволяет создавать отказоустойчивые и гибкие виртуальные инфраструктуры. Он прост в использовании и предлагает широкий спектр встроенных функций и инструментов для подготовки, развертывания, управления и масштабирования виртуальных машин.