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

Склеивание: работает только для скачивания

Я хотел бы установить бондинг с 4 ссылками в режиме 4. но с бондигом работает только "загрузка / получение". для передачи система выбирает одну ссылку.

ifconfig

bond0     Link encap:Ethernet  HWaddr 90:E2:BA:0F:76:B4
          inet addr:ip  Bcast:ip  Mask:255.255.255.248
          inet6 addr: fe80::92e2:baff:fe0f:76b4/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:239187413 errors:0 dropped:10944 overruns:0 frame:0
          TX packets:536902370 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:14688536197 (13.6 GiB)  TX bytes:799521192901 (744.6 GiB)

eth2      Link encap:Ethernet  HWaddr 90:E2:BA:0F:76:B4
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:54969488 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2537 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3374778591 (3.1 GiB)  TX bytes:314290 (306.9 KiB)

eth3      Link encap:Ethernet  HWaddr 90:E2:BA:0F:76:B4
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:64935805 errors:0 dropped:1 overruns:0 frame:0
          TX packets:2532 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3993499746 (3.7 GiB)  TX bytes:313968 (306.6 KiB)

eth4      Link encap:Ethernet  HWaddr 90:E2:BA:0F:76:B4
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:57352105 errors:0 dropped:2 overruns:0 frame:0
          TX packets:536894778 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3524236530 (3.2 GiB)  TX bytes:799520265627 (744.6 GiB)

eth5      Link encap:Ethernet  HWaddr 90:E2:BA:0F:76:B4
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:61930025 errors:0 dropped:3 overruns:0 frame:0
          TX packets:2540 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3796021948 (3.5 GiB)  TX bytes:314274 (306.9 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:62 errors:0 dropped:0 overruns:0 frame:0
          TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5320 (5.1 KiB)  TX bytes:5320 (5.1 KiB)

это мои конфиги:

DEVICE="eth2"
BOOTPROTO="none"
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_CONTROLLED="no"
ONBOOT="yes"


DEVICE="eth3"
BOOTPROTO="none"
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_CONTROLLED="no"
ONBOOT="yes"



DEVICE="eth4"
BOOTPROTO="none"
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_CONTROLLED="no"
ONBOOT="yes"


DEVICE="eth5"
BOOTPROTO="none"
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_CONTROLLED="no"
ONBOOT="yes"

DEVICE=bond0
IPADDR=<ip>
BROADCAST=<ip>
NETWORK=<ip>
GATEWAY=<ip>
NETMASK=<ip>
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=no

cat / proc / net / bonding / bond0

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
        Aggregator ID: 1
        Number of ports: 4
        Actor Key: 17
        Partner Key: 11
        Partner Mac Address: 00:24:51:12:63:00

Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 90:e2:ba:0f:76:b4
Aggregator ID: 1
Slave queue ID: 0

Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 90:e2:ba:0f:76:b5
Aggregator ID: 1
Slave queue ID: 0

Slave Interface: eth4
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 90:e2:ba:0f:76:b6
Aggregator ID: 1
Slave queue ID: 0

Slave Interface: eth5
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 90:e2:ba:0f:76:b7
Aggregator ID: 1
Slave queue ID: 0

/etc/modprobe.d/bonding.conf

alias bond0 bonding
options bond0 mode=4 miimon=100 updelay=200
#downdelay=200 xmit_hash_policy=layer3+4 lacp_rate=1

Linux:

Linux 3.0.0+ #1 SMP Fri Oct 26 07:55:47 EEST 2012 x86_64 x86_64 x86_64 GNU/Linux

что я пробовал:

downdelay = 200 xmit_hash_policy = layer3 + 4 lacp_rate = 1

mode 6

http://wiki.mikrotik.com/wiki/Manual:Interface/Bonding говорит:

LACP балансирует исходящий трафик по активным портам на основе хешированной информации заголовка протокола и принимает входящий трафик с любого активного порта. [...] Способ вычисления хеша зависит от параметра политики передачи хеширования.

Transmit-hash-policy: layer-2 - Использует XOR аппаратных MAC-адресов для генерации хэша. Этот алгоритм разместит весь трафик к определенному сетевому узлу на том же ведомом.

Итак, если вы передаете из bond0 только в один пункт назначения, то есть в не замужем MAC-адрес, все кадры идут только с одного из ваших интерфейсов. Это ожидаемое поведение. Если вы перейдете на какой-либо другой MAC, скорее всего, алгоритм хеширования выберет один из 3 других интерфейсов из ваших 4 интерфейсов (вероятность 75%, если быть точным). Это обеспечивает порядок доставки рам.

PS: Если ваша передача проходит через шлюз (маршрутизатор), это тоже считается передачей с одним MAC. Довольно распространенный сценарий.

Вам следует прочитать этот документ: Связь с Linux

Перед тем, как начать отладку конфигурации связывания, проверили ли вы, что каждая сетевая ссылка может работать сама по себе? Если ничего не работает при выключении eth4 (ifdown eth4) то, скорее всего, проблема с вашей проводкой.

Кроме того, вам, вероятно, сначала следует попробовать более простые режимы склеивания. Попробуйте balance-rr (mode=0) и посмотрите, видите ли вы трафик на всех интерфейсах. Также загляните в /proc/net/bonding/bond0 чтобы проверить текущий статус вашей конфигурации.