Créer une machine virtuelle Linux avec mise en réseau accéléréeCreate a Linux virtual machine with Accelerated Networking

Ce didacticiel explique comment créer une machine virtuelle Linux avec mise en réseau accélérée.In this tutorial, you learn how to create a Linux virtual machine (VM) with Accelerated Networking. Pour créer une machine virtuelle Windows avec accélération réseau, consultez Créer une machine virtuelle Windows avec accélération réseau.To create a Windows VM with Accelerated Networking, see Create a Windows VM with Accelerated Networking. Une mise en réseau accélérée permet d’opérer une virtualisation d’E/S d’une racine unique (SR-IOV) sur une machine virtuelle, ce qui améliore considérablement les performances de mise en réseau.Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, greatly improving its networking performance. Cette voie hautement performante court-circuite l’hôte à partir du chemin d’accès aux données, réduisant ainsi la latence, l’instabilité et l’utilisation du processeur pour servir les charges de travail réseau les plus exigeantes sur les types de machines virtuelles pris en charge.This high-performance path bypasses the host from the datapath, reducing latency, jitter, and CPU utilization, for use with the most demanding network workloads on supported VM types. L’illustration suivante montre la communication entre deux machines virtuelles avec ou sans mise en réseau accélérée :The following picture shows communication between two VMs with and without accelerated networking:

Opérateurs de comparaison

Sans mise en réseau accélérée, tout le trafic réseau en direction et en provenance de la machine virtuelle doit transiter par l’hôte et le commutateur virtuel.Without accelerated networking, all networking traffic in and out of the VM must traverse the host and the virtual switch. Le commutateur virtuel fournit au trafic réseau toutes les stratégies, telles que les groupes de sécurité réseau, les listes de contrôle d’accès, l’isolation et d’autres services de réseau virtualisé.The virtual switch provides all policy enforcement, such as network security groups, access control lists, isolation, and other network virtualized services to network traffic. Pour plus d’informations sur les commutateurs virtuels, voir Vue d’ensemble de la virtualisation de réseau Hyper-V.To learn more about virtual switches, read the Hyper-V network virtualization and virtual switch article.

Dans le cas d’une mise en réseau accélérée, le trafic réseau parvient à la carte réseau de la machine virtuelle avant d’être transféré vers celle-ci.With accelerated networking, network traffic arrives at the VM's network interface (NIC), and is then forwarded to the VM. Toutes les stratégies réseau que le commutateur virtuel applique sont déchargées et appliquées dans le matériel.All network policies that the virtual switch applies are now offloaded and applied in hardware. L’application de la stratégie au niveau du matériel permet à la carte réseau de transférer le trafic directement à la machine virtuelle, en ignorant l’hôte et le commutateur virtuel, tout en conservant toutes les stratégies qu’il a appliquées dans l’hôte.Applying policy in hardware enables the NIC to forward network traffic directly to the VM, bypassing the host and the virtual switch, while maintaining all the policy it applied in the host.

Les avantages d’une mise en réseau accélérée s’appliquent uniquement à la machine virtuelle activée.The benefits of accelerated networking only apply to the VM that it is enabled on. Pour des résultats optimaux, il convient d’activer cette fonctionnalité sur au moins deux machines virtuelles connectées au même réseau virtuel Azure Virtual Network.For the best results, it is ideal to enable this feature on at least two VMs connected to the same Azure Virtual Network (VNet). Lors de la communication entre réseaux virtuels ou d’une connexion locale, cette fonctionnalité a une incidence minimale sur la latence globale.When communicating across VNets or connecting on-premises, this feature has minimal impact to overall latency.

