LINUX.ORG.RU
ФорумAdmin

Резервирование есть, а балансировки кажись нет..

 , , portchannel


1

1

В сети коммутаторы и серверы соеденины агрегированными каналами.

/usr/src/linux/Documentation/networking/bonding.txt выучил. Каоммутаторы Eltex, HP, 3Com таже настроены без видимых ошибок.

Использую аппаратный 802.3ad в режиме

mode = 802.3ad ad_select = bandwidth lacp_rate = slow miimon = 100 min_links = 1 xmit_hash_policy = layer2+3

Коммутаторы настроены соответственно: 802.3ad LACP Dynamic.

Вижу что щётчики растут на обеих eth. Связь не теряется при отключении одного провода.

Но при попытке дёрнуть файл с сервера одновременно с двух разных машин, сумарная скорость не прывышает 1Гб.

LAG c 802.3ad и layer2+3 у кого-то работает?

Ответ на: комментарий от ventilator

Коммутаторы поддерживают layer2+3

display link-aggregation load-sharing mode выводит что балансировка по mac & IP включена

Более того вывод

display link-aggregation verbose

вывод как в примере:http://www.h3c.com/portal/Technical_Support___Documents/Technical_Documents/S...

и

display link-aggregation member-port

вывод как в примере: http://www.h3c.com/portal/Technical_Support___Documents/Technical_Documents/S... Дают вывод как бы рабочего канала и выводят соседа, eth0 и eth1 Linux сервера.

Eltex поддерживает даже layer3+4 но оно задаётся глобально для всех портов, так что поставил 2+3

multihead
() автор топика
Ответ на: комментарий от ventilator

ifconfig

растут отправленые и принятые пакеты, но не одинаково, ябы сказал с сильными перекосами.

eth0, eth1 ну и соотведственно сумма bond0

multihead
() автор топика

Бондинг не гарантирует распределение нагрузки, если хеширование адресов твоих машин выдаст одинаковый результат, то траффик будет идтить по одному порту только.

Попробуй поменять адреса своих машин или перейти полностью на layer3+4, даже включение его глобально не должно ни на что повлиять (читай - сломать).

У цыски, к примеру, есть команда:

test etherchannel load-balance interface port-channel number {ip | l4port | mac} [source_ip_add | source_mac_add | source_l4_port] [dest_ip_add | dest_mac_add | dest_l4_port]
которая покажет по какому порту в бонде пойдёт траффик от хоста к хосту.

Может и на твоих свичах что-то такое есть.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

1 машины имели разные маки и IP. В этом случае даже layer2 должно хватать.

2 в Documentation/networking/bonding.txt написано что в аппаратном режиме 802.3ad (работает только когда поддерживается железом сетевухи и коммутатора) layer3+4 не поддерживается нормально всеми производителями и не станддартезировано.

3 layer3+4 поддерживается только Eltex, глобально и Linux, а HP & 3Com имеют только layer2+3.

4. Дополнительные команды по диагностике не видел смотрел HP, 3COM в консоли help и Eltex http://eltex.nsk.ru/sites/default/files/MES2124_chast_1_versiya_PO_1.1.7_0.pdf

А в Линуксе как лучше связку тестить?

Ладно в понидельник ещё поковыряю.

multihead
() автор топика
Ответ на: комментарий от multihead

1 машины имели разные маки и IP. В этом случае даже layer2 должно хватать.

Да не должно оно никому ничего :) У тебя два совершенно разных адреса могут выдать одинаковый хеш и траффик пойдёт по одному и тому же порту в бонде, смотри:

#test etherchannel load-balance interface port-channel 1 ip 192.168.0.1 192.168.0.2
Would select Gi2/1/4 of Po1

#test etherchannel load-balance interface port-channel 1 ip 192.168.0.1 192.168.0.7
Would select Gi2/1/4 of Po1
Т.е. траффик с адресов .2 и .7 до .1 будет идти через один и тот же порт. Аналогично и в линуксе.

2 в Documentation/networking/bonding.txt написано что в аппаратном режиме 802.3ad (работает только когда поддерживается железом сетевухи и коммутатора) layer3+4 не поддерживается нормально всеми производителями и не станддартезировано.

Так и есть, но никто не мешает забить на LACP и использовать статический бондинг, там с разных концов этого бонда могуть быть вообще разные алгоритмы балансировки.

3 layer3+4 поддерживается только Eltex, глобально и Linux, а HP & 3Com имеют только layer2+3.

См. выше, можно на одном конце сделать 3+4, а на другом пусть будет 2+3, будет некая ассиметрия, но в одну из сторон траффик будет балансироваться лучше.

Как в линухе тестить - хз, менять айпи адрес и гонять траффик - первое что приходит в голову. Ну либо смотреть в исходники бондинга и выяснять как там он что хеширует.

blind_oracle ★★★★★
()

А если убрать бондинг и дать разные адреса сетёвкам на сервере, у вас суммарная скорость закачки с двух машин будет 2 Гбит? Может у вас просто сервер не может отдавать на большой скорости.

mky ★★★★★
()
Ответ на: комментарий от mky

Собрали тестовую машину, 3 винта в raid0, dd даёт писать на скорости 480Мб. Так что чтобы винт нагрузить надо аж 5 сетевух в связку скрутить.

Допускаю что узкое место может быть и в Линуксе, но где,? Точно не в винтах, так что подозрение падает на связку.

multihead
() автор топика

вроде бы бондинг -говно и ему на смену приходит новая технология. Но это в новых ядрах, а у тебя, наверное, rhel/centos?

GoNaX ★★★
()
Ответ на: комментарий от GoNaX

Gentoo hardened пробовал 3.7, 3.8, 3.9

и колега пробовал последнюю федорку

multihead
() автор топика
Ответ на: комментарий от GoNaX

802.3ad не говно, у меня на сетевухах intel за 1000р. оно аппаратно и связку делает и теги vlan-ов. Вот только балансировку пока не заметил, попробую в понедельник поменять IP..

multihead
() автор топика
Ответ на: комментарий от FreeBSD

А что там непонятного осталось? Чтобы разбалансировать между каналами одно тсп соединение нужно использовать только режим balance-rr, другие не помогут. И при этом будут неизбежные out of order пакеты. У меня так drbd по 4 проводам между хранилищами ходит.

blind_oracle ★★★★★
()
Ответ на: комментарий от GoNaX

тиминг - алгоритмы бондинга портированые в юзерспейс. ничего принципиально нового. Перспективы, конечно, есть, но на данный момент ничего нового. Сами сейчас его ковыряем для своих задач.

blind_oracle, вот и ответ тебе, чтобы не рыть логи релизов. )

aol ★★★★★
()
Ответ на: комментарий от aol

А, этот, читал. Да, это все те же яйца, только в профиль. Я думал там TRILL реализовали с нативным распределением нагрузки или что-то в этом роде...

blind_oracle ★★★★★
()
Ответ на: комментарий от multihead

Я вам уже посоветовал протестировать без бондинга с разными ip-адресами, только правильно настроить arp, чтобы тарфик шёл через разные ethernet-интерфейсы.

Узких мест может быть много, допустим, логи пишутся на этот же raid0 или файл сильно фрагментирован.

mky ★★★★★
()
9 сентября 2013 г.

Таки, да получились одинаковые хеши на проверяемых машинах.

Сменил IP на одной машине и балансировка заработала!

multihead
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.