У меня есть небольшой кластер, состоящий из 3 серверов. У каждого есть две оптические сетевые карты 10Gbe SFP +. Есть два отдельных коммутатора 10Gbe. На всех серверах одна сетевая карта подключена к коммутатору 1,вторая сетевая карта подключена к коммутатору 2 для обеспечения отказоустойчивости.
Физические интерфейсы связаны на уровне сервера с помощью LACP.
Все серверы могут пинговать друг друга, но на одном происходит небольшая (4%) потеря пакетов (избыточное соединение
Когда я проверяю скорость передачи iperf3 между двумя хорошими серверами, они показывают скорость передачи около 9,8 Гбит / с в обоих направлениях.
Эти два хороших сервера также могут загружаться с проблемного сервера. около 9,8 Гбит / с
Iperf3 показывает странные вещи при запуске в качестве клиента на проблемном сервере. Он начинается с нескольких сотен мегабит в первую очередь. Позже скорость падает до 0 бит / с (при этом все еще выполняется пинг ICMP с вероятностью успеха ~ 96%). Только в одном направлении. Когда другие серверы загружаются с него, они получают полную скорость.
Все работает на одном и том же оборудовании, даже версия прошивки одинакова (серверы Dell R620, сетевые адаптеры Mellanox ConnextX-3-EN, модули Opton SPF +, Mikrotik CRS309-1G- Переключатели 8S). Также ОС - та же самая последняя стабильная версия Debian со всеми обновлениями и точными установленными пакетами.
Нет брандмауэра, все правила iptables очищены на всех серверах
На проблемном сервере я проверяю интерфейсы, оба сетевых адаптера работают и работают на 10 Гбит полный дуплекс
Также cat / proc / net / bonding / bond0 показывает оба интерфейса UP, активные, без ошибок физического соединения
Я проверил / заменил модули SFP +, использовал разные оптоволоконные патч-корды, пробовал разные порты коммутатора и ничего не изменилось, Тем не менее, этот один проблемный сервер получает низкую скорость загрузки от других и небольшую потерю пакетов (через связанный интерфейс!).
Я также пробовал комбинации патч-кордов с: (оба включены, первый на втором выключен, первый выключен, второй включен). Также без изменений
Есть идеи, как мне лучше диагностировать это?
Если коммутаторы не поддерживают стек и не поддерживают LACP на шасси , LACP не может работать таким образом. Фактически, статическая группировка LAG также не будет работать.
Обычно агрегация каналов работает только с одним противоположным коммутатором (или стеком, действующим как он).
При простом резервировании L2 вы можете запускать сетевые адаптеры только в активные / пассивные пары с аварийным переключением. Использование нескольких каналов L3 с соответствующей балансировкой нагрузки и миграцией IP при отказе или мониторинге с помощью внешнего балансировщика нагрузки также будет работать в вашем сценарии.
Пожалуйста, посмотрите мой ответ здесь (не забудьте нажать на палец вверх, если он будет полезен в вашей ситуации):
Почему я достижение только 2,5 Гбит / с по прямому соединению 10 Гбит / с между двумя машинами?
Скорее всего, это связано с LRO GRO с расшифровкой RECEIVE OFFLOAD, которую можно легко отключить. Есть также хорошее объяснение того, почему это происходит. Здесь: https://lwn.net/Articles/358910/
Настройка сетевых интерфейсов 10G - огромная тема.