Метка: Hyper-V

  • Включаем поддержку SR-IOV для виртуальных машин Hyper-V

    SR-IOV (Single Root Input/Output Virtualization) это технология виртуализации аппаратных устройств хоста, позволяющая предоставить виртуальным машинам прямой доступ к устройствам. Технология позволяет виртуализировать различные виды устройств, но чаще всего используется для виртуализации сетевых (далее…)

  • Низкая скорость сети на хосте Hyper-V с Windows Server 2019

    Несколько раз встречался с тем, что скорость копирования файлов по сети с/на виртуальные машины на Hyper-V в Windows Server 2019 намного ниже, чем в ВМ аналогичной конфигурации на хосте с Windows Server 2016. В некоторых тестах скорость записи/чтения данных по сети на ВМ в Windows Server 2019 почти (далее…)

  • Hyper-V: настройка автоматического запуска и порядка загрузки виртуальных машин

    В гипервизоре Hyper-V, как и в VMWare ESXi, вы можете настроить параметры автоматического запуска и выключения виртуальных машин при включении/перезагрузке хостовой ОС. В этой статье мы покажем, как настроить действия, которые должен выполнить хост Hyper-V с виртуальными машинами на нем при (далее…)

  • Маршрутизация между разными IP подсетями в Hyper-V

    В тестовом стенде на отдельно-стоящем Hyper-V сервере потребовалось создать несколько внутренних IP подсетей и настроить маршрутизацию между ними. По умолчанию Hyper-V не маршрутизирует трафик между подсетями на виртуальных коммутаторах. Поэтому при решении задачи в-лоб обычно создают отдельную ВМ (далее…)

  • Клонирование, импорт и экспорт виртуальных машин в Hyper-V

    В Hyper-V в отличии от VMWare нет встроенной функции клонирования виртуальной машины (клонирование есть только в Virtual Machine Manager). Чтобы создать полную копию существующей ВМ придется использовать функцию импорта/экспорта. В этой статье мы рассмотрим, как клонировать виртуальную машину в (далее…)

  • Установка и настройка Windows Hyper-V Server 2019 (2016)

    Windows Hyper-V Server — это бесплатная серверная версия гипервизора от Microsoft, которую можно использовать для запуска виртуальных машин. В этой статье мы рассмотрим, как установить и настроить версию Windows Hyper-V Server 2019 (инструкция также применима и к Hyper-V Server 2016).

    Microsoft анонсировала, что не будет выпускать отдельную версию Hyper-V Server 2022. Связано с тем, что сейчас они сфокусированы на другом стратегическим продуктов Azure Stack HCI.

    Hyper-V Server 2019 подходит специально для тех, кто не хочет платить за систему аппаратной виртуализации. В нем доступны все функции Hyper-V и при этом он абсолютно бесплатный. Основные преимущества Windows Hyper-V Server:

    • Поддержка всех популярных ОС – совместим со всеми операционными системами. Поддержка Hyper-V присутствует во всех Windows системах, в ядре всех современных систем Linux и FreeBSD;
    • Поддерживаются много способов бекапа виртуальных машин — простые скрипты, бесплатные программы, платные версии популярных программ для бекапа;
    • Несмотря на то, что в Hyper-V Server отсутствует графический интерфейс управления Windows Server, вы можете управлять им удаленно через стандартную консоль управления гипервизором Hyper-V Manager или веб консоль Windows Admin Center;
    • В основе Hyper-V Server популярная платформа Windows Server, с которой привычно и просто работать;
    • Hyper-V можно установить на псевдоRAID – например, RAID контроллер Intel, программный RAID Windows;
    • Не нужно лицензировать гипервизор – подходит для запуска VDI и виртуальных машин с Linux;
    • Нетребовательность к железу – x64 процессор с поддержкой аппаратную виртуализацию (у Intel — Intel-VT или VMX, у AMD — AMD-V (SVM ) и трансляцию адресов второго уровня SLAT (Intel EPT или AMD RV). Эти опции процессора должны быть включены в BIOS/UEFI/nested host. Полные системные требования можно найти на сайте Microsoft;
    • Рекомендуется устанавливать на хосты с минимум 4 Гб памяти.
    Не нужно путать полноценный Windows Server 2016/2019/2022 с установленной ролью Hyper-V с Free Hyper-V Server 2019/2016. Это разные продукты.

    Также отметим, что использование бесплатного гипервизора не освобождает вас от обязанности лицензировать виртуальные машин. Вы можете запустить неограниченное количество ВМ с opensource ОС типа Linux, но виртуальные машины с Windows придется лицензировать. Десктопные редакции Windows лицензируются с помощью ключа продукта. Если вы используете Windows Server в качестве гостевой ОС, его нужно лицензировать по физическим ядрам вашего хоста. Подробнее о лицензировании Windows Server при запуске в среде виртуализации смотрите здесь.

    Что нового в Hyper-V Server 2019?

    Вкратце пробежимся по объявленным новшествам в Hyper-V Server 2019:

    • Появилась поддержка Shielded Virtual Machines для Linux;
    • Версия VM конфигурации 9.0 (поддержка гибернации);
    • Поддержка дедупликации для ReFS;
    • Core App Compatibility – возможность запуска дополнительных графических панелей управления в консоли сервера Hyper-V;
    • Поддержка 2-node Hyper-V cluster, кросс-доменной миграция кластеров.

    Установка Hyper-V Server 2019/2016

    Скачать ISO образ гипервизора Hyper-V Server 2019 можно https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2019.

    После нажатия на кнопку “Continue” откроется небольшая форма регистрации для ввода ваших данных. Заполняете, затем выбираете язык устанавливаемой системы. Настоятельно рекомендую выбрать английский. И ждете, когда закончится скачивание образа Hyper- V. Размер .iso файла около 3 ГБ.

    Установка Microsoft Hyper-V Server идентична установки Windows 10/11 на компьютер. Просто загрузите ваш сервер (компьютер) с установочной USB флешки с установочным образом Microsoft Hyper-V Server (для записи ISO образа на USB накопитель проще всего использовать утилиту Rufus) и следуйте инструкциям мастера установки ОС.

    Утилита Sconfig: базовая настройка Hyper-V Server 2019/2016

    После завершения установки Hyper-V Server потребует задать пароль администратора.

    После этого перед вами откроется консоль гипервизора.

    Обратите внимание, что у Hyper-V Server нет привычного графического интерфейса Windows. Большинство настроек сервера придется выполнять через командную строку.

    На рабочем столе два окна – стандартная командная строка и окно скрипта sconfig.cmd. С помощью данного скрипта можно выполнить первоначальную настройку сервера Hyper-V. В строке “Enter number to select an option:” введите номер пункта меню, с которым будете работать.

    1. Первый пункт меню позволяет ввести сервер в домен AD или в рабочую группу;
    2. Затем задайте имя хоста (сервера);
    3. Добавьте локального администратора (дополнительную учетную запись, помимо встроенного administrator). Обратите внимание, что при вводе пароля курсор остается на одном месте, тем не менее, пароль и его подтверждение успешно вносятся в систему;
    4. Включите удаленный доступ к серверу. Это позволить управлять им с помощью Server Manager, консолей MMC, PowerShell, проверить доступность с помощью ping или tracert;
    5. Настройте Windows Update. Выберите один из трех режимов:
      • Automatic (автоматическая загрузка и установка обновлений)
      • DownloadOnly (только загрузка без установки)
      • Manual (решение о загрузке и установке обновлений принимает администратор)
    6. Загрузите и установите последние обновления Windows;
    7. Включите RDP доступ с или без NLA (Network Level Authentication);
    8. Настройки параметры сетевых адаптеров. По умолчанию сервер получает адрес от DHCP. Обычно тут стоит указать статический IP адрес;
    9. Установите дату и время системы;
    10. Настройте телеметрию. Полностью ее отключить система не позволит. Выберите режим, который вам больше нравится

    Дату, время и часовой пояс можно также настроить с помощью команды:

    control timedate.cpl

    Региональные параметры:

    control intl.cpl

    При этом открываются стандартные консоли Windows.

    Внимание! Если вы закрыли все окна и оказались перед черным экраном, то нажмите Ctrl+Shift+Esc, чтобы запустить диспетчер задач данное сочетание клавиш работает в том числе и в RDP-сессии). С помощью Task Manager вы можете запустить командную строку или утилиту конфигурации Hyper-V (нажмите File -> Run Task -> cmd.exe или sconfig.cmd ).

    Удаленное управление Hyper-V Server 2019/2016

    Для удобного управления Free Hyper-V Server 2019 из графического интерфейса вы можете использовать:

    Для работы с Hyper-V Server 2016/2019 вам потребуется ПК с операционной системой Windows 10 версий Pro или Enteprise х64.

    Удаленное управление Hyper-V Server с помощью Hyper-V Manager

    Рассмотрим, как удаленно подключиться к хосту Hyper-V сервер с другого компьютера с помощью консоли Hyper-V Manager. В этой статье мы подразумеваем, что у вас сервер Hyper-V и компьютер с Windows 10 находятся в одной рабочей группе (WORKGROUP).

    Cначала выполните настройки на сервере Hyper-V. Запустите консоль PowerShell (powershell.exe) и выполните следующие команды:

    Enable-PSRemoting
    Enable-WSManCredSSP -Role server

    Утвердительно отвечаете на все вопросы, при этом будет настроен автоматический запуск службы WinRM и созданы разрешающие правила в брандмауэре.

    Теперь переходит к настройке клиентского компьютера с Win 10.

    Сервер Hyper-V должен быть доступен по своему сетевому имени, в доменной сети ему должна соответствовать A-запись на DNS-сервере. В рабочей группе такую запись потребуется нужно создать вручную на локальном DNS, либо добавить нужную запись в файл hosts (C:WindowsSystem32driversetchosts) клиентской машины. В нашем случае она выглядит следующим образом:

    192.168.13.55 hv19

    Можно добавить запись в файл hosts с помощью PowerShell:

    Add-Content -Path "C:WindowsSystem32driversetchosts" -Value "192.168.13.55 hv19"

    Добавьте Hyper-V сервер в доверенные узлы:

    Set-Item WSMan:localhostClientTrustedHosts -Value "hv19"

    Если учетная запись, под которой вы работаете на клиентском ПК, отличается от учетных данных администратора Hyper-V, нужно явно сохранить учетные данные для соединений с сервером в диспетчер учетных записей Windows командой:

    cmdkey /add:hv19 /user:Administrator /pass:MyPa$$word

    Проверьте используемый профиль сети на клиенте Windows 10. Если используется тип сети Public, ее нужно сменить на Private:

    Get-NetConnectionProfile|select InterfaceAlias,NetworkCategory

    Set-NetConnectionProfile -InterfaceAlias "EthernetLAN2" -NetworkCategory Private

    Выполите команду:

    Enable-WSManCredSSP -Role client -DelegateComputer "hv19"

    Теперь выполните команду gpedit.msc чтобы открыть редактор локальной GPO.

    1. Перейдите в раздел Local Computer Policy -> Computer Configuration -> Administrative Templates -> System -> Credentials Delegation;
    2. Включите параметр Allow Delegating Fresh Credentials with NTLM-only Server Authentication.
    3. Затем нажмите кнопку Show и добавьте два значения wsman/hv19 и wsman/hv19.local
    4. Закройте консоль редактора и обновите настройки локальной групповой политики командой gpupdate /force

    Теперь нужно установить в Windows консоль Диспетчер Hyper-V. Откройте оснастку Programs and Features и перейдите в Turn Windows Features on or off. В открывшемся окне найдите пункт Hyper-V и отметьте для установки Hyper-V GUI Management Tools.

    Или вы можете установить клиент Hyper-V Manager с помощью PowerShell:

    Enable-WindowsOptionalFeature -Online –FeatureName Microsoft-Hyper-V-Management-Clients

    Запустите оснастку Hyper-V Manager ( virtmgmt.msc ), щелкните правой кнопкой по Hyper-V Manager и выберите Connect to Server. Укажите имя вашего сервера Hyper-V.

    Теперь вы можете управлять настройками Hyper-V Server, создавать виртуальный машины и управлять ими из графической консоли.

    Управление Hyper-V с помощью Windows Admin Center

    Для удаленного управления хостом Hyper-V можно использовать Windows Admin Center (WAC). WAC это веб консоли и дашбоард для полноценного управления Windows Server, Server Core и Hyper-V Server.

    На стороне Hyper-V нужно включить разрешающие правила для SMB подключений в Windows Defender Firewall:

    Set-NetFirewallRule -DisplayGroup "File and Printer Sharing" -Enabled true -PassThru

    Теперь нужно скачать (https://aka.ms/WACDownload) и установить агент Windows Admin Center на ваш хост Hyper-V. Скачайте WindowsAdminCenter2110.2.msi на любом компьютере Windows с доступом в интернет. Можно скопировать установочный MSI файл на Hyper-V сервер через подключение к административной шаре C$. Для этого выполните команду:

    Win+R -> \192.168.13.55C$ и введите пароль администратора Hyper-V

    Создайте папку и скопируйте в нее MSI файл.

    Теперь запустите установку WAC из консоли Hyper-V:

    c:distrWindowsAdminCenter2110.2.msi

    Установите WAC с настройками по-умолчанию.

    В целях безопасности можно разрешить использовать только HTTPS подключения к WinRM.

    После окончания установки вы можете подключиться к вашему Hyper-V Server из браузера, простой перейдите по адресу https:\192.168.13.55:443

    Перед вами откроется дашбоард вашего Hyper-V Server хоста. Вы увидите базовую информацию о сервере, используемых ресурсах и т.д.

    Настройки хоста Hyper-V можно задать в разделе WAC -> Settings -> Hyper-V Host Settings. Доступны следующие разделы:

    • General
    • Enhanced Session Mode
    • NUMA Spanning
    • Live Migration
    • Storage Migration

    Для управления Hyper-V вы будете преимущественно использовать две секции в консоли WAC:

    Далее я рассмотрю некоторые способы управления Hyper-V Server из PowerShell

    Настройка Hyper-V Server 2019 с помощью PowerShell

    Для настройки сервера рекомендую использовать PowerShell. В модуле Module Hyper-V доступно более 238 командлетов для управления сервером Hyper-V.

    Get-Command –Module Hyper-V | Measure-Object

    Настройте автоматический запуск консоли PowerShell (вместо cmd.exe) при входе в систему.

    New-ItemProperty -path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionrun -Name PowerShell -Value "cmd /c start /max C:Windowssystem32WindowsPowerShellv1.0powershell.exe -noExit" -Type string

    Теперь при входе в сеанс будет запускаться окно PowerShell.

    Настройка параметров сети Hyper-V Server 2019 из PowerShell

    Если вы не настраивали сетевые параметры в окне sconfig.cmd, то настройте их через PowerShell. С помощью командлета Get-NetIPConfiguration можно увидеть текущую конфигурацию IP сетевых интерфейсов.

    Через PowerShell назначьте статический IP адрес, маску сети, шлюз по умолчанию и адреса DNS серверов. Индекс (InterfaceIndex) сетевого адаптера берем из вывода предыдущего командлета.

    New-NetIPAddress -InterfaceIndex 4 -IPAddress 192.168.1.2 -DefaultGateway 192.168.1.1 -PrefixLength 24

    Set-DnsClientServerAddress -InterfaceIndex 4 -ServerAddresses 192.168.1.3,192.168.1.4

    Для настройки IPV6 смотрим имя интерфейса командлетом Get-NetAdapter из PowerShell модуля управления сетью NetTCPIP:

    Проверьте текущую настройку IPv6 следующей командой:

    Get-NetAdapterBinding -InterfaceDescription "Intel(R) PRO/1000 MT Network Connection" | Where-Object -Property DisplayName -Match IPv6 | Format-Table –AutoSize

    Отключить IPV6 можно так:

    Disable-NetAdapterBinding -InterfaceDescription " Intel(R) PRO/1000 MT Network Connection " -ComponentID ms_tcpip6

    Настройка правил Windows Defender Firewall для управления Hyper-V Server 2019

    Просмотреть список командлетов для управления файерволом Windows можно с помощью Get-Command.

    Get-Command -Noun *Firewall* -Module NetSecurity

    Для полноценного удаленного управления сервером выполните последовательно следующие команды для включения разрешающих правил Windows Firewall из PoSh:

    Enable-NetFireWallRule -DisplayName "Windows Management Instrumentation (DCOM-In)"
    Enable-NetFireWallRule -DisplayGroup "Remote Event Log Management"
    Enable-NetFireWallRule -DisplayGroup "Remote Service Management"
    Enable-NetFireWallRule -DisplayGroup "Remote Volume Management"
    Enable-NetFireWallRule -DisplayGroup "Windows Defender Firewall Remote Management"
    Enable-NetFireWallRule -DisplayGroup "Remote Scheduled Tasks Management"

    Создание дискового хранилища для виртуальных машин

    Для хранения данных (файлов виртуальных машин и дистрибутивов) будем использовать отдельный раздел на физическом диске. Просмотрите список физических дисков на сервере.

    Get-Disk

    Создайте новый раздел на диске максимально возможного размера и назначьте ему букву D. Используйте DiskNumber из Get-Disk.

    New-Partition -DiskNumber 0 -DriveLetter D –UseMaximumSize

    После этого отформатируйте раздел в NTFS и укажите его метку.

    Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "HVStore"

    Подробнее о командлетах управления дисками и разделами из PowerShell здесь.

    Создайте каталог, где будете хранить настройки и файлы дисков виртуальных машин. Командлет New-Item позволяет создавать вложенные пути:

    New-Item -Path "D:Hyper-VVirtual Hard Disks" -Type Directory

    Создайте папку D:Distrib для хранения установоых ISO образов ОС:

    New-Item -Path D:Distr -ItemType Directory

    Для создания общей сетевой папки (шары) используйте командлет New-SmbShare, с помощью которого предоставьте полный доступ по сети для группы локальных администраторов сервера:

    New-SmbShare -Path D:Distr -Name Distr -Description "OS Distributives" -FullAccess "BUILTINAdministrators"

    Более подробно о базовой настройке Hyper-V Server и Windows Server Core из командой строки рассказано в этой статье.

    Настройка параметров хоста в Hyper-V Server 2016/2019

    Откроем параметры сервера командой:

    Get-VMHost | Format-List

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

    Set-VMHost -VirtualMachinePath D:Hyper-V -VirtualHardDiskPath 'D:Hyper-VVirtual Hard Disks'

    Создание виртуального коммутатора Hyper-V

    Создайте External Switch, который привязывается к сетевой карте Hyper-V Server и организует взаимодействие ВМ с физической сетью.

    Проверьте поддержку SR-IOV (Single-Root Input/Output (I/O) Virtualization):

    Get-NetAdapterSriov

    Получите список подключенных сетевых адаптеров:

    Get-NetAdapter | Where-Object -PropertyStatus –eqUp

    Привяжите виртуальный свитч к сетевому адаптеру и при наличии SR-IOV включите его поддержку.

    Внимание! Включить или отключить поддержку SR-IOV после создания свитча будет невозможно, для изменения этого параметра необходимо будет пересоздавать коммутатор.

    New-VMSwitch -Name "Extenal_network" -NetAdapterName "Ethernet 2" -EnableIov 1

    Проверить настройки виртуального коммутатора можно с помощью командлетов:

    Get-VMSwitch
    Get-NetIPConfiguration –Detailed

    На этом первоначальная настройка Hyper-V Server 2016/2019 закончена. Можно переходить к созданию и настройке виртуальных машин.

    Более подробно команды PowerShell для управления Hyper-V и виртуальными машинами описаны в этой статье.


  • Как остановить зависшую виртуальную машину в Hyper-V?

    Если ваша виртуальная машина, запущенная на хосте Hyper-V зависла по каким-то причинам, перестала отвечать, и не реагирует на кнопки включения, выключения, перезагрузки в консоли Hyper-V Manager, единственный быстрый способ принудительно остановить такую машину — завершить процесс этой ВМ в (далее…)

  • Ошибка загрузки Linux на Hyper-V: The image’s hash and certificate are not allowed

    Столкнулся с интересной ошибкой при попытке установить Linux CentOS на виртуальную машину, которая запушена на Hyper-V сервере (тип виртуальной машины Generation 2 – с поддержкой UEFI). Я скачал установочный ISO файл с CentOS 7, создал на Hyper-V новую ВМ типа gen2, подключил ISO файл и попытался (далее…)