LINUX.ORG.RU
ФорумAdmin

падение LDAP сервера Срочно :)


0

0

Всем привет! Помогите заставить работать openLDAP сервер. В компании настроено ldap сервер для авторизации пользователей. Сначало через ldap авторизовался только apache2 а потом подключили linux сервер на котором много файлов и много пользователей. Все пользователи из LDAP. Когда авторизовался один apache2 все было нормально, но теперь ldap сваливается кажыде 3-5 минут. Система debian slapd 2.3.30-5.

Сервис падает без ошибок, дебаг тоже в явном виде ничего не дал. В результате падения сервера LDAP-а на серере к которому он подключен не возможно работать. Приходится постоянно перезапускать ldap.

вот основная часть конфига:

threads 48

backend bdb

checkpoint 512 30

dbconfig set_cachesize 0 2097152 0

dbconfig set_lk_max_objects 1500

dbconfig set_lk_max_locks 1500

dbconfig set_lk_max_lockers 1500

index objectClass eq

index uid,uidNumber,gidNumber eq,pres

Что можно посоветывать в этой ситуации? Спасибо

anonymous
Ответ на: комментарий от borisych

а это точно сказывается на производительности? или это из разряда "попробывать" авось поможет.

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

точнее не на производителности а на стабильности?

если бы у нас ресурсов не хватало я бы понимал.

anonymous
()
Ответ на: комментарий от borisych

как я знаю предложенные backend-ы не так устойчивы к падениям. если один раз сервер зависнет то база может не подцепиться. Придётся из backup-a восстанавливать.

anonymous
()

> Что можно посоветывать в этой ситуации?
slapcat делать почаще.
поднять еще ldap сервер (slave) на другом дистрибутиве.
везде где возможно настроить сервисы на два ldap.

anonymous2 ★★★★★
()

сильно сомнительно всё это... в смысле отсуствия ошибок в логах. посмотри внимательнее.

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

бред несёте. не имеет bdb такого свойства. отличный, производительный движок. последний лдап сервер, мною насетапленный (кстати на тоже на дебиане) работает именно с указанным бекендом - аптаймы сервиса прерываются только ребутом бокса после обновления ядра. так что причина явно не в гипотетической кривизне этого бекенда, а в чём то другом.

bsh ★★★
()

Что за дистр дебьяна? Если Sarge - то там был неприятный косяк такого плана, решался пересборкой slapd с --without-threads или как то так.

sabonez ★☆☆☆
()

1. По слухам в какой-то из последних BDB есть неприятная ошибка из-за которой она падает.

2. Попробовать Fedora Directory.

3. Смотреть в сторону eDirectiry.

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

Скажи подробнее, что за дистриб, какие версии пакетов, от куда обновляешь Debian.

Я также придерживаюсь мнения, что ldap очень хорошая штука. И стандартную конфигурации базы менять не нужно, нужно понять почему все это происходит.

В дополнение могу сказать, что я пользую debian sarge, slapd версии 2.2.23-8 (из стабильной ветки дистриба), на нем весит и почта и прокси и самба и челов около 400 -600, есть разделение на master и slave и все это очень шустро и стабильно работает.

av
()
Ответ на: комментарий от anonymous2

>slapcat делать почаще.

ага(!) а без остановки ldap slapcat не делается

>поднять еще ldap сервер (slave) на другом дистрибутиве. везде где возможно настроить сервисы на два ldap.

прямо как программисты на жаве, пофиг что у нас жаба тормозит, пофиг что у нас OOM сыпется, ты сейчас кластер сделаем и все будет в порядке. Падает из-за bdb, кто думает по-другому, могу поспорить на ящик пива.

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

Спасибо всем за советы.

вопрос к AV: а с какими настройками LDAP держет такую нагрузку. У меня пользователей примерно 150, дело в том что на сервере постоянно происходят авторизации и изменяются файлы. Все пароли и группы хранятся в ldap-e. При этом LA на сервере держится около 3, что говорит о том что все процессы постоянно ждут ответа от LDAP. slapd использую 2.3.30-5.

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

Ещё вопрос у меня в pam_ldap прописано :

host ldap1 ldap2

так сервер за пользователями ходит только к ldap1.

Получается что часть нагрузки направить можно только через DNS(прописав для ip-ка на ldap1)?

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

Даже не знаю, что конкретно и показать, все настройки конфига дефултовые, основные значения следующие:
allow bind_v2
include /etc/ldap/schema/core.schema
.......
loglevel 0
modulepath /usr/lib/ldap
moduleload back_bdb
backend bdb
checkpoint 512 30
database bdb
suffix xxxxx

ну в общем-то и все. Ниже реплики и права.
Это мастер, где основную нагрузки делает почта, и репликация. Сейчас быстро посчитал количество пользователей, получилось следующее значение:
slapcat |grep mail: |grep @maycompany.ru -c
564

Не скажу, что сервер простаивает, но в момент средней загрузки значения следующие (тачка стоит Intel(R) Pentium(R) 4 CPU 2.40GHz, памяти 512, винт обычный ide):

Cpu(s): 10.5% user, 5.6% system, 0.0% nice, 83.9% idle
Mem: 514548k total, 499640k used, 14908k free, 33412k buffers
Swap: 682752k total, 165724k used, 517028k free, 118948k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18106 amavis 18 0 51072 35m 13m S 2.6 7.0 0:02.78 amavisd-new
18249 amavis 16 0 46896 29m 13m S 1.6 5.9 0:00.43 amavisd-new
18290 root 14 0 1132 1132 824 R 1.3 0.2 0:00.39 top
31809 postfix 12 0 2656 2652 2024 S 1.0 0.5 0:31.29 trivial-rewrite
689 root 11 0 336 300 228 S 0.7 0.1 142:37.32 syslogd
28374 root 11 0 10068 8588 5204 S 0.7 1.7 7:17.22 slapd
28873 root 11 0 10068 8588 5204 S 0.7 1.7 7:23.36 slapd
16523 root 11 0 10068 8588 5204 S 0.7 1.7 3:42.38 slapd
16591 root 11 0 10068 8588 5204 S 0.7 1.7 3:39.68 slapd
19121 root 11 0 1176 1044 964 S 0.7 0.2 2:51.46 master
27959 root 10 0 10068 8588 5204 S 0.3 1.7 7:22.90 slapd
4375 root 10 0 10068 8588 5204 S 0.3 1.7 7:11.44 slapd
16528 root 10 0 10068 8588 5204 S 0.3 1.7 3:45.50 slapd
16806 root 10 0 10068 8588 5204 S 0.3 1.7 3:40.17 slapd
19140 postfix 10 0 6392 6072 1696 S 0.3 1.2 0:28.51 verify
29026 bind 10 0 21268 20m 2576 S 0.3 4.0 12:00.61 named
15724 postfix 10 0 2864 2860 2136 S 0.3 0.6 0:00.28 smtpd
16366 postfix 10 0 2584 2580 2068 S 0.3 0.5 0:00.27 smtpd
17186 postfix 10 0 6184 6180 2124 S 0.3 1.2 0:00.33 cleanup
17800 postfix 10 0 2200 2196 1768 S 0.3 0.4 0:00.06 smtp
18300 clamav 10 0 94296 71m 28m S 0.3 14.3 0:00.09 clamd
1 root 8 0 440 416 400 S 0.0 0.1 0:30.62 init



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

просто почтовую нагрузку не стоит сравнивать с файловой (по завросам в LDAP), для того чтобы проверить логин/пароль не нужно можно ресурсов. А вот для того чтобы проверить права на запись/чтение у 100 файлов, нужно достаточно много ресурсов. К тому же когда у тебя больше 100 пользователей которые только и делают что создают и обновляют файлы (CVS сервер).

Может быть есть механизм который позволяет подсчитать количество запросов в минуту/секунду?

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

Возможно действительно у Вас нагрузка посерьезнее, тогда смотрим в сторону оптимизации скоростей, а это в первую очередь индексы.

Сейчас на сайте самбы нашел статью по настройке в связки с ldap, где указаны какие индексы надо добавить для оптимизации работы с ldap. Если у Вас этого нет, то нужно будит добавить и обязательно все переиндексировать.
http://wiki.samba.org/index.php/2.0:_Configuring_LDAP

Второе - это посмотреть как у Вас идет запросы к ldap. Идет ли все через внутренний интерфейс lo? (думаю здесь не должно быть проблем, но на всякий случай).

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

av
()
Ответ на: комментарий от anonymous

> Может быть есть механизм который позволяет подсчитать количество запросов в минуту/секунду?

Точно средствами ldap-а не знаю, но допустим можно сделать так tcpdump -i lo port 389, куда нибуть его свалить в файл, подождать минуту пару раз и вывести среднее значение.
Мне да же стало сейчас самому интересно насколько у нас с Вами разные нагрузки. Я готов у себя все это посчитать.

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

Сделал 5 замеров по одной минуте, получил следущее количество записанных строк:
1 = 695
2 = 462
3 = 1454
4 = 744
5 = 2082

Как видно разброс достаточно большой, среднее значение равно 1084,4.
Добавлю, что это не весь ldap трафик, так как есть и на eth0 интерфейс, но веже это основная его часть.

av
()
Ответ на: комментарий от anonymous

tcpdump -i lo port 389 -nv| > /root/1
.....
tcpdump -i lo port 389 -nv| > /root/5
ну и посмотреть сколько строк записывается в файл.

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

tcpdump -i lo port 389 -nv > /root/1
.....
tcpdump -i lo port 389 -nv > /root/5
ну и посмотреть сколько строк записывается в файл.

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