LINUX.ORG.RU
решено ФорумAdmin

Active/active/active/... http кластер

 , , ,


0

0

Есть n серверов и n ip-адресов, n>2. Требуется: 1) Если какой-то из серверов не работает - исключать из кластера, ip-адрес передавать работающему. 2) Если не отвечает на 80-м порту - исключать из кластера, ip-адрес передавать работающему. С первым прекрасно справляется pacemaker. Но вот второе базовыми средствами pacemaker'а, насколько я понимаю, не решить. Можно дописать самому, но, может, есть решения, которые лучше подходят?



Последнее исправление: alestro (всего исправлений: 3)

Но вот второе базовыми средствами pacemaker'а, насколько я понимаю, не решить.

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

да и вообще ты можешь тупо юзать статус-страницу для этого. там такой параметр есть для nginx

вот, держи, кури, там найдешь в списке nginx. выдержка из текста

The level 10 monitor operation by default will try and fetch the /nginx_status page
The level 20 monitor operation will perform a more complex set of tests from a configuration file.
The level 30 monitor operation will run an external command to perform an arbitrary monitoring operation

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

у тебя в тэгах nginx. тогда что именно ты подразумеваешь под «исключать из кластера, ip-адрес передавать работающему»? реально физически вырубить? ну накатай ocf на это дело. или в реальном времени менять состав кластера? это плохая практика, для этого виртуальные адреса есть.

upcFrost ★★★★★
()

А как сейчас реализована балансировка между нодами?

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

у тебя в тэгах nginx. тогда что именно ты подразумеваешь под «исключать из кластера, ip-адрес передавать работающему»? реально физически вырубить? ну накатай ocf на это дело. или в реальном времени менять состав кластера? это плохая практика, для этого виртуальные адреса есть.

Да, ocf:heartbeat:IPaddr2 и используется, требуется только миграция адреса, для первого есть ocf:pacemaker:ping, а вот что-то вроде того же пинга, но для http я не нашёл. Всё равно, nginx делает только proxy_pass и если он упадёт, чего ещё ни разу не было - лучше разбираться самому.

А как сейчас реализована балансировка между нодами?

Сейчас это DNS-roundrobin с healthcheck'ом со стороны DNS-провайдера. По логичным причинам это особо не катит.

alestro
() автор топика
Ответ на: комментарий от alestro

Да, ocf:heartbeat:IPaddr2 и используется, требуется только миграция адреса, для первого есть ocf:pacemaker:ping, а вот что-то вроде того же пинга, но для http я не нашёл. Всё равно, nginx делает только proxy_pass и если он упадёт, чего ещё ни разу не было - лучше разбираться самому.

ну так а чем статус-страница не устраивает? pcmk будет тупо запрашивать эту страницу и если никак - то будет мигрировать сервис вместе с адресом если они в колоке.

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

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

nginx не нужно(нельзя) мигрировать. При старте на другом сервере он будет пытаться стартовать nginx и не сможет. Ладно, буду сам допиливать.

alestro
() автор топика
Ответ на: комментарий от alestro

Ну тогда да, простой ocf-скрипт и колок с этим скриптом. За час делается

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