Ключевые слова:ntp, time, sync, (найти похожие документы)
Date: Tue, 9 Apr 2002 20:06:36 +0000 (UTC)
From: Valentin Nechayev <netch@segfault.kiev.ua>
Newsgroups: fido7.ru.linux
Subject: Настройка NTP сервера и синхронизция времени.
> Куча компов в организации, а время везде разное. Нехорошо :). Стал читать
> доки по NTP - голова кругом. Может есть где короткое и толковое хау-ту
> по-русски? И как узнать, что на моем сервере время уже "правильное" ?
Логинишься на сервер.
Идешь на http://www.ntp.org/. Берешь список серверов 2-го уровня (1-й тебе
пока что нафиг не сдался), нормально будет - от 3 до 4 разных серверов.
Говоришь ntpdate -d server1 server2 server3.
Смотришь, что говорит - итоговое отклонение. Думаешь, можешь ли сдвинуть
время рывком. Как правило, вперед всегда можно, а назад - не всегда,
но бывают и исключения (например, важные кроновые задания в какое-то
время). Если можно только плавно - говоришь adjtimex -t 9500 (замедление) или
(ускорение) adjtimex -t 10500 (я показываю сдвиг темпа на 5%), и через повторные
ntpdate -d (или -q) смотришь, пока время не станет на место хотя бы
с точностью до секунды. Тогда говоришь adjtimex -t 10000 (нормальное
состояние без сдвигов), ntpdate -B на эти сервера. Можно еще подождать,
пока не устаканится до полусекунды. Если рывком - ntpdate -bs на сервера.
После этого у тебя сервер синхронизирован (временно;))
Далее пишешь /etc/ntp.conf и подымаешь ntpd. Пример для ntp.conf:
restrict 127.0.0.1 mask 255.255.255.255
server 128.9.176.30
restrict 128.9.176.30 mask 255.255.255.255 nomodify notrap
server 204.34.198.40
restrict 204.34.198.40 mask 255.255.255.255 nomodify notrap
restrict 0.0.0.0 mask 0.0.0.0 notrust nomodify notrap nopeer
driftfile /var/log/ntp.drift
сервера сам проставишь нужные. restrict'ы здесь разумные, но если
не хочешь раздавать время всему интернету - ужесточи.
DNS'овые имена не рекомендую - в restrict имена для резолвинга ставить
нельзя.
Подымаешь ntpd. Смотришь на него регулярными ntpdc -c sysinfo -n,
ntpq -c peers -n, ждешь, когда он объявит stratum в разумном пределе
(от 2 до 4, при нормальных серверах) и расставит метки на сервера
(всякие звездочки и решетки). С этого момента у тебя время на сервере
синхронизировано полностью, стратум выровнялся и есть перспектива держать
синхронизированное время постоянно. Оставляешь ntpd запускаться
при буте, в стартовый ntpdate загоняешь те же сервера.
Замечание: всякие fudge 127.0.0.1 stratum 10 *не* советую -
сколько пробовали, когда сервер начинал жутко врать - сшибал с толку
всю сеть. Лучше уж пусть честно сваливается на 16.
Определи, какие хосты какую раздачу времени понимают. Если можно
расставить ntpdate по крону - замечательно; иначе может оказаться полезным
включать time и daytime в inetd.conf или раздавать время самбой.
Если ntpdate - вписать в крон ntpdate -s твой_сервер с такой частотой
запуска, чтобы отклонение писал в районе 50-200мс и оно при этом не росло.
Чаще - ненужная нагрузка на сервер, реже - будет сильное отклонение (еще
хуже, если начнет расти).
В крон желательно писать не по кратным минутам, а со случайно выбранным
(для каждого хоста своим) смещением в минутах и секундах, например:
MAILTO=""
6-59/15 * * * * sleep 21; /usr/sbin/ntpdate -s server
в этом примере интервал запуска - 15 минут, смещение запуска -
6 минут 21 секунда.
Если на машине время совсем хреново идет (большое отклонение темпа
или шатается) - пробовать ntpd с driftfile, или же регулировать вручную
темп (через adjtimex). ntpd по умолчанию не советую - зачем
лишние демоны?
Если ntp не умеют - получать время иными средствами. См. документацию
к тому, что есть в наличии.
/netch
Мне кажется - это не здорово.
Во всяком случае - в такой формулировке.
Раздача времени - т.е. чтобы тачка с ntp сама изменяла время на каждой машине?
Не знаю, не знаю, на мой взгляд - не вариант.
Вообще, ntp синхронизирует время со внешним сервером. А если поднят ntpd - то клиентам локалки можно синхронизить время с ntp-машиной.
Если есть домен - то вообще шикарно, надо сказать контроллеру домена, дабы он брал время с ntp-машины, а машины в домене будут автоматом брать время с домен-контроллера.
Да, кажется маршрутизаторы Cisco могут не синхронизируясь с вышестоящими серверами времени раздавать время в широковещательных сообщениях.
Вот: "However, in a LAN environment, NTP can be configured to use IP broadcast messages instead. This
alternative reduces configuration complexity because each machine can simply be configured to send or
receive broadcast messages."