Создание виртуальной машины с ускорением сети с помощью Azure PowerShell

В этой статье описывается, как использовать Azure PowerShell для создания виртуальной машины Windows с поддержкой ускорения сети (AccelNet). В этой статье также рассматривается включение и управление ускорением сети на существующих виртуальных машинах.

Вы также можете создать виртуальную машину с поддержкой ускорения сети с помощью портал Azure. Дополнительные сведения об использовании портал Azure для управления ускоренной сетью на виртуальных машинах см. в статье "Управление ускоренной сетью" на портале.

Сведения об использовании Azure CLI для создания виртуальной машины Linux или Windows с поддержкой ускорения сети см. в статье "Использование Azure CLI" для создания виртуальной машины с ускорением сети.

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

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

  • Azure PowerShell 1.0.0 или более поздней версии. Чтобы определить текущую версию, выполните командлет Get-Module -ListAvailable Az. Если требуется установка или обновление, установите последнюю версию модуля Az из коллекции PowerShell.

  • В PowerShell войдите в учетную запись Azure с помощью Connect-AzAccount.

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

В следующих примерах можно заменить примеры параметров, таких как <myResourceGroup>, <myNic>и <myVm> собственными значениями.

Создание виртуальной сети

  1. Используйте New-AzResourceGroup , чтобы создать группу ресурсов для хранения ресурсов.

    New-AzResourceGroup -Name "<myResourceGroup>" -Location "<myAzureRegion>"
    
  2. Используйте New-AzVirtualNetworkSubnetConfig для создания конфигурации подсети.

    $subnet = New-AzVirtualNetworkSubnetConfig `
      -Name "<mySubnet>" `
      -AddressPrefix "<192.168.1.0/24>"
    
  3. Используйте New-AzVirtualNetwork , чтобы создать виртуальную сеть с подсетью.

    $vnet = New-AzVirtualNetwork -ResourceGroupName "<myResourceGroup>" `
      -Location "<myAzureRegion>" `
      -Name "<myVnet>" `
      -AddressPrefix "<192.168.0.0/16>" `
      -Subnet $Subnet
    

Создание группы безопасности сети

  1. Группа безопасности сети (NSG) содержит несколько правил по умолчанию, один из которых отключает весь входящий доступ из Интернета. Используйте New-AzNetworkSecurityRuleConfig , чтобы создать новое правило, чтобы удаленно подключиться к виртуальной машине с помощью протокола удаленного рабочего стола (RDP).

    $rdp = New-AzNetworkSecurityRuleConfig `
      -Name "Allow-RDP-All" `
      -Description "Allow RDP" `
      -Access Allow `
      -Protocol Tcp `
      -Direction Inbound `
      -Priority 100 `
      -SourceAddressPrefix * `
      -SourcePortRange * `
      -DestinationAddressPrefix * `
      -DestinationPortRange 3389
    
  2. Используйте New-AzNetworkSecurityGroup , чтобы создать группу Allow-RDP-All безопасности сети и назначить правило группе безопасности сети.

    $nsg = New-AzNetworkSecurityGroup `
      -ResourceGroupName "<myResourceGroup>" `
      -Location "<myAzureRegion>" `
      -Name "<myNsg>" `
      -SecurityRules $rdp
    
  3. Используйте Set-AzVirtualNetworkSubnetConfig , чтобы связать группу безопасности сети с подсетью. Правила NSG эффективны для всех ресурсов, развернутых в подсети.

    Set-AzVirtualNetworkSubnetConfig `
      -VirtualNetwork $vnet `
      -Name "<mySubnet>" `
      -AddressPrefix "<192.168.1.0/24>" `
      -NetworkSecurityGroup $nsg
    

