Время от времени мы наблюдали разницу во времени на наших серверах и подтверждали, что:
/etc/init.d/ntp restart
затем ntpq -p
, задача решенаВначале, ntpq -p
вернулся ntpq: read: Connection refused
, поэтому я пошел дальше и ps aux | grep ntp
не вернул процесс ntp, в то время как другие рабочие хосты вернули что-то вроде /usr/sbin/ntpd -p /var/run/ntpd.pid -u 101:103 -g
. Казалось, что ntpd действительно вышел из строя, так как журналов в / var / log / messages не было, но возможно, что это произошло слишком давно, и эта часть журнала уже была повернута.
Итак, я перешел к /etc/init.d/ntp restart
и сказали, что существует устаревший pid:
Stopping NTP server: ntpdstart-stop-daemon: warning: failed to kill 2124: No such process`.
Starting NTP server: ntpd.
но все встало на свои места.
Мы используем Debian 6 Squeeze, но проблема существует с Debian 5, Lenny. Мы установили ntp с помощью aptitude install ntp
. Серверы находятся на Linode VPS (= виртуализация Xen), поэтому мы спросили их, но они сказали, что у них не было такого опыта.
Кроме того, хотя я не знаю, совпадение это или нет, похоже, что пока это происходит только на серверах приложений (Ruby on Rails).
Дело в том, что, поскольку файл pid остается при сбое ntpd, довольно сложно обнаружить сбой и перезапустить с помощью monit или аналогичного. Я должен звонить /etc/init.d/ntp restart
время от времени cron?
Есть опыт, решения, мысли?
Если вы используете monit, их FAQ говорит, что monit проверяет, что pid в файле pid действителен, чтобы обнаружить ситуации, когда программа дает сбой и оставляет свой файл pid.
Если вы не используете monit, то, возможно, вы найдете сценарий мониторинга, который напрямую взаимодействует с ntpd (у nagios есть несколько плагинов ntp, которые вы могли бы использовать / повторно использовать)? Если вы не можете связаться с ним, возможно, он разбился.