Я пытаюсь предоставить возможности высокой доступности для наших балансировщиков нагрузки (опционально nginx, pgpool и haproxy) с помощью pacemaker / corosync. Я определил три примитива:
1 для аварийного IP-адреса,
1 для lsb :: nginx
1 для lsb :: pgpool
и я предполагаю, что могу добавить lsb :: haproxy, хотя я не тестировал этот сценарий.
и сгруппировал их вместе. Моя проблема в том, что когда, например, pgpool выходит из строя, кластер переключается на другой узел, включая nginx. Насколько я понимаю в документации, IP-адрес аварийного переключения может быть включен только в одну группу, что делает ситуацию полностью или ничего (либо все службы работают, либо, если одна из них выйдет из строя, переключение произойдет для всех трех из них). Можно ли сгруппировать их вместе, чтобы, например, node1 мог предоставлять nginx и node2 pgpool и haproxy, используя один и тот же виртуальный IP-адрес? Это вообще возможно? Я использую Debian Wheezy со всеми пакетами, поступающими из его репозиториев (haproxy поступает из резервных портов). Спасибо за любые ответы.
Думаю, самый простой выход - иметь 2 резервных IP-адреса. Один для nginx
а другой для pgpool + haproxy
пара. Таким образом, все будет работать так, как вы хотите. nginx
можно настроить для запуска с первой машины и pgpool + haproxy
пара из второго.