Администрирование ОС Solaris

       

Как синхронизировать время?


В Solaris есть возможность установить сервер синхронизации времени, который будет отвечать на вопросы "который час?", поступающие от других машин. Клиент этого сервера - программа ntpdate. Она спрашивает время у сервера точного времени (также называемого сервером синхронизации времени) и директивно устанавливает время в своей системе. При небольших отклонениях времени от эталонного она вызывает функцию "мягкого изменения" времени, когда время не устанавливается определенным одномоментно, а часы системы ежесекундно "подталкиваются" на долю секунды вперед или назад.

Программу ntpdate можно использовать и без собственного эталонного сервера времени, поскольку существуют публичные серверы времени.

Посмотрим, как работает ntpdate - программа установки системной даты и времени:

date Сбт 29 Май 2004 19:10:20

Установим заведомо неверное время:

date 1912 Сбт 29 Май 2004 19:12:00

Теперь запустим ntpdate и сообщим ей для ориентировки адреса двух эталонных серверов времени (они взяты из списка на http://www.intuit.ru/department/os/adminsolaris/16/www.ntp.org):

ntpdate tock.keso.fi ntp.psn.ru 29 May 19:10:31 ntpdate[10630]: step time server 194.149.67.130 offset -95.351227 sec

Повторим для надежности:

ntpdate tock.keso.fi ntp.psn.ru 29 May 19:10:39 ntpdate[10631]: adjust time server 194.149.67.130 offset -0.006045 sec

Как видим, вторая подвижка времени оказалась существенно меньше, чем первая: вначале часы были "возвращены" к правильному времени, а затем лишь слегка синхронизированы, причем в первом случае использовалась явная установка времени (step time server), а во втором - мягкая "подвижка" (adjust time server).

Программу ntpdate достаточно запускать только при старте системы, если только аппаратура компьютера исправна и таймер не требует постоянной коррекции.

Кроме программы ntpdate существуют и другие средства, предназначенные для синхронизации времени в сети. Программа ntpdate - это "клиентская" программа. В локальной сети организации имеет смысл установить по крайней мере один (а лучше - два, чтобы был запасной) сервер времени. Именно он будет опрашивать серверы слоя 2, а компьютеры локальной сети будут сверять свои часы по этому локальному серверу времени. В качестве такого сервера в Solaris используют демон xntpd.



Содержание раздела