Здравствуйте. Возник такой вопрос.Предположим, существует очень важный сайт и нужно чтобы он работал 24x7x365. Физически он находится на хорошем сервере, raid, блоки питания с заменой on the fly, хороший провайдер и т.д. Более или менее понятно, что нужно делать если нужно планово остановить этот сервер (чуть ниже я опишу, как мне кажется можно делать плановую остановку сервера), но что делать, если все-таки этот сервер физически ломается и происходит внеплановая остановка?
Плановая остановка:
При таком типе остановке мы просто заранее изменяем dns урла на второй сервер (Репликацию баз я не рассматриваю, но понятно, что это необходимо сделать). После того, как зона разошлась рубим основной сервер и делаем с ним все что душе угодно.Внеплановая остановка:
Вот тут для меня все совершенно непонятно. Как вы считаете, что нужно делать, чтобы сайт работал все время, даже в том случае, если ломается основной сервер?Буду очень признателен любым мыслям и ссылкам. Спасибо!
если попроще надо попробуй CARP
>если попроще надо попробуй CARP
Имеешь в виду Common Address Redundancy Protocol? Ок. Спасибо. Посмотрю, что это такое.Еще какие-то варианты есть? Спасибо.
>если попроще надо попробуй CARP
Почитал немного. Имхо это немного не то, я хочу чтобы 2 сервера располагались в разных сетях у разных провайдеров (чтобы минимизировать возможность "отваливания" нета). Что можно посоветовать в таком случае?Спасибо.
http://cr.yp.to/djbdns/balance.html
>http://cr.yp.to/djbdns/balance.htmlэто тоже совсем не то, что ему надо
в сторону распределенного кластера копать надо
на это можно взглянуть http://www.drbd.org/отсюда http://www.opennet.me/prog/sml/150.shtml начни копать
>Здравствуйте. Возник такой вопрос.
>
>Предположим, существует очень важный сайт и нужно чтобы он работал 24x7x365. Физически
>он находится на хорошем сервере, raid, блоки питания с заменой on
>the fly, хороший провайдер и т.д. Более или менее понятно, что
>нужно делать если нужно планово остановить этот сервер (чуть ниже я
>опишу, как мне кажется можно делать плановую остановку сервера), но что
>делать, если все-таки этот сервер физически ломается и происходит внеплановая остановка?
>
>
>Плановая остановка:
>При таком типе остановке мы просто заранее изменяем dns урла на второй
>сервер (Репликацию баз я не рассматриваю, но понятно, что это необходимо
>сделать). После того, как зона разошлась рубим основной сервер и делаем
>с ним все что душе угодно.
>
>Внеплановая остановка:
>Вот тут для меня все совершенно непонятно. Как вы считаете, что нужно
>делать, чтобы сайт работал все время, даже в том случае, если
>ломается основной сервер?
>
>Буду очень признателен любым мыслям и ссылкам. Спасибо!
Один из подходов (которым пользуются крупные компании)
http://www.akamai.com/dl/technical_publications/GloballyDist...
А с ротацией записей в ДНСах не получится? Дико извиняюсь за полную техническую неграмотность =)
Попробуй прокси DeleGate http://www.delegate.org/Установи его на шлюзе
1. Сгрузи http://www.delegate.org/anonftp/DeleGate/bin/linux/9.4.2/lin...
2. gunzip linux-dg.gz | mv linux-dg delegated | chmod 755 delegated | cp delegated /usr/local/bin
3- Выполни команду:
delegated -P80 SERVER=http://твой-сервер1/ ADMIN=admin@mydomain.ru PERMIT="http:*:твой-сервер1"
Теперь все запросы направляются на http://твой-сервер1/
4. Что бы выключить прокси - выполни команду:
delegated -P80 -Fkill
5. Выполни команду:
delegated -P80 SERVER=http://твой-сервер2/ ADMIN=adnub@mydomain.ru PERMIT="http:*:твой-сервер2"
Теперь все запросы направляются на http://твой-сервер2/
Для наглядности!На своём шлюзе я выполнил команду:
delegated -P80 SERVER=http://www.opennet.me/ ADMIN=admin@gennadi.dyn.ee PERMIT="http:*:gennadi.dyn.ee"
Смотри результат здесь:
Осталось только скриптик сваять что-то типа:
if [ "cервер овечает" ]
then
echo "OK!"else
delegated -P80 -Fkill
delegated -P80 SERVER=http://твой-сервер2/ ADMIN=admin@mydomain.ru PERMIT="http:*:твой-сервер2"
echo"Server1 is down!" | mailx -s "WARNING!" admin@mydomain.ru
fi