freelsd Posted January 23, 2010 Posted January 23, 2010 (edited) Здравствуйте, коллеги, очень нужна Ваша помощь. Не могу подружить цепочку cisco->FreeBSD->Dlink DGS-3100 для аггрегации канала до 2Гбит/c. От кошки приходит 2 кабеля по 1Гбит/c, выставлен LACP. Дальше мне неважно как соединить FreeBSD а потом Dlink или Dlink потом FreeBSD. Я соединяю Dlink dgs-3100 с FreeBSD. У длинка настроек методов вообще нет, я так понял что там вшит MAC_source_destination http://forum.dlink.ru/viewtopic.php?t=114497 Провайдер пробовал выставить MAC_source_destination на Cisco, но балансировки не происходит. По одному каналу льется(и входящий и исходящий) под 200 М/c, а по другому 100 Кб/c(запускаю где-то в 10 потоков траффик). А на FreeBSD я вообще не вижу где можно выставить методы балансировки для LACP. man lagg Также я пробовал соединяться по кошкинскому fec, но в этом случае исходящий траффик идет по одному каналу, а входящий по другому. В общем и целом, я уже перепробовал все возможные конфигурации, но получить полноценную аггрегацию мне не удалось. Подскажите, где во FreeBSD выставляется алгоритм аггрегирования для LACP или я все делаю не так? PS FreeBSD 7.2 Release. Edited January 23, 2010 by freelsd Вставить ник Quote
darkagent Posted January 23, 2010 Posted January 23, 2010 от 3100 вы балансировки не добьетесь. не умеет он ее толком. максимум что можно сделать : цепочка cisco -> 3100->freebsd и с циски подавать port-channel load-balance src-dst-mac. и прошейте 3100 последним софтом. с фрей не подскажу, опыта поднятия lacp на ней нет. Вставить ник Quote
freelsd Posted January 23, 2010 Author Posted January 23, 2010 от 3100 вы балансировки не добьетесь. не умеет он ее толком.максимум что можно сделать : цепочка cisco -> 3100->freebsd и с циски подавать port-channel load-balance src-dst-mac. и прошейте 3100 последним софтом. с фрей не подскажу, опыта поднятия lacp на ней нет. Прошил, port-channel load-balance src-dst-mac пробовали. Линк поднимается, но траффик идет только по одному порту. Вопрос про FreeBSD очень актуален Вставить ник Quote
terrible Posted January 23, 2010 Posted January 23, 2010 руками разбалансируйте канал на 2 влана от провайдера к вам, и пустите их по разным портам. Вставить ник Quote
martin74 Posted January 23, 2010 Posted January 23, 2010 на dgs 3100 не получится балансировка. меняйте свич Вставить ник Quote
a182ot Posted January 23, 2010 Posted January 23, 2010 для freebsd можно сделать EtherChannel: ifconfig lagg0 laggproto fec laggport em0 laggport em1 на cisco: channel-group 1 mode on на linux можно lacp: bond0 mode=4 miimon=100 xmit_hash_policy=layer2+3 на cisco: channel-group 1 mode active между d-link и freebsd можно попробовать lb: ifconfig lagg1 laggproto loadbalance laggport em2 laggport em3 у меня подружить freebsd и d-link не получилось(что-бы входящий и исходящий трафик верно балансировался)... а вот с linux и 802.3ad все хорошо завилось(только d-link плохо балансит tx по xor mac-ов) Вставить ник Quote
demon999 Posted January 23, 2010 Posted January 23, 2010 на dgs 3100 не получится балансировка. меняйте свич Почему не получится? Между 3100 и 3627 работает без особых нареканий. 2 линка. Прошивка на 3100 старая - 2.00.47 Вставить ник Quote
Valaskor Posted January 23, 2010 Posted January 23, 2010 а вы чем канал нагружаете? Вставить ник Quote
otaku Posted January 24, 2010 Posted January 24, 2010 Провайдер пробовал выставить MAC_source_destination на Cisco, но балансировки не происходит. По одному каналу льется(и входящий и исходящий) под 200 М/c, а по другому 100 Кб/c(запускаю где-то в 10 потоков траффик). А на FreeBSD я вообще не вижу где можно выставить методыЧем нагрузку генерите?НУ если у вас стык один роутер с айпи-> Агрегация -> один роутер с айпи, то как вообще у вас будет распределятся нагрузка по макам то, маков всего два, ксор от них один и тот же, надо использовать агрегацию по апйпишникам, алгоритм агрегации на вашей стороне никак не связана с агрегацией на стороне провайдера? Чтобы правильно работала агрегация по макам надо использовать схему много клиенты с айпи->агрегация -> один роутер с айпи или же схему где много роутер, чтобы связок по макам было много. Вставить ник Quote
photon Posted January 24, 2010 Posted January 24, 2010 Как используется FreeBSD? Это две отдельных машины с шейпингом? Если да, то настраивать LACP нужно только на концах (на Cisco и D-Link), а машины с FreeBSD сделать мостами. Вставить ник Quote
freelsd Posted January 26, 2010 Author Posted January 26, 2010 FreeBSD - BGP маршрутизатор. Поэтому весь траффик, идущий в AS будет проходить через него. Связка DGS-3100 === Cisco 3750 Балансировка наблюдается только для входящего траффика при выставлении IP_source_destination на 3750(нам это не подходит никак). В остальных случаях исходящий по одному каналу, входящий по второму, либо весь траффик по одному каналу. DGS-3100 === FreeBSD 7.2 Не смог добиться балансировки ни входящего, ни исходящего Cisco 3750 === FreeBSD 7.2 Не смог добиться балансировки ни входящего, ни исходящего Основной вопрос, на который мне хочется получить ответ - как во FreeBSD или Linux(мне неважно) выставить алгоритм балансировки. И какой алгоритм сейчас используется что во FreeBSD, что в dgs-3100 я тоже не могу посмотреть руками разбалансируйте канал на 2 влана от провайдера к вам, и пустите их по разным портам.Не понял.на dgs 3100 не получится балансировка. меняйте свичНевозможно, их 8 штук.а вы чем канал нагружаете?Iperf. Стараюсь с разных хостов нагрузку давать. Но 2Гб нужно BGP шлюзу, поэтому мне самому до конца непонятно как будет делаться балансировка по IP или маку, если источник и получатель пакетов мой BGP-маршрутизатор. Вставить ник Quote
martin74 Posted January 26, 2010 Posted January 26, 2010 [martin@router ~]$ cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008) Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer3+4 (1) MII Status: up MII Polling Interval (ms): 80 Up Delay (ms): 0 Down Delay (ms): 0 802.3ad info LACP rate: fast ... [martin@router ~]$ cat /etc/modprobe.conf alias bond0 bonding options bond0 miimon=80 mode=4 lacp_rate=fast xmit_hash_policy=1 Это в линухе. 3100 сможет балансировать нагрузку только в варианте свич-свич. Т.е. когда через него идет много пар маков ;) Свич-сервер - со стороны сервер мак один, поэтому балансировать он не сможет. У него только на маках балансировка есть, а вам нужна на ip адресах. Вставить ник Quote
freelsd Posted January 26, 2010 Author Posted January 26, 2010 Вы показали алгоритм транка, а не балансировки. На cisco можно выбрать ip-dst, mac-dst, ip-src-to-dst алгоритм балансировки для lacp. Где подобное у Вас? [martin@router ~]$ cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008) Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer3+4 (1) MII Status: up MII Polling Interval (ms): 80 Up Delay (ms): 0 Down Delay (ms): 0 802.3ad info LACP rate: fast ... [martin@router ~]$ cat /etc/modprobe.conf alias bond0 bonding options bond0 miimon=80 mode=4 lacp_rate=fast xmit_hash_policy=1 Это в линухе. 3100 сможет балансировать нагрузку только в варианте свич-свич. Т.е. когда через него идет много пар маков ;) Свич-сервер - со стороны сервер мак один, поэтому балансировать он не сможет. У него только на маках балансировка есть, а вам нужна на ip адресах. Вставить ник Quote
Deac Posted January 26, 2010 Posted January 26, 2010 На длинке, для 3526: config link_aggregation algorithm mac_source_dest create link_aggregation group_id 1 type lacp config link_aggregation group_id 1 master_port 1 ports 1-2 state enable config lacp_port 1-2 mode active config lacp_port 3-26 mode passive На FreeBSD: ifconfig_lagg0="laggproto lacp laggport fxp1 laggport fxp2 192.168.90.254/23" Полной балансировки добиться не удалось, исходящий трафик делится поровну, а вот входящий ~1:2 ifstat -i fxp1,fxp2 -b -t Time fxp1 fxp2 HH:MM:SS Kbps in Kbps out Kbps in Kbps out 14:34:48 1273.37 2649.83 1279.38 2242.79 14:34:49 2174.03 2428.82 951.61 2182.90 14:34:50 1830.17 2346.24 784.85 2584.12 14:34:51 1594.98 2270.32 794.42 2783.51 14:34:52 1313.03 2475.10 733.84 3081.71 14:34:53 1400.38 2260.83 1088.17 2935.06 Работает в тестовом режиме, глюков пока не замечено. Вставить ник Quote
freelsd Posted January 26, 2010 Author Posted January 26, 2010 На 3100 config link_aggregation algorithm mac_source_dest, к сожалению, выбрать невозможно На длинке, для 3526:config link_aggregation algorithm mac_source_dest create link_aggregation group_id 1 type lacp config link_aggregation group_id 1 master_port 1 ports 1-2 state enable config lacp_port 1-2 mode active config lacp_port 3-26 mode passive На FreeBSD: ifconfig_lagg0="laggproto lacp laggport fxp1 laggport fxp2 192.168.90.254/23" Полной балансировки добиться не удалось, исходящий трафик делится поровну, а вот входящий ~1:2 ifstat -i fxp1,fxp2 -b -t Time fxp1 fxp2 HH:MM:SS Kbps in Kbps out Kbps in Kbps out 14:34:48 1273.37 2649.83 1279.38 2242.79 14:34:49 2174.03 2428.82 951.61 2182.90 14:34:50 1830.17 2346.24 784.85 2584.12 14:34:51 1594.98 2270.32 794.42 2783.51 14:34:52 1313.03 2475.10 733.84 3081.71 14:34:53 1400.38 2260.83 1088.17 2935.06 Работает в тестовом режиме, глюков пока не замечено. Вставить ник Quote
Deac Posted January 26, 2010 Posted January 26, 2010 Попробуй ng_one2many в режиме раундробин. Вставить ник Quote
puxpux Posted January 26, 2010 Posted January 26, 2010 На длинке, для 3526:config link_aggregation algorithm mac_source_dest create link_aggregation group_id 1 type lacp config link_aggregation group_id 1 master_port 1 ports 1-2 state enable config lacp_port 1-2 mode active config lacp_port 3-26 mode passive На FreeBSD: ifconfig_lagg0="laggproto lacp laggport fxp1 laggport fxp2 192.168.90.254/23" Полной балансировки добиться не удалось, исходящий трафик делится поровну, а вот входящий ~1:2 ifstat -i fxp1,fxp2 -b -t Time fxp1 fxp2 HH:MM:SS Kbps in Kbps out Kbps in Kbps out 14:34:48 1273.37 2649.83 1279.38 2242.79 14:34:49 2174.03 2428.82 951.61 2182.90 14:34:50 1830.17 2346.24 784.85 2584.12 14:34:51 1594.98 2270.32 794.42 2783.51 14:34:52 1313.03 2475.10 733.84 3081.71 14:34:53 1400.38 2260.83 1088.17 2935.06 Работает в тестовом режиме, глюков пока не замечено. У вас на линке между бордером и провайдером будет только 1 (одна) пара MAC-адресов: 1) MAC вашего бордера 2) MAC роутера провайдера Соотвественно балансировкой по MAC вы ничего не добьетесь. Как вариант, выкинуть Dlink и включить аплинк от провайдера напрямую в бордер (через конвертеры). Тогда можно будет делать балансировку с вашей стороны по SRC IP. Провайдеру со своей стороны тоже нужно выставить алгоритм балансировки по IP (лучше по паре SRC_IP-DST_IP, а еще лучше SRC_IP:SRC_PORT - DST_IP:DST_PORT) Вставить ник Quote
demon999 Posted January 26, 2010 Posted January 26, 2010 На длинке, для 3526:config link_aggregation algorithm mac_source_dest create link_aggregation group_id 1 type lacp config link_aggregation group_id 1 master_port 1 ports 1-2 state enable config lacp_port 1-2 mode active config lacp_port 3-26 mode passive На FreeBSD: ifconfig_lagg0="laggproto lacp laggport fxp1 laggport fxp2 192.168.90.254/23" Полной балансировки добиться не удалось, исходящий трафик делится поровну, а вот входящий ~1:2 ifstat -i fxp1,fxp2 -b -t Time fxp1 fxp2 HH:MM:SS Kbps in Kbps out Kbps in Kbps out 14:34:48 1273.37 2649.83 1279.38 2242.79 14:34:49 2174.03 2428.82 951.61 2182.90 14:34:50 1830.17 2346.24 784.85 2584.12 14:34:51 1594.98 2270.32 794.42 2783.51 14:34:52 1313.03 2475.10 733.84 3081.71 14:34:53 1400.38 2260.83 1088.17 2935.06 Работает в тестовом режиме, глюков пока не замечено. У вас на линке между бордером и провайдером будет только 1 (одна) пара MAC-адресов: 1) MAC вашего бордера 2) MAC роутера провайдера Соотвественно балансировкой по MAC вы ничего не добьетесь. Как вариант, выкинуть Dlink и включить аплинк от провайдера напрямую в бордер (через конвертеры). Тогда можно будет делать балансировку с вашей стороны по SRC IP. Провайдеру со своей стороны тоже нужно выставить алгоритм балансировки по IP (лучше по паре SRC_IP-DST_IP, а еще лучше SRC_IP:SRC_PORT - DST_IP:DST_PORT) Верно. Другой 100% рабочий вариант, который уже предлагал terrible - можно обойтись без чанела, просто для каждого линка поднять свою бгп сессию в своем влане и назначить отдельные вланы на линки. Если очень смущает две сессии - можно поднять одну, используя лупбак адреса рутеров и две подсети для двух линков, указав статикой на каждой строне маршруты до лупбака нейбэра через каждый ип. Вставить ник Quote
smithy1208 Posted January 3, 2013 Posted January 3, 2013 Настроил балансировку по LACP (803.ad) для linux-nat c D-Link DGS-3627G. Коммутатор: config lacp_port 17-20 mode active create link_aggregation group_id 1 type lacp config link_aggregation group_id 1 master_port 17 ports 17-18 state enable create link_aggregation group_id 2 type lacp config link_aggregation group_id 2 master_port 19 ports 19-20 state enable config link_aggregation algorithm ip_source_dest Linux-nat (openSUSE 12.2) (bond1 аналогично): root@emerald:~# cat /etc/sysconfig/network/ifcfg-bond0 BONDING_MASTER='yes' BONDING_MODULE_OPTS='mode=802.3ad miimon=100 lacp_rate=fast xmit_hash_policy=2' BONDING_SLAVE0='eth0' BONDING_SLAVE1='eth1' BOOTPROTO='none' BROADCAST='' ETHTOOL_OPTIONS='' IPADDR='' MTU='' NAME='' NETMASK='' NETWORK='' REMOTE_IPADDR='' STARTMODE='auto' USERCONTROL='no' root@emerald:~# 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+3 (2) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 802.3ad info LACP rate: fast Min links: 0 Aggregator selection policy (ad_select): stable Active Aggregator Info: Aggregator ID: 1 Number of ports: 2 Actor Key: 17 Partner Key: 17 Partner Mac Address: Коммутатор балансирует входящий (для сервера) трафик по ip_source_dest. Сервер балансирует исходящий трафик по Transmit Hash Policy: layer2+3 (2) (что есть тоже самое). Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.