Назад | Перейти на главную страницу

Зависание при запуске нескольких демонов

Я использую сервер Debian Squeeze AMD64. Целевым уровнем запуска после загрузки является уровень запуска 2, который включает rsyslogd, cron, sshd и некоторые другие вещи, но не dovecot, postfix, apache2 и т. Д. Система не может достичь уровня запуска 2 с несколькими симптомами:

И это как раз то, что постоянно дает сбой. Оперативная память проверена, dmesg проблем не показывает. Я понятия не имею.

Обновить: (сокращенный) вывод команды rsyslogd -c4 -d, вызываемой на уровне выполнения 1

rsyslogd 4.6.4 запуск, режим совместимости 4, путь к модулю '' вызывающий запрошенный объект 'net', не найден (iRet -3003) Запрошен для загрузки модуля 'lmnet' loading module '/user/lib/rsyslog/lmnet.so' module загружается тип 2 conf.c запросил ref для 'lmnet', refcount 1 инициализирована среда выполнения rsylog, версия 4.6.4, текущие пользователи 1 syslogd.c запросил ref для 'lmnet', refcount теперь 2

Тогда я могу убить rsyslogd с помощью Strg + C. Однако / var / log не показывает ни одного настроенного файла журнала.

Обновление2: Благодаря @DerfK я до сих пор понятия не имею, но, по крайней мере, я сузил проблему. Сейчас я тестирую /etc/init.d/apache2 stop (конечно, без запущенного apache2), который тоже зависает и выглядит как еще более очевидный сбой.

После некоторого тестирования я обнаружил, что файл с одной строкой:

/ usr / sbin / apache2ctl configtest> / dev / null 2> & 1

зависает, а та же строка, выполненная в интерактивной оболочке, работает. У меня не было возможности уменьшить эту строку, пока, т.е. е. каждая часть, перенаправления потока и сам коммандос это необходимо воспроизвести зависание. @DerfK также указал мне на strace который дал поверхностный намек на то, что здесь происходит:

Осенью 2011 года мой хостер установил систему как Debian Lenny, я сразу же обновил ее до Squeeze и постоянно обновлял с помощью Squeeze, который затем использовался для тестирования. Впрочем, больших изменений не произошло. Думаю, я никогда раньше не пытался перезагружать систему.

Обновление3: Я нашел проблему. Мой /etc/nsswitch.conf указал ldap в качестве резервной копии поиска хостов, которая недоступна во время загрузки. Использование DNS решает только мои проблемы с загрузкой.

Для меня это звучит так, будто не запускается какая-то базовая сетевая служба. Сравните содержимое /etc/rc2.d с участием /etc/rc3.d Посмотрим, запускает ли уровень запуска 3 что-то, чего не делает уровень 2 (обычно это происходит, но обычно это не что-то фундаментальное).

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

Чтобы отключить одновременную загрузку, добавьте CONCURRENCY=none к /etc/default/rcS. Удалите строку, чтобы восстановить значение по умолчанию.