ntpd и hwclock
seyko 6 декабря, 2007 - 16:18
Никто к ntpd функционал hwclock не прикручивал? Типа при отсутствии вышестоящих серверов регулярно (скажем раз в час) выполнять внешний батник типа
hwclock --ajust
hwclock --hctosys
А то что мы ныне имеем на машине с ntpd при упавшем внешнем сервере или сети? Время уходит (спешит или отстает) и некому его корректировать, ибо запускать hwclock при работающем ntpd нельзя -- коррецией времени должен заниматься кто-то один. А ntpd при упавшей сети сам тоже ничего не корректирует.
PS: а при завершении работы или раз, скажем, в неделю можно выполнять батник типа
hwclock --systohc
»
- Для комментирования войдите или зарегистрируйтесь

изучаю chrony
Вроде это как раз то, что нужно. Кто-нибудь это пользует?
Я не очень
Я не очень понимаю смысл этого действа. Ntpd довольно продвинутая программа: сервер не только разово синхронизирует часы, но и пытается исправить уход. Поэтому даже если синхронизироваться не удаётся, время должно идти более-менее правильно.
Если у Вас время идёт не правильно, попробуйте синхронизироваться с самыми близкими серверами 1 стратума...
Откуда это видно?
"пытается исправить уход"... каким макаром? Вот включили мы комп, инета нет. И долго. Скажем неделю (ну в деревню комп перевезли или notebook на природе мучаем). ntpd что-нибудь знает про RTC (hwclock), просчитал и запомнил уход этих часов (за время, когда inet был доступен) и теперь подкручивает hwclock вместе с системным временем ? Не верю. Ибо ничего про это в его документации не нашел. Вот в документации про chrony как раз все это и описано.
А ntpd при отсутствии инета -- это рассинхронизация всей локальной сети. chrony работает демоном и при отсутствии синхронизации с вышестоящим хостом. ntpd -- всех посылает нафиг. И запросто можно не заметить (при проблемах связи с вышестоящим ntp-сервером), что сеть-то -- не синхронизирована
Хотя вот есть у ntpd в конфигурации drift-файл. Если он используется при старте ntpd и отсутствии соединения с ntp-серверами для подкрутки системного времени (drift-файл -- уход часов системы от точного за какой-то промежуток), тогда вроде все в порядке -- и можно сказать, что ntpd "пытается исправить уход". А с rtc неплохо справляется и hwclock
PS: спасибо за критический вопрос
Конечно, очень
Конечно, очень неплохо прочитать man -a ntpd перед тем как задавать вопросы, но всё же:
знает.
С помощью drift файла.
А вот это очень странно. Может быть Вы его как-то не так настроили?
По идее, если ntpd после старта не смог синхронизировать время, то это скажется на статусе системных часов, хотя исправлять время в соответствии с drift файлом он должен всегда...
Чего нашел в man
Чего нашел в man hwclock:
Automatic Hardware Clock Synchronization By the Kernel You should be aware of another way that the Hardware Clock is kept syn‐ chronized in some systems. The Linux kernel has a mode wherein it copies the System Time to the Hardware Clock every 11 minutes. This is a good mode to use when you are using something sophisticated like ntp to keep your System Time synchronized. (ntp is a way to keep your Sys‐ tem Time synchronized either to a time server somewhere on the network or to a radio clock hooked up to your system. See RFC 1305). This mode (we'll call it "11 minute mode") is off until something turns it on. The ntp daemon xntpd is one thing that turns it on. You can turn it off by running anything, including hwclock --hctosys, that sets the System Time the old fashioned way. To see if it is on or off, use the command adjtimex --print and look at the value of "status". If the "64" bit of this number (expressed in binary) equal to 0, 11 minute mode is on. Otherwise, it is off.Я, собственно, хотел прочитать про hwclock --adjust там, но этот вариант, похоже, более интересен.
Тема из книги
Тема из книги Некрономикона.
/etc/conf.d/hwclock из openrc, там этот параметр есть.
Не грусти, товарищ! Всё хорошо, beautiful good!
Не надо изобретать
Не надо изобретать велосипед!
ntpd специально сделан для синхронизации времени и (как и другие базовые проги *NIX'а) делает только это, но делает это очень хорошо!
А вам рекомендую использовать не один внешний сервер, а несколько. В том числе может быть и внутренние часы самого компа.
Изучайте матчасть и читайте доки!
Кстати, в доках написано, что при использовании ntpd НЕЛЬЗЯ менять время другими средствами, - иначе он неправильно рассчитает коррекцию и все будет очень плохо. :)
.
К сожалению те благословенные времена давно канули в Лету.
Что в итоге породило целый класс костылей (
sys-process/daemontoolsи т.д.).:wq
--
Live free or die
SysA написал(а): Кстати, в
Это когда он запущен. А когда роутер выключен на неизвестное заранее время, причем не штатно, а просто света нет, да еще cmos clock за несколько месяцев аптайма уползли в неизвестном направлении, да еще юзается что-то вроде dovecot - вот тогда после включения без админа рядом таки было плохо =)
Здесь можно поискать и найти старую тему про ntpd... Там еще ntp-client участвовал ;)