URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96055
[ Назад ]

Исходное сообщение
"bind не стартует после перезагрузки операционной системы"

Отправлено kr , 25-Мрт-15 18:42 
Добрый день,

FreeBSD 10.1-STABLE #10 r278151
bind910-9.10.1P1_1
у бинда настроено чтение локальной зоны dlz из ldap базы. Руками сервис запускается/перезапускается без ошибок, но при рестарте freebsd named не поднимается. в логах пишет:

Mar 25 17:40:12 krhost named[752]: LDAP driver could not bind connection number 1 to server.
Mar 25 17:40:12 krhost named[752]: SDLZ driver failed to load.
Mar 25 17:40:12 krhost named[752]: DLZ driver failed to load.
Mar 25 17:40:12 krhost named[752]: loading configuration: failure
Mar 25 17:40:12 krhost named[752]: exiting (due to fatal error)
Mar 25 17:40:12 krhost root: /etc/rc: WARNING: failed to start named

вероятно bind пытается стартовать раньше чем openldap поднимается
В стартовом скрипте для named вносил изменения в зависимости старта сервиса:

#!/bin/sh
#
# $FreeBSD: head/dns/bind910/files/named.in 352512 2014-04-28 15:42:06Z mat $
#

# PROVIDE: named
# REQUIRE: LOGIN defaultroute ldconfig
# REQUIRE: slapd
# BEFORE: NETWORKING
# KEYWORD: shutdown

в REQUIRE добавил зависимость от slapd и LOGIN -- эти действия ситуацию не исправили.

Подскажите, как можно ещё "отсрочить" запуск bind при перезапуске системы чтобы он все таки стартовал автоматически?


Содержание

Сообщения в этом обсуждении
"bind не стартует после перезагрузки операционной системы"
Отправлено universite , 26-Мрт-15 04:20 

> # REQUIRE: LOGIN defaultroute ldconfig
> # REQUIRE: slapd

заменить на:

# REQUIRE: LOGIN defaultroute ldconfig slapd


> Подскажите, как можно ещё "отсрочить" запуск bind при перезапуске системы чтобы он
> все таки стартовал автоматически?


"bind не стартует после перезагрузки операционной системы"
Отправлено kr , 26-Мрт-15 10:01 
> заменить на:
> # REQUIRE: LOGIN defaultroute ldconfig slapd

в хандбуке вроде пишут что можно и в две строчки писать. но в любом случае спасибо, заработало стабильно в следующей конфигурации:

# PROVIDE: named
# REQUIRE: DAEMON defaultroute ldconfig slapd
# BEFORE: LOGIN
# KEYWORD: shutdown

спасибо.


"bind не стартует после перезагрузки операционной системы"
Отправлено universite , 26-Мрт-15 15:16 
>> заменить на:
>> # REQUIRE: LOGIN defaultroute ldconfig slapd
> в хандбуке вроде пишут что можно и в две строчки писать. но
> в любом случае спасибо, заработало стабильно в следующей конфигурации:
> # PROVIDE: named
> # REQUIRE: DAEMON defaultroute ldconfig slapd
> # BEFORE: LOGIN
> # KEYWORD: shutdown
> спасибо.

А вот тут вы себе проблему на ровном месте создаете.
Если у вас будет сервис на сервере, типа ntpd, то он очень долго будет ждать ресолвинга.

Порядок загрузки:
NETWORKING
сопутствующие сервисы slapd
slapd
bind
и дальше
DAEMON


"bind не стартует после перезагрузки операционной системы"
Отправлено kr , 26-Мрт-15 15:58 
> А вот тут вы себе проблему на ровном месте создаете.
> Если у вас будет сервис на сервере, типа ntpd, то он очень
> долго будет ждать ресолвинга.
> Порядок загрузки:
> NETWORKING
> сопутствующие сервисы slapd
> slapd
> bind
> и дальше
> DAEMON

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

К сожалению, даже если я делаю тег  # REQUIRE: в одну строку у меня сервис bind'a все равно не поднимается. Порядок загрузки сервисов в системе при этом правильный, -- bind стартует после slapd. Судя по всему slapd рапортует о своей загрузке как сервиса ещё до того как он поднял свою базу данных онлайн. В этот момент и пытается подняться bind. Не установив коннект с базой он отваливается и больше попыток соединения не делает.


"bind не стартует после перезагрузки операционной системы"
Отправлено universite , 26-Мрт-15 17:00 

> К сожалению, даже если я делаю тег  # REQUIRE: в одну
> строку у меня сервис bind'a все равно не поднимается. Порядок загрузки
> сервисов в системе при этом правильный, -- bind стартует после slapd.
> Судя по всему slapd рапортует о своей загрузке как сервиса ещё
> до того как он поднял свою базу данных онлайн. В этот
> момент и пытается подняться bind. Не установив коннект с базой он
> отваливается и больше попыток соединения не делает.

Тогда несколько вариантов:
sleep в стартовом скрипте bind
start slapd в стартовом скрипте bind
усложнить проверку коннекта к LDAP из bind
использовать monit для поднятия slapd и bind