Привет ЛОР!
Есть 3 openldap-сервера с учётками для пользователей. Используются пока только для аутентификации, нагрузка маленькая.
На них настроена мультимастер репликация посредством syncrepl. Реплицируются конфиги(cn=config) и одна база(hdb).
Проблема заключается в том, что сервера регулярно зависают. Выражается это в том, что сервера принимают запросы, начинают ssl-аутентификацию и зависают на этом этапе. openssl s_client так же виснет.
В логе указано:
ноя 19 23:44:53 ldap0.test.local slapd[24580]: conn=1068 fd=22 ACCEPT from IP=10.111.0.11:57573 (IP=10.112.100.10:636)
ноя 19 23:44:53 ldap0.test.local slapd[24580]: 546d0145 daemon: activity on 1 descriptor
ноя 19 23:44:53 ldap0.test.local slapd[24580]: 546d0145 daemon: activity on:546d0145 22r546d0145
ноя 19 23:44:53 ldap0.test.local slapd[24580]: 546d0145 daemon: read active on 22
ноя 19 23:44:53 ldap0.test.local slapd[24580]: 546d0145 daemon: epoll: listen=7 active_threads=0 tvp=zero
ноя 19 23:44:53 ldap0.test.local slapd[24580]: 546d0145 daemon: epoll: listen=8 active_threads=0 tvp=zero
ноя 19 23:44:53 ldap0.test.local slapd[24580]: 546d0145 connection_get(22)
ноя 19 23:44:53 ldap0.test.local slapd[24580]: 546d0145 connection_get(22): got connid=1068
ноя 19 23:44:53 ldap0.test.local slapd[24580]: 546d0145 connection_read(22): checking for input on id=1068
Происходит это через какое-то время после старта сервера. Если не запускать реплики и сервер крутится один/не настраивать репликацию, то всё ок. Все сервера синхронизируются по chrony с одним локальным ntp-сервером. Соединения принимаются только по ldaps.
Если, например, работают только две реплики, то после рестарта любой из реплик какое-то время(10 мин) работают оба, потом опять зависают.
Проблема присутствует на разных ВМ с режимами RefreshAndPersist и RefreshOnly. Пробовал много разных вариантов, но так и не победил.
Куда копать?
Ах да:
Centos 7 x86_64
kernel: 3.10.0-123.9.3.el7.x86_64
OpenLDAP: slapd 2.4.39 (Jun 9 2014 23:23:12)