Создание сетевого интерфейса с функцией ускорения сети

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

    $publicIp = New-AzPublicIpAddress `
      -ResourceGroupName "<myResourceGroup>" `
      -Name "<myPublicIp>" `
      -Location "<myAzureRegion>" `
      -AllocationMethod Dynamic
    
  2. Используйте New-AzNetworkInterface , чтобы создать сетевой интерфейс (NIC) с поддержкой ускорения сети и назначить общедоступный IP-адрес сетевому адаптеру.

    $nic = New-AzNetworkInterface `
      -ResourceGroupName "<myResourceGroup>" `
      -Name "<myNic>" `
      -Location "<myAzureRegion>" `
      -SubnetId $vnet.Subnets[0].Id `
      -PublicIpAddressId $publicIp.Id `
      -EnableAcceleratedNetworking
    

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

  1. Используйте get-Credential , чтобы задать имя пользователя и пароль для виртуальной машины и сохранить их в переменной $cred .

    $cred = Get-Credential
    
  2. Используйте New-AzVMConfig , чтобы определить виртуальную машину с размером виртуальной машины, поддерживающей ускорение сети, как указано в статье "Ускоренная сеть Windows". Список всех размеров и характеристик виртуальных машин Windows см. в разделе "Размеры виртуальных машин Windows".

    $vmConfig = New-AzVMConfig -VMName "<myVm>" -VMSize "Standard_DS4_v2"
    
  3. Используйте Set-AzVMOperatingSystem и Set-AzVMSourceImage для создания остальной части конфигурации виртуальной машины. В следующем примере создается виртуальная машина Центра обработки данных Windows Server 2019:

    $vmConfig = Set-AzVMOperatingSystem -VM $vmConfig `
      -Windows `
      -ComputerName "<myVM>" `
      -Credential $cred `
      -ProvisionVMAgent `
      -EnableAutoUpdate
    $vmConfig = Set-AzVMSourceImage -VM $vmConfig `
      -PublisherName "MicrosoftWindowsServer" `
      -Offer "WindowsServer" `
      -Skus "2019-Datacenter" `
      -Version "latest"
    
  4. Используйте Add-AzVMNetworkInterface , чтобы подключить сетевой адаптер, созданный ранее, к виртуальной машине.

    $vmConfig = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id
    
  5. Используйте New-AzVM для создания виртуальной машины с поддержкой ускорения сети.

    New-AzVM -VM $vmConfig -ResourceGroupName "<myResourceGroup>" -Location "<myAzureRegion>"
    

Подтверждение установки контроллера Ethernet

После создания виртуальной машины в Azure подключитесь к ней и проверьте, установлен ли контроллер Ethernet в Windows.

  1. В портал Azure найдите и выберите виртуальные машины.

  2. На странице "Виртуальные машины" выберите новую виртуальную машину.

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

  4. На экране "Подключиться" выберите "Собственный RDP".

  5. На экране собственного RDP выберите "Скачать RDP-файл".

  6. Откройте скачанный RDP-файл, а затем войдите с помощью учетных данных, введенных при создании виртуальной машины.

  7. На удаленной виртуальной машине щелкните правой кнопкой мыши "Пуск" и выберите диспетчер устройств.

  8. В окне Диспетчер устройств разверните узел Сетевые адаптеры.

  9. Убедитесь, что появится адаптер Mellanox ConnectX-4 Lx Virtual Ethernet, как показано на следующем рисунке:

    Mellanox ConnectX-3 Virtual Function Ethernet Adapter, новый сетевой адаптер для ускорения сети, Диспетчер устройств

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

Примечание.

Если адаптер Mellanox не запускается, откройте командную строку администратора на удаленной виртуальной машине и введите следующую команду:

netsh int tcp set global rss = enabled

Управление ускорением сети на существующих виртуальных машинах

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

  • Будьте поддерживаемым размером для ускорения сети.
  • Будьте поддерживаемым образом Azure Marketplace.
  • Перед включением ускорения сети на любом сетевом адаптере следует остановить или освободить их. Это требование применяется ко всем отдельным виртуальным машинам или виртуальным машинам в группе доступности или Масштабируемые наборы виртуальных машин Azure.

Включение ускорения сети на отдельных виртуальных машинах или виртуальных машинах в группах доступности

  1. Остановите или освободите виртуальную машину. В случае с группой доступности сделайте это со всеми виртуальными машинами в наборе:

    Stop-AzVM -ResourceGroup "<myResourceGroup>" -Name "<myVM>"
    

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

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

  2. Включите ускоренную сеть на сетевом адаптере виртуальной машины:

    $nic = Get-AzNetworkInterface -ResourceGroupName "<myResourceGroup>" -Name "<myNic>"
    
    $nic.EnableAcceleratedNetworking = $true
    
    $nic | Set-AzNetworkInterface
    
  3. Перезапустите виртуальную машину или все виртуальные машины в группе доступности и убедитесь, что включена ускоренная сеть.

    Start-AzVM -ResourceGroup "<myResourceGroup>" -Name "<myVM>"
    

Включение ускоренной сети в Масштабируемые наборы виртуальных машин

Azure Масштабируемые наборы виртуальных машин немного отличается, но следует одному рабочему процессу.

  1. Остановите виртуальные машины.

    Stop-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
    
  2. Обновите свойство Ускорения сети в сетевом адаптере:

    $vmss = Get-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
    
    $vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].EnableAcceleratedNetworking = $true
    
    Update-AzVmss 
      -ResourceGroupName "<myResourceGroup>" `
      -VMScaleSetName "<myScaleSet>" `
      -VirtualMachineScaleSet $vmss
    
  3. Масштабируемые наборы виртуальных машин имеет политику обновления, которая применяет обновления с помощью автоматических, прокатных или ручных параметров. Настройте политику обновления автоматически, чтобы изменения сразу же были выбраны.

    $vmss.UpgradePolicy.Mode = "Automatic"
    
    Update-AzVmss 
      -ResourceGroupName "<myResourceGroup>" `
      -VMScaleSetName "<myScaleSet>" `
      -VirtualMachineScaleSet $vmss
    
  4. Перезапустите масштабируемый набор.

    Start-AzVmss -ResourceGroupName "<myResourceGroup>" -VMScaleSetName "<myScaleSet>"
    

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

Изменение размера существующих виртуальных машин с помощью ускорения сети

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

  1. Остановите виртуальную машину или все виртуальные машины в группе доступности или Масштабируемые наборы виртуальных машин.
  2. Отключите ускоренную сеть на сетевом адаптере виртуальной машины или все виртуальные машины в группе доступности или Масштабируемые наборы виртуальных машин.
  3. Переместите виртуальную машину или виртуальные машины в новый размер, который не поддерживает ускорение сети и перезапустите их.

Управление ускоренной сетью с помощью портала

При создании виртуальной машины в портал Azure установите флажок "Включить ускоренную сеть" на вкладке "Сеть" на экране "Создание виртуальной машины". Если виртуальная машина использует поддерживаемую операционную систему и размер виртуальной машины для ускорения сети, установите флажок автоматически. Если ускорение сети не поддерживается, флажок не выбран, а сообщение объясняет причину.

Примечание.

Вы можете включить ускоренную сеть во время создания виртуальной машины портала только для поддерживаемых операционных систем Azure Marketplace. Чтобы создать и включить ускоренную сеть для виртуальной машины с пользовательским образом ОС, необходимо использовать PowerShell или Azure CLI.

Чтобы включить или отключить ускоренную сеть для существующей виртуальной машины с помощью портал Azure:

  1. На странице портал Azure виртуальной машины выберите "Сеть" в меню слева.
  2. На странице "Сеть" выберите сетевой интерфейс.
  3. В верхней части страницы обзора сетевого адаптера выберите "Изменить ускоренную сеть".
  4. Выберите "Автоматический", "Включено" или "Отключено", а затем нажмите кнопку "Сохранить".

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

  1. На странице портал Azure виртуальной машины выберите "Сеть" в меню слева.
  2. На странице "Сеть" выберите сетевой интерфейс.
  3. На странице обзора сетевого адаптера в разделе "Основные сведения" обратите внимание, задано ли для ускорения сети значение "Включено" или "Отключено".

Следующие шаги