нужна помощь по keepalived с Ldap Скрипт разной проверки высокой доступности

Мне нужна помощь по keepalived с помощью скрипта проверки разной доступности Ldap High availability.

У нас возникла проблема с LDAP: внезапно пользователи не могли войти в систему через приложения и su - ldapuser, это повторялось дважды.

В течение этого времени на первичных серверах LDAP установлено 600 соединений, а на вторичных серверах LDAP - 1000.

Со всеми серверами приложений будет связываться через серверы поддержки активности (балансировщики нагрузки), в настоящее время у нас есть 2 фунтовых узла и 2 узла LDAP.

Дизайн LDAP является активным и активным, если первичный не работает, запросы переходят на вторичный.

Так что найти основную причину очень сложно, мы много пытались найти, поэтому мы хотели бы реализовать на уровне LB, если есть соединения с высоким, например, 600 или более, чем этот переключатель на вторичный сервер

Я обращаюсь сюда за предложениями о том, как реализовать в misc проверку, является ли проверка количества соединений допустимым или любым другим параметром, который будет использоваться для проверки содержимого, связанного с LDAP, для переключения на вторичный сервер. Даже я не хочу этого делать ssh из lb для проверки содержимого ldap, мне нужна прямая логика для проверки и переключения

В настоящее время у нас есть следующий сценарий проверки:

Скрипт мониторинга LB:

virtual_server 10.X.X.X 389 {
    protocol TCP
    !service_name ldap
    persistence_timeout 0
    sorry_server 10.X.X.X 389
    lb_kind DR
    real_server 10.X.X.X 389 {
        MISC_CHECK {
            misc_path "/monitor.sh 389 10.X.X.X"
            misc_timeout 6
        }
        weight 1
    }
    lb_algo rr
    delay_loop 15

Кошка monitor.sh

#!/bin/bash
port=$1
ip=$2
timeout 1s /bin/bash -c "2>/dev/null >/dev/tcp/$ip/$port"
if [ $? -eq 0 ]
then
  echo "OK"
  RETURN_CODE=0
else
  echo "NOK"
  RETURN_CODE=1
fi

exit $RETURN_CODE

Спасибо, Субхаш Кумар.

1 ответ

Одно дело проверить, открыт ли порт, но выполнение привязки LDAP позволит вам проверить, действительно ли служба отвечает на запрос LDAP.

В зависимости от реализации вашего LDAP-сервера ldapsearch для чего-либо в rootDSE и проверка разумного ответа работают хорошо.

Я предполагаю, хотя вы и не раскрываете, что это какая-то установка LDAP "linux", которая генерирует логи. Обычно эти журналы LDAP на стороне Linux предоставляют множество ответов.

Обычно в таких сценариях мы видим неправильную настройку разумного кэширования на стороне клиента Linux. Часто каждая команда, выполняемая в Linux, требует проверки авторизации и, следовательно, вызова LDAP. Даже "cd .."

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