Назад | Перейти на главную страницу

Оптическая сеть Linux 10Gbe, как диагностировать проблемы с производительностью?

У меня небольшой кластер, состоящий из 3-х серверов. У каждого есть две оптические сетевые карты 10Gbe SFP +. Есть два отдельных коммутатора 10Gbe. На всех серверах одна сетевая карта подключена к коммутатору 1, вторая сетевая карта подключена к коммутатору 2 для обеспечения отказоустойчивости.

Физические интерфейсы связаны на уровне сервера с помощью LACP.

Все серверы могут пинговать друг друга, но на одном наблюдается небольшая (4%) потеря пакетов (через связанный интерфейс, что мне кажется подозрительным)

Когда я проверяю скорость передачи iperf3 между двумя хорошими серверами, они показывают скорость передачи около 9,8 Гбит / с в обоих направлениях.

Эти два хороших сервера также могут загружать с проблемного также около 9,8 Гбит / с.

Iperf3 показывает странные вещи при запуске в качестве клиента на проблемном сервере. Он начинается с нескольких сотен мегабит в первую очередь. Позже скорость упадет до 0 бит / с (при использовании ICMP ping с вероятностью успеха ~ 96%). Только в одном направлении. Когда другие серверы загружаются с этого, они получают полную скорость.

Все работает на одном оборудовании, даже версия прошивки одинакова (серверы Dell R620, сетевые адаптеры Mellanox ConnextX-3-EN, модули Opton SPF +, коммутаторы Mikrotik CRS309-1G-8S). Также ОС - это тот же самый последний стабильный Debian со всеми обновлениями и точно установленными пакетами.

Брандмауэра нет, все правила iptables очищены на всех серверах

На проблемном сервере я проверяю интерфейсы, оба сетевых адаптера работают и работают в полнодуплексном режиме 10 Гбит.

Также cat / proc / net / bonding / bond0 показывает оба интерфейса UP, active, никаких ошибок физического соединения

Я проверил / заменил модули SFP +, использовал разные оптоволоконные патч-корды, пробовал разные порты коммутатора, и ничего не изменилось, но у этого проблемного сервера низкая скорость загрузки от других и небольшая потеря пакетов (через связанный интерфейс!).

Я также пробовал комбинации патч-кордов с: (оба включены, первый включен, второй выключен, первый выключен, второй включен). Также без изменений

Есть идеи, как мне лучше диагностировать?

Если коммутаторы не поддерживают стек и поддерживают LACP в шасси, LACP не может работать таким образом. Фактически, статический LAG-транкинг тоже не работает.

Как правило, агрегация каналов работает только с одним противоположным коммутатором (или стеком, действующим как он).

При простом резервировании L2 вы можете запускать сетевые адаптеры только в парах активный / пассивный с аварийным переключением. Использование нескольких каналов L3 с соответствующей балансировкой нагрузки и миграцией IP при отказе или мониторинге с помощью внешнего балансировщика нагрузки также будет работать в вашем сценарии.

Пожалуйста, посмотрите мой ответ здесь (не забудьте поставить палец вверх, если он будет полезен в вашей ситуации):

Почему я достигаю только 2,5 Гбит / с при прямом соединении 10 Гбит / с между двумя компьютерами?

Скорее всего, это связано с LRO GRO с расшифровкой RECEIVE OFFLOAD, которую можно легко отключить. Также есть хорошее объяснение того, почему это происходит. Вот: https://lwn.net/Articles/358910/

Настройка сетевых интерфейсов 10G - огромная тема.