[sisyphus] samba: уменьшение сна на 2 часа , появление морщин , истребление кофе
Gennady Kovalev
=?iso-8859-1?q?gik_=CE=C1_bigur=2Eru?=
Вт Дек 25 12:54:31 MSK 2007
Привет.
Наконуне я на одном из серваком проапдейтил самбу, и совсем забыл про типовую
процедуру её установки, а именно изменить руками initscript в сторну вставки
sleep 5
между stop и start в restart()
(Это собственно #9884 от 2006-08-16)
Утром конечно же звонок от больных пользователей, которые зачем-то приходят на
работу раньше, чем я просыпаюсь.
Пока вот вспоминаю где я еще мог забыть вставить sleep, и самое главное,
вставил ли я это в те самбы, которые работают в сетях, отключенных от
интернета напрочь, и куда придется ехать и спросонья улыбаться в офисе.
По сути.
Баг проявляется периодически, не ритмично на серверах с разным железом, разной
нагрузкой, разной производительностью.
Есть сети, где самба не стартует примерно раз в неделю, в разные дни.
Падает все это из-за logrotate в 4 часа утра:
12:49:26 root на rat /etc/logrotate.d
> grep -A 1 postrotate /etc/logrotate.d/samba
postrotate
/sbin/service smb condrestart > /dev/null 2>&1
12:51:08 root на rat /etc/logrotate.d
> grep -A 3 condrestart\) /etc/init.d/smb
condrestart)
if [ -e "$LOCKFILE" ]; then
restart
fi
Собственно самба рестартует достаточно жестким методом в 4 утра. Надо
заметить, что если руками запускать service smb restart, то срабатывает оно
не всегда. Иногда, судя по всему, не успевают сдохнуть старые процессы, и
самба не старнует.
Получается две разные проблемы:
1. Действительно ли для logrotate надо так жестко рестартовать? Вроде бы
многие по -HUP умеют закрывать-открывать файлы, перечитывать конфиги. Для
этого не обязательно дропать открытые файлы и т.д.
2. Может все-таки модифицировать initscript? Что-нибудь типа
wait_for_pid_shutdown_15_seconds_then_kill_it(), или
wait_for_lockfile_to_be_removed_15_seconds_then start() ?
--
Gennady Kovalev,
BIGUR, ALT Linux Team.
Подробная информация о списке рассылки Sisyphus