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

LACP - Сеть балансировки нагрузки 2 Гбит Ubuntu

Я настроил свой сервер как интерфейс связывания для достижения скорости сети 2 Гбит, но кажется, что ubuntu не может превышать 1 Гбит, и исходящий трафик с сервера не сбалансирован по 2 интерфейсам.

Коммутатор позади этого сервера представляет собой коммутатор Juniper, и вся конфигурация проверяется Juniper JTac, поэтому на стороне коммутатора не должно быть никаких проблем. Он настроен как LACP 802.3ad.

Конфигурация в ubuntu следующая:

auto p255p1
iface p255p1 inet manual
bond-master bond0

auto p255p2
iface p255p2 inet manual
bond-master bond0

auto bond0
iface bond0 inet static
        address xx.xx.xx.x
        netmask 255.255.255.248
        gateway xx.xx.xx.xx

bond-mode 4
bond-miimon 100
bond-lacp-rate 1
bond-slaves none

Есть ли там кто-нибудь, кто имел опыт работы с такой конфигурацией и знал, есть ли какая-либо специальная конфигурация для решения этой проблемы?

Опять же: проблема здесь в том, что исходящий трафик с сервера не сбалансирован и проходит только по одному интерфейсу, входящий трафик сбалансирован и поступает с обоих интерфейсов, однако он вообще ограничен 1 ГБ и не может увеличиваться до 2 ГБ.

Спасибо

У меня работает следующая конфигурация. Существенная часть - это bond-xmit-hash-policy layer3 + 4, который управляет политикой хеширования интерфейса для пакетов передачи. https://www.kernel.org/doc/Documentation/networking/bonding.txt Это также грубый эквивалент того, что делает коммутатор в отношении балансировки нагрузки пакетов. http://kb.juniper.net/InfoCenter/index?page=content&id=KB22943 По умолчанию используется простая операция XOR для MAC-адреса назначения и, таким образом, будет получен тот же интерфейс, когда вашим местом назначения является тот же сервер. С Layer3 + 4 номера портов источника и назначения также вступают в игру, что приводит к выравниванию большей части трафика одного сервера.

auto bond0
iface bond0 inet manual
        up ifconfig $IFACE up
        slaves eth4 eth5
        bond-mode 4
        bond-miimon 100
        bond-downdelay 200
        bond-updelay 200
        bond-lacp-rate 1
        bond-xmit-hash-policy layer3+4

6: eth4: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
    link/ether 90:e2:ba:69:b6:c8 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    605614572345 28863625 0       14      0       11413
    TX: bytes  packets  errors  dropped carrier collsns
    13213800052 20824630 0       0       0       0
7: eth5: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
    link/ether 90:e2:ba:69:b6:c8 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    601225223800 25966547 0       14      0       11219
    TX: bytes  packets  errors  dropped carrier collsns
    8500820678 14501120 0       0       0       0

Обратите внимание, что я пропустил инструкцию mtu 9000 в конфигурации, потому что ваш коммутатор, скорее всего, настроен на MTU равное 1500.