Мне удалось настроить кластер кардиостимулятора с виртуальным IP-адресом и виртуальным экземпляром ldirectord, собрав информацию из Вот, Вот и Вот. Кажется, что правильный способ использования ldirectord
состоит в том, чтобы иметь два сервера балансировки нагрузки перед двумя серверами apache, а затем выполнять некоторые трюки arp, чтобы серверы Apache отвечали на виртуальный IP-адрес.
В соответствии с это сообщение в блоге (начиная с «традиционного способа»), эти уловки arp не будут работать при установке с двумя серверами и могут вызвать бесконечные циклы. Затем он предлагает какое-то решение, которое я не полностью понял, но которое зависит от keepalived.
Итак, мой вопрос: можно ли использовать кластерный ldirectord для балансировки нагрузки между экземплярами apache на одних и тех же двух серверах? подобно эта картинка?
Keepalived - это другой проект, чем сердцебиение.
Я обычно использую Heartbeat для высокой доступности. Для пульса вы можете определить ресурсы, которые будут принадлежать одной машине за раз. VIP - это один из этих ресурсов, который может «перемещаться» с одной машины на другую. AFAIK, пакет heartbeat не обеспечивает балансировку нагрузки. Чтобы реализовать балансировку нагрузки, я могу использовать другой пакет, например haproxy.
Да, можно использовать одни и те же два сервера в качестве балансировщика нагрузки и веб-сервера.
Используйте keepalived.
В настоящее время это предпочтительное программное обеспечение, ldirectord не обслуживается уже несколько лет.
И да, можно запустить установку с двумя узлами.
Однако каждый настоящий кластеру требуется как минимум три узла.