Rcorder — проверяем порядок загрузки сервисов

Настроил заказчику внутренний корпоративный jabber-сервер на основе Openfire. с хранением пользовательских данных в СУБД MySQL. Во время тестирования обраружился следующий баг: после перезагрузки сервера Openfire самостоятельно не запускался.

Сразу посетила мысль, что причина может быть в очередности загрузки. Видимо Openfire пытается запуститься раньше, чем стартует MySQL. Для проверки очередности загрузки воспользуемся возможностями утилиты rcorder:

# rcorder /etc/rc.d/* /usr/local/etc/rc.d/* | less

Как оказалось, догадка была верна. Openfire запускался раньше, чем MySQL. Вырезка из вывода:


/usr/local/etc/rc.d/openfire
/etc/rc.d/apm
/etc/rc.d/apmd
/etc/rc.d/bootparams
/etc/rc.d/hcsecd
/etc/rc.d/bthidd
/etc/rc.d/local
/etc/rc.d/lpd
/etc/rc.d/motd
/etc/rc.d/mountlate
/etc/rc.d/nscd
/etc/rc.d/ntpd
/etc/rc.d/powerd
/etc/rc.d/rarpd
/etc/rc.d/sdpd
/etc/rc.d/rfcomm_pppd_server
/etc/rc.d/rtadvd
/etc/rc.d/rwho
/etc/rc.d/timed
/etc/rc.d/ugidfw
/etc/rc.d/yppasswdd
/usr/local/etc/rc.d/proftpd
/etc/rc.d/LOGIN
/usr/local/etc/rc.d/mysql-server

Для изменения порядка загрузки, отредактируем загрузочный скрипт /usr/local/etc/rc.d/openfire. Изменим параметр REQUIRE. До правки:

# REQUIRE: NETWORKING SERVERS

После правки скрипта:

# REQUIRE: NETWORKING SERVERS mysql

Проверяем теперь очередность запуска (rcorder /etc/rc.d/* /usr/local/etc/rc.d/* | less). Теперь все в порядке:


/usr/local/etc/rc.d/mysql-server
/usr/local/etc/rc.d/openfire

Теперь после перезагрузки сервера, Openfire корректно запускается…

Источник http://muff.kiev.ua/content/rcorder-proveryaem-poryadok-zagruzki-servisov

Запись опубликована в рубрике FreeBSD. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не спамер This plugin created by Alexei91