Información general sobre las 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 obtener más información, consulte la guía de fin de vida de CentOS.
En este artículo se describen las ventajas, las restricciones y las configuraciones admitidas de Redes aceleradas. Las redes aceleradas permiten la virtualización de E/S de raíz única (SR-IOV) en los tipos de máquina virtual (VM) compatibles, lo que mejora considerablemente el rendimiento de las redes. Esta ruta de acceso de datos de alto rendimiento omite el host, lo que reduce la latencia, la inestabilidad y el uso de CPU de las cargas de trabajo de red más exigentes.
Nota
Para obtener más información sobre la versión preliminar del adaptador de red de Microsoft Azure (MANA), consulte la documentación de Azure MANA.
En el diagrama siguiente, se muestra la comunicación entre dos máquinas virtuales con y sin redes aceleradas.
Sin redes aceleradas, todo el tráfico de entrada y salida de la máquina virtual tiene que atravesar el host y el conmutador virtual. El conmutador virtual proporciona toda la aplicación de directivas al tráfico. Las directivas incluyen grupos de seguridad de red, listas de control de acceso, aislamiento y otros servicios virtualizados de red.
Con Redes aceleradas, el tráfico que llega a la interfaz de red (NIC) de la máquina virtual se reenvía directamente a la máquina virtual. Las redes aceleradas descargan todas las directivas de red que aplicó el conmutador virtual y las aplica en el hardware. Dado que el hardware aplica las directivas, la NIC puede reenviar el tráfico directamente a la máquina virtual. La NIC omite el host y el conmutador virtual, y mantiene toda las directivas que aplicó en el host.
Ventajas
Las redes aceleradas tienen las siguientes ventajas:
Menor latencia y más paquetes por segundo. Al eliminar el conmutador virtual de la ruta de acceso de datos, se quita el tiempo que los paquetes pasan en el host para el procesamiento de directivas. También aumenta el número de paquetes que la máquina virtual puede procesar.
Inestabilidad reducida. El tiempo de procesamiento de los conmutadores virtuales depende de la cantidad de directivas a aplicar y de la carga de trabajo de la CPU que realiza el procesamiento. La descarga de la aplicación de directivas en el hardware elimina esa variabilidad mediante la entrega de paquetes directamente a la VM. La descarga también quita la comunicación entre el host y la VM, todas las interrupciones de software y todos los cambios de contexto.
Disminución de la utilización de la CPU. el pasar por alto el conmutador virtual en el host conlleva una disminución de la utilización de la CPU para procesar el tráfico de red.
Limitaciones y restricciones
Las ventajas de las redes aceleradas solo se aplican a la máquina virtual que las habilita.
Para obtener los mejores resultados, habilite las redes aceleradas en al menos dos máquinas virtuales de la misma red virtual de Azure. Esta característica tiene un impacto mínimo en la latencia al comunicarse entre redes virtuales o al conectarse localmente.
No se pueden habilitar redes aceleradas en una máquina virtual en ejecución. Puede habilitar las redes aceleradas en una máquina virtual admitida solo cuando la máquina virtual está detenida y desasignada.
No se pueden implementar máquinas virtuales (clásicas) con redes aceleradas a través de Azure Resource Manager.
La plataforma Azure no actualiza los controladores NIC de Mellanox en la máquina virtual. En el caso de las máquinas virtuales que ejecutan Linux y FreeBSD, se recomienda a los clientes mantenerse al día con las últimas actualizaciones del kernel que ofrece la distribución. Para las máquinas virtuales que ejecutan Windows, los clientes deben aplicar controladores actualizados desde la página de asistencia de Nvidia si posteriormente se encuentra algún problema con el controlador entregado con la imagen de Marketplace o aplicado a una imagen personalizada.
Regiones admitidas
Las redes aceleradas están disponibles en todas las regiones globales de Azure y la nube de Azure Government.
Sistemas operativos admitidos
Las siguientes versiones de Windows admiten redes aceleradas:
- Windows Server 2022
- Windows Server 2019 Standard/Datacenter
- Windows Server 2016 Standard/Datacenter
- Windows Server 2012 R2 Standard/Datacenter
- Windows 10, versión 21H2 o posterior, incluido Windows 10 Enterprise multisesión
- Windows 11 (incluye Windows 11 Enterprise multisesión)
Las siguientes distribuciones de Linux y FreeBSD de Azure Marketplace admiten redes aceleradas de forma predeterminada:
- Ubuntu 14.04 con el kernel linux-azure
- Ubuntu 16.04 o posterior
- SLES12 SP3 o posterior
- RHEL 7.4 o posterior
- CentOS 7.4 o posterior
- CoreOS Linux
- Debian "Stretch" con kernel backports
- Debian "Buster" o posterior
- Oracle Linux 7.4 y posterior con Red Hat Compatible Kernel (RHCK)
- Oracle Linux 7.5 y posterior con UEK, versión 5
- FreeBSD 10.4, 11.1, 12.0 o posterior
Instancias de máquina virtual admitidas
La mayoría de los tamaños de instancia de máquina virtual de uso general y optimizados para procesos de dos o más vCPU admiten redes aceleradas. En las instancias que admiten hyperthreading, las instancias de máquina virtual con cuatro o más vCPU admiten redes aceleradas.
Para comprobar si un tamaño de máquina virtual admite redes aceleradas, consulte Tamaños de máquinas virtuales en Azure.
Puede consultar directamente la lista de SKU de máquina virtual que admiten redes aceleradas mediante el comando az vm list-skus de la CLI de Azure:
az vm list-skus \
--location westus \
--all true \
--resource-type virtualMachines \
--query '[].{size:size, name:name, acceleratedNetworkingEnabled: capabilities[?name==`AcceleratedNetworkingEnabled`].value | [0]}' \
--output table
Nota:
Aunque los tamaños NC y NV aparecen en la salida del comando, esos tamaños no admiten redes aceleradas. La habilitación de redes aceleradas en máquinas virtuales NC o NV no tiene ningún efecto.
Imágenes de máquina virtual personalizadas
Si usa una imagen personalizada que admite redes aceleradas, asegúrese de cumplir los siguientes requisitos.
Compatibilidad con dispositivos y controladores
Cualquier imagen personalizada compatible con redes aceleradas debe incluir controladores que permitan la virtualización de E/S de raíz única para las tarjetas de interfaz de red (NIC) que se usan en las plataformas de Azure. Esta lista de hardware incluye NVIDIA ConnectX-3, ConnectX-4 Lx, ConnectX-5 y el adaptador de red de Microsoft Azure (MANA).
Enlace dinámico y revocación de la función virtual
Las redes aceleradas requieren que las imágenes del sistema operativo invitado controlen correctamente la función virtual que se elimina o agrega dinámicamente. Los escenarios como el mantenimiento del host o la migración en vivo provocarán la revocación dinámica de la función virtual y la restauración después del evento de mantenimiento. Además, las aplicaciones deben asegurarse de que se enlazan al dispositivo sintético y no a la función virtual para mantener la conectividad de red durante estos eventos.
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.
Configuración de controladores para que no estén administrados
Las redes aceleradas requieren configuraciones de red que marquen los controladores NVIDIA como dispositivos no administrados. Las imágenes con la versión 19.4 o posterior de cloud-init tienen la red correctamente configurada para admitir redes aceleradas durante el aprovisionamiento. Le recomendamos encarecidamente que no ejecute software de interfaz de red competidor (por ejemplo, ifupdown y networkd) en imágenes personalizadas y que no ejecute dhcpclient directamente en varias interfaces.
En el ejemplo siguiente se muestra un ejemplo de lista desplegable de configuración para NetworkManager
en RHEL o CentOS:
sudo cat <<EOF > /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules
# Accelerated Networking on Azure exposes a new SRIOV interface to the VM.
# This interface is transparentlybonded to the synthetic interface,
# so NetworkManager should just ignore any SRIOV interfaces.
SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION!="remove", ENV{NM_UNMANAGED}="1"
EOF
El tráfico de red usa la ruta de datos de redes aceleradas
Para controladores NVIDIA: compruebe que los paquetes fluyen a través de la interfaz VF
Para el controlador MANA: compruebe que el tráfico fluye a través de MANA