LINUX.ORG.RU

Вопросы про NTP синхронизацию


0

1

Я тут прочитал: оказывается кронить ntpdate очень плохая идея. Во-первых, создаются пиковые нагрузки на сервер в начале каждой минуты, часа и т.п. Во-вторых (это важнее): если в процессе работы какого-нибудь время-зависимого процесса (напр. сборка по make) скачком изменится время, может быть бяка.

Вопрос 1. ntpdate устанавливает по NTP системное или хардварное время?

Вопрос 2. У меня машина работает не постоянно. Максимальный аптайм в выходные: утром включаю, вечером выключаю. По будням часа 2-3. В слишком точном времени не нуждаюсь (точность до минут устраивает). Можно ли просто делать ntpdate при загрузке компьютера в rc.local (Arch), а потом в rc.local.shutdown делать «hwclock -systohc» (подправить хардварное время по системному)?? Бяки от этого не будет выходить? Или мне всё равно лучше использовать демон ntpd (просто не люблю, когда много бесполезных демонов, даже если системных ресурсов достаточно)?

Вопрос 3. Как работает ntpd? В мане почти ничего про это нет. В гугле читал, что якобы время от времени он правит хардварные часы, а системные правит почти непрерывно. Но хочется что-то более подробное. Ссылка на статью также приветствуется.

Вопрос 4. В ntp.conf я указал два сервера стратума 1 и один стратума 2 (локальный моего провайдера). Я, по идее, при включенном ntpd становлюсь стратумом 3?... Почему тогда ntpdc говорит, что я стратум 16?

Вопрос 5, параноидальный. Меня беспокоит частая правка хардварных часов. Ведь они в биосе? Вдруг в процессе правки что-то плохое случится (свет выключат и др.) и биос повредится? Оправданы ли мои волнения?

(All, пожалуйста, сопровождайте ответы номером соответствующего моего вопроса.)



Последнее исправление: toady2 (всего исправлений: 2)

>Вопрос 1. ntpdate устанавливает по NTP системное или хардварное время?

Системное.

Вопрос 2. У меня машина работает не постоянно. Максимальный аптайм в выходные: утром включаю, вечером выключаю. По будням часа 2-3. В слишком точном времени не нуждаюсь (точность до минут устраивает). Можно ли просто делать ntpdate при загрузке компьютера в rc.local (Arch), а потом в rc.local.shutdown делать «hwclock -systohc» (подправить хардварное время по системному)?? Бяки от этого не будет выходить? Или мне всё равно лучше использовать демон ntpd (просто не люблю, когда много бесполезных демонов, даже если системных ресурсов достаточно)?


Если по тем или иным причинам демон неприемлим, можно воспользоваться rdate. Вызывать лучше таки из крона, не факт, что сеть успеет подняться даже если скрипт переставить в конец runlevel'а.

aidaho ★★★★★
()
Ответ на: комментарий от aidaho

Системное.

То есть лучше ещё после ntpdate копировать системные часы в хардварные?

Вызывать лучше таки из крона, не факт, что сеть успеет подняться даже если скрипт переставить в конец runlevel'а.

Сеть и pppd у меня поднимаются не в фоне: то есть когда дело дойдёт до rc.local интернет уже будет.

toady2
() автор топика
Ответ на: комментарий от toady2

>То есть лучше ещё после ntpdate копировать системные часы в хардварные?

Есть смысл, только если машина может внезапно потухнуть. Синхронизация и так делается при каждом выключении или перезагрузке.

aidaho ★★★★★
()
Ответ на: комментарий от aidaho

Синхронизация и так делается при каждом выключении или перезагрузке.

Я долго смотрел на стартовые и шутдаун-скрипты в моём Арче и не нашёл, чтобы где-то устанавливались хардварные часы. В rc.sysinit только устанавливается timezone и создаётся /dev/rtc.

Есть смысл, только если машина может внезапно потухнуть.

У меня нет UPS'а. Хотя бы 1-2 раза в год электричество внезапно кончается (по закону Мёрфи это случается в выходные, в обеденное время, когда работает стиральная машина и компьютер, а я в туалете).

toady2
() автор топика
Ответ на: комментарий от toady2

>Я долго смотрел на стартовые и шутдаун-скрипты в моём Арче и не нашёл, чтобы где-то устанавливались хардварные часы. В rc.sysinit только устанавливается timezone и создаётся /dev/rtc.

В Debian, к примеру, оформлено как rc-скрипт. С параметром start синхронизирует системные с хардварными, stop — соответственно наоборот.

У меня нет UPS'а. Хотя бы 1-2 раза в год электричество внезапно кончается (по закону Мёрфи это случается в выходные, в обеденное время, когда работает стиральная машина и компьютер, а я в туалете).


У вас так сильно плывут хардварные часы?

aidaho ★★★★★
()
Ответ на: комментарий от aidaho

У вас так сильно плывут хардварные часы?

Нет. Но ведь хоть иногда они должны быть синхронизированы с системными? А то убегут постепенно.

Я вот почему-то думал, что ntpdate устанавливает хардварные часы тоже.

toady2
() автор топика

>Вопрос 4. В ntp.conf я указал два сервера стратума 1 и один стратума 2 (локальный моего провайдера). Я, по идее, при включенном ntpd становлюсь стратумом 3?... Почему тогда ntpdc говорит, что я стратум 16?

Потому что он до конца не синхронизировался, он это медленно делает, не переводом времени, а ускорением или замедлением его. Жди полчаса - час. И будет у тебя стратум 2.

anonymous
()

>В ntp.conf я указал два сервера стратума 1

Имей совесть. Не надо дергать стратум 1 для домашнего компа.

kernelpanic ★★★★★
()

3. ntpd вроде бы хардварные часы вообще не трогает и ntpdate тоже. Для этого есть hwclock, если не ошибаюсь. Причина всего этого в том, что хардварные часы могут быть миллиона разных архитектур.

5. Это микросхема на материнке. Ничего ей не сделается. А вообще-то они синхронизируются обычно при шутдауне системы.

ansky ★★★★★
()
Ответ на: комментарий от ansky

5. Это микросхема на материнке. Ничего ей не сделается.

А если вдруг питание кончится в середине процесса записи в хардварные часы?

А вообще-то они синхронизируются обычно при шутдауне системы.

Оказалось, не везде так. Последний арч этого не делает. Но я всё же загнал hwclock -systohc в rc.local_shutdown.

toady2
() автор топика
Ответ на: комментарий от toady2

последние ядра сами периодически синхронизируют хардварное время с системным, поэтому оно больше не нужно.

maloi ★★★★★
()
Ответ на: комментарий от maloi

Правда? А с какой версии ядра такое делается и где про это можно почитать?

То есть hwclock -systohc из rc.local.shutdown можно убрать?

toady2
() автор топика
Ответ на: комментарий от maloi

У меня с английским совсем плохо. Я правильно понял, что ядро линукса имеет режим, когда оно копирует системное время в хардварные часы каждые 11 минут и что по дефолту оно выключено, если кто-то его не включит насильно (напр. ntpd)? У меня нет ntpd, но запускается ntpdate при запуске. Он включит этот режим?

toady2
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.