балансировка исходящего трафика по загруженности канала
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
балансировка исходящего трафика по загруженности канала
Добрый день.
Стала передо мной такая задача: есть вэб-сервер под управление FreeBSD 7.2, на нём 2 сетевые карты, обе смотрят в роутеры (разные). Иногда на этом сервере бывают большие всплески трафа, так что одного канала нехватает. Нужно настроить такую конфигурацию, что бы в таких случаех весь "избыточный" траф роутился на второй интерфейс.
Как я себе это представляю, нужно создать адресный пул в ПФ, сделать очередь с ограничением по полосе и написать какой-то тригер, что бы по достижении лимита запускался из ПФа и всем новым клиентам отдавал контент через второй интерфейс. Проблема в том, что я не знаю, как заставить ПФ роутить траф на сторону вместо того что б рубать все новые пакеты при заполнении очереди.
Посоветуйте, пожалуйста где почитать и правильно ли вобще это делать ПФом, может быть есть более "правильный" способ?
Стала передо мной такая задача: есть вэб-сервер под управление FreeBSD 7.2, на нём 2 сетевые карты, обе смотрят в роутеры (разные). Иногда на этом сервере бывают большие всплески трафа, так что одного канала нехватает. Нужно настроить такую конфигурацию, что бы в таких случаех весь "избыточный" траф роутился на второй интерфейс.
Как я себе это представляю, нужно создать адресный пул в ПФ, сделать очередь с ограничением по полосе и написать какой-то тригер, что бы по достижении лимита запускался из ПФа и всем новым клиентам отдавал контент через второй интерфейс. Проблема в том, что я не знаю, как заставить ПФ роутить траф на сторону вместо того что б рубать все новые пакеты при заполнении очереди.
Посоветуйте, пожалуйста где почитать и правильно ли вобще это делать ПФом, может быть есть более "правильный" способ?
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
Re: балансировка исходящего трафика по загруженности канала
запустите по поиск по форуму и гуглу
тема не тривиальна
тема не тривиальна
-
- проходил мимо
Re: балансировка исходящего трафика по загруженности канала
Именно )Гость писал(а):запустите по поиск по форуму и гуглу
тема не тривиальна
Потому я и не поленился создать здесь эту тему. Поверьте, мне много менее лениво найти ответ в гугле, но...
Итак, любые идеи по сабжу?
-
- ст. сержант
- Сообщения: 360
- Зарегистрирован: 2008-07-29 9:02:04
-
- проходил мимо
Re: балансировка исходящего трафика по загруженности канала
А можно по-подробнее, как нгинксом рулить _исходящий_ траф на два локальных интерфейса, да ещё и монитрить кол-во трафа на каждый из каналов?iye писал(а):nginx ?
-
- ст. сержант
- Сообщения: 360
- Зарегистрирован: 2008-07-29 9:02:04
Re: балансировка исходящего трафика по загруженности канала
Логично предположить что исходящий трафик пойдет по тому же что и входящий ) Или вы думаете что можно получить запрос на одном адресе а отправить ответ с другого ? )
-
- проходил мимо
Re: балансировка исходящего трафика по загруженности канала
Я так не думаю.iye писал(а):Логично предположить что исходящий трафик пойдет по тому же что и входящий ) Или вы думаете что можно получить запрос на одном адресе а отправить ответ с другого ? )
Сама идея мне принципиально ясна, только не понятно как передавать запросы на второй бэкенд в зависимости от загруженности каналов? Самое приближенное, что можно сделать, это выставить proxy_next_upstream timeout, т.е. когда уже поздно что-то рулить, задача как раз в том что бы не допустить таймаутов, вовремя отследить рост трафа и всё лишнее скинуть на второй канал.
-
- проходил мимо
Re: балансировка исходящего трафика по загруженности канала
Также приветсвуются абсолютно любые способы реализации сабжа, не имеющее отношение к Фре, в том числе на Линухах и на железках (если знаете такую, то название или сцылку плз).
-
- проходил мимо
Re: балансировка исходящего трафика по загруженности канала
ваша наивность умилятКак я себе это представляю, нужно создать адресный пул в ПФ, сделать очередь с ограничением по полосе и написать какой-то тригер, что бы по достижении лимита запускался из ПФа и всем новым клиентам отдавал контент через второй интерфейс.
с чего вы взяли что вы можете просто так брать и перекидывать сесси на другой интерфейс?
взяли входящий пакет рубанули и перекинули на другой интерфейс? гм
почитайте основы сетевых технологий
так же
почитайте о BGP и о том как это делаеться на цисках
-
- ст. сержант
- Сообщения: 360
- Зарегистрирован: 2008-07-29 9:02:04
Re: балансировка исходящего трафика по загруженности канала
Если уж совсем разжевать то я вижу 2 варианта:
а)
1) берем в аренду машину в автономке
2) Ставим на нее энжин х
3) Прописываем днс на этот сервак а бэкбонами в энжине - 2 адреса через ваши разные каналы
б)получаем автономку
а)
1) берем в аренду машину в автономке
2) Ставим на нее энжин х
3) Прописываем днс на этот сервак а бэкбонами в энжине - 2 адреса через ваши разные каналы
б)получаем автономку
-
- проходил мимо
Re: балансировка исходящего трафика по загруженности канала
Просто так не могу.Гость писал(а):с чего вы взяли что вы можете просто так брать и перекидывать сесси на другой интерфейс?
взяли входящий пакет рубанули и перекинули на другой интерфейс? гм
Могу, нарпимер вот так: http://www.openbsd.org/faq/pf/pools.html#outgoing
Но это равномерное распределение. Вопрос был в том, как сливать _весь_ траф на второй канал по событию (например, загрузка первого канала на N Mb).
Сцылку можно про циски? Какие модели?почитайте основы сетевых технологий
так же
почитайте о BGP и о том как это делаеться на цисках
-
- проходил мимо
Re: балансировка исходящего трафика по загруженности канала
ОК, а как на счёт мониторинга загрузки каналов и распределения запросов по бэкбонам в зависимости от загрузки?iye писал(а):Если уж совсем разжевать то я вижу 2 варианта:
а)
1) берем в аренду машину в автономке
2) Ставим на нее энжин х
3) Прописываем днс на этот сервак а бэкбонами в энжине - 2 адреса через ваши разные каналы
б)получаем автономку
-
- проходил мимо
Re: балансировка исходящего трафика по загруженности канала
ALTQ с одной из стратегийнапример, загрузка первого канала на N Mb
-
- ст. сержант
- Сообщения: 360
- Зарегистрирован: 2008-07-29 9:02:04
Re: балансировка исходящего трафика по загруженности канала
кактус, заббикс,тупо баннер счетчика ...мешок вариантов. Мож чего сам энджин предоставляет - почитайте я думаю найдете то что вам нужно.Гость писал(а):[ОК, а как на счёт мониторинга загрузки каналов и распределения запросов по бэкбонам в зависимости от загрузки?
-
- проходил мимо
Re: балансировка исходящего трафика по загруженности канала
Во-первых всех с Новым Годом!
Во-вторых, в продолжение разговора, я слышал о такой конфигурации, когда имея на одном сервере две сетевухи, одна из которых смотрит непосредственно на роутер, а другая на тот же роутер, но через свитч, можно использовать оба канала, как один прозрачно для приложений, т.е. например можно принимать запрос с паблик ИП через одно подключение и отвечать клиенту с того же ИП,но уже через второе. Или подключать использование второго подключения только при определённых условиях, например превышение порога загрузки первого канала. Я точно знаю, что такие схемы (или похожие) существуют и работают (не уверен, по-моему на линухе), как замутить такое же на Фре?
Во-вторых, в продолжение разговора, я слышал о такой конфигурации, когда имея на одном сервере две сетевухи, одна из которых смотрит непосредственно на роутер, а другая на тот же роутер, но через свитч, можно использовать оба канала, как один прозрачно для приложений, т.е. например можно принимать запрос с паблик ИП через одно подключение и отвечать клиенту с того же ИП,но уже через второе. Или подключать использование второго подключения только при определённых условиях, например превышение порога загрузки первого канала. Я точно знаю, что такие схемы (или похожие) существуют и работают (не уверен, по-моему на линухе), как замутить такое же на Фре?