Partager via


Vue d’ensemble de la mise en réseau accélérée Azure

La mise en réseau accélérée Azure améliore considérablement les performances réseau des machines virtuelles en réduisant la latence et l’utilisation du processeur. Cet article décrit les avantages, les contraintes et les configurations prises en charge par la mise en réseau accélérée. Performances réseau accélérées active la virtualisation SR-IOV (Single Root I/O Virtualization) sur des types de machines virtuelles pris en charge, ce qui améliore considérablement les performances réseau. Ce chemin d’accès aux données hautement performant contourne l’hôte, ce qui réduit la latence, l’instabilité et l’utilisation du processeur pour les charges de travail réseau les plus exigeantes.

Le diagramme suivant illustre la façon dont deux machines virtuelles communiquent avec et sans mise en réseau accélérée :

Capture d’écran qui montre la communication entre des machines virtuelles Azure avec ou sans Performances réseau accélérées.

Sans Performances réseau accélérées, tout le trafic réseau en direction et en provenance de la machine virtuelle doit transiter par l’hôte et le réseau virtuel. Le réseau virtuel assure l'application de toutes les politiques au trafic réseau. Les stratégies incluent les groupes de sécurité réseau, les listes de contrôle d’accès, l’isolation et d’autres services virtualisés réseau.

Avec la mise en réseau accélérée, le trafic qui parvient à l’interface réseau (NIC) de la machine virtuelle est directement transféré à celle-ci. La mise en réseau accélérée décharge toutes les stratégies réseau que le réseau virtuel applique, et les applique dans le matériel. Étant donné que le matériel applique les stratégies, la NIC peut transférer le trafic réseau directement à la machine virtuelle. La carte d’interface réseau ignore l’hôte et le commutateur virtuel, alors qu’elle gère l’ensemble de la stratégie appliquée à l’hôte.

Benefits

Performances réseau accélérées présente les avantages suivants :

  • Une latence plus faible et un plus grand nombre de paquets par seconde. En supprimant le commutateur virtuel du chemin de données, on élimine le temps que les paquets passent dans l'hôte pour le traitement des règles. Cela augmente également le nombre de paquets qui peuvent être traités à l’intérieur de la machine virtuelle.

  • Gigue réduite. Le temps de traitement des commutateurs virtuels dépend de la quantité de règles à appliquer et de la charge de travail de l'unité centrale qui effectue le traitement. L’application de la stratégie de déchargement sur le matériel supprime cette variabilité en livrant des paquets directement à la machine virtuelle. Le déchargement supprime également la communication entre l’hôte et la machine virtuelle, toutes les interruptions logicielles et tous les changements de contexte.

  • Utilisation réduite du processeur : en contournant le commutateur virtuel de l'hôte, le processeur utilise moins de ressources pour traiter le trafic réseau.

Limitations et contraintes

  • Les avantages de Performances réseau accélérées s’appliquent uniquement à la machine virtuelle qui l’active.

  • Pour obtenir de meilleurs résultats, vous devez activer Performances réseau accélérées sur au moins deux machines virtuelles du même réseau virtuel Azure. Cette fonctionnalité a un effet minimal sur la latence lorsque vous communiquez sur plusieurs réseaux virtuels ou que vous vous connectez localement.

  • Vous ne pouvez pas activer Performances réseau accélérées dans une machine virtuelle en cours d’exécution. Vous pouvez activer Performances réseau accélérées sur une machine virtuelle prise en charge uniquement lorsque la machine virtuelle est arrêtée et libérée.

  • Vous ne pouvez pas déployer de machines virtuelles (classiques) avec Performances réseau accélérées via Azure Resource Manager.

  • La plateforme Azure ne met pas à jour la carte réseau Mellanox ou les pilotes MANA dans la machine virtuelle. Pour les machines virtuelles exécutant Linux et FreeBSD, vous devez rester à jour avec les dernières mises à jour du noyau proposées par la distribution. Pour les machines virtuelles exécutant Windows, appliquez des pilotes mis à jour à partir de la page de support NVIDIA si vous rencontrez des problèmes avec le pilote fourni avec l’image de la Place de marché ou appliqué à une image personnalisée. Les derniers pilotes MANA sont disponibles dans la page de documentation de MANA sur Windows

Régions prises en charge

Performances réseau accélérées est disponible dans toutes les régions Azure globales et Azure Government Cloud.

Systèmes d’exploitation pris en charge

Les versions suivantes de Windows prennent en charge la mise en réseau accélérée pour toutes les interfaces :

  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows 11

Les distributions Linux et FreeBSD suivantes, disponibles sur Azure Marketplace, prennent en charge la mise en réseau accélérée dès le départ :

  • Azure Linux 3
  • Ubuntu 24.04 LTS
  • Ubuntu 22.04 LTS
  • Red Hat Enterprise Linux 10.0
  • Red Hat Enterprise Linux 9.6
  • AlmaLinux 10.0
  • AlmaLinux 9.6
  • Rocky Linux 10.0
  • Rocky Linux 9.6
  • SUSE Linux Enterprise Server 16
  • SUSE Linux Enterprise Server 15 SP7
  • SUSE Linux Enterprise Server 15 SP6
  • Debian 13 « Trixie »
  • Debian 12 « Bookworm »
  • Oracle Linux UEK R8
  • Oracle Linux UEK R7

Pour les utilisateurs de distributions Linux non approuvées ou utilisant des noyaux personnalisés, nous vous recommandons le noyau Linux 6.12 ou version ultérieure trouvé à kernel.org

Note

Les nouvelles fonctionnalités MANA sont en cours de développement actif et les fournisseurs de distribution Linux collaborent avec Microsoft pour mettre à jour leurs noyaux avec des modifications en amont. La cadence des mises à jour varie selon le fournisseur de distribution. Plus votre distribution et votre noyau sont récents, plus il est probable qu’ils disposent des dernières mises à jour.

Instances de machines virtuelles prises en charge

La plupart des tailles d’instances de machines virtuelles d’usage général et optimisées pour le calcul (avec deux processeurs virtuels ou plus) prennent en charge Performances réseau accélérées. Dans des instances qui acceptent l’hyperthreading, les instances de machines virtuelles comptant au minimum quatre processeurs virtuels prennent en charge Performances réseau accélérées.

Pour vérifier si une taille de machine virtuelle prend en charge Performances réseau accélérées, consultez Tailles des machines virtuelles dans Azure.

Vous pouvez interroger directement la liste des références SKU de machine virtuelle qui prennent en charge Performances réseau accélérées à l’aide de la commande Azure CLI az vm list-skus.

az vm list-skus \
  --location westus \
  --all true \
  --resource-type virtualMachines \
  --query '[].{size:size, name:name, acceleratedNetworkingEnabled: capabilities[?name==`AcceleratedNetworkingEnabled`].value | [0]}' \
  --output table

Note

Bien que les tailles NC et NV apparaissent dans la sortie de commande, ces tailles ne prennent pas en charge Performances réseau accélérées. L’activation de Performances réseau accélérées sur les machines virtuelles NC ou NV n’a aucun effet.

Images de machine virtuelle personnalisées

Si vous utilisez une image personnalisée qui prend en charge les performances réseau accélérées, veillez à respecter les exigences suivantes.

Prise en charge des appareils et des pilotes

Toute image personnalisée prenant en charge les performances réseau accélérées doit inclure des pilotes qui activent la virtualisation d’E/S d’une racine unique pour les cartes réseau utilisées sur des plateformes Azure. Cette liste de matériel comprend NVIDIA ConnectX-3, ConnectX-4 Lx, ConnectX-5 et la carte réseau MANA (Microsoft Azure Network Adapter).

Liaison dynamique et révocation de la fonction virtuelle

Les performances réseau accélérées nécessitent que les images du système d’exploitation invité gèrent correctement la fonction virtuelle supprimée ou ajoutée de manière dynamique. Les scénarios tels que la maintenance de l’hôte ou la migration dynamique entraînent la révocation dynamique de la fonction virtuelle et sa restauration après l’événement de maintenance. En outre, les applications doivent s’assurer qu’elles sont liées à l’appareil synthétique, et non à la fonction virtuelle, afin de maintenir la connectivité réseau pendant ces événements.

Pour plus d’informations sur les exigences de liaison d’application, consultez l’article Fonctionnement des performances réseau accélérées dans les machines virtuelles Linux et FreeBSD.

Configurer les pilotes en tant que pilotes non gérés

La mise en réseau accélérée nécessite la configuration des pilotes NVIDIA en tant qu’appareils non gérés dans vos paramètres réseau. Les images utilisant cloud-init version 23.2 ou ultérieure appliquent automatiquement la configuration réseau appropriée pour prendre en charge les performances réseau accélérées lors du provisionnement. Nous vous recommandons vivement d’éviter les outils de gestion d’interface réseau simultanés (par exemple, ifupdown et networkd) sur des images personnalisées, et de ne pas exécuter dhcpclient directement sur plusieurs interfaces.

Vérifiez qu’azure-vm-utils version 0.6.0 ou ultérieure est installé. Vérifiez /usr/lib/udev/rules.d/10-azure-unmanaged-sriov.rules qu’il existe.
S’il n’est pas disponible pour la distribution, utilisez une règle udev personnalisée dans /etc/udev/rules.d/10-azure-unmanaged-sriov.rules avec le contenu :

# Azure VMs with accelerated networking may have MANA, mlx4, or mlx5 SR-IOV devices which are transparently bonded to a synthetic
# hv_netvsc device.  Mark devices with the 0x800 bit set as unmanaged devices:
#   AZURE_UNMANAGED_SRIOV=1 for 01-azure-unmanaged-sriov.network
#   ID_NET_MANAGED_BY=unmanaged for systemd-networkd >= 255
#   NM_UNMANAGED=1 for NetworkManager
#
# ATTR{flags}=="0x?[89ABCDEF]??" checks the 0x800 bit.
SUBSYSTEM=="net", ACTION!="remove", DRIVERS=="mana|mlx4_core|mlx5_core", ATTR{flags}=="0x?[89ABCDEF]??", ENV{AZURE_UNMANAGED_SRIOV}="1", ENV{ID_NET_MANAGED_BY}="unmanaged", ENV{NM_UNMANAGED}="1"

Le trafic utilise le chemin d’accès aux données des performances réseau accélérées

Pour les pilotes NVIDIA : vérifier que les paquets transitent via l’interface VF

Pour le pilote MANA : vérifier que le trafic transite via MANA