Оптимизации пропускной способности сети для виртуальной машины Azure

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Обратите внимание на использование и план соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

Виртуальные машины Azure (виртуальные машины) имеют параметры сети по умолчанию, которые можно оптимизировать для пропускной способности сети. Из этой статьи вы узнаете, как оптимизировать пропускную способность сети для виртуальных машин Microsoft Azure, которые работают под управлением Windows и Linux, включая такие основные дистрибутивы, как Ubuntu, CentOS и Red Hat.

Виртуальные машины Windows

Если виртуальная машина Windows поддерживает ускорение сети, включите эту функцию для оптимальной пропускной способности. Дополнительные сведения см. в статье "Создание виртуальной машины Windows с ускорением сети".

Для всех остальных виртуальных машин Windows использование масштабирования на стороне получения (RSS) может достичь более высокой максимальной пропускной способности, чем виртуальная машина без RSS. RSS может быть отключен по умолчанию на виртуальной машине Windows. Чтобы определить, включена ли функция RSS, и при необходимости включить ее, выполните следующие действия:

  1. Узнайте, включен ли RSS для сетевого адаптера с помощью команды Get-NetAdapterRss PowerShell. В следующем примере выходные данные, возвращаемые из Get-NetAdapterRssRSS, не включены.

    Name                    : Ethernet
    InterfaceDescription    : Microsoft Hyper-V Network Adapter
    Enabled                 : False
    
  2. Чтобы включить RSS, введите следующую команду:

    Get-NetAdapter | % {Enable-NetAdapterRss -Name $_.Name}
    

    Эта команда не имеет выходных данных. Команда изменяет параметры сетевого адаптера. Это приводит к временной потере подключения около одной минуты. Во время потери подключения появится диалоговое окно повторного подключения . Обычно после третьей попытки подключение восстанавливается.

  3. Убедитесь, что функция RSS включена на виртуальной машине. Для этого еще раз выполните команду Get-NetAdapterRss. При успешном выполнении возвращается следующий результат:

    Name                    : Ethernet
    InterfaceDescription    : Microsoft Hyper-V Network Adapter
    Enabled                 : True
    

Виртуальные машины Linux

Функция RSS по умолчанию всегда включена на виртуальной машине Azure по управлением Linux. Ядра Linux, выпущенные после октября 2017 года, включают новые параметры оптимизации сети, которые обеспечивают более высокую пропускную способность сети для виртуальной машины Linux.

Ubuntu для новых развертываний

Ядро Azure Ubuntu является самым оптимизированным для производительности сети в Azure. Чтобы получить самые свежие оптимизации, установите последнюю поддерживаемую версию 18.04-LTS:

"Publisher": "Canonical",
"Offer": "UbuntuServer",
"Sku": "18.04-LTS",
"Version": "latest"

Затем выполните следующие команды, чтобы получить последние обновления. Эти шаги также применимы к виртуальным машинам, которые сейчас выполняются на базе ядра Ubuntu Azure.

#run as root or preface with sudo
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade

Если существующее развертывание Ubuntu уже имеет ядро Azure, но не удается обновить с ошибками, этот необязательный набор команд может оказаться полезным.

#optional steps might be helpful in existing deployments with the Azure kernel
#run as root or preface with sudo
sudo apt-get -f install
sudo apt-get --fix-missing install
sudo apt-get clean
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade

Обновление ядра Ubuntu Azure для существующих виртуальных машин

Вы можете получить значительную производительность пропускной способности, обновив его до ядра Linux Azure. Чтобы определить необходимость обновления, проверьте вашу версию ядра. Оно должно быть таким же или более поздним, чем в нашем примере.

#Azure kernel name ends with "-azure"
uname -r

#sample output on Azure kernel:
#4.13.0-1007-azure

Если у виртуальной машины нет ядра Azure, номер версии обычно начинается с "4.4". Если у виртуальной машины нет ядра Azure, выполните следующие команды в качестве корневого каталога:

#run as root or preface with sudo
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get install "linux-azure"
sudo reboot

CentOS

Чтобы получить последние оптимизации, рекомендуется создать виртуальную машину с последней поддерживаемой версией, указав следующие параметры:

"Publisher": "OpenLogic",
"Offer": "CentOS",
"Sku": "7.7",
"Version": "latest"

Новые и существующие виртуальные машины могут воспользоваться установкой последних служб Linux Integration Services (LIS). Возможность оптимизации пропускной способности предусмотрена в службах LIS начиная с версии 4.2.2-2. Более поздние версии содержат дальнейшие улучшения. Введите следующие команды для установки новейшей версии LIS:

sudo yum update
sudo reboot
sudo yum install microsoft-hyper-v

Red Hat

Чтобы получить оптимизацию, рекомендуется создать виртуальную машину с последней поддерживаемой версией, указав следующие параметры:

"Publisher": "RedHat"
"Offer": "RHEL"
"Sku": "7-RAW"
"Version": "latest"

Новые и существующие виртуальные машины могут воспользоваться установкой последней версии LIS. Возможность оптимизации пропускной способности предусмотрена в службах LIS начиная с версии 4.2. Выполните следующие команды, чтобы загрузить и установить LIS:

wget https://aka.ms/lis
tar xvf lis
cd LISISO
sudo ./install.sh #or upgrade.sh if prior LIS was previously installed

Дополнительные сведения о службах Linux Integration Services версии 4.3 для Hyper-V см. на странице скачивания.

Следующие шаги

  • Развертывание виртуальных машин близко друг к другу для низкой задержки с группами размещения близкого взаимодействия.
  • Ознакомьтесь с оптимизированным результатом тестирования пропускной способности и пропускной способности для вашего сценария.
  • Узнайте, как выделяется пропускная способность для виртуальных машин.
  • Узнайте больше о часто задаваемых вопросых о Azure виртуальная сеть.