LINUX.ORG.RU

Как сделать сайт отказоустойчивым?

 ,


0

1

Сразу скажу - я не админ! Прошу строго не пинать.

Вопщем суть в чем. Есть сайт А, он находится на сервере SERVER (далее master). В один прекрасный момент сервер упал(проблемы с сетью в дата-центре, взрыв под землей, луна не совпала с солнцем и т.д.).

Сайт А соответственно не открывается. Понимаю, что наиболее простым решением является смена DNS(ну это я так думаю).

Т.е. размещаю сайт А на SERVER2(далее slave, точную копию что и на master).

Как мне заставить работать сайт А со slave когда master недоступен? Натолкнулся на сервис Amazon 53, судя по описанию он решит мою проблему.

Подскажите, насколько эффективен данный подход и сервис? Можете наспамить аналогов с более простой настройкой?

p.s. сайт А статичен! Никаких синхронизаций делать не нужно. На сервере установлен DirectAdmin, но для него никаких «примочек» не смог найти по решению данной проблемы. Если что то есть - пожалуйста ткните, что где почитать!

Спасибо!


Несколько A записей для одного имени? Несколько разных имён со своими A записями + CNAME?

targitaj ★★★★★ ()
Ответ на: комментарий от targitaj

Это у регистратора нужно указывать? А несколько разных имен это как? Можете более подробно, а то я в терминологии не силен как и в практике.

xisip ()
Ответ на: комментарий от xisip

Можно без сарказма?

Если без сарказма, единственным правильным для вас вариантом остается только нанять админа, который сделает соответствующую настройку.

BaBL ★★★★★ ()
Ответ на: комментарий от BaBL

Ну я же не спрашиваю как поднять кластер. Вот и обратился сюда чтобы разъяснили по настройке днс. Не думаю что здесь нужен мега левел скилов. Конкретно спросил про амазон, кто то что то по теме может сказать?

xisip ()
Ответ на: комментарий от xisip

Это не сарказм. Во временной недоступности сервиса нет ничего страшного. Ты неправильно оценил необходимость отказоустойчивости. Потому что ты не админ. Я на только на это обратил внимание.

winlook38 ★★ ()
Ответ на: комментарий от winlook38

Ну может я не так выразился)) Задам вопрос иначе.

Какие тех. средства применить для того чтобы сайт был доступен в сети даже если один из серверов стал недоступен?

Ну а насчет днс как вообще вариант?

xisip ()
Ответ на: комментарий от xisip

Конкретно спросил про амазон, кто то что то по теме может сказать?

конкретно про амазон - ELB. конкретно по теме - nginx на кофемашине в офисе, который без DNS шаманства разрулит трафик на здоровый хост

anonymous ()
Ответ на: комментарий от anonymous

Потому что ты не админ.

Ну офигеть теперь.

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

Чего?

anonymous ()
Ответ на: комментарий от anonymous

Я думаю, у какого-то важного сервиса админ есть де-факто. Если вдруг к сервису админ не приставлен, значит или сервис неважный, или попахивает неадекватом.

l0stparadise ★★★★★ ()
Ответ на: комментарий от l0stparadise

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

Ладно всем спасибо!

xisip ()
Ответ на: комментарий от winlook38

Это не сарказм. Во временной недоступности сервиса нет ничего страшного.

Скажешь это, когда попадешь на рекламацию за простой сервиса, по причине которого клиент попал на бабло :)

slackwarrior ★★★★★ ()
Ответ на: комментарий от slackwarrior

Офигительные истории. Давай ты сначала мне расскажешь, что это за сервис такой у ТСа, что он попадет на бабло из-за простоя своего сервиса.
Я обратил внимание на то, что он не админ, а судя по формулировке вопроса в ОП, для ТСа отказоустойчивость - красивое слово. Ну, его еще можно в резюме вписать.

попадешь на рекламацию за простой сервиса

При проектировании закладывают допустимое время простоя. Это отражено в SLA. Мы сами по такому SLA работаем и поэтому в штате есть компетентные люди, которые могут устранить проблему в оговоренное время, а у ТСа даже админа нет.

winlook38 ★★ ()
Ответ на: комментарий от xisip

Я же указал, что новичек. И хотел бы разобраться.

Укажи, ты хочешь систему серверов без единой точки отказа или узнать, что тебе на самом деле нужно?

t184256 ★★★★★ ()
Ответ на: комментарий от anonymous

админ локалхоста

Это тебе не жж, мне не интересно админ ты локалхоста или не админ.

закукарекал

И чем ты сейчас занимаешься, мне тоже не интересно.

winlook38 ★★ ()
Ответ на: комментарий от t184256

Ну нужно чтобы если сайт упал, то открылся бы для посетителей со 2 сервера. Ну вроде это называется отказоустойчивость)) Подсветите про понятия если чего путаю.

xisip ()
Ответ на: комментарий от xisip

чтобы если сайт упал

раскрой понятие. чтобы первый сервер упал? чтобы любой сервер упал? что ты под этим подразумеваешь?

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

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

xisip ()
Ответ на: комментарий от umren

Я же сказал «для себя». Разобраться как такое делают. Я что написал про реальный сайт или сервис? Господа, давайте будем читать вопрос. Может кто то конкретно ответить, без холивара, про амазон и днс. Не нужно здесь разводить холивар про нанять админа и прочую ерунду. Конкретно плиз если можно.

xisip ()

Поставить ИБП и оплатить интернет заранее. А ещё мне интересно, как сделать применение обновлений и перезагрузку автоматической.

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от umren

Собственно такое случается часто, так как амазон в разы (и на порядки) дешевле админа

vertexua ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

Ну в 5 утра же

Кто рано встаёт — у того сервер в 5 утра упадёт.

h578b1bde ★☆ ()
Ответ на: комментарий от xisip

Ладно

Нет, не ладно. Ты плохо сформулировал то, чего хочешь. Получил соответствующий фидбэк.
Хочешь разбираться - разбирайся. Т.к. у тебя распределенная система (у тебя ведь в ОП оригинальный сайт и его копия фигурируют), то погугли теорему CAP. Она тебе расскажет про взаимосвязь согласованности, доступности и устойчивости к разделению. Для решения проблем отказоустойчивости есть разные методы, которые ты можешь реализовать в архитектуре своего продукта или воспользоваться существующими решениями. Некоторые уже озвучивали. А пока ты даже не представляешь чего хочешь.

winlook38 ★★ ()
Ответ на: комментарий от winlook38

Спасибо. Пойду окунаться в мат часть, сам понимаю что плаваю и не могу донести что нужно. Потом приду потереблю с вопросами, как теорию освою))

xisip ()

Самое простое, в ДНС укажи два IP адреса. При падении одного из них, будет перенаправление на второй.

Чуть сложнее, это настроить какой-нибудь балансировщик нагрузки, например haproxy. Он будет не только проверять доступность серверов, но и перенаправлять соединения на твои сервера по одному из алгоритмов распределения нагрузки.

Если совсем упороться, то можно взять ещё один сервер и сделать на нём кеширование. Это позволит, даже при точном попадании ракеты в датацентр с твоими серверами А и Б, отдавать содержимое твоего сайта из кеша.

Здесь узкое место - балансировщик. Поэтому нужно всегда под рукой держать скрипт, который тебе быстро поднимет его копию в нужном месте, а также не забыть понизить время опроса зон в ДНС, чтобы новые IP адреса, после их смены, резолвились как можно быстрее (в пределах разумного, DynDNS устраивать не надо).

shrub ★★★★★ ()
Ответ на: комментарий от winlook38

Офигительные истории. Давай ты сначала мне расскажешь, что это за сервис такой у ТСа, что он попадет на бабло из-за простоя своего сервиса.

Ты мне про свое SLA не рассказывай :) Если нет у заказчика допустимого времени простоя - или делаешь, чтоб не было, или нахуй с рынка - идешь рассказывать охуительные истории про свое «SLA», которое помешает клиентам заказчика нагнуть тебя через суд за «нарушения, допущенные при проектировании», когда дойдет до перевода стрелок :)

slackwarrior ★★★★★ ()
Ответ на: комментарий от slackwarrior

что это за сервис такой у ТСа, что он попадет на бабло из-за простоя своего сервиса

Если нет у заказчика допустимого времени простоя - или делаешь, чтоб не было, или нахуй с рынка

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

winlook38 ★★ ()
Ответ на: комментарий от winlook38

Подробнее давай, я так и не понял, что это за сервис такой

общими фразами рассказываешь мне сказки

Я уже знаю, что ты на таких не работал :) И с таким подходом не будешь. И слава б-гу! :)

у ТСа

ТС разобраться хочет «как» - а ты ему не поможешь, раз не работал по таким, но говоришь «нинужна». И еще рассказываешь сказки про сказки про SLA, которое может и не проканать, если прокуроры от законов страны пребывания зайдут :) Ухади! :)

slackwarrior ★★★★★ ()
Ответ на: комментарий от slackwarrior

Я уже знаю, что ты на таких не работал

Нет, не работал. Но ты так и не ответил, ни мне, ни ТСу, сказочник.

ТС разобраться хочет «как»

Он еще не знает «с чем» хочет разобраться.

«нинужна»

Это касается конкретного вопроса ТС. Большинство сервисов разрабатывается с некоторыми допущениями, в том числе о доступности. Если сервис требует постоянной доступности, то допущения будут в других местах. Я уже пнул ТСа в нужном направлении.

winlook38 ★★ ()
Ответ на: комментарий от xisip

Не выдумывай, ответь на вопрос. Например если ввести третий сервер, который будет перенаправлять запрос на тот из первых двух, кто жив («nginx на кофеварке»), но при этом если выткнуть его, то навернется вообще все — это решение или нет?

t184256 ★★★★★ ()
Последнее исправление: t184256 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.