Назад | Перейти на главную страницу

Когда мой веб-сервер A отключается, как мне автоматически перенаправить всех пользователей на мой веб-сервер B в другом городе и наоборот?

Когда мой веб-сервер A отключается, как мне автоматически перенаправить всех пользователей на мой веб-сервер B в другом городе и наоборот?

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

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

Принятый ответ на " перенаправление на статическую страницу на другом веб-сервере, когда основной веб-сервер не работает "похоже, поддерживает веб-серверы в 2 разных городах. Но как установка программного обеспечения на одном устройстве поможет мне после того, как этот ящик отключен?"

Как делать циклический DNS и сети доставки контента (CDN) делать это?

Я полагаю, что один подход начинается примерно так:

  1. Я получаю IP-адрес каждого из моих физических веб-серверов.
  2. Я помещаю IP-адрес каждого из моих физических веб-серверов в запись DNS для единственного доменного имени «этого» веб-сайта (несколько записей A или записей AAAA или и того, и другого).
  3. ... тогда что мне нужно делать?

Я полагаю, другой подход начинается с чего-то вроде

  1. Я использую динамический DNS-провайдер для одного доменного имени, которое, как я ожидаю, пользователи будут вводить в веб-браузере.
  2. Я настраиваю задание cron на каждом веб-сервере, которое периодически сообщает поставщику DNS свой собственный IP-адрес (обновите запись A или запись AAAA) или собственное доменное имя (обновите запись CNAME или запись DNAME).
  3. ... тогда что мне нужно делать?

(На данный момент я был бы счастлив, если бы у моих пользователей была статическая веб-страница с моей контактной информацией и сноской, в которой говорится, что «основной веб-сервер A, кажется, не работает» всякий раз, когда веб-сервер A отключается. текущая система, которая просто выдает ошибку «сервер не найден». В идеале я бы хотел, чтобы A и B были полностью синхронизированы и явно идентичны - но это уже вопрос для другого вопроса: эквивалент CDN, но для динамического контента? ).

Похоже, вы ищете решение для глобальной балансировки нагрузки на сервер (GSLB). GSLB обычно использует «умный» DNS для направления пользователей на разные серверы на основе ряда параметров (например, сервер недоступен, высокая нагрузка, геолокация по IP и т. Д.).

В качестве примера предположим, что у вас есть два веб-сервера: один на западе (10.10.10.1/24) и один на востоке (10.20.20.1/24). Скажите, что ваше имя веб-хоста - www.connect.com.

GSLB можно настроить как ваш DNS или как CNAME. В любом случае, пользователь вводит на www.connect.com, запрос DNS направляется в решение GSLB, и оно отвечает 10.10.10.1 или 10.20.20.1 в зависимости от параметров. GSLB обычно устанавливает низкий TTL, чтобы клиентский хост / браузер кэшировал ответ на как можно меньшее время. Есть разные способы решения проблемы постоянства, но это выходит за рамки этого сценария.

Допустим, восточный (10.20.20.1) веб-сервер выходит из строя. GSLB обычно реализует проверки работоспособности, чтобы проверить работоспособность внутренних узлов. GSLB сообщает, что восток не работает, и все последующие записи DNS для www.connect.com будут преобразованы в 10.10.10.1.

Если у вас есть решение для балансировки нагрузки локального сервера (SLB), вы можете настроить его так, чтобы www.connect.com был VIP / VS (скажем, 192.168.1.1/24) с двумя внутренними узлами (10.10.10.1/24 и 10.20.20.1/24). Технически узлы могут находиться в разных сегментах сети, если локальный SLB может достигать другого сервера. Решение SLB может быть достаточно умным, чтобы перенаправлять пользователей на доступный сервер, если внутренний узел выходит из строя. Если вы используете F5 LTM, вы можете легко создать iRule для такого события. Citrix NetScaler и другие решения SLB также должны иметь аналогичные возможности.

RR DNS в этом случае не работает. RR DNS не имеет встроенного интеллекта. Единственный способ реализовать вариант использования с DNS - это использовать своего рода «умные» DNS через решение GSLB (или подобное).

CDN обычно внедряют решения GSLB / SLB для обеспечения высокой доступности для своих клиентов.

Вы хотите изучить глобальные балансировщики нагрузки, такие как F5 и Cisco. Обычно они проделывают некоторые трюки с DNS, если партнер не работает, а если партнер активен, они передают данные другой стороне через балансировщик нагрузки.

Еще одно дешевое, быстрое и надежное решение для оценки может заключаться в использовании аварийного переключения Amazon Route 53. http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating.html. Эта функция была выпущена 11 февраля 2013 г. и обеспечивает высокую доступность и / или балансировку нагрузки между первичным и вторичным сайтами.

Асим

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

если нет, то можно использовать F5.

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

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

  • Обратный прокси, вам нужно удалить сервер, который вы собираетесь отключить от кандидатов прокси

  • DNS, вам придется планировать заранее, сменить DNS и подождать, пока пройдет TTL

Вы также можете выполнять автоматическую балансировку нагрузки и переключение «активный-активный», особенно для веб-сервера, обслуживающего статические страницы, с помощью протоколов маршрутизации. Оформить заказ EGP и IGRP. В Интернете должен быть справочный материал (особенно связанный с Cisco), в котором подробно описывается, как это сделать с двумя или более хостами через маршрутизатор.