rudenkovk
@rudenkovk
DevOps, sysadmin

haproxy и перебор серверов

Привет уважаемому сообшеству.

Уперся в стену с вопросом, есть haproxy — как в нем настроить балансировку, что бы запросы эмулировали failover?
Поясню:

есть srv1, srv2 и srv3. По умолчанию работаем с srv1, но как только srv1 упал, начинаем работать с srv2, и так далее. Не понимаю как настроить.
  • Вопрос задан
  • 6683 просмотра
Пригласить эксперта
Ответы на вопрос 3
blo
@blo
инженер-программист
В принципе тут haproxy.1wt.eu/download/1.3/doc/architecture.txt во втором пункте это описано. Вкратце — необходимо использовать keepalived, который позволяет иметь один shared IP на все сервера. Этот shared IP в конкретный момент будет связан с одним конкретным сервером.
Ответ написан
@gagoman
Может я не правильно понял, но heartbeat/keepalived используются для снижения отказа единой точки входа, в данном случае haproxy. То есть, делаем shared IP на 2 сервера с haproxy. Один работает, второй ждет. Первый падает, heartbeat перебрасывает IP на второй и запускает haproxy.

В случае балансировки:
в backend можно указать какие сервера активные, какие для backup. Для них включается check. Дальше haproxy разрулит.
То есть, можно сделать 2 основных, 2 для backup. Запросы на backup пойдут только тогда, когда все основные будут мертвы.

Цепи вида srv1->srv2->srv3, к сожалению, не настраивал. Можете привести пример,
зачем нужен failover failoverа серверов приложений?
Ответ написан
Комментировать
rudenkovk
@rudenkovk Автор вопроса
DevOps, sysadmin
Собственно с темой backup я разобрался, спасибо :)

У нас есть кластер master-master из 4 нод Percona. Так как у нас записи в БД мало, master-master используем как failover на случай физического падения одного из серваков (такое бывает достаточно часто, дешевое железо). Вот и есть желание просто перенаправлять запись в случае падения ноды-на-запись, на следющую.

Собственно с backup только один вопрос, в случае падения ноды-на-запись не начнет ли он писать по roundrobin на остальные ноды? Хочется минимизировать возможность split-brain.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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