The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Руспределение нагрузки"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Руспределение нагрузки"
Сообщение от Дмитрий emailИскать по авторуВ закладки on 09-Янв-03, 16:55  (MSK)
Все привет.

начну с того что у меня в офисе есть линукс сервер смотрящий наружу (интернет), к нему через хаб подключены два нт сервера...
Я хочу сделать так чтобы информация посылалась на один из них в зависимости от сетевой загруженности...
то есть если у первого канал загружен то слать на второй и наоборот...
Как это можно осуществить???
Заранее спасибо

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Руспределение нагрузки"
Сообщение от trin emailИскать по авторуВ закладки on 09-Янв-03, 17:15  (MSK)
Данных маловато - какие сервисы на этих серверах, доступны ли они напрямую из инета, схема адресации сети, наличие-отсутствие NAT etc.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Руспределение нагрузки"
Сообщение от Дмитрий emailИскать по авторуВ закладки on 09-Янв-03, 17:43  (MSK)
>Данных маловато - какие сервисы на этих серверах, доступны ли они напрямую
>из инета, схема адресации сети, наличие-отсутствие NAT etc.

Мне нужна информация о том как это вообще сделать. Меня принцип интересует но на всякий случай:
1) Много сервисов. Например на линуксе http,pop3,smtp,ntp,proxy и т.д.
2) Напрямую подключен только линукс а nt внутри и снаружи их не видно.
3) Могу сказать так... Есть Линукс а к нему (к одной сетевухе) подключены два идентичных (по содержимому и по сервисам) nt сервера.
4) nat есть.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Руспределение нагрузки"
Сообщение от trin emailИскать по авторуВ закладки on 09-Янв-03, 17:57  (MSK)
Ну, а на нт что за сервисы будут? принципы могут быть разные - round-robin dns, ms cluster service... все зависит от конкретного набора целей и условий.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Руспределение нагрузки"
Сообщение от uldus Искать по авторуВ закладки on 10-Янв-03, 11:10  (MSK)
>то есть если у первого канал загружен то слать на второй и
>наоборот...

Самое простое балансировать через DNS, чуть сложнее через NAT форвардинг. Но эти методы просто равномерно будут распределять нагрузку на два сервера, без учета реальной загруженности оных. Решением может быть регулярный мониторинг загрузки каждого севрера и в зависимости от полученного значения перестроения весов перенаправления трафика для балансировщика.

Т.е. по умолчанию посылаем 50% на 50%,
Раз в минуту запускаем скрипт мониторинга, готорый вычисляет, что первый сервер более загружен чем второй (как основание можно анализировать трафик, load average, занятость ОЗУ и т.д.).
Перестраиваем пересылку в 30% на 70%, если ситуация не изменилась через минуту, 20% на 80% и т.д. Если обнаружено падение сервра - то прекращаем посылку трафика на тот сервер.

Это простейшая система, при падении одного из серверов имеем примерно 30 сек. простоя для 50% запросов (в зависимости от интенсивности мониторинга).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Руспределение нагрузки"
Сообщение от Дмитрий emailИскать по авторуВ закладки on 10-Янв-03, 11:40  (MSK)
>>то есть если у первого канал загружен то слать на второй и
>>наоборот...
>
>Самое простое балансировать через DNS, чуть сложнее через NAT форвардинг. Но эти
>методы просто равномерно будут распределять нагрузку на два сервера, без учета
>реальной загруженности оных. Решением может быть регулярный мониторинг загрузки каждого севрера
>и в зависимости от полученного значения перестроения весов перенаправления трафика для
>балансировщика.
>
>Т.е. по умолчанию посылаем 50% на 50%,
>Раз в минуту запускаем скрипт мониторинга, готорый вычисляет, что первый сервер более
>загружен чем второй (как основание можно анализировать трафик, load average, занятость
>ОЗУ и т.д.).
>Перестраиваем пересылку в 30% на 70%, если ситуация не изменилась через минуту,
>20% на 80% и т.д. Если обнаружено падение сервра - то
>прекращаем посылку трафика на тот сервер.
>
>Это простейшая система, при падении одного из серверов имеем примерно 30 сек.
>простоя для 50% запросов (в зависимости от интенсивности мониторинга).

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

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: Руспределение нагрузки"
Сообщение от uldus Искать по авторуВ закладки on 10-Янв-03, 12:10  (MSK)
>я честно говоря не совсем представляю каким образом можно определить загруженность...

Небольшой скрипт на Perl для перестроения правил форвадинга через NAT, сбор информации о загруженности серверов можно производить по SNMP.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: Руспределение нагрузки"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 10-Янв-03, 12:57  (MSK)
>>я честно говоря не совсем представляю каким образом можно определить загруженность...
>
>Небольшой скрипт на Perl для перестроения правил форвадинга через NAT, сбор информации
>о загруженности серверов можно производить по SNMP.


А по-подробнее, как собираешься проводить мониторниг загруженности каналов между серверами?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "RE: Руспределение нагрузки"
Сообщение от uldus Искать по авторуВ закладки on 10-Янв-03, 16:43  (MSK)

>А по-подробнее, как собираешься проводить мониторниг загруженности каналов между серверами?

раз в минуту запускается скрипт который на основании данных полущенных по SNMP вычисляет процент трафика на раждый хост и перестраивает NAT правила.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "RE: Руспределение нагрузки"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 10-Янв-03, 19:11  (MSK)
>
>>А по-подробнее, как собираешься проводить мониторниг загруженности каналов между серверами?
>
>раз в минуту запускается скрипт который на основании данных полущенных по SNMP
>вычисляет процент трафика на раждый хост и перестраивает NAT правила.

Где почитать можно про этакое?

А возможно ли такой балансир сделать в ситуации
Шлюз с фрей соединен с двумя роутерами по сетям 100М, каждый роутер имеет свой канал в инет по n k. (заметим меньше 100М)
При закрузке одного из каналов инет, избыточный трафик или весь уходил на второй роутер.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "RE: Руспределение нагрузки"
Сообщение от mar emailИскать по авторуВ закладки on 12-Янв-03, 12:54  (MSK)
>>>А по-подробнее, как собираешься проводить мониторниг загруженности каналов между серверами?
а OSPF не для того служит?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "RE: Руспределение нагрузки"
Сообщение от uldus Искать по авторуВ закладки on 12-Янв-03, 13:53  (MSK)
>>>>А по-подробнее, как собираешься проводить мониторниг загруженности каналов между серверами?

>а OSPF не для того служит?

Нет, OSPF здесь не поможет. В описаной ситуации подойдет:
1. Получение своей AS и балансировка с использованием BGP
2. Установка последней стабильной версии Squid, выход пользователей во вне через прокси, и балансировка через него (по IP клиентов или серверов, по типу трафика, по именам серверов (.com через один канал, остальные через другой) и т.д.).
3. Работа пользователей с нереальными IP через NAT и балансировка трафика через policy routing (сеть разбивается на две, раждые ходят через свой канал, если канал падает все идут через один канал).
4. Умный транслятор адресов, почти как (3), только скрипт мониторинга определяет не только активность линка, но и загрузку этого линка, по параметрам загрузки динамически строим таблицу трансляции.

Каждый метод имеет свои плюсы и минусы (надежность, простота реализации, время реализации, цена, качество балансировки).

PS.Если нужна не балансировка а backup link, то реализация третьего метода существенно упрощается.
PSS. При использовании третьего метода, не обязательно балансировать по подсетям локальных пользователей (т.е. две подсети - первая идет через первый канал, вторая через второй). Неплохих результатов в равномерности распределения трафика можно достичь использовав в качестве параметра для балансировки младший байт IP адреса хоста назначения (т.е. если клиент обратился к серверам 0.0.0.0/255.255.255.128 транслируем для первого канала, если 0.0.0.128/255.255.255.128 - для второго).

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру