Accelerated Networking Azure offers a significant boost to network performance, reducing latency and increasing throughput by up to 30% compared to traditional networking options.
This is achieved through the use of a dedicated network interface, which bypasses the need for a virtual network interface card (vNIC) and provides a direct connection to the underlying physical network.
Accelerated Networking Azure supports a wide range of deployment options, including virtual machines (VMs), container instances, and Azure Functions.
With Accelerated Networking Azure, you can expect to see improved performance in applications that rely heavily on network traffic, such as web servers, databases, and file servers.
Deployment Options
You can enable Accelerated Networking on a VM in Azure through two main deployment options.
You can create a NIC with Accelerated Networking during the initial creation of the VM.
This allows for a seamless and efficient setup process, getting you up and running quickly.
Alternatively, you can also enable Accelerated Networking after the VM has been created.
This is a great option if you didn't initially enable it, or if you need to make changes to your existing setup.
By choosing either of these deployment options, you can take full advantage of the benefits that Accelerated Networking has to offer.
Verification and Management
To verify if accelerated networking is enabled for your VM, you can check the Networking tab in the Azure portal. From there, select the Network Interface and look for the Accelerated Networking setting under Essentials.
You can also enable or disable Accelerated Networking for an existing VM through the Azure portal. To do this, select Networking from the left menu, then select the Network Interface, and finally click Edit accelerated networking. From there, you can select Automatic, Enabled, or Disabled and save your changes.
To confirm whether Accelerated Networking is enabled for an existing VM, check the Network Interface Overview page under Essentials. If Accelerated Networking is enabled, it will be set to Enabled.
Verification
Verification is a crucial step in ensuring that accelerated networking is enabled on your VM. You can verify this by checking the presence of the Mellanox ConnectX-4 Lx Virtual Ethernet Adapter in the Device Manager window.
To do this, you'll need to connect to your VM using the Azure portal. From there, you can select your VM and click Connect, then select Native RDP and download the RDP file. Once you've signed in, right-click Start and select Device Manager, and then expand the Network adapters node.
The adapter should appear in the list, confirming that Accelerated Networking is enabled for your VM. You can also verify this by running the command PS C:\ > Get-NetAdapter | Where-Object InterfaceDescription –like "*Mellanox*Virtual*" | Get-NetAdapterStatistics, which will show you the number of packets flowing over the VF interface.
To confirm that the kernel version is compatible with Accelerated Networking, you can run the command uname -r and check that the version is one of the supported versions. You can find the supported versions in the release notes for Linux Integration Services for Hyper-V and Azure.
Here are the steps to verify the kernel version:
- Use the command uname -r to get the kernel version.
- Check that the kernel version is one of the supported versions.
Additionally, you can use the lspci command to confirm that the Mellanox VF device is exposed to the VM. The returned output should be similar to the following example:
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]
Finally, you can use the ethtool -S eth0 | grep vf_ command to check for activity on the virtual function (VF). If accelerated networking is enabled and active, you should receive output similar to the following example:
vf_rx_packets: 992956
vf_rx_bytes: 2749784180
vf_tx_packets: 2656684
vf_tx_bytes: 1099443970
vf_tx_dropped: 0
Manage Existing VMs
To manage existing VMs, you can enable Accelerated Networking on an existing VM. The VM must meet the following requirements: a supported size for Accelerated Networking, a supported Azure Marketplace image and kernel version for Linux, and stopped or deallocated before you can enable Accelerated Networking on any NIC.
You can enable Accelerated Networking on an existing VM through the Azure portal by following these steps: select Networking from the left menu, select the Network Interface, and then select Edit accelerated networking. From there, you can select Automatic, Enabled, or Disabled, and then select Save.
Accelerated Networking can also be enabled on individual VMs or VMs in availability sets by stopping and deallocating the VM, or all the VMs in the availability set, and then updating the Accelerated Networking property under the network interface.
To confirm whether Accelerated Networking is enabled for an existing VM, you can check the Essentials section on the network interface Overview page in the Azure portal.
Here are the steps to enable Accelerated Networking on individual VMs or VMs in availability sets:
1. Stop and deallocate the VM, or all the VMs in the availability set.
2. Update the Accelerated Networking property under the network interface.
3. Restart your VM, or all the VMs in the availability set.
By following these steps, you can manage existing VMs and enable Accelerated Networking as needed.
Dynamic Virtual Function Binding and Revocation
Dynamic Virtual Function Binding and Revocation is a crucial aspect of Accelerated Networking. To ensure seamless network connectivity, guest OS images must handle the virtual function being removed or added dynamically.
For instance, host maintenance or live migration will result in dynamic revocation of the virtual function and restoration after the maintenance event. This is why applications must bind to the synthetic device and not the virtual function to maintain network connectivity during these events.
To verify that your custom image or applications correctly support dynamic binding and revocation of virtual functions, you can test on any Windows Hyper-V server. Ensure you have a physical network adapter that supports SR-IOV and create an external virtual switch on top of this adapter.
A virtual machine running your operating system image or application should be created with the network adapters configured to use SR-IOV. Once you've verified your virtual machine and application are leveraging a network adapter using SR-IOV, you can modify the example commands to toggle SR-IOV off/on in order to revoke and add the virtual function.
Some supported operating systems for this functionality include RHEL, CentOS, openSUSE, SLES, Ubuntu, and Debian. These operating systems have been tested to properly handle the virtual function being removed or added dynamically.
Frequently Asked Questions
What is network acceleration in Azure?
Network acceleration in Azure, also known as AN, is a feature that speeds up VM communications by bypassing traditional network interfaces. However, it may be temporarily disabled for maintenance events such as driver updates or software upgrades.
How to turn on accelerated Networking in Azure?
To enable accelerated networking in Azure, navigate to the Network Interface in the Azure portal and select Edit accelerated networking, then choose Automatic, Enabled, or Disabled and save. This will activate or deactivate accelerated networking for your Azure Virtual Machine.
Sources
- https://www.untangled.eu/2020/02/azure-networking-accelerated-networking/
- https://learn.microsoft.com/en-us/azure/virtual-network/accelerated-networking-overview
- https://learn.microsoft.com/en-us/azure/virtual-network/create-vm-accelerated-networking-cli
- https://www.linkedin.com/pulse/azure-accelerated-networking-kim-weiland
- https://www.360visibility.com/blog/azure-accelerated-networking-and-how-to-enable-it
Featured Images: pexels.com