Точное управление временем и датой
Автор (С): Avi Alkalay
Перевод (С): Иван Песин
Консультант по Linux и открытым стандартам :: Старший разработчик по ИТ и ПО
IBM Linux Impact Team :: ibm.com/linux
Brad Knowles - Предложение использовать pool.ntp.org и NTP-сервера второго уровня (stratum 2)
Kent Borg - Предложение использовать ntpq вместо ntpdc
Yura Moron - Хорошие пояснения по ntpq и ntpdc
Takeo Nakano - Перевод на японский язык
История пересмотров | ||
---|---|---|
Пересмотр 1.0.5 | 05 Jul 2003 | Revised by: avi |
Изменена ссылка на список серверов времени. Добавлен pool.ntp.org. | ||
Пересмотр 1.0.4 | 21 Dec 2002 | Revised by: avi |
Добавлены ссылка на японский перевод и список участников. | ||
Пересмотр 1.0.3 | 24 Aug 2002 | Revised by: avi |
Исправлены неверная ширина экрана и листингов. | ||
Пересмотр 1.0.2 | 04 Aug 2002 | Revised by: avi |
Ссылка на страницу общедоступных серверов времени. | ||
Пересмотр 1.0.1 | 07 May 2002 | Revised by: avi |
Окончательная конвертация в XML. Реорганизация файлов. | ||
Пересмотр 1.0 | 28 Apr 2002 | Revised by: avi |
Закончен рисунок. | ||
Пересмотр 0.8 | 27 Apr 2002 | Revised by: avi |
Заменен пример с ntpdc на ntpq, взят из присланных дополнений. | ||
Пересмотр 0.8.1 | 20 Apr 2002 | Revised by: avi |
Улучшение графики. Ссылки на другие места расположения документа. | ||
Пересмотр 0.8 | 14 Apr 2002 | Revised by: avi |
Улучшение рисунка NTP. | ||
Пересмотр 0.76 | 13 Apr 2002 | Revised by: avi |
Включен рисунок архитектуры. | ||
Пересмотр 0.75 | 10 Apr 2002 | Revised by: avi |
Проверена орфография. Используется DocBook XSLT 1.50. | ||
Пересмотр 0.65 | 31 Mar 2002 | Revised by: avi |
Обновление до формата XML 4.1.2 DocBook | ||
Пересмотр 0.6 | 29 Mar 2002 | Revised by: avi |
Закончено описание механизма часовых поясов в Linux. Написано приложение. Остались рисунки. | ||
Пересмотр 0.4 | 24 Mar 2002 | Revised by: avi |
Сделаны все наброски. Написаны все примеры команд. | ||
Пересмотр 0.2 | 19 Mar 2002 | Revised by: avi |
Первая версия в DocBook |
1. Общие концепции даты и времени
Для определения текущего времени в некотором регионе планеты, компьютеру необходимо знать две вещи:
Правильное всеобщее скоординированное время (UTC, всеобщее время, такое же как и в Гринвиче, но не GMT)
Часовой пояс текущего региона
В компьютерах, кроме того, существуют аппаратные часы, которые используются для установки времени операционной системы.
Дата и время операционной системы (с этого момента мы будем пользоваться словом "дата" или "время") устанавливается при загрузке специальным скриптом, который считывает значение аппаратных часов, производит вычисление часового пояса (в BIOS не хранится информация о часовом поясе) и устанавливает часы операционной системы. После этого, часы операционной системы и BIOS полностью независимы. Следовательно, через некоторое время между ними может быть разница в несколько секунд. Какие же часы содержат правильное время? Если вы не делали специальных настроек -- ни те, ни другие.
В этом документе мы обсудим, как сделать чтобы время этих часов максимально точным.
Часовые пояса -- это геофизическое деление земного шара на части по 15 градусов каждая, начиная с Гринвича, в Англии. Это деление было введено с тем, чтобы помочь людям узнать текущее время в других частях света.
Идею часовых поясов предложил канадский инженер-связист С.Флемминг -- Прим.пер.
В наши дни это деление принимает и политическую окраску, так как иногда людям нужно, чтобы их время совпадало со временем в других, не очень отдаленных, местах. Более того, существует понятие летнего времени, которое позволяет более эффективно использовать световой день.
Часовой пояс обычно определяется правительством государства, либо неким астрономическим институтом, и представляется в виде аббревиатуры из трех или четырех букв. В разделе 2.2 приведены примеры.
Если вы хотите узнать текущее время в разных регионах нашей планеты, это можно сделать на странице timezoneconverter.com.
По соображениям экономного использования энергии и максимального использования светового дня, правительства создали понятие летнего времени. Наши часы переводятся на час вперед, что позволяет людям эффективней использовать световой день. Фактически, это реализуется в пределах понятия часового пояса. Исходное время (UTC) остается неизменным.
Ниже мы узнаем, как автоматически включать и выключать летнее время в Linux.
Нет ничего лучше примеров:
Таблица 1. Бразильские часовые пояса. Сдвиг относительно UTC
Название и сдвиг | Название летнего времени и сдвиг | Местоположение |
---|---|---|
BREST -2:00 | BREDT -1:00 | Fernando de Noronha |
BRST -3:00 | BRDT -2:00 | Sгo Paulo, Rio, Brasilia, Minas Gerais, North East Region, South Region,etc |
BRWST -4:00 | BRWDT -3:00 | West Region |
BRAST -5:00 | BRADT -4:00 | Acre |
Пожалуйста, присылайте дополнительные данные, такие как таблица часовых поясов для США.
Системы Linux используют динамические часовые пояса GLIBC, основанные на /etc/localtime. Этот файл представляет собой ссылку на (или копию) информационный файл зоны, обычно расположенный в каталоге /usr/share/zoneinfo.
С геофизической точки зрения существуют 60o/15o=24 часовых пояса. Но для упрощения и учета различных политических вариаций (таких как летнее время), в каталоге /usr/share/zoneinfo вы найдете сотни файлов для множества городов и стран, хотя, конечно, не для всех.
В некоторых странах, например в Бразилии, нет фиксированной даты начала летнего времени. Она определяется каждый год, за несколько месяцев до начала лета, и вы можете оказаться в ситуации, когда придется изменять информационный файл зоны, созданный командой zic из текстового файла, пример которого приведен ниже.
(А я считал, что это только у нас в стране [читающий выбирает свою страну] такой бардак. :) Прим.ред.)
Пример 1. Текстовый информационный файл бразильских часовых поясов
# Brazil Time Zones # # Brazilian Time Zones are: # BREST: East of Brasilia. Fernando de Noronha. # BRST: Brasilia, Sгo Paulo, Rio, Northeast, South etc # BRWST: West of Brasilia. Mato Grosso, Manaus # BRAST: Acre. # # In daylight saving time, letter 'S' changes to 'D'. # # To install, make: # # # zic Brazil.txt # # Zone files will be installed in /usr/share/zoneinfo (depends on your # distribution). Then, make a symbolic link from your zone to /etc/localtime: # # # ln -sf /usr/share/zoneinfo/Brazil/Brasilia /etc/localtime # # # If you have updates and new standards to this file please send to # # Avi Alkalay <avi @ unix.sh> # # Last update: 18 Nov 2000 # This file is available at http://avi.alkalay.net/linux/zoneinfo/ # # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Brazil 1931 1932 - Oct 3 0:00 1:00 D Rule Brazil 1932 1933 - Mar 31 0:00 0 S Rule Brazil 1949 only - Dec 1 0:00 1:00 D Rule Brazil 1950 only - Apr 30 0:00 0 S Rule Brazil 1950 1952 - Dec 1 0:00 1:00 D Rule Brazil 1951 only - Apr 16 0:00 0 S Rule Brazil 1952 only - Mar 31 0:00 0 S Rule Brazil 1953 only - Feb 28 0:00 0 S Rule Brazil 1963 only - Oct 23 0:00 1:00 D Rule Brazil 1964 only - Mar 1 0:00 0 S Rule Brazil 1965 only - Jan 31 0:00 1:00 D Rule Brazil 1965 only - Mar 31 0:00 0 S Rule Brazil 1965 only - Dec 1 0:00 1:00 D Rule Brazil 1966 1968 - Mar 1 0:00 0 S Rule Brazil 1966 1967 - Nov 1 0:00 1:00 D Rule Brazil 1984 only - Nov 2 0:00 1:00 D Rule Brazil 1985 only - Mar 15 0:00 0 S Rule Brazil 1985 only - Nov 2 0:00 1:00 D Rule Brazil 1986 only - Mar 15 0:00 0 S Rule Brazil 1986 only - Oct 25 0:00 1:00 D Rule Brazil 1987 only - Feb 14 0:00 0 S Rule Brazil 1987 only - Oct 25 0:00 1:00 D Rule Brazil 1988 only - Feb 7 0:00 0 S Rule Brazil 1988 only - Oct 16 0:00 1:00 D Rule Brazil 1989 only - Jan 29 0:00 0 S Rule Brazil 1989 only - Oct 15 0:00 1:00 D Rule Brazil 1990 only - Feb 11 0:00 0 S Rule Brazil 1990 only - Oct 21 0:00 1:00 D Rule Brazil 1991 only - Feb 17 0:00 0 S Rule Brazil 1991 only - Oct 20 0:00 1:00 D Rule Brazil 1992 only - Feb 9 0:00 0 S Rule Brazil 1992 only - Oct 25 0:00 1:00 D Rule Brazil 1993 only - Jan 31 0:00 0 S Rule Brazil 1993 only - Oct 17 0:00 1:00 D Rule Brazil 1994 only - Feb 20 0:00 0 S Rule Brazil 1994 only - Oct 16 0:00 1:00 D Rule Brazil 1995 only - Feb 19 0:00 0 S Rule Brazil 1995 only - Oct 15 0:00 1:00 D Rule Brazil 1996 only - Feb 11 0:00 0 S Rule Brazil 1996 only - Oct 06 0:00 1:00 D Rule Brazil 1997 only - Feb 16 0:00 0 S Rule Brazil 1997 only - Oct 06 0:00 1:00 D Rule Brazil 1998 only - Mar 01 0:00 0 S Rule Brazil 1998 only - Oct 11 0:00 1:00 D Rule Brazil 1999 only - Feb 21 0:00 0 S Rule Brazil 1999 only - Oct 03 0:00 1:00 D Rule Brazil 2000 only - Feb 27 0:00 0 S Rule Brazil 2000 only - Oct 8 0:00 1:00 D Rule Brazil 2001 only - Feb 18 0:00 0 S # Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] Zone Brazil/DeNoronha -2:00 Brazil BRE%sT Zone posix/Brazil/DeNoronha -2:00 Brazil BRE%sT Zone right/Brazil/DeNoronha -2:00 Brazil BRE%sT Zone Brazil/East -2:00 Brazil BRE%sT Zone posix/Brazil/East -2:00 Brazil BRE%sT Zone right/Brazil/East -2:00 Brazil BRE%sT Zone America/Sao_Paulo -3:00 Brazil BR%sT Zone America/Rio_de_Janeiro -3:00 Brazil BR%sT Zone America/Brasilia -3:00 Brazil BR%sT Zone posix/America/Sao_Paulo -3:00 Brazil BR%sT Zone posix/America/Rio_de_Janeiro -3:00 Brazil BR%sT Zone posix/America/Salvador -3:00 Brazil BR%sT Zone posix/America/Brasilia -3:00 Brazil BR%sT Zone posix/Brazil/Central -3:00 Brazil BR%sT Zone posix/Brazil/Brasilia -3:00 Brazil BR%sT Zone posix/Brazil/Sao_Paulo -3:00 Brazil BR%sT Zone posix/Brazil/Salvador -3:00 Brazil BR%sT Zone posix/Brazil/Rio_de_Janeiro -3:00 Brazil BR%sT Zone right/America/Sao_Paulo -3:00 Brazil BR%sT Zone right/America/Rio_de_Janeiro -3:00 Brazil BR%sT Zone right/America/Salvador -3:00 Brazil BR%sT Zone right/America/Brasilia -3:00 Brazil BR%sT Zone right/Brazil/Central -3:00 Brazil BR%sT Zone right/Brazil/Brasilia -3:00 Brazil BR%sT Zone right/Brazil/Sao_Paulo -3:00 Brazil BR%sT Zone right/Brazil/Salvador -3:00 Brazil BR%sT Zone right/Brazil/Rio_de_Janeiro -3:00 Brazil BR%sT Zone Brazil/Central -3:00 Brazil BR%sT Zone Brazil/Brasilia -3:00 Brazil BR%sT Zone Brazil/Sao_Paulo -3:00 Brazil BR%sT Zone Brazil/Rio_de_Janeiro -3:00 Brazil BR%sT Zone Brazil/Salvador -3:00 Brazil BR%sT Zone Brazil/West -4:00 Brazil BRW%sT Zone Brazil/Manaus -4:00 Brazil BRW%sT Zone Brazil/Rondonia -4:00 Brazil BRW%sT Zone Brazil/Roraima -4:00 Brazil BRW%sT Zone Brazil/Mato_Grosso -4:00 Brazil BRW%sT Zone posix/Brazil/Manaus -4:00 Brazil BRW%sT Zone posix/Brazil/Mato_Grosso -4:00 Brazil BRW%sT Zone right/Brazil/Manaus -4:00 Brazil BRW%sT Zone right/Brazil/Mato_Grosso -4:00 Brazil BRW%sT Zone posix/America/Manaus -4:00 Brazil BRW%sT Zone right/America/Manaus -4:00 Brazil BRW%sT Zone Brazil/Acre -5:00 Brazil BRA%sT |
Блок Rule определяет дату и время изменения часового пояса; в блоке Zone мы ссылаемся на Rule, которым будем руководствоваться. Обратите внимание, что имя записи Zone в действительности соответствует имени файла относительно каталога /usr/share/zoneinfo. В файле определено несколько различных имен для одного и того же часового пояса, просто для того, чтобы людям легче было найти их часовой пояс.
Комментарии в этом файле поясняют, как установить часовой пояс с помощью компилятора zic (который уже включает описания часовых поясов). Чтобы активизировать установленный часовой пояс, вам остаётся создать ссылку (или копию) на информационный файл зоны в /etc/localtime. В некоторых дистрибутивах применяется более высокоуровневый (и предпочтительный) подход к установке часового пояса, описанный в разделе 3.1.
После того, как файл /etc/localtime начнет ссылаться на верный информационный файл зоны, система сразу же начинает обрабатывать время в соответствии с правилами выбранного часового пояса, а переход на летнее время будет осуществляться автоматически -- вам ничего не нужно менять вручную.
Следующий набор команд демонстрирует гибкость механизма часовых поясов в Linux. Обратите внимание, что все команды были выполнены менее чем за одну минуту:
bash$ ls -al /etc/localtime lrwxrwxrwx 1 root root 35 May 22 2001 /etc/localtime -> /usr/share/zoneinfo/Brazil/Brasilia bash$ date Fri Mar 29 20:13:38 BRST 2002 bash# ln -sf /usr/share/zoneinfo/GMT /etc/localtime bash$ date Fri Mar 29 23:13:47 GMT 2002 bash# ln -sf /usr/share/zoneinfo/Brazil/Brasilia /etc/localtime bash$ date Fri Mar 29 20:14:03 BRST 2002 |
В 20:13 я находился в своем бразильском часовом поясе (BRST). Я переключился в часовой пояс GMT и мое время изменилось на 23:13! Когда в вашем часовом поясе подходит дата перехода на летнее время, происходит нечто подобное, но без смены часового пояса ( т.е. ссылка /etc/localtime не меняется, как в приведенном примере).
Приложения, запущенные на машине (например, веб-сервер, генерирующий журнал доступа) почувствует такое изменение, потому очень важно, чтобы разработчики помнили: концепция полного времени -- это текущее время, плюс текущий часовой пояс, как описано в разделе 1.
В конце примера я вернулся к своему часовому поясу.
Для любой операционной системы вам нужно знать ваш часовой пояс. Он соответствует вашему городу или стране. Кроме того, вам нужно будет решить, как установить время в BIOS. Могу вам предложить две стратегии:
В этом случае установите время в BIOS равным всеобщему скоординированному времени (UTC). Переходы на летнее время будут автоматически выполняться в соответствии с настройками часового пояса.
Windows работает со временем более примитивно, чем Linux. Для Windows время в BIOS -- это всегда ваше местное время, а переход на летнее время более агрессивный, поскольку при этом вносятся изменения в аппаратные часы. А поскольку как Linux, так и Windows при загрузке получают время из аппаратных часов, в случае двух ОС на одном компьютере, Linux должен обрабатывать его таким же образом, как и Windows. Потому устанавливайте время в BIOS равным вашему местному времени.
В Red Hat Linux и её производных, установить часовой пояс можно с помощью утилиты timeconfig, которая имеет приятный пользовательский интерфейс. Но можно ее использовать и в пакетном режиме:
Пример 2. Утилита конфигурирования часового пояса
bash# timeconfig "Brasil/East" # установить время аппаратных часов равным местному, а часовой пояс -- "Brazil/East" bash# timeconfig --utc "Brasil/East" # установить время аппаратных часов равным UTC, а часовой пояс -- "Brazil/East" |
В любом варианте, утилита меняет файл /etc/sysconfig/clock, который считывается при загрузке. Его можно отредактировать и вручную, вот как он выглядит:
Пример 3. Файл /etc/sysconfig/clock
ZONE="Brazil/East" UTC=true ARC=false |
Я советую вам устанавливать ваши аппаратные часы, только если вы понимаете, как настроить точное время (это описано в разделе 4).
Команда hwclock читает и устанавливает аппаратные часы на основании переданных ему параметров. Доступные параметры описаны в странице руководства команды. Но если вы используете современный дистрибутив, вам не нужно пользоваться этой командой. После того, как вы решите, какое время хранить в аппаратных часах и выберете часовой пояс, для установки аппаратных часов можно будет использовать высокоуровневую команду setclock. Вам не нужно передавать параметры команде setclock, она сама выбирает параметры, которые нужно передать hwclock на основании ваших установок в операционной системе. Так что всегда стоит проверять наличие команды setclock.
Но если вы минималист и любите тяжелый труд, вот несколько примеров использования hwclock:
(Для усиления эффекта "тяжёлого труда" рекомендуется отжаться 24 раза. По числу часовых поясов. ;)) Прим.ред.)
Пример 4. Использование setclock и hwclock
bash# setclock # Простейший метод установки аппаратных часов bash# hwclock # считывает время из аппаратных часов bash# hwclock --systohc --utc # устанавливает время аппаратных часов равным UTC на основании системного времени bash# hwclock --systohc # устанавливает время аппаратных часов равным местному на основании системного времени bash# hwclock --set --date "22 Mar 2002 13:17" # устанавливает время аппаратных часов равным указанной строке |
Поскольку время ОС независимо от аппаратных часов, любые изменения в BIOS будут учтены при следующей загрузке.
Другим вариантом изменения времени в аппаратных часах -- это доступ в BIOS при загрузке системы. На платформах IBM e-server zSeries это нужно делать на уровне z/VM, потому что Linux работает в виртуальной машине, созданной z/VM.
Точное время на всех ваших системах также важно, как и серьезная стратегия сетевой безопасности (для достижения которой нужно много больше простых брандмауэров). Точное время является одним из главных компонентов системного администрирования, основанного на хорошей практике, которое ведет к организованности и безопасности. В администрировании распределенных приложений, веб-сервисов и наблюдении за безопасностью, точное время -- это необходимость.
Здесь мы не будем останавливаться на подробностях реализации этого протокола, а сосредоточимся на том, как это замечательное изобретение, соединенное со всепроникаемостью Интернета, может быть нам полезно. За дополнительной информацией, обращайтесь на сайт www.ntp.org.
После настройки NTP будет поддерживать точность времени, выполняя очень маленькие корректировки часов, такие маленькие, что они никак не будут влиять на работающие приложения.
Точное время можно получить с помощью специальной аппаратуры, основанной на частоте электронов атома или циклотронах. Также существует метод, основанный на GPS (Global Positioning System, глобальной системе позиционирования). Первый способ более точный, но и второй весьма неплох. Оба способа требуют специализированного и дорогого оборудования, но их владельцы (обычно университеты и исследовательские лаборатории) подключают это оборудование к компьютерам, на которых запущен демон NTP. Зачастую эти же машины подключены к Интернету, что в конечном итоге дает нам возможность бесплатно узнавать точное время.
Вам понадобится:
Прямое или непрямое (через брандмауэр) соединение с Internet.
Выберите несколько NTP-серверов. Можно использовать общедоступный сервер pool.ntp.org, либо выбрать несколько серверов из списка серверов времени второго уровня на сайте NTP. Если у вас нет доступа к Internet, ваш администратор WAN (должен быть толковым парнем) сможет сообщить вам какой-то внутренний адрес.
На всех системах, которые вы хотите синхронизировать, должен быть установлен пакет NTP. Пакет RPM можно найти на компакте вашего любимого дистрибутива, или же поищите на сайте rpmfind.net.
(Не RPM'ом единым жив Linux. Прим.ред.)
Вот пример хорошей архитектуры:
Рисунок 1. Локальные релейные сервера для NTP
Если вам нужно синхронизировать время на нескольких машинах, не задавайте им всем в качестве сервера выбранные NTP-сервера. Только лишь две машины должны иметь доступ к удаленным NTP-серверам, остальные машины будут синхронизироваться с этими двумя. Мы будем их называть релейными серверами.
Релейными серверами может стать любая из машин в вашей сети. NTP занимает мало памяти и процессорного времени. Вам не нужно иметь выделенную машину.
! |
Хорошая мысль создать псевдонимы для ваших локальных релейных серверов, например ntp1.my.com и ntp2.my.com, а на клиентах использовать только эти имена. Тогда вы сможете при необходимости легко перенести функции релейного сервера на другую машину (с другим IP-адресом и именем) без переконфигурации клиентов. Попросите вашего администратора DNS создать такие псевдонимы. |
Отредактируйте файл /etc/ntp.conf и добавьте выбранные сервера:
Пример 5. Файл /etc/ntp.conf на релейных серверах
. . server otherntp.server.org # Сервер первого уровня в домене server.org server ntp.research.gov # Сервер второго уровня в домене research.gov . . |
Опять таки, можно использовать сервер pool.ntp.org или любой из списка общедоступных серверов времени на сайте NTP.
Отредактируйте файл /etc/ntp.conf и добавьте свои релейные сервера:
Пример 6. Файл /etc/ntp.conf на клиентских машинах
. . server ntp1.my.com # Первый локальный релей server ntp2.my.com # Второй локальный релей . . |
Если UTC-время вашей машины отличается от времени на NTP-сервере больше чем на минуту, NTP работать не будет. Так что, вам нужно будет выполнить полную синхронизацию времени. Я рекомендую это делать в нерабочее время. Эта процедура выполняется только один раз, при настройке NTP. Ничего более:
Пример 7. Первая синхронизация
Последнее, что нужно сделать -- это запустить или перезапустить демоны NTP на всех машинах:
bash# service ntpd restart |
Теперь у вас все настроено. NTP будет держать время в синхронизации. Этот процесс можно наблюдать при помощи команды NTP Query (ntpq):
Пример 8. Состояние синхронизации
bash# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== -jj.cs.umb.edu gandalf.sigmaso 3 u 95 1024 377 31.681 -18.549 1.572 milo.mcs.anl.go ntp0.mcs.anl.go 2 u 818 1024 125 41.993 -15.264 1.392 -mailer1.psc.edu ntp1.usno.navy. 2 u 972 1024 377 38.206 19.589 28.028 -dr-zaius.cs.wis ben.cs.wisc.edu 2 u 502 1024 357 55.098 3.979 0.333 +taylor.cs.wisc. ben.cs.wisc.edu 2 u 454 1024 347 54.127 3.379 0.047 -ntp0.cis.strath harris.cc.strat 3 u 507 1024 377 115.274 -5.025 1.642 *clock.via.net .GPS. 1 u 426 1024 377 107.424 -3.018 2.534 ntp1.conectiv.c 0.0.0.0 16 u - 1024 0 0.000 0.000 4000.00 +bonehed.lcs.mit .GPS. 1 u 984 1024 377 25.126 0.131 30.939 -world.std.com 204.34.198.40 2 u 119 1024 377 24.229 -6.884 0.421 |
Значение каждой колонки
Имя удаленного NTP-сервера. Если указать ключ -n, вы получите IP-адреса серверов вместо имён.
Указывает, откуда каждый сервер получает время в данный момент. Это может быть имя хоста или что-то вроде .GPS., указывающее на источник глобальной системы позиционирования (Global Positioning System).
Stratum (уровень) это число от 1 до 16, указывающее на точность сервера. Единица означает максимальную точность, 16 -- сервер недоступен. Ваш уровень будет равен уровню наименее точного удаленного сервера плюс 1.
Интервал между опросами (в секундах). Значение будет изменяться между минимальной и максимальной частотой опросов. В начале интервал будет маленьким, чтобы синхронизация происходила быстро. После того как часы синхронизируются, интервал начинает увеличиваться, чтобы уменьшить трафик и нагрузку на популярные сервера времени.
Восьмеричное представление массива из 8 бит, отражающего результаты последних восьми попыток соединения с сервером. Бит выставлен, если удаленный сервер ответил.
Количество времени (в секундах) необходимого для получения ответа на запрос "который час? ".
Наиболее важное поле. Разница между временем локального и удаленного серверов. В ходе синхронизации это значение должно понижаться, указывая на то, что часы локальной машины идут все точнее.
Дисперсия (Jitter) -- это мера статистических отклонений от значения смещения (поле offset) по нескольким успешным парам запрос-ответ. Меньшее значение дисперсии предпочтительнее, поскольку позволяет точнее синхронизировать время.
Значение знаков перед именами серверов
Означает, что локальный сервис NTP не предпочитает этот сервер
Означает, что локальный сервис NTP предпочитает этот сервер
Отмечает плохой хост
Указывает на текущий наиболее предпочтительный сервер
Вы можете захотеть, чтобы NTP работал все время, даже если вы перезагрузитесь. Тогда на каждой машине выполните такую команду:
bash# chkconfig --level 2345 ntpd on |
В результате демон ntp будет автоматически запускаться при загрузке.
Если ваша машина работает длительное время (месяцы, года) работает без перезагрузок, вы обнаружите значительное расхождение между аппаратными и (теперь очень точными) системными часами. Современные дистрибутивы Linux копируют системное время в аппаратные часы каждый раз при останове системы, с помощью механизма, аналогичного команде setclock. Таким образом, при следующей загрузку системное время будет практически точным, как в момент останова системы.
Copyright 2002, Avi Alkalay.
Этот документ должен распространяться согласно GNU Free Documentation License.
Этот документ опубликован в следующих местах:
LinuxDoc, в качестве документа HOWTO [одной страницей] [PDF]
Copyright (C): Avi Alkalay