AvantagesBenefits

  • Latence plus faible/Nombre supérieur de paquets par seconde (pps) : la suppression du commutateur virtuel du chemin de données évite que les paquets liés au traitement des stratégies séjournent sur l’hôte, ce qui augmente le nombre de paquets pouvant être traités dans la machine virtuelle.Lower Latency / Higher packets per second (pps): Removing the virtual switch from the datapath removes the time packets spend in the host for policy processing and increases the number of packets that can be processed inside the VM.
  • Instabilité réduite : le traitement du commutateur virtuel dépend de la quantité de stratégie qui doit être appliquée et de la charge de travail du processeur qui effectue le traitement.Reduced jitter: Virtual switch processing depends on the amount of policy that needs to be applied and the workload of the CPU that is doing the processing. Le déchargement des stratégies sur le matériel supprime cette variabilité en fournissant des paquets directement à la machine virtuelle, en supprimant l’hôte dans la communication de la machine virtuelle et toutes les interruptions de logiciel et les changements de contexte.Offloading the policy enforcement to the hardware removes that variability by delivering packets directly to the VM, removing the host to VM communication and all software interrupts and context switches.
  • Utilisation réduite du processeur : ignorer le commutateur virtuel dans l’hôte réduit l’utilisation du processeur pour le traitement du trafic réseau.Decreased CPU utilization: Bypassing the virtual switch in the host leads to less CPU utilization for processing network traffic.

Systèmes d’exploitation pris en chargeSupported operating systems

Les distributions suivantes sont prises en charge sans configuration supplémentaire à partir de la galerie Azure :The following distributions are supported out of the box from the Azure Gallery:

  • Ubuntu 16.04Ubuntu 16.04
  • SLES 12 SP3SLES 12 SP3
  • RHEL 7.4RHEL 7.4
  • CentOS 7.4CentOS 7.4
  • CoreOS LinuxCoreOS Linux
  • Debian « Stretch » with backports kernelDebian "Stretch" with backports kernel
  • Oracle Linux 7.4Oracle Linux 7.4

Limitations et restrictionsLimitations and Constraints

Instances de machines virtuelles prises en chargeSupported VM instances

La mise en réseau accélérée est prise en charge dans la plupart des instances d’usage général et optimisées pour le calcul (2 processeurs virtuels ou plus).Accelerated Networking is supported on most general purpose and compute-optimized instance sizes with 2 or more vCPUs. Ces séries prises en charge sont : D/DSv2 et F/FsThese supported series are: D/DSv2 and F/Fs

Dans des instances qui acceptent l’hyperthreading, la mise en réseau accélérée est prise en charge dans des instances de machine virtuelle comptant au minimum 4 processeurs virtuels.On instances that support hyperthreading, Accelerated Networking is supported on VM instances with 4 or more vCPUs. Les séries acceptées sont : D/DSv3, D/ESv3, Fsv2 et Ms/Mms.Supported series are: D/DSv3, E/ESv3, Fsv2, and Ms/Mms.

Pour plus d’informations sur les instances de machine virtuelle, consultez la section Tailles des machines virtuelles Linux.For more information on VM instances, see Linux VM sizes.

RégionsRegions

Disponible dans toutes les régions Azure publiques ainsi que dans les clouds Azure Government.Available in all public Azure regions as well as Azure Government Clouds.

Création d’interfaces réseauNetwork interface creation

La mise en réseau accélérée ne peut être activée que pour une nouvelle carte réseau.Accelerated networking can only be enabled for a new NIC. Elle ne peut pas être activée pour une carte réseau existante.It cannot be enabled for an existing NIC.

Activation de l’accélération réseau sur une machine virtuelle en cours d’exécutionEnabling Accelerated Networking on a running VM

Cette fonctionnalité peut être activée sur une machine virtuelle sans mise en réseau accélérée uniquement si la machine virtuelle a une taille prise en charge et si elle est arrêtée/libérée.A supported VM size without accelerated networking enabled can only have the feature enabled when it is stopped and deallocated.

Déploiement par le biais d’Azure Resource ManagerDeployment through Azure Resource Manager

Aucun déploiement des machines virtuelles (classiques) n’est possible avec la mise en réseau accélérée.Virtual machines (classic) cannot be deployed with Accelerated Networking.

Créer une machine virtuelle Linux avec mise en réseau accélérée AzureCreate a Linux VM with Azure Accelerated Networking

Bien que cet article fournit des étapes pour créer une machine virtuelle avec mise en réseau accélérée à l’aide de l’interface CLI d’Azure, vous pouvez également Créer une machine virtuelle avec mise en réseau accélérée via le portail Azure.Though this article provides steps to create a virtual machine with accelerated networking using the Azure CLI, you can also create a virtual machine with accelerated networking using the Azure portal. Au moment de la création d’une machine virtuelle dans le portail, sous Paramètres, sélectionnez Activé sous Mise en réseau accélérée.When creating a virtual machine in the portal, under Settings, select Enabled, under Accelerated networking. L’option permettant d’activer la mise en réseau accélérée n’apparaît pas dans le portail, sauf si vous avez sélectionné un système d’exploitation pris en charge et une taille de machine virtuelle.The option to enable accelerated networking doesn't appear in the portal unless you've selected a supported operating system and VM size. Une fois la machine virtuelle créée, vous devez suivre les instructions de Confirmer l’activation de la mise en réseau accélérée.After the virtual machine is created, you need to complete the instructions in Confirm that accelerated networking is enabled.

Créez un réseau virtuelCreate a virtual network

Installez la dernière version d’Azure CLI et connectez-vous à un compte Azure avec az login.Install the latest Azure CLI and log in to an Azure account using az login. Dans les exemples suivants, remplacez les exemples de noms de paramètre par vos propres valeurs.In the following examples, replace example parameter names with your own values. Les noms de paramètre sont par exemple myResourceGroup, myNic et myVm.Example parameter names included myResourceGroup, myNic, and myVm.

Créez un groupe de ressources avec la commande az group create.Create a resource group with az group create. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement centralus :The following example creates a resource group named myResourceGroup in the centralus location:

az group create --name myResourceGroup --location centralus

Sélectionnez une région Linux prise en charge et répertoriée dans Mise en réseau accélérée Linux.Select a supported Linux region listed in Linux accelerated networking.

Créez un réseau virtuel avec la commande az network vnet create.Create a virtual network with az network vnet create. L’exemple suivant crée un réseau virtuel nommé myVnet avec un sous-réseau :The following example creates a virtual network named myVnet with one subnet:

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

Créer un groupe de sécurité réseauCreate a network security group

Créez un groupe de sécurité réseau avec la commande az network nsg create.Create a network security group with az network nsg create. L’exemple suivant crée un groupe de sécurité réseau nommé myNetworkSecurityGroup :The following example creates a network security group named myNetworkSecurityGroup:

az network nsg create \
    --resource-group myResourceGroup \
    --name myNetworkSecurityGroup

Le groupe de sécurité réseau contient plusieurs règles par défaut, dont l’une désactive tous les accès entrants à partir d’Internet.The network security group contains several default rules, one of which disables all inbound access from the Internet. Ouvrez un port pour autoriser l’accès SSH à la machine virtuelle avec az network nsg rule create :Open a port to allow SSH access to the virtual machine with az network nsg rule create:

az network nsg rule create \
  --resource-group myResourceGroup \
  --nsg-name myNetworkSecurityGroup \
  --name Allow-SSH-Internet \
  --access Allow \
  --protocol Tcp \
  --direction Inbound \
  --priority 100 \
  --source-address-prefix Internet \
  --source-port-range "*" \
  --destination-address-prefix "*" \
  --destination-port-range 22

Créer une interface réseau avec mise en réseau accéléréeCreate a network interface with accelerated networking

Créez une adresse IP publique avec la commande az network public-ip create.Create a public IP address with az network public-ip create. Une adresse IP publique n’est pas nécessaire si vous ne prévoyez pas d’accéder à l’ordinateur virtuel depuis Internet. Par contre, elle l’est pour procéder selon les étapes mentionnées dans cet article.A public IP address isn't required if you don't plan to access the virtual machine from the Internet, but to complete the steps in this article, it is required.

az network public-ip create \
    --name myPublicIp \
    --resource-group myResourceGroup

Créez une interface réseau avec az network nic create, puis activez la mise en réseau accélérée.Create a network interface with az network nic create with accelerated networking enabled. L’exemple suivant permet de créer une interface réseau nommée myNic dans le sous-réseau mySubnet du réseau virtuel myVnet et de lui associer le groupe de sécurité réseau myNetworkSecurityGroup :The following example creates a network interface named myNic in the mySubnet subnet of the myVnet virtual network and associates the myNetworkSecurityGroup network security group to the network interface:

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

Créer une machine virtuelle et attacher la carte réseauCreate a VM and attach the NIC

Lorsque vous créez la machine virtuelle, spécifiez la carte réseau que vous avez générée avec --nics.When you create the VM, specify the NIC you created with --nics. Sélectionnez une taille et une distribution répertoriées dans Mise en réseau accélérée Linux.Select a size and distribution listed in Linux accelerated networking.

Créez une machine virtuelle avec la commande az vm create.Create a VM with az vm create. L’exemple suivant crée une machine virtuelle nommée myVM avec l’image UbuntuLTS et une taille qui prend en charge la mise en réseau accélérée (Standard_DS4_v2) :The following example creates a VM named myVM with the UbuntuLTS image and a size that supports Accelerated Networking (Standard_DS4_v2):

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image UbuntuLTS \
    --size Standard_DS4_v2 \
    --admin-username azureuser \
    --generate-ssh-keys \
    --nics myNic

Pour obtenir la liste de toutes les tailles de machine virtuelle et leurs caractéristiques, consultez Tailles de machines virtuelles Linux.For a list of all VM sizes and characteristics, see Linux VM sizes.

Une fois que la machine virtuelle est créée, une sortie similaire à la sortie suivante est renvoyée.Once the VM is created, output similar to the following example output is returned. Veuillez noter publicIpAddress.Take note of the publicIpAddress. Cette adresse sera utilisée pour accéder à la machine virtuelle dans les étapes suivantes.This address is used to access the VM in subsequent steps.

{
  "fqdns": "",
  "id": "/subscriptions/<ID>/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"
}

Confirmer l’activation de la mise en réseau accéléréeConfirm that accelerated networking is enabled

Utilisez la commande suivante pour créer une session SSH avec la machine virtuelle.Use the following command to create an SSH session with the VM. Remplacez <your-public-ip-address> par l’adresse IP publique affectée à la machine virtuelle que vous avez créée, puis remplacez azureuser si vous avez utilisé une valeur différente pour --admin-username au moment de la création de la machine virtuelle.Replace <your-public-ip-address> with the public IP address assigned to the virtual machine you created, and replace azureuser if you used a different value for --admin-username when you created the VM.

ssh azureuser@<your-public-ip-address>

À partir de l’interpréteur de commandes Bash, entrez uname -r, puis confirmez que la version du noyau est bien l’une des versions suivantes ou une version supérieure :From the Bash shell, enter uname -r and confirm that the kernel version is one of the following versions, or greater:

  • Ubuntu 16.04 : 4.11.0-1013Ubuntu 16.04: 4.11.0-1013
  • SLES SP3 : 4.4.92-6.18SLES SP3: 4.4.92-6.18
  • RHEL : 7.4.2017120423RHEL: 7.4.2017120423
  • CentOS : 7.4.20171206CentOS: 7.4.20171206

Utilisez la commande lspci pour confirmer que l’appareil Mellanox VF est exposé à la machine virtuelle.Confirm the Mellanox VF device is exposed to the VM with the lspci command. Le résultat renvoyé ressemble à la sortie suivante :The returned output is similar to the following output:

0000:00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 03)
0000:00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 01)
0000:00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
0000:00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
0000:00:08.0 VGA compatible controller: Microsoft Corporation Hyper-V virtual VGA
0001:00:02.0 Ethernet controller: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function]

Utilisez la commande ethtool -S eth0 | grep vf_ pour rechercher l’activité sur VF (fonction virtuelle).Check for activity on the VF (virtual function) with the ethtool -S eth0 | grep vf_ command. Si vous recevez une sortie semblable à l’exemple suivant, la mise en réseau accélérée est donc activée et elle fonctionne.If you receive output similar to the following sample output, accelerated networking is enabled and working.

vf_rx_packets: 992956
vf_rx_bytes: 2749784180
vf_tx_packets: 2656684
vf_tx_bytes: 1099443970
vf_tx_dropped: 0

La mise en réseau accélérée est maintenant activée pour votre machine virtuelle.Accelerated Networking is now enabled for your VM.

Activer l’accélération réseau sur des machines virtuelles existantesEnable Accelerated Networking on existing VMs

Si vous avez créé une machine virtuelle sans mise en réseau accélérée, vous pouvez activer cette fonctionnalité sur une machine virtuelle existante.If you have created a VM without Accelerated Networking, it is possible to enable this feature on an existing VM. La machine virtuelle doit prendre en charge la mise en réseau accélérée et remplir les prérequis suivants (ces prérequis ont déjà été décrits plus haut) :The VM must support Accelerated Networking by meeting the following prerequisites that are also outlined above:

  • La machine virtuelle doit avoir une taille prise en charge pour la mise en réseau accéléréeThe VM must be a supported size for Accelerated Networking
  • La machine virtuelle doit être une image de la galerie Azure prise en charge (et une version de noyau prise en charge pour Linux)The VM must be a supported Azure Gallery image (and kernel version for Linux)
  • Toutes les machines virtuelles membres d’un groupe à haute disponibilité ou d’un groupe de machines virtuelles identiques doivent être arrêtées ou libérées avant l’activation de la mise en réseau accélérée sur une carte réseauAll VMs in an availability set or VMSS must be stopped/deallocated before enabling Accelerated Networking on any NIC

Machines virtuelles individuelles et machines virtuelles d’un groupe à haute disponibilitéIndividual VMs & VMs in an availability set

Tout d’abord, arrêtez/libérez la machine virtuelle individuelle ou, dans le cas d’un groupe à haute disponibilité, toutes les machines virtuelles du groupe :First stop/deallocate the VM or, if an Availability Set, all the VMs in the Set:

az vm deallocate \
    --resource-group myResourceGroup \
    --name myVM

Important : Si la machine virtuelle a été créée individuellement, en dehors d’un groupe à haute disponibilité, arrêtez/libérez simplement la machine virtuelle individuelle pour activer la mise en réseau accélérée.Important, please note, if your VM was created individually, without an availability set, you only need to stop/deallocate the individual VM to enable Accelerated Networking. Si la machine virtuelle a été créée dans un groupe à haute disponibilité, vous devez arrêter/libérer toutes les machines virtuelles membres de ce groupe avant d’activer la mise en réseau accélérée sur les cartes réseau.If your VM was created with an availability set, all VMs contained in the availability set will need to be stopped/deallocated before enabling Accelerated Networking on any of the NICs.

Après avoir arrêté la machine virtuelle, activez la mise en réseau accélérée sur la carte réseau de la machine virtuelle :Once stopped, enable Accelerated Networking on the NIC of your VM:

az network nic update \
    --name myNic \
    --resource-group myResourceGroup \
    --accelerated-networking true

Redémarrez la machine virtuelle ou, dans le cas d’un groupe à haute disponibilité, toutes les machines virtuelles du groupe, puis vérifiez que la mise en réseau accélérée est bien activée :Restart your VM or, if in an Availability Set, all the VMs in the Set and confirm that Accelerated Networking is enabled:

az vm start --resource-group myResourceGroup \
    --name myVM

Groupe de machines virtuelles identiques (VMSS)VMSS

Un groupe de machines virtuelles identiques fonctionne un peu différemment, mais suit le même workflow.VMSS is slightly different but follows the same workflow. Tout d’abord, arrêtez les machines virtuelles :First, stop the VMs:

az vmss deallocate \
    --name myvmss \
    --resource-group myrg

Une fois que les machines virtuelles sont arrêtées, mettez à jour la propriété Accelerated Networking sur l’interface réseau :Once the VMs are stopped, update the Accelerated Networking property under the network interface:

az vmss update --name myvmss \
    --resource-group myrg \
    --set virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].enableAcceleratedNetworking=true

Notez que, dans un groupe de machines virtuelles identiques, les machines virtuelles sont mises à niveau selon trois méthodes de mise à jour différentes : manuelle, automatique et propagée.Please note, a VMSS has VM upgrades that apply updates using three different settings, automatic, rolling and manual. Dans ces instructions, la stratégie est définie sur automatique afin que le groupe de machines virtuelles identiques récupère les mises à jour aussitôt après le redémarrage.In these instructions the policy is set to automatic so that the VMSS will pick up the changes immediately after restarting. Pour définir la stratégie sur automatique afin que les mises à jour soient immédiatement récupérées :To set it to automatic so that the changes are immediately picked up:

az vmss update \
    --name myvmss \
    --resource-group myrg \
    --set upgradePolicy.mode="automatic"

Enfin, redémarrez le groupe de machines virtuelles identiques :Finally, restart the VMSS:

az vmss start \
    --name myvmss \
    --resource-group myrg

Après redémarrage, attendez que les mises à niveau se terminent, mais une fois cela fait, la fonction virtuelle s’affiche à l’intérieur de la machine virtuelle.Once you restart, wait for the upgrades to finish but once completed, the VF will appear inside the VM. (Vérifiez que vous utilisez un système d’exploitation et des tailles de machine virtuelle pris en charge.)(Please make sure you are using a supported OS and VM size.)

Redimensionnement des machines virtuelles existantes avec mise en réseau accéléréeResizing existing VMs with Accelerated Networking

Les machines virtuelles avec mise en réseau accélérée peuvent être redimensionnées uniquement en machines virtuelles qui prennent en charge la mise en réseau accélérée.VMs with Accelerated Networking enabled can only be resized to VMs that support Accelerated Networking.

Une machine virtuelle avec mise en réseau accélérée ne peut pas être redimensionnée en une instance de machine virtuelle qui ne prend pas en charge la mise en réseau accélérée.A VM with Accelerated Networking enabled cannot be resized to a VM instance that does not support Accelerated Networking using the resize operation. Pour redimensionner l’une de ces machines virtuelles, vous devez effectuer ces opérations :Instead, to resize one of these VMs:

  • Arrêtez/libérez la machine virtuelle ou, dans le cas d’un groupe à haute disponibilité ou d’un groupe de machines virtuelles identiques, arrêtez/libérez toutes les machines virtuelles du groupe.Stop/Deallocate the VM or if in an availability set/VMSS, stop/deallocate all the VMs in the set/VMSS.
  • Désactivez la mise en réseau accélérée sur la carte réseau de la machine virtuelle ou, dans le cas d’un groupe à haute disponibilité ou d’un groupe de machines virtuelles identiques, de toutes les machines virtuelles du groupe.Accelerated Networking must be disabled on the NIC of the VM or if in an availability set/VMSS, all VMs in the set/VMSS.
  • Une fois que la mise en réseau accélérée est désactivée, redimensionnez la machine virtuelle, ou toutes les machines virtuelles du groupe à haute disponibilité ou du groupe de machines virtuelles identiques, à une nouvelle taille qui ne prend pas en charge la mise en réseau accélérée, et redémarrez la ou les machines.Once Accelerated Networking is disabled, the VM/availability set/VMSS can be moved to a new size that does not support Accelerated Networking and restarted.