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

Балансировщик нагрузки Apache, аварийное переключение и резервное копирование

Я выполнил балансировку нагрузки с помощью apache и mod_proxy. Все работает хорошо, и я могу балансировать нагрузку между двумя серверами. Теперь я хотел бы сделать больше. Сначала я хотел бы выполнить аварийное переключение (если один сервер не работает, все расходы переходят на другой)> Работает ли это только с этим: nofailover = On? Тогда я хотел бы иметь второй балансировщик нагрузки в качестве резервной копии, если первый выйдет из строя. Я ищу в Интернете, но не нашел. Вы знаете, можно ли это сделать? В заключение: можно ли изменить конфигурацию (например, IP-адрес сервера) в балансировщике нагрузки без его перезапуска, потому что он работает?

Спасибо за Ваш ответ

Чтобы установить BalancerMember в качестве горячего резерва, чтобы он получал запросы только в том случае, если другой восходящий поток недоступен, используйте status = + H:

<Proxy balancer://failovercluster>
    BalancerMember http://10.1.1.4
    BalancerMember http://10.1.1.5 status=+H
</Proxy>

(одно предостережение в том, что в некоторых более старых версиях apache была ошибка, из-за которой + H не работал)


Один из распространенных способов настройки второго балансировщика нагрузки - это просто настроить вторую систему с идентичной конфигурацией и использовать Циклический перебор DNS чтобы позволить пользователям ударить то, что им случится. Конечно, это может вызвать задержки для клиентов, если выйдет из строя один из балансировщиков нагрузки; не очень хорошая вещь.

Другой вариант - использовать VRRPd. Я не буду вдаваться в подробности реализации здесь, но в этом случае ваши два балансировщика нагрузки будут совместно использовать один виртуальный IP-адрес, который переместится на другое устройство, если одно из них станет недоступным.


Используя "перезагрузить" (/etc/init.d/apache2 reload) выполнит плавный перезапуск службы apache; это позволяет избежать разрыва соединений.