Включение вложенной виртуализации в Службах лабораторий Azure

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

Необходимые компоненты

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

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

Примечание.

Приложения виртуализации, отличные от Hyper-V, не поддерживаются для вложенной виртуализации. Сюда входит любое программное обеспечение, требующее расширений виртуализации оборудования.

Внимание

Выберите один из этих размеров виртуальной машины при создании лаборатории: Средний (вложенная виртуализация) или Крупный (вложенная виртуализация). Вложенная виртуализация не работает в противном случае.

Включение вложенной виртуализации

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

Внимание

Рекомендуется использовать вложенную виртуализацию с Windows 11. Вы можете воспользоваться преимуществами параметра по умолчанию, созданного при установке Hyper-V на клиентской ОС Windows. Следует использовать вложенную виртуализацию в операционных системах Windows Server, если требуется дополнительный контроль над параметрами сети.

Скрипт PowerShell можно использовать для настройки вложенной виртуализации на виртуальной машине шаблона в службах лабораторий Azure. Ниже описано, как использовать скрипты Hyper-V служб лабораторий. Сценарий предназначен для Windows 11.

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

  2. Запустите PowerShell в качестве Администратор istrator.

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

    Set-ExecutionPolicy bypass -force
    
  4. Скачайте и запустите скрипт, чтобы включить функцию и средства Hyper-V.

    Invoke-WebRequest 'https://aka.ms/azlabs/scripts/hyperV-powershell' -Outfile SetupForNestedVirtualization.ps1
    .\SetupForNestedVirtualization.ps1
    

    Примечание.

    Сценарий может потребовать перезапуска виртуальной машины. Если это так, остановите и запустите шаблон виртуальной машины с веб-сайта служб лабораторий Azure и повторно запустите скрипт, пока не увидите скрипт в выходных данных.

  5. Не забудьте сбросить политику выполнения.

    Set-ExecutionPolicy default -force
    

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

Подключение на вложенную виртуальную машину в другой лабораторной виртуальной машине

Дополнительная конфигурация необходима для подключения из вложенной виртуальной машины на одной виртуальной машине лаборатории к вложенной виртуальной машине, размещенной в другой виртуальной машине лаборатории. Добавьте статичное сопоставление в экземпляр NAT с помощью командлета Add-NetNatStaticMapping PowerShell.

Примечание.

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

Примечание.

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

Пример сценариев

Рассмотрим следующую примерную настройку лаборатории:

  • Виртуальная машина лаборатории 1 (Windows Server 2022, IP 10.0.0.8)

    • Вложенная виртуальная машина 1-1 (Ubuntu 20.04, IP-адрес 192.168.0.102, разрешенО SSH)
    • Вложенная виртуальная машина 1-2 (Windows 11, IP 192.168.0.103, удаленный рабочий стол включен и разрешен)
  • Виртуальная машина лаборатории 2 (Windows Server 2022, IP 10.0.0.9)

    • Вложенная виртуальная машина 2-1 (Ubuntu 20.04, IP-адрес 192.168.0.102, разрешен SSH)
    • Вложенная виртуальная машина 2-2 (Windows 11, IP 192.168.0.103, удаленный рабочий стол с поддержкой и разрешено)

Включите подключение к SSH из виртуальной машины лаборатории 2 к вложенной лабораторной виртуальной машине 1-1:

  1. На виртуальной машине лаборатории 1 добавьте статическое сопоставление:

    Add-NetNatStaticMapping -NatName "LabServicesNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 192.168.0.102 -InternalPort 22 -ExternalPort 23
    
  2. На виртуальной машине лаборатории 2 подключитесь с помощью SSH:

    ssh user1@10.0.0.8 -p 23
    

Включите подключение к RDP из лабораторной виртуальной машины 2 или вложенных виртуальных машин к вложенной виртуальной машине лаборатории 1-2:

  1. На виртуальной машине лаборатории 1 добавьте статическое сопоставление.

    Add-NetNatStaticMapping -NatName "LabServicesNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 192.168.0.103 -InternalPort 3389 -ExternalPort 3390
    
  2. На виртуальной машине лаборатории 2 или вложенных виртуальных машинах подключитесь с помощью RDP.10.0.0.8:3390

    Внимание

    Включите ~\ перед именем пользователя. Например, ~\Administrator или ~\user1.

Устранение неполадок

Эти предложения могут решить некоторые распространенные проблемы.

Виртуальная машина Linux отображает только черный экран

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

  • Проверьте, какое поколение виртуальных машин Hyper-V использовалось для вложенной виртуальной машины. Некоторые дистрибутивы Linux не работают с виртуальными машинами Hyper-V 1-го поколения.

    Дополнительные сведения о поддерживаемых гостевых операционных системах в Hyper-V.

Hyper-V не начинается с ошибки The virtual machine is using processor-specific xsave features not supported

  • Эта ошибка может произойти, когда пользователь лаборатории покидает виртуальную машину Hyper-V в сохраненном состоянии. Щелкните правой кнопкой мыши виртуальную машину в диспетчере Hyper-V и выберите "Удалить сохраненное состояние".

    Внимание

    Удаление сохраненного состояния означает, что все несохраненные работы потеряны, но все, что сохранено на диске, остается нетронутым.

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

Рекомендуется настроить автоматическое завершение работы виртуальных машин Hyper-V.

Hyper-V слишком медленно

Увеличьте количество виртуальных ЦП и памяти, назначенных виртуальной машине Hyper-V в диспетчере Hyper-V. Общее количество виртуальных ЦП не может превышать количество ядер виртуальной машины узла (лабораторной виртуальной машины). Если вы используете переменную память, параметр по умолчанию увеличьте минимальный объем памяти, назначенный виртуальной машине. Максимальный объем назначенной памяти при использовании переменной памяти может превышать объем памяти виртуальной машины узла. Такой подход обеспечивает большую гибкость при выполнении интенсивных операций только на одной из виртуальных машин Hyper-V.

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

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

  • Убедитесь, что вы выполнили предыдущие действия по включению вложенной виртуализации. Рассмотрите возможность использования параметра скрипта PowerShell.

  • Проверьте, установлена ли виртуальная машина узла (виртуальная машина лаборатории) роль DHCP, если вы используете Windows Server.

    Запуск виртуальной машины лаборатории в качестве DHCP-сервера не поддерживается. См. статью " Можно ли развернуть DHCP-сервер в виртуальной сети?". Изменение параметров виртуальной машины лаборатории может вызвать проблемы с другими виртуальными машинами лаборатории.

  • Проверьте параметры сетевого адаптера для виртуальной машины Hyper-V.

    • Задайте IP-адрес DNS-сервера и DHCP-сервера 168.63.129.16.

    • Если ip-адрес гостевой виртуальной машины IPv4 установлен вручную, убедитесь, что он находится в диапазоне сети NAT, подключенной к коммутатору Hyper-V.

    • Попробуйте включить dhcp-защиту Hyper-V и защиту маршрутизатора.

      Get-VMNetworkAdapter * | Set-VMNetworkAdapter -RouterGuard On -DhcpGuard On
      

Примечание.

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

Не удается запустить виртуальные машины Hyper-V

При создании лаборатории можно создать неадминистраторного пользователя. Чтобы запустить или остановить виртуальные машины Hyper-V, необходимо добавить такого пользователя в группу Администратор istratorов Hyper-V. Дополнительные сведения о пользователях Hyper-V и неадминистрационных см. в разделе "Пользователи, не являющиеся администраторами".

После настройки вложенной виртуализации на виртуальной машине шаблона можно создать вложенные виртуальные машины с помощью Hyper-V. См. Центр оценки Microsoft проверка доступных операционных систем и программного обеспечения.