Jump to content
Калькуляторы

frebsd cluster of shapers Вот хочу замутить

Идея проста, сделать кластер балансировки нагрузки из шейперов под фрей, в данный момент имеется грубо говоря по шейперу на микрорайон, какой то загружен сильно, какой то наоборот. Иногда если один шейпер падает, то юзеры одного из микрорайонов посасывают. Хочется сделать кластер с балансировкой нагрузки. Для шейпинга используется pipes+ipfw. Балансировка ИП трафика сделать несложно, но вот незадача: как расшарить между всеми нодами использование pipe'ов пользователями, т.к. если этого не сделать, то получится что полоса будет равна (количество нод * BW). Или нет?

 

 

Кто делал подобные вещи, отзовитесь пожалуйста!!!

 

 

Комментируем, делимся опытом!

Share this post


Link to post
Share on other sites

Сложно сказать ну на вскидку в пик получается 3-4 Гб/с

Share this post


Link to post
Share on other sites

 

Справится один шейпирующий бридж. Никакие кластеры не нужны.

Share this post


Link to post
Share on other sites

можно ниже на L3 сделать 2 маршрута на разные NAT-ы, если шейпер между ними упал - трафик бежит через другой шейпер.

распределения нагрузки не получится, но резервирование - вполне

Edited by kapa

Share this post


Link to post
Share on other sites

Для распределения нужен route balancing по source-ip. Которого лично я не нашёл ни у кого.

Share this post


Link to post
Share on other sites
Справится один шейпирующий бридж. Никакие кластеры не нужны.

 

Как показывает практика-не справится, иначе зачем нам плодить шейперы?

Share this post


Link to post
Share on other sites
Как показывает практика-не справится, иначе зачем нам плодить шейперы?

Смените прокладку. У меня справляется.

Share this post


Link to post
Share on other sites
Как показывает практика-не справится, иначе зачем нам плодить шейперы?

Смените прокладку. У меня справляется.

Очень смешно)

 

Share this post


Link to post
Share on other sites

линуксовый ящик, интеловская серверная карточка на 4 гиговых дырки (можно интеловскую с 10ге) - и на полисинге это все вытянет 3-4 гига фулл-дуплекса.

Share this post


Link to post
Share on other sites

линуксовый ящик, интеловская серверная карточка на 4 гиговых дырки (можно интеловскую с 10ге) - и на полисинге это все вытянет 3-4 гига фулл-дуплекса.

А на шейпинге?

Share this post


Link to post
Share on other sites

а зачем вам шейпинг? Мы полисили в свое время и 128к. Недовольных не было.

Share this post


Link to post
Share on other sites
а зачем вам шейпинг? Мы полисили в свое время и 128к. Недовольных не было.

наша циска умрет, давайте по теме, про кластеры лучше)

Share this post


Link to post
Share on other sites
линуксовый ящик, интеловская серверная карточка на 4 гиговых дырки (можно интеловскую с 10ге) - и на полисинге это все вытянет 3-4 гига фулл-дуплекса.

Конфиг для "обрезания" :) одного клиента приведите если вас не затруднит.

 

Заранее премного благодарен.

 

Share this post


Link to post
Share on other sites
линуксовый ящик, интеловская серверная карточка на 4 гиговых дырки (можно интеловскую с 10ге) - и на полисинге это все вытянет 3-4 гига фулл-дуплекса.

Конфиг для "обрезания" :) одного клиента приведите если вас не затруднит.

 

Заранее премного благодарен.

Было на форуме, как и скрипт конфигурячинья на многие тыщи клиентов.

через tc делалось

Share this post


Link to post
Share on other sites
линуксовый ящик
Ящики разные бывают.

 

И вообще лучше здесь трафик не в мегабитах считать, а в PPS. 4 Гигабита тоже разные бывают. Зависит от паттерна трафика.

Edited by Умник

Share this post


Link to post
Share on other sites

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

обмениваться количеством bucket's в буферах и подобной инфой (в зависимости от дисципллины очереди) . очень накладно)

Если принять что 1 клиент режется только на 1 шейпере и никак не управляем общим потоком - тут проще конечно , но все равно встает вопрос как его перенаправить на нужный узел шейпирования (хотя если есть возможность подсовывать разный default на роутеры/L3 свитчи агрегации , за которыми и расположить этот кластер , если конечно таких L3 железок достаточно много и траффик относительно равномерно распределен). Также border (ну или что там дальше) тоже должен симметрично отдавать на нужный шейпер , но тут вобщем тоже решаемо.

А вот как весь этот бардак синхронизировать - самый главный вопрос , готового ответа на который нет (по крайней мере у меня :) )

Share this post


Link to post
Share on other sites
Если принять что 1 клиент режется только на 1 шейпере и никак не управляем общим потоком - тут проще конечно , но все равно встает вопрос как его перенаправить на нужный узел шейпирования (хотя если есть возможность подсовывать разный default на роутеры/L3 свитчи агрегации , за которыми и расположить этот кластер , если конечно таких L3 железок достаточно много и траффик относительно равномерно распределен).

Достаточно раз в секунду сбрасывать показатели загрузки с шейперов на балансеры в качестве path cost.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this