Добрый день, уважаемые. Хотел бы получить консультацию.
Имеются несколько серверов под FreeBSD, каждый настроен на отдачу статики (в основном собственное видео), каждый имеет порт в 100Mbit, каждый зеркалит друг друга, так вот в часы пик нагрузки на канал доходят до пика и хотелось бы распределить всю нагрузку (по трафику именно) равномерно на все сервера, т.е. если у одного скажем 70-80Mbit в теущий момент, а у соседнего 30, то кидаем клиента на него.Сейчас тупо сделано так... на главном сервере через ссылку вида www.site.ru/redirect/file.avi скрипт случайно выбирает сервер из списка и редиректит на него уже.
По нагрзуке канала видим что рандом не помогает равномерно распределять нагрузку, так один сервер забит по каналу, остальные простаивают или наоборот.
Так вот, имеется ли какое-то программное решение для равномерной нагрузки на канал по нашу ОС?
Спасибо заранее.
может быть поможет man carp
>Добрый день, уважаемые. Хотел бы получить консультацию.
>Имеются несколько серверов под FreeBSD, каждый настроен на отдачу статики (в основном
>собственное видео), каждый имеет порт в 100Mbit, каждый зеркалит друг друга,
>так вот в часы пик нагрузки на канал доходят до пика
>и хотелось бы распределить всю нагрузку (по трафику именно) равномерно на
>все сервера, т.е. если у одного скажем 70-80Mbit в теущий момент,
>а у соседнего 30, то кидаем клиента на него.
>
>Сейчас тупо сделано так... на главном сервере через ссылку вида www.site.ru/redirect/file.avi скриптнемножко не туда но почему бы не переписать ваш редирект на запоминание сколько клиентов уже получил сервер и соответственно снижал вероятность попадания клиента на этот сервер?
>немножко не туда но почему бы не переписать ваш редирект на запоминание
>сколько клиентов уже получил сервер и соответственно снижал вероятность попадания клиента
>на этот сервер?А если один клиент качает файл на 10 мегов, а второй уже на 100?
Тут надо мониторить нагрузку на сеть и давать наименее нагруженный сервер.
>>немножко не туда но почему бы не переписать ваш редирект на запоминание
>>сколько клиентов уже получил сервер и соответственно снижал вероятность попадания клиента
>>на этот сервер?
>
>А если один клиент качает файл на 10 мегов, а второй уже
>на 100?
>Тут надо мониторить нагрузку на сеть и давать наименее нагруженный сервер.sysctl net.inet.carp.arpbalance=1
На первой ноде
ifconfig carp0 create
ifconfig carp0 vhid 1 pass mekmitasdigoat 192.168.1.10/24
ifconfig carp1 create
ifconfig carp1 vhid 2 advskew 100 pass mekmitasdigoat 192.168.1.10/24На второй ноде
ifconfig carp0 create
ifconfig carp0 vhid 1 advskew 100 pass mekmitasdigoat 192.168.1.10/24
ifconfig carp1 create
ifconfig carp1 vhid 2 pass mekmitasdigoat 192.168.1.10/24