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

Как запустить несколько кластеров Heartbeat / Corosync / Pacemaker в одной сети? (Кворум)

Мы намерены запустить несколько компонентов для запуска веб-сайта. Как балансировщик нагрузки, кеш и пара веб-сервисов. Чтобы избежать единой точки отказа, мы намеревались использовать Heartbeat / Corosync / Pacemaker и вместо одного балансировщика нагрузки просто запустить два из них. Теперь у нас есть разные варианты их настройки, и я хотел бы услышать ваше мнение, какой из них работает лучше:

  1. Запускайте пары серверов в разных кластерах. Например. loadbalancer1 и loadbalancer2. Таким образом, у нас не будет двух нескольких серверов для достижения кворума в случае отказа одного из серверов. Мы могли бы отключить функцию кворума, но рискуем раздвоить мозг. Звучит не идеально, но конфигурация ясна и проста, и, вероятно, она просто сработает.

  2. Запускайте тройки серверов в разных кластерах. Как "loadbalancer1", "loadbalancer2" и "loadbalancer-quorum". Таким образом, у нас есть дополнительный сервер, который в остальном ничего не делает, но, по крайней мере, мы можем достичь кворума в случае сбоя.

  3. Запустите все серверы в одном кластере. Таким образом, кластер будет состоять из «loadbalancer1», «loadbalancer2», «cache1» и «cache2». Затем мы могли бы использовать ограничения, чтобы убедиться, что программное обеспечение балансировки нагрузки работает только на «loadbalancer1» или «loadbalancer2», а программное обеспечение кеширования работает только на «cache1» или «cache2». Могу представить, что это сбивает с толку. Но у нас было бы достаточно серверов, чтобы всегда был кворум.

У вас есть опыт работы с такой установкой? Что нам делать?

В основном это личное предпочтение, но я бы предложил 3 как:

  • Вы избегаете проблем с кворумом в двухузловых кластерах
  • У вас нет третьего узла, который ничего не делает
  • Pacemaker позволяет сделать это довольно легко :-)