Протокол ntp и синхронизация времени в Linux.

 Время в Linux

В Linux, как и в любой другой ОС, существует два типа часов. Первые — аппаратные, иногда называемые Real Time Clock, сокращенно RTC, они же часы BIOS. Обычно эти часы связаны с колеблющимся кварцевым кристаллом, имеющим точность хода до нескольких секунд в день. Точность хода кварцевых часов зависит от различных параметров, например, от изменений окружающей температуры. Вторые часы — внутренние программные часы, которые идут непрерывно, в том числе и при перерывах в работе системы. Они подвержены отклонениям, связанным с большой системной нагрузкой и задержкой прерываний. Операционная система обычно считывает показания аппаратных часов при загрузке, а потом использует уже системные часы.

Через некоторое время между аппаратными и программными часами может быть разница в несколько секунд. Какие же часы содержат правильное время? Ни те, ни другие, пока мы не настроим синхронизацию времени Linux.

Дата и время операционной системы устанавливается при загрузке на основании значения аппаратных часов, а так же настроек часового пояса. Настройки часового пояса берутся из файла /etc/localtime. Данный файл — есть ссылка (но чаще — копия) одного из файлов в структуре каталога /usr/share/zoneinfo/.

Аппаратные часы Linux могут хранить время в формате UTC (аналог GMT), либо текущее территориальное время. Если на компьютере установлено несколько ОС и одна из них — Windows, то необходимо использовать текущее время, т.к. Windows берет время из BIOS/CMOS и считает его локальным. Если используются только  операционные системы UNIX семейства, то желательно хранить время в BIOS в UTC формате.

После загрузки часы операционной системы и BIOS полностью независимы. Ядро системы раз в 11 секунд синхронизацию времени Linux, сравнивая  системные часы с аппаратными.

NTP Server Linux

Существует масса реализаций протокола ntp для синхронизации времени Linux. Наиболее известными являются Xntpd (NTP версия 3), ntpd (NTP версия 4), Crony и ClockSpeed. В нашем примере мы будем использовать ntp-сервер ntpd.

Демон ntpd является одновременно и сервером времени и клиентом, в зависимости от настроек конфигурационного файла /etc/ntpd.conf (иногда /etc/ntp.conf), демон может и «принимать» время с уделенных серверов и «раздавать» другим хостам время.

Общая схема синхронизации времени Linux в локальной сети следующая: необходимо иметь 1 или 2 сервера, имеющие доступ в глобальную сеть, которые будут получать время из интернет. Все компьютеры локальной сети синхронизировать с указанными серверами, получающими время из интернет.

Схема синхронизации времени Linux при повышенных требованиях к точности времени: необходимо иметь сервер точного времени непосредственно в своей локальной сети.

Установка ntpd

Собственно, установка демона сводится к установке следующих пакетов: ntp (пакет, включающий самого демона), ntpdate (утилита для ручной синхронизации времени — устарела), ntp-doc (документация по пакету), в некоторых дистрибутивах нужно будет установить так же ntp-utils (утилиты для диагностики), в некоторых они включены в пакет ntp.

 

Рекомендую:

Почалися відвантаження двохекранного планшета Kno ... Відвантаження двохекранних планшетів Kno на базі модифікованої ОС Linux почалася 21 грудня. Про це пише блог Electronista. На даний момент пристрій по...
Настройка синхронизации времени в сети в Debian Li... Проблема синхронизации времени в сети Всё ведь было хорошо, всё отлично работало - и тут вы замечаете, что часы на компьютерах вашей сети показывают ...