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

Несколько PPPoE серверов

Здравствуйте!

 

Есть несколько mikrotik железок, в данный момент на одном поднят pppoe сервер, ожидается большой скачёк нагрузки, а по каналу вопрос не получается в ближайшее время решить, поэтому нам отдали 2 канала по 100 мбит.

 

Вопрос, если использовать на каждый NAS отдельные каналы, получится ли более менее равномерно распределить клиентов по ним и тем самым распределить нагрузку?

Авторизация клиентов по radius с биллингом. В вики описано что коннект будет к тому, кто быстрее ответил, но всё же?..

Share this post


Link to post
Share on other sites

Если у клиентов один большой широковещательный домен и в нем висит 2 сервера, то в теории они будут подключаться к тому, кто быстрее ответил и распределяться по серверам.

Но это только в теории, на практике всегда будут перекосы. Несмотря на загрузку железок вы никогда не узнаете кто быстрее ответит. В итоге возможна ситуация, когда на одном сервере повиснет большинство клиентов.

 

Разделяйте клиентов по вланам примерно поровну и вешайте вланы на разные микротики с PPPoE серверами.

Share this post


Link to post
Share on other sites

Вопрос, если использовать на каждый NAS отдельные каналы, получится ли более менее равномерно распределить клиентов по ним и тем самым распределить нагрузку?

В Микротике есть лимит на количество сессий на сервере. Ставить разумный лимит с учетом отказа одного-двух Микротиков.

Share this post


Link to post
Share on other sites

Вопрос, если использовать на каждый NAS отдельные каналы, получится ли более менее равномерно распределить клиентов по ним и тем самым распределить нагрузку?

В Микротике есть лимит на количество сессий на сервере. Ставить разумный лимит с учетом отказа одного-двух Микротиков.

 

Max sessions в PPP?

Share this post


Link to post
Share on other sites

На 2 Cisco ASR приходит одинаковый набор VLAN'ов, количество пользователей на каждом стремится к выравниванию с соседом.

Каких либо настроек на совместное взаимодействие нет.

Так что в моем случае теория подтверждается практикой.

post-56872-079372400 1473784408_thumb.png

Share this post


Link to post
Share on other sites

korsakik, разрежьте сеть на несколько сегментов с помощью Vlan на аплинках коммутаторов. Каждый Vlan заверните на свой микротик.

Share this post


Link to post
Share on other sites

korsakik, разрежьте сеть на несколько сегментов с помощью Vlan на аплинках коммутаторов. Каждый Vlan заверните на свой микротик.

Так отказоустойчивость пострадает.

В целом если железки и ПО идентичные, плюс линки до них с одинаковой задержкой, то оно само будет распределяться, как показали уже выше.

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

Share this post


Link to post
Share on other sites

В ROS вроде есть возможность настроить задержку ответа сервера. Тогда через скрипты можно менять задержку в зависимости от нагрузки.

Share this post


Link to post
Share on other sites

В ROS вроде есть возможность настроить задержку ответа сервера. Тогда через скрипты можно менять задержку в зависимости от нагрузки.

а не с циской путаете случаем ? )

Share this post


Link to post
Share on other sites

В ROS вроде есть возможность настроить задержку ответа сервера. Тогда через скрипты можно менять задержку в зависимости от нагрузки.

Это вроде как в DHCP-сервере на Микротике.

Share this post


Link to post
Share on other sites

В принципе, и max-sessions в сочетании с pado-delay могут дать нужный эффект.

А можно извратиться и скриптом менять значение pado-delay раз в минуту, инверсно на двух устройствах. Например в каждую четную минуту устанавливать 1 и 10, а в каждую нечетную наоборот 10 и 1.

Share this post


Link to post
Share on other sites

От скуки набросал тут скриптик. Отличается операцией xor значения в множителе pad-delay.

Предполагает, что pppoe сервер один на устройстве. Иначе, после "set" вместо "0" надо добавлять конструкцию типа [find service-name=имя]. Множитель задержки сейчас 10, далее подбираем по обстановке.

Ставим в шедулер. Запускаем раз в минуту. Или раз в пять(или любое нечетное количество) минут - по вкусу.

 

Для первого:

# Current minute as NUM vale

:local t1 [:tonum [:pick [/sys clock get time] 3 5]]

# Binary AND then XOR with minute. Check odd/even minute and set pado-delay

/int pppoe-s serv set 0 pado-delay=(1+($t1&1^1)*10)

 

И для второго.

# Current minute as NUM vale

:local t1 [:tonum [:pick [/sys clock get time] 3 5]]

# Binary AND with minute. Check odd/even minute and set pado-delay

/int pppoe-s serv set 0 pado-delay=(1+($t1&1)*10)

Edited by nkusnetsov

Share this post


Link to post
Share on other sites

по моему это извращение.

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

Share this post


Link to post
Share on other sites

Есть несколько mikrotik железок, в данный момент на одном поднят pppoe сервер, ожидается большой скачёк нагрузки, а по каналу вопрос не получается в ближайшее время решить, поэтому нам отдали 2 канала по 100 мбит.

Большой скачек нагрузки - это сколько сессий всего ожидается ?

Два по 100Мбит у меня не стыкуется с "большой нагрузкой".

Какие еще сервисы будут использоваться на серверах доступа ?

Share this post


Link to post
Share on other sites

Negator, конечно извращение. Никто и не спорит. Так, в порядке технического стёба.

P.S. а может у человека hAP Lite в качестве BRAS стоЯт?

Edited by nkusnetsov

Share this post


Link to post
Share on other sites

На одинаковом железе PPPoE замечательно балансируется сам по себе, +- пара процентов.

Если мощность железок разная - будет перекос, но и тут все зависит от общей загруженности, при небольшой загрузке любые NASы будут загружены примерно равномерно.

Share this post


Link to post
Share on other sites

Поставил на тест 3 железки, выставил PADO задержки, пока ещё нужно калибровать, разница между НАСами по 0.2-0.6 мс. Распределились, но пока не совсем равномерно. Если прийду к чему-то рабочему - отпишусь.

И да, RB1100AHx2.

Share this post


Link to post
Share on other sites

On 9/14/2016 at 4:31 PM, nkusnetsov said:

От скуки набросал тут скриптик. Отличается операцией xor значения в множителе pad-delay.

Предполагает, что pppoe сервер один на устройстве. Иначе, после "set" вместо "0" надо добавлять конструкцию типа [find service-name=имя]. Множитель задержки сейчас 10, далее подбираем по обстановке.

Ставим в шедулер. Запускаем раз в минуту. Или раз в пять(или любое нечетное количество) минут - по вкусу.

 

Для первого:

# Current minute as NUM vale

:local t1 [:tonum [:pick [/sys clock get time] 3 5]]

# Binary AND then XOR with minute. Check odd/even minute and set pado-delay

/int pppoe-s serv set 0 pado-delay=(1+($t1&1^1)*10)

 

И для второго.

# Current minute as NUM vale

:local t1 [:tonum [:pick [/sys clock get time] 3 5]]

# Binary AND with minute. Check odd/even minute and set pado-delay

/int pppoe-s serv set 0 pado-delay=(1+($t1&1)*10)

 

 

 

добрый день, а как быть для 3го NASa? как менять скрипт. помогите пожалуйста

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.