
У меня есть коммутатор Aruba 2530 с 4 портами в качестве магистрального канала LACP, подключенный к QNAP с 4 сетевыми картами, настроенными как динамический магистральный канал 802.3ad. Когда 2 клиента пытаются записать или скопировать файл на QNAP, каждый из них получает скорость 100 МБ/с, поэтому агрегация работает, и я вижу в мониторе ресурсов QNAP, что используются две сетевые карты. Но когда оба клиента пытаются копировать с QNAP, то используется только одна сетевая карта, и оба клиента копируют данные со скоростью 50 МБ/с.
Есть ли что-то, что может вызвать такое поведение? Копирование в QNAP выполняется быстро и с использованием агрегации, а копирование из QNAP — нет?
Обновление 1: - Входящий трафик в QNAP распределяется по нескольким сетевым картам (LACP работает) - Исходящий трафик в QNAP использует только одну сетевую карту в любое время (LACP не работает)
Обновление 2: кот /proc/net/bonding/bond0
Режим связывания: Динамическое агрегирование каналов IEEE 802.3ad Политика передачи хэша: уровень 2+3 (2) Статус MII: вверх Интервал опроса MII (мс): 100 Задержка при подъёме (мс): 0 Задержка вниз (мс): 0 Информация 802.3ad Скорость LACP: низкая Мин. ссылок: 0 Политика выбора агрегатора (ad_select): стабильная Подчиненный интерфейс: eth2 Статус MII: вверх Скорость: 1000 Мбит/с Дуплекс: полный Количество сбоев связи: 3 Постоянный адрес оборудования: 24:5e:be:27:e1:2b Идентификатор очереди подчиненных: 0 Идентификатор агрегатора: 4 Состояние оттока актеров: нет Состояние оттока партнеров: нет Количество отчисленных актеров: 1 Количество отозванных партнеров: 1 Подчиненный интерфейс: eth3 Статус MII: вверх Скорость: 1000 Мбит/с Дуплекс: полный Количество сбоев связи: 3 Постоянный адрес оборудования: 24:5e:be:27:e1:2c Идентификатор очереди подчиненных: 0 Идентификатор агрегатора: 4 Состояние оттока актеров: нет Состояние оттока партнеров: нет Количество отчисленных актеров: 0 Количество отозванных партнеров: 1
решение1
Агрегация каналов с LACP всегда пытается «прикрепить» каждое соединение к одному сетевому адаптеру, чтобы избежать переупорядочивания пакетов. Сетевой адаптер выбирается путем хэширования MAC- и/или IP-адресов пакета (иногда также портов TCP/UDP). Это всегда делается на «отправляющей» стороне — коммутатором Aruba при сохранении файлов; QNAP при извлечении файлов.
Выбор порта детерминирован — он не учитывает текущую нагрузку/использование; один и тот же заголовок пакета всегда выбирает один и тот же порт, и может случиться, что пакеты для обоих клиентов получат одинаковый хэш.
(В частности, когда все клиенты находятся за маршрутизатором, MAC-адрес назначения будет одним и тем же и всегда будет хэшироваться на один и тот же порт.) Убедитесь, что «политика хэширования» установлена на «Уровень 2+3 (MAC+IP)», как вдокументация: