URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7092
[ Назад ]

Исходное сообщение
"2 провайдера и веб сервер!"

Отправлено Tozix , 22-Дек-10 08:18 
Доброго времени суток.
Имеется небольшой импровизированный кластер. Состоит он из двух машин.
1) Nginx(frontend),Mysql,ftp-server (так же является роутером и раздает интернет в локальную сеть)
2) Apache(backend)
Оба сервера связаны локальной сетью.
На первом сервере два сетевых интерфейса 1 смотрит в интернет, 2 смотрит в локалку.

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

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

Завел второго провайдера. В итоге: на первом сервер (на роутере) стало 3 сетевых интерфейса.
1) Первый провайдер
2) Второй провайдер
3) Локальная сеть

Сделал оба гейта по умолчанию, с приоритетом 1:1
ip route add default scope global equalize nexthop via $ip1gw dev eth0 weight 1 nexthop via $ip2gw dev eth2 weight 1

Внес записи в днс сервера (своих нету, пользуюсь freedns.ws)
А имено внес 2 записи
A domain_name.ru ip_первого_провайдера
A domain_name.ru ip_второго

В итоге при запросе в браузере domain_name.ru поочерёдно открывается либо по первому провайдеру, либо по второму. На сколько я понимаю так и должно быть, т.к. приоритет в записях A выставить нельзя.

Собственно если отвалится один из провайдеров, 50% сайт будет доступен на сколько я понял?

Задача в следующем, нужно сделать не балансировку нагрузки на провайдеров, а что бы при отказе одного из провайдеров Все запросы шли по другому каналу, как в NAT так и Для веб сервера.

Как это можно реализовать?



Содержание

Сообщения в этом обсуждении
"2 провайдера и веб сервер!"
Отправлено cirus , 22-Дек-10 10:23 
Никак.

"2 провайдера и веб сервер!"
Отправлено Ilya Lihachev , 22-Дек-10 16:19 
>[оверквотинг удален]
> A domain_name.ru ip_второго
> В итоге при запросе в браузере domain_name.ru поочерёдно открывается либо по первому
> провайдеру, либо по второму. На сколько я понимаю так и должно
> быть, т.к. приоритет в записях A выставить нельзя.
> Собственно если отвалится один из провайдеров, 50% сайт будет доступен на сколько
> я понял?
> Задача в следующем, нужно сделать не балансировку нагрузки на провайдеров, а что
> бы при отказе одного из провайдеров Все запросы шли по другому
> каналу, как в NAT так и Для веб сервера.
> Как это можно реализовать?

А что если Вам завести маленький сайт domain_name.ru где-то в надежном месте со страничкой привествия и от туда уже отсылать людей либо на domain_name1.ru, либо на domain_name2.ru (дешевле на www1.domain_name.ru и на www2.domain_name.ru) в зависимости от их доступности.


"2 провайдера и веб сервер!"
Отправлено Tozix , 22-Дек-10 16:49 
> А что если Вам завести маленький сайт domain_name.ru где-то в надежном месте
> со страничкой привествия и от туда уже отсылать людей либо на
> domain_name1.ru, либо на domain_name2.ru (дешевле на www1.domain_name.ru и на www2.domain_name.ru)
> в зависимости от их доступности.

Ну маленький сайтик уж точно не получится завести. У меня небольшой бесплатный хостинг.
Сайтов на хостинге немногим более 1000. У нас 8 доменых имен. Пользователям соответственно выдаются субдомены.

А если к примеру мне поднять собственный ДНС сервер и динамически менять в зависимости от доступности каналов? Такой вариант не пройдет наверно из-за кэша ДНС у других провайдеров?
Ни разу не поднимал ДНС сервер.


"2 провайдера и веб сервер!"
Отправлено Ilya Lihachev , 22-Дек-10 17:02 
> Ну маленький сайтик уж точно не получится завести. У меня небольшой бесплатный
> хостинг.
> Сайтов на хостинге немногим более 1000. У нас 8 доменых имен. Пользователям
> соответственно выдаются субдомены.
> А если к примеру мне поднять собственный ДНС сервер и динамически менять
> в зависимости от доступности каналов? Такой вариант не пройдет наверно из-за
> кэша ДНС у других провайдеров?

Да. Но Вы только что сами сказали, что Вам нужен стабильный провайдер!

> Ни разу не поднимал ДНС сервер.

Там будет примерно такой же файлик, что Вы редактируете на другом сервере, будет даже удобнее.


"2 провайдера и веб сервер!"
Отправлено Tozix , 22-Дек-10 17:22 
Хорошо вопрос снят.

Есть другой вопрос.
Вот предположим у меня оба провайдера работают стабильно. Нужно сделать балансировку нагрузки (это я сделал). Остается проблема с локальной сетью, а точнее с выходом в интернет компов в локальной сети через этот роутер на котором два канал. Я все никак не могу разрулить таблицы маршрутизации.
А именно есть список подсетей на которые нужно идти через первого провайдера, а все остальные сети через второго провайдера, причем только для NAT. Т.е. все входящие на веб сервер запросы должны обрабатываться по правилам балансировки, т.е. поочередно(или по приоритету) либо первый провайдер, либо второй.
Проблема собственно в том что NAT уменя настроен с помощью Arno FireWall, а не руками. Я поленился в своё время.


Убедительная просьба не тыкать меня в ман по iproute и в гугл.


"2 провайдера и веб сервер!"
Отправлено none , 22-Дек-10 18:18 
На выбор в порядке наростания сложности:
- поставить у стабильного провайдера маленькую железку (можно сервер) которая будет поворачивать в пару GRE туннелей (через разных пров.) немножко "стабильных" адресов
- перенести свой кластер в крупный ДЦ
- получить свою AS+PI и поднять BGP