Узкое место пропускной способности сети OpenStack на Dell R630 с Intel X520 NIC с объединением (802.3ad)

Вопрос или проблема

Я запускаю окружение OpenStack на серверах Dell R630. Вот соответствующие детали:

Вычислительные узлы: Ubuntu 22.04 с 256 ГБ ОЗУ, процессоры Intel Xeon E5-2680
Сетевая карта: Адаптер Intel Corporation Ethernet 10G 2P X520 (двухпортовые сетевые карты)
Объединение: Объединенные сетевые карты (режим: 802.3ad) для агрегирования общей пропускной способности 20 Гбит/с на сервер
MTU: Установлен на 4096 на сетевых картах, коммутаторах и типах экземпляров
Проблема:
Несмотря на вышеуказанную настройку, я сталкиваюсь с серьезными сетевыми узкими местами. Сетевой трафик между всеми экземплярами на вычислительном узле не превышает 1,5 Гбит/с без значительных потерь пакетов. После этого момента экземпляры переживают сильные потери пакетов, хотя использование ЦП и памяти на вычислительных узлах составляет менее 20%, даже несмотря на то, что у меня около 40 экземпляров на каждом вычислительном узле.

Что я пробовал:
Настройка объединения: Сетевые карты объединены в режиме 802.3ad, подтверждено работоспособность с коммутаторами.
Конфигурация MTU: MTU установлен на 4096 на всех соответствующих точках (сетевые карты, коммутатор и экземпляры).
Мониторинг: Сетевая проблема возникает даже при низком использовании ЦП и памяти (менее 20%).
Вопросы:
Что может ограничивать мою сетевую пропускную способность до всего лишь 1,5 Гбит/с?
Существуют ли специфические настройки или конфигурации (сетевые карты, объединение, OpenStack, ядро Linux и т. д.), которые мне нужно оптимизировать, чтобы достичь большей пропускной способности без потерь пакетов?
Может ли это быть проблемой, связанной с аппаратным обеспечением сетевой карты или конфигурацией объединения, или я что-то упускаю в терминах сетевой оптимизации?
Я также отключил функции Offloading, такие как TCP-сегментация (TSO), общая сегментация (GSO) или разгрузка больших полученных пакетов (LRO)

Ответ или решение

Проблема с узким местом в сети в вашей среде OpenStack на серверах Dell R630 с использованием сетевых карт Intel X520 может быть вызвана целым рядом факторов. Давайте разберем возможные причины и предложим решения.

Возможные причины узкого места в сети

  1. Конфигурация объединения NIC (802.3ad): Хотя вы правильно настроили объединение NIC в режиме 802.3ad (LACP), стоит убедиться, что коммутатор корректно поддерживает данный режим и правильно настроен для агрегации трафика. Убедитесь, что все порты, используемые для объединения, действительно работают в режиме LACP и поддерживают необходимые свойства.

  2. Настройки MTU: Вы указали, что MTU установлено на 4096. Это значение должно быть одинаковым на всех узлах сети (NIC, коммутатор и виртуальные машины). Убедитесь, что все участники сети согласованы по этому значению, чтобы избежать проблем с фрагментацией пакетов.

  3. Настройки OpenStack и KVM: Если ваши виртуальные машины используют стандартный сетевой драйвер (virtio), возможно, имеет смысл оценивать использование других драйверов (например, vfio, если поддерживается), которые могут предложить лучшее производительность. Также необходимо проверить виртуальные сети (Neutron) на предмет настройки QoS или ограничений, которые могут влиять на производительность.

  4. Параметры ядра Linux: Оптимизация параметров ядра может значительно улучшить производительность сети. Рассмотрите следующие параметры:

    • Увеличьте значение net.core.rmem_max и net.core.wmem_max для увеличения размера буферов.
    • Настройте net.ipv4.tcp_rmem и net.ipv4.tcp_wmem для увеличения размеров окон.
    • Проверьте net.ipv4.tcp_mtu_probing, чтобы избежать проблем с MTU.
  5. Оптимизация обработки пакетов: Отключение функций Offloading (как TSO, GSO, LRO) может иногда приводить к снижению производительности. Попробуйте вернуть некоторые из этих опций для проверки:

    ethtool -K <interface> tso on
    ethtool -K <interface> gso on
    ethtool -K <interface> lro on

Рекомендации по улучшению производительности

  1. Мониторинг и анализ трафика: Используйте инструменты мониторинга сети (например, iftop, nload, iptraf), чтобы оценить, какие именно потоки трафика могут вызывать узкие места и узнайте, как именно используется полоса пропускания.

  2. Проверка и обновление прошивки: Убедитесь, что у вас установлены последние версии прошивки для сетевых карт Intel X520. Новые версии прошивки могут содержать исправления и оптимизации, которые могут улучшить производительность.

  3. Тестирование загруженности сети: Используйте инструменты для тестирования сети, такие как iperf, чтобы провести нагрузочные тесты и независящие от сервисов, работающих в виртуальных машинах. Это поможет изолировать проблемы с производительностью.

  4. Разделение нагрузки: Если возможно, рассмотрите возможность снижения количества виртуальных машин на каждом узле или добавления дополнительных узлов для балансировки нагрузки.

Заключение

Ваши текущие настройки выглядят достаточно хорошо для достижения 20 Гбит/с на сервер, однако существующие проблемы с пропускной способностью могут быть связаны с комбинацией настроек сетевой конфигурации, параметров ядра и работы виртуальных машин. Следуя приведенным рекомендациям, вы сможете значительно улучшить сетевую производительность в вашей среде OpenStack.

Оцените материал
Добавить комментарий

Капча загружается...