Compartir vía


Uso de la CLI de Azure para crear una máquina virtual Windows o Linux con redes aceleradas

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux con un estado de finalización del servicio (EOL). Tenga en cuenta su uso y planifique en consecuencia. Para más información, consulte la Guía de fin de ciclo de vida de CentOS.

En este artículo se describe cómo crear una máquina virtual (VM) Linux o Windows con redes aceleradas (AccelNet) habilitada mediante la interfaz de la línea de comandos de la CLI de Azure. En el artículo también se describe cómo habilitar y administrar redes aceleradas en máquinas virtuales existentes.

También puede crear una VM con redes aceleradas habilitadas utilizando Azure Portal. Para obtener más información sobre el uso de Azure Portal para administrar redes aceleradas en máquinas virtuales, consulte Administración de redes aceleradas a través del portal.

Para usar Azure PowerShell para crear una máquina virtual Windows con redes aceleradas habilitadas, consulte Uso de Azure PowerShell para crear una máquina virtual Linux con redes aceleradas.

Requisitos previos

Creación de una máquina virtual con redes aceleradas

En los ejemplos siguientes, puede reemplazar los parámetros de ejemplo como <myResourceGroup>, <myNic> y <myVm> por sus propios valores.

Creación de una red virtual

  1. Use az group create para crear un grupo de recursos que contenga los recursos. Asegúrese de seleccionar una región de Windows o Linux compatible como se muestra en Redes aceleradas de Windows y Linux.

    az group create --name <myResourceGroup> --location <myAzureRegion>
    
  2. Use az network vnet create para crear una red virtual con una subred en el grupo de recursos:

    az network vnet create \
      --resource-group <myResourceGroup> \
      --name <myVnet> \
      --address-prefix 192.168.0.0/16 \
      --subnet-name <mySubnet> \
      --subnet-prefix 192.168.1.0/24
    

Crear un grupo de seguridad de red

  1. Use az network nsg create para crear un grupo de seguridad de red (NSG).

    az network nsg create \
      --resource-group <myResourceGroup> \
      --name <myNsg>
    
  2. El NSG contiene varias reglas predeterminadas, una de las cuales deshabilita todo el acceso entrante desde Internet. Use az network nsg rule create para abrir un puerto para permitir el acceso del protocolo de escritorio remoto (RDP) o Secure Shell (SSH) a la máquina virtual.

    az network nsg rule create \
      --resource-group <myResourceGroup> \
      --nsg-name <myNsg> \
      --name Allow-RDP-Internet \
      --access Allow \
      --protocol Tcp \
      --direction Inbound \
      --priority 100 \
      --source-address-prefix Internet \
      --source-port-range "*" \
      --destination-address-prefix "*" \
      --destination-port-range 3389
    

Creación de una interfaz de red con redes aceleradas

  1. Use az network public-ip create para crear una dirección IP pública. La máquina virtual no necesita una dirección IP pública si no accede a ella desde Internet, pero necesita la IP pública para completar los pasos de este artículo.

    az network public-ip create \
      --name <myPublicIp> \
      --resource-group <myResourceGroup>
    
  2. Use az network nic create para crear una interfaz de red (NIC) con redes aceleradas habilitadas. En el ejemplo siguiente se crea una NIC en la subred de la red virtual y se asocia el NSG a la NIC.

    az network nic create \
     --resource-group <myResourceGroup> \
      --name <myNic> \
      --vnet-name <myVnet> \
      --subnet <mySubnet> \
      --accelerated-networking true \
      --public-ip-address <myPublicIp> \
      --network-security-group <myNsg>
    

Creación de una máquina virtual y conexión de NIC

Use az vm create para crear la máquina virtual y use la opción --nics para asociar la NIC que ha creado. Asegúrese de seleccionar un tamaño y una distribución de máquina virtual que figure en Redes aceleradas de Windows y Linux. Para obtener una lista de todos los tamaños y características de las máquinas virtuales, consulte Tamaños para máquinas virtuales en Azure.

En el ejemplo siguiente se crea una máquina virtual de Windows Server 2019 Datacenter con un tamaño que admite redes aceleradas, Standard_DS4_v2.

az vm create \
  --resource-group <myResourceGroup> \
  --name <myVm> \
  --image Win2019Datacenter \
  --size Standard_DS4_v2 \
  --admin-username <myAdminUser> \
  --admin-password <myAdminPassword> \
  --nics <myNic>

Una vez creada la máquina virtual, obtendrá una salida similar a la del siguiente ejemplo. Para una máquina Linux, tome nota de la publicIpAddress, que introducirá para acceder a la VM en el siguiente paso.

{
  "fqdns": "",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm",
  "location": "centralus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "192.168.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Confirmación de que Accelerated Networking esté habilitado

Una vez creada la VM en Azure, conéctese a ella y confirme que el controlador de Ethernet está instalado en Windows.

  1. En el Azure Portal, busque y seleccione máquinas virtuales.

  2. En la página Máquinas virtuales, seleccione la nueva máquina virtual.

  3. En la página Información general de la máquina virtual, seleccione Conectar.

  4. En la pantalla Conectar, seleccione RDP nativo.

  5. En la pantalla RDP nativo, seleccione Descargar archivo RDP.

  6. Abra el archivo RDP descargado e inicie sesión con las credenciales que especificó al crear la máquina virtual.

  7. En la máquina virtual remota, haga clic con el botón derecho en Inicio y seleccione Administrador de dispositivos.

  8. En la ventana Administrador de dispositivos, expanda el nodo Adaptadores de red.

  9. Compruebe que el Adaptador Ethernet virtual ConnectX-4 Lx de Mellanox aparezca como se muestra en la siguiente imagen:

    Adaptador Ethernet de función virtual ConnectX-3 de Mellanox, nuevo adaptador de red para redes aceleradas, Administrador de dispositivos

    La presencia del adaptador confirma que las redes aceleradas están habilitadas para la máquina virtual.

  10. Compruebe que los paquetes fluyen a través de la interfaz VF desde la salida del siguiente comando:

    PS C:\ > Get-NetAdapter | Where-Object InterfaceDescription –like "*Mellanox*Virtual*" | Get-NetAdapterStatistics
    
    Name                             ReceivedBytes ReceivedUnicastPackets       SentBytes SentUnicastPackets
    ----                             ------------- ----------------------       --------- ------------------
    Ethernet 2                           492447549                 347643         7468446              34991
    
    

Nota:

Si el adaptador Mellanox no se inicia, abra un símbolo del sistema del administrador en la máquina virtual remota e introduzca el siguiente comando:

netsh int tcp set global rss = enabled

Control de la revocación y el enlace dinámicos de la función virtual

El enlace a la NIC sintética que se expone en la máquina virtual es un requisito obligatorio para todas las aplicaciones que aprovechan las ventajas de las redes aceleradas. Si una aplicación se ejecuta directamente sobre el VF de NIC, no recibirá todos los paquetes destinados a la máquina virtual, ya que algunos paquetes se mostrarán sobre la interfaz sintética.

Debe ejecutar una aplicación a través de la NIC sintética para garantizar que la aplicación recibe todos los paquetes que están destinados a ella. El enlace a la NIC sintética también garantiza que la aplicación siga ejecutándose incluso si se revoca la función virtual cuando el host está en mantenimiento.

Para más información sobre los requisitos de enlace de aplicaciones, consulte Funcionamiento de las redes aceleradas en máquinas virtuales Linux y FreeBSD.

Para asegurarse de que la imagen personalizada o las aplicaciones admiten correctamente el enlace dinámico y la revocación de funciones virtuales, la funcionalidad se puede probar en cualquier servidor Hyper-V de Windows. Use una instancia local de Windows Server que ejecute Hyper-V en la siguiente configuración:

  • Asegúrese de que tiene un adaptador de red físico que admita SR-IOV.
  • Se crea un conmutador virtual externo sobre este adaptador SR-IOV con la opción "Habilitar virtualización de E/S de raíz única (SR-IOV)" activada.
  • Se crea o implementa una máquina virtual que ejecuta la imagen o aplicación del sistema operativo.
  • Los adaptadores de red de esta máquina virtual, en Aceleración de hardware, tienen seleccionada la opción "Habilitar SR-IOV".

Una vez que haya comprobado que la máquina virtual y la aplicación usan un adaptador de red con SR-IOV, puede modificar los siguientes comandos de ejemplo para activar o desactivar SR-IOV para revocar y agregar la función virtual que simulará lo que sucede durante el mantenimiento del host de Azure:

# Get the virtual network adapter to test
$vmNic = Get-VMNetworkAdapter -VMName "myvm" | where {$_.MacAddress -eq "001122334455"}

# Enable SR-IOV on a virtual network adapter
Set-VMNetworkAdapter $vmNic -IovWeight 100 -IovQueuePairsRequested 1

# Disable SR-IOV on a virtual network adapter
Set-VMNetworkAdapter $vmNic -IovWeight 0

Administrar redes aceleradas en máquinas virtuales existentes

Es posible habilitar las redes aceleradas en una máquina virtual existente. La máquina virtual debe cumplir los siguientes requisitos para admitir redes aceleradas:

  • Un tamaño admitido para redes aceleradas.

  • Una imagen admitida de Azure Marketplace y la versión de kernel de Linux.

  • Se detiene o desasigna antes de habilitar las redes aceleradas en cualquier NIC. Este requisito se aplica a todas las máquinas virtuales individuales o máquinas virtuales en un conjunto de disponibilidad o Azure Virtual Machine Scale Sets.

Habilitar redes aceleradas en máquinas virtuales individuales o máquinas virtuales en conjuntos de disponibilidad

  1. En primer lugar, detenga y desasigne la máquina virtual o todas las máquinas virtuales del conjunto de disponibilidad.

    az vm deallocate \
      --resource-group <myResourceGroup> \
      --name <myVm>
    

    Si creó su máquina virtual de forma individual, sin un conjunto de disponibilidad, es necesario detener o desasignar solo esa máquina virtual para habilitar las redes aceleradas. Si ha creado la máquina virtual con un conjunto de disponibilidad, debe detener o desasignar todas las máquinas virtuales del conjunto para poder habilitar las redes aceleradas en cualquiera de las NIC.

  2. Una vez detenida la máquina virtual, habilite las redes aceleradas en la NIC de la máquina virtual.

    az network nic update \
      --name <myNic> \
      --resource-group <myResourceGroup> \
      --accelerated-networking true
    
  3. Reinicie su máquina virtual, o todas las máquinas virtuales del conjunto de disponibilidad, y confirme que las redes aceleradas están habilitadas.

    az vm start --resource-group <myResourceGroup> \
      --name <myVm>
    

Habilitar redes aceleradas en Virtual Machine Scale Sets

Azure Virtual Machine Scale Sets es ligeramente diferente, pero sigue el mismo flujo de trabajo.

  1. En primer lugar, detenga las VM:

    az vmss deallocate \
      --name <myVmss> \
      --resource-group <myResourceGroup>
    
  2. Una vez detenidas las VM, actualice la propiedad Accelerated Networking bajo la interfaz de red.

    az vmss update --name <myVmss> \
      --resource-group <myResourceGroup> \
      --set virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].enableAcceleratedNetworking=true
    
  3. Virtual Machine Scale Sets tiene una directiva de actualización que aplica las actualizaciones mediante la configuración automática, gradual o manual. Las siguientes instrucciones establecen la política en automática para que Virtual Machine Scale Sets recoja los cambios inmediatamente después del reinicio.

    az vmss update \
      --name <myVmss> \
      --resource-group <myResourceGroup> \
      --set upgradePolicy.mode="automatic"
    
  4. Por último, reinicie Virtual Machine Scale Sets.

    az vmss start \
      --name <myVmss> \
      --resource-group <myResourceGroup>
    

Una vez que reinicia y finalizan las actualizaciones, la función virtual aparece dentro de las máquinas virtuales que utilizan un sistema operativo y un tamaño de máquina virtual compatibles.

Cambio del tamaño de las VM existentes con redes aceleradas

Puede cambiar el tamaño de las máquinas virtuales con redes aceleradas habilitadas solo a tamaños que también admitan redes aceleradas. No se puede cambiar el tamaño de una máquina virtual con redes aceleradas a una instancia de máquina virtual que no admita redes aceleradas mediante la operación de cambio de tamaño. En su lugar, use el siguiente proceso para cambiar el tamaño de estas máquinas virtuales:

  1. Detenga y desasigne la máquina virtual o todas las máquinas virtuales del conjunto de disponibilidad o Virtual Machine Scale Sets.

  2. Deshabilite las redes aceleradas en la NIC de la máquina virtual o en todas las máquinas virtuales del conjunto de disponibilidad o Virtual Machine Scale Sets.

  3. Mueva la máquina virtual o las máquinas virtuales a un nuevo tamaño que no admita redes aceleradas y reinícielas.

Administrar redes aceleradas a través del portal

Al crear una máquina virtual en Azure Portal, puede activar la casilla Habilitar redes aceleradas en la pestaña Redes de la pantalla Crear una máquina virtual.

Si la máquina virtual usa un sistema operativo compatible y un tamaño de máquina virtual para redes aceleradas, la casilla Habilitar redes aceleradas de la pestaña Redes de la pantalla Crear una máquina virtual se selecciona automáticamente. Si no se admiten redes aceleradas, la casilla no está seleccionada y un mensaje explica el motivo.

Nota:

  • Puede habilitar las redes aceleradas durante la creación de la máquina virtual del portal solo en el caso de sistemas operativos compatibles con Azure Marketplace. Para crear y habilitar redes aceleradas para una máquina virtual con una imagen de SO personalizada, debe usar la CLI de Azure o PowerShell.

  • El valor de red acelerada en el portal muestra el estado seleccionado por el usuario. Las redes aceleradas permiten elegir el modo Deshabilitado en el portal, incluso si el tamaño de la máquina virtual requiere redes aceleradas. Los tamaños de máquina virtual que requieren redes aceleradas habilitan redes aceleradas en tiempo de ejecución, independientemente de la configuración del usuario en el portal.

Para habilitar o deshabilitar las redes aceleradas para una máquina virtual existente mediante Azure Portal:

  1. En la página de Azure Portal para la VM, seleccione Redes en el menú de la izquierda.

  2. En la página Redes, seleccioneInterfaz de red.

  3. En la parte superior de la página de información general de la NIC, seleccione Editar redes aceleradas.

  4. Seleccione el modo Automático, Habilitado o Deshabilitado y, a continuación, seleccione Guardar.

Para confirmar si las redes aceleradas están habilitadas para una máquina virtual existente:

  1. En la página del portal de la máquina virtual, seleccione Redes en el menú de la izquierda.

  2. En la página Redes, seleccioneInterfaz de red.

  3. En la página de información general de la interfaz de red, en Essentials, observe si las redes aceleradas están establecidas en el modo Habilitado o Deshabilitado.

Pasos siguientes