Решение для аварийного переключения веб-сервера [закрыто]

Извините за глупый вопрос, но я зелёная рука пока что.

У меня есть два Linux-сервера: на одном работает Apache с MySQL для обслуживания моей веб-платформы (главный сервер), другой должен быть своего рода репликацией для обеспечения аварийного переключения (подчиненный сервер). Эти машины обслуживаются разными хостерами и DNS-серверами.

Вся информация, которую я нашел в Интернете для реализации этого, основана на общем виртуальном IP или решениях для серверов, расположенных в одной локальной сети (кластеры, такие как Heartbeat, RedHat; DRBD, протокол CARP и т. Д. ) что мне не подходит.

Есть ли какое-либо решение, которое будет отслеживать состояние Сервера и в случае отсутствия ответа переключать работу с ведущего на ведомое и после его ремонта переключать его обратно? Я думаю, это должно работать через аварийное переключение DNS. Или мне может помочь только баланс трафика?

0
задан 5 November 2015 в 11:35
3 ответа

Рассмотрим Amazon AWS Route 53 DNS, который имеет такие возможности аварийного переключения. Также работает для серверов, размещенных на внешнем сервере Amazon AWS:

http://gc-taylor.com/blog/2013/04/02/amazon-route53-failover

1
ответ дан 4 December 2019 в 16:47

Что ж, мы обычно пробуем эти решения, когда у нас есть контроль над инфраструктурой, на которой они расположены. Поскольку вы нанимаете хостинговую компанию, они обязаны поддерживать ее работу в рамках определенного SLA (Соглашения об уровне обслуживания). Но если вам это действительно нравится, я предлагаю вам по крайней мере нанять одну компанию и либо решение SaaS, либо решение IaaS для достижения этой цели.

0
ответ дан 4 December 2019 в 16:47

Да, существуют службы балансировки нагрузки, которые сделают то, что вы просите. Поскольку у нас есть собственное оборудование, у нас фактически есть аппаратное решение, использующее балансировщики нагрузки Barracuda. Они отслеживают страницу на нашем веб-сайте (конкретная страница, которая устанавливает соединение с базой данных и отображает UP, если она работает). Если он говорит UP, мы знаем, что и веб-сервер, и база данных работают. Если этого не происходит, мы знаем, что либо веб-сервер, либо база данных не работают, и это вызывает аварийное переключение. Существуют программные балансировщики нагрузки, которые позволяют добиться того же. Спросите своего хостинг-провайдера, предоставляют ли они какие-либо такие услуги.

Отредактируйте абзац выше: Извините, я думаю, мне нужно уточнить. У Barracuda есть «крайняя мера» для аварийного переключения. Итак, у нас есть только 1 сервер, настроенный на 100% -ный трафик, идущий на него для балансировки нагрузки. В случае неудачи он будет использовать IP-адрес «в крайнем случае». Это не типичный вариант использования балансировщика нагрузки, но он отлично подходит для нашей небольшой установки. Мы можем принудительно переключиться на центр обработки данных B, если нам когда-нибудь понадобится обслуживание, а затем вернуть его по запросу.

Затем мы используем аварийное переключение DNS в качестве вторичного уровня. Таким же образом он контролирует веб-сайты,но мы даем задержку в 5 минут или около того, потому что мы обнаружили, что не все интернет-провайдеры соблюдают TTL DNS, поэтому вы в конечном итоге заставите людей посещать оба сайта одновременно. Поэтому мы стараемся по возможности избегать аварийного переключения DNS.

Говоря о том, что для правильного переключения без проблем вам понадобится какая-то централизованная база данных ИЛИ репликация мастер-мастер. Мы идем вторым, но это рискованный бизнес. В моем списке дел - переделка базы данных.

В любом случае, такой конфигурации достаточно для обеспечения бесперебойной работы от 99,9% до 99,99%, что является приемлемым для большинства малых предприятий.

0
ответ дан 4 December 2019 в 16:47

Теги

Похожие вопросы