LINUX.ORG.RU

Pacemaker: одинаковые маршруты на нескольких нодах

 ,


0

1

В принципе, простая задача - есть кластер из N хостов, на всех поднята некая служба и на нескольких - разные виртуальные IP. Но особенность в том, что после поднятия IP нужно добавить маршруты в определенную таблицу маршрутизации.

Если создать просто два ресурса Route и привязать их к соответствующим IPAddr2, то всё работает, но при переезде на другую ноду вместе с адресом Route грохает за собой маршруты, хотя оставшийся Route должен его держать. Если роутам добавить «op monitor», то оставшийся ресурс восстанавливает маршрут, но это какой-то костыль.

Метрику ресурс Route не поддерживает, поэтому дифференцировать роуты в ядре не получится. Я, конечно, его могу подправить но это опять же костыль.

Может есть какой-то станадртный способ а я туплю?

мне в свое время для нетривиальной ситуации оказалось проще всего написать свой кастомный ресурс агент, который отвечал и за IP адреса и за маршруты

Yur4eg ★★ ()

Я бы на твоём месте вместо маршрутов юзал бы распределенный dns или любую директорию и скрипты для ее набивки. Сейчас почти с такой же задачей сижу, только чуть сложнее и глобальнее.

Просто менять L3 на лету тупо опасно

upcFrost ★★★★★ ()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от Yur4eg

Я примерно так и сделал, в общем. Подправил таки ресурс-агент Route, добавил в него параметр metric. Теперь у меня одинаковые маршруты с разной метрикой и ресурс грохает за собой только свой, конфликтов нет. Просто думалось мне что можно проще...

blind_oracle ★★★★★ ()
Ответ на: комментарий от upcFrost

Я бы на твоём месте вместо маршрутов юзал бы распределенный dns

DNS долго реагирует, при этом ты зависишь от кешей клиентов. А в моем случае некоторые «клиенты» просто не умеют DNS.

Просто менять L3 на лету тупо опасно

Пчму? Аргументы? :)

У меня много сервисов вертится с keepalived, в т.ч. очень нагруженные (те же днсы с 12к запросов в секунду на каждый) - я их часто для обслуживания перевожу на один хост всеми виртуальными адресами по-очереди, никаких проблем нет. IP перелетает за доли секунды, отправляется gratuious arp и всё красиво.

blind_oracle ★★★★★ ()
Ответ на: комментарий от blind_oracle

DNS долго реагирует, при этом ты зависишь от кешей клиентов. А в моем случае некоторые «клиенты» просто не умеют DNS.

потому я и написал «или любую директорию». И реверс-прокси, который оттуда читает

Пчму? Аргументы? :)

навернуть легко, и при этом можно подвесить много больше одного хоста. да и ограничения есть, например желательно чтоб это все внутри одной подсети было

upcFrost ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.