Сердцебиение в Linux: кто станет мастером?

Предположим, что я сконфигурировал 2 машины, чтобы они были активными / пассивными, с помощью пульса и ритма сердца Linux, затем я создаю группу ресурсов в узле 1 и фиксирую ее. Если я прав, конфигурация будет распространена на узел 2. Группа ресурсов собирается отслеживать один из сервисов на машине.

Мой вопрос заключается в том, что на двух узлах запущен одинаковый сервис, какой из них становится активным в первую очередь? Или сердцебиение Linux решит, что (эти два имеют равные возможности)?

1 ответ

Решение

С Pacemaker у вас нет "активного узла" и "пассивного узла". Все узлы кластера (их может быть больше 2) могут запускать службы одинаково, и правила в базе данных CIB сообщают CRM (диспетчеру ресурсов Pacemaker), какой узел может запускать какие службы.

Если вы настроили службу для работы в качестве одного экземпляра, который может работать на обоих узлах без ограничений, вы не сможете сказать, какой узел будет ее запускать. Если у вас есть две такие службы, вы можете закончить тем, что одна будет работать на одном узле, а другая - на другом. Для первого сервисный узел1 будет активен, а для второго - узел2.

Вы определяете фактическое предпочтение, объявляя некоторые константы. Пример: "запустить службу 1 на узле, где работает служба 2" или "всегда предпочитать узел 1 для обеих служб".

Обычно у вас есть служба, которая определяет "логический мастер" - это может быть IP-адрес или том DRBD в основном состоянии - тогда все остальные службы зависят от этого, и вы выбираете "мастер", устанавливая предпочтения для основной службы.

См. Документацию Pacemaker для получения подробных сведений об установке ограничений.

Само сердцебиение, когда оно используется с Pacemaker, не принимает никаких решений о состоянии master / slave или о том, какие ресурсы запущены.

Другие вопросы по тегам