3

У меня есть функциональная смежность ospf между сервером с 2 NIC 10 Гбит и коммутатором L3, к которому он подключен более чем к двум /30 сетям. IP-адрес A /32 назначается интерфейсу lo, который может быть проверен и надежно пропускает трафик.

Однако при тестировании ecmp через tcpdump я либо вижу, что трафик привязан к одному интерфейсу, либо дублируется на обоих, в зависимости от места назначения. Что еще более важно, одноуровневый сервер, который настроен аналогично, но с другим IP-адресом обратной связи, трафик прикрепляется к одной сетевой карте.

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

По крайней мере, я хотел бы видеть ужасную производительность <10 Гбит / с из-за перегрузки ЦП, но с альтернативными маршрутами, использующими обе восходящие линии.

Я пытаюсь решить проблему привязки drbd к 1 IP/NIC с единственной ссылкой 10 Гбит / с для синхронизации между системами, в то время как потенциальные запросы инициатора iSCSI> 10 Гбит / с. Ограничивающим фактором здесь является пропускная способность однорангового канала.

default via 10.0.4.1 dev enp9s0f0 proto zebra metric 1

10.0.4.0/30 dev enp9s0f0 proto kernel scope link src 10.0.4.31 metric 107
10.0.4.4/30 dev enp9s0f1 proto kernel scope link src 10.0.4.31 metric 106
10.0.4.8/30 via 10.0.4.1 dev enp9s0f0 proto zebra metric 14
10.0.4.12/30 via 10.0.4.5 dev enp9s0f1 proto zebra metric 14
10.0.4.30 proto zebra metric 24
        nexthop via 10.0.4.5 dev enp9s0f1 weight 1
        nexthop via 10.0.4.1 dev enp9s0f0 weight 1

1 ответ1

2

Насколько я знаю, и ECMP, и LACP пытаются привязать каждый поток (соединение) к одному пути - я считаю, что это позволяет избежать проблем TCP, вызванных переупорядочением.

В Linux ECMP это можно настроить с помощью sysctl net.ipv4.fib_multipath_hash_policy чтобы учесть либо просто пару IP-адресов (хэширование L3), либо дополнительно пару портов TCP/UDP (хэширование L3+4).

Изменение значения sysctl на 1 распределяет несколько потоков / соединений по обоим маршрутам.

Если это все еще не подходит, некоторые типы соединения / объединения L2 могут работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .