Преимущества связки Corosync + Pacemaker | OTUS

Преимущества связки Corosync + Pacemaker

Иногда возникает вопрос, как создать кластеризацию на уровне приложений с высокой отказоустойчивостью, причем сделать это в сжатые сроки, при наличии ограниченного бюджета и при отсутствии глубоких экспертных знаний в построении кластеров. Одно из оптимальных решений -- применение Corosync и Pacemaker. Данная связка бесплатна, освоить ее несложно, а на развертывание уходит совсем немного времени.

Corosync

Corosync представляет собой программный продукт, позволяющий создавать единый кластер из нескольких виртуальных либо аппаратных серверов. При этом Corosync способен отслеживать и передавать состояние всех нод в кластере.

1-1801-1fe2d1.png

Также он позволяет:

  • выполнять мониторинг статуса приложений;
  • оповещать приложения в случае смены активной ноды в кластере;
  • осуществлять отправку идентичных сообщений процессам на всех нодах;
  • обеспечивать доступ к общей БД с конфигурацией и статистикой;
  • выполнять отправку уведомлений об изменениях, произведенных в базе данных.

Pacemaker

Pacemakerменеджер ресурсов кластера. Pacemaker позволяет применять и службы, и объекты в рамках единого кластера, состоящего из 2-х и более нод.

2-1801-ed3969.png

Pacemaker способен:

  • находить и устранять сбои на уровне служб и нод;
  • не зависеть от подсистемы хранения, то есть мы можем забыть про общий накопитель, как про страшный сон;
  • не зависеть от типов ресурсов, то есть все, что можно прописать в скрипты, мы можем кластеризовать;
  • поддерживать STONITH (Shoot-The-Other-Node-In-The-Head). Суть тут следующая: умершая нода изолируется, а запросы к ней не поступают, пока нода не выполнит отправку сообщения о том, что она опять находится в рабочем состоянии;
  • поддерживать кворумные и ресурсозависимые кластеры практически любого размера;
  • поддерживать практически любую избыточную конфигурацию;
  • автоматически реплицировать конфигурацию на все узлы кластера, то есть править все вручную не понадобится;
  • задавать порядок запуска ресурсов и их совместимость на одном узле;
  • поддерживать расширенные типы ресурсов, такие как клоны (ресурс запущен на множестве узлов) и дополнительные состояния (master/slave и пр.), что в целом весьма актуально для систем управления базами данных (MySQL, PostgreSQL, MariaDB, Oracle);
  • иметь единую кластерную CRM-оболочку с поддержкой скриптов.

Таким образом, общая идея связки заключается в том, что посредством Corosync вы строите кластер, ну а уже отслеживать его состояние вы будете благодаря Pacemaker.

Хотите узнать больше о кластеризации сервисов на базе Pacemaker? Добро пожаловать на курс «Администратор Linux. Виртуализация и кластеризация»!

По материалам https://xakep.ru/2019/01/24/corosync-pacemaker/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто