Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Синхронизация времени OracleLinux - Debian (http://forum.oszone.net/showthread.php?t=243573)

mrkokoc 28-09-2012 16:10 1996168

Синхронизация времени OracleLinux - Debian
 
Добрый день.

Имеется две тачки на OracleLinux и Debian, в сеть не смотрят. Нужно настроить синхронизацию по времени с периодичностью 10-15 минут.

Как лучше реализовывать данную фичу?

VladDV 29-09-2012 16:05 1996597

Цитата:

Цитата mrkokoc
в сеть не смотрят »

Что это значит? Они не подключены вообще ни к какой сети или у них нет доступа в интернет? Если второе, тогда вам нужен в сети сервер времени (NTP-сервер), с которым можно будет синхронизироваться. Можно поднять его допустим на дебиане (пример, еще). Для него откройте доступ в интернет по протоколу ntp (123/UDP).

vadblm 29-09-2012 21:06 1996727

Цитата:

Цитата VladDV
Что это значит? »

Видимо, что они не подключены к интернетам по какой-то причине. Но NTP можно использовать и без глобального подключения, разумеется, точность будет никакая и синхронность будет только у хостов на этом "островке времени".

Делаем так:

выбираем хост, у которого RTC поточнее, он будет сервером, там поднимаем ntpd с таким примерным конфигом:
Код:

driftfile /path/to/ntp.drift
server 127.127.1.0 maxpoll 2

driftfile — пустой файл где удобно, который может писать/читать ntpd. То есть делаем что-то типа touch /var/run/ntp.drift; chmod 600 /var/run/ntp.drift; chown ntp:ntp /var/run/ntp.drift

Второй будет клиентом, у него аналогично подымаем ntpd c таким примерным конфигом:
Код:

driftfile /path/to/ntp.drift
server <IP адрес "сервера" из предыдущего параграфа> iburst

Ставим на обоих машинах часики максимально точно руками.

Запускаем на обоих машинах ntpd.

Проверяем синхронизацию ntpq -p

Разумеется, в фаерволах должен быть разрешён доступ друг к дружке по 123/UDP.

VladDV 30-09-2012 03:20 1996862

vadblm, а что даст использование driftfile на сервере времени? Насколько я понимаю, он может рассчитывать смещение времени на системных часах относительно сервера точного времени. В данном случае сервера точного времени не будет, а значит и дрифт рассчитать неоткуда..

vadblm 30-09-2012 14:00 1996993

Цитата:

Цитата VladDV
Насколько я понимаю, он может рассчитывать смещение времени на системных часах относительно сервера точного времени »

Пишут, что driftfile помогает некоторое время, если сервера не доступны, эмпирически продолжать рассчитывать "точное" время.
Цитата:

Цитата VladDV
В данном случае сервера точного времени не будет, а значит и дрифт рассчитать неоткуда.. »

Сервера не может не быть, так устроен ntpd, в данном случае в его роли выступает system clock —так пишут в документации ntpd, но ведь его же и призван устанавливать ntpd... видимо, имеется в виду RTC (hwclock), который далеко не идеален:
Код:

$ hwclock
Вс. 30 сент. 2012 15:56:21  -0.484700 секунд

Во всяком случае, от driftfile хуже не будет.

VladDV 30-09-2012 14:19 1997007

Цитата:

Цитата vadblm
Пишут, что driftfile помогает некоторое время, если сервера не доступны, эмпирически продолжать рассчитывать "точное" время. »

Все верно, но для этого файл сначала должен быть рассчитан. А для этого нужно хотя бы на 1-2 суток дать нашему ntp-серверу синхронизироваться с точным сервером времени. Иначе файл будет рассчитан некорректно, и в лучшем случае от него не будет пользы, а в худшем - будет даже вред. Тут все зависит от реализации ntpd, скорее всего он просто не будет определять дрифта и сервер будет строго следовать аппаратным часам.

P.S.: постараюсь выкроить время и проверить сие утверждение на практике.

VladDV 30-09-2012 14:47 1997031

Вот кстати выдержка из п. 7.2 RFC 5905:

Цитата:

Others, like the frequency tolerance (also called PHI), involve an assumption about the worst-case behavior of a system clock once synchronized and then allowed to drift when its sources have become unreachable.

vadblm 30-09-2012 14:56 1997035

Вот подумалось, может будет лучше сделать две машинки равноправными пирами? Примерно так
Первая:
Код:

server 127.127.1.0
peer <IP второй>

Вторая:
Код:

server 127.127.1.0
peer <IP первой>

Тут от driftа будет польза.

VladDV 30-09-2012 15:02 1997042

Хм.. А что это даст? Идея в том, чтобы получить среднее отклонение для этих двух машин? Если конечно на одной машине часы отстают, а на другой спешат, тогда она сработает :)

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

vadblm 30-09-2012 15:23 1997061

Цитата:

Цитата VladDV
Идея в том, чтобы получить среднее отклонение для этих двух машин? Если конечно на одной машине часы отстают, а на другой спешат, тогда она сработает »

Она сработает в любом случае, независимо от того, в какую сторону убегают часы на обоих машинах.
Цитата:

Цитата VladDV
Вообще интересно бы услышать топикстартера в чем именно у него задача - время должно быть синхронизировано только между этими двумя серверами и неважно, насколько время будет отличаться от "внешнего" времени, или же все таки время должно соответствовать глобальному? В первом случае вышеописанных методов вполне хватит, а во-втором, мне кажется не должно возникнуть больших проблем с открытием порта 123 в инет для любого из этих серверов, либо поднятием доп сервера времени в сети. »

Ещё можно приобрести недорогой USB NMEA GPS приёмник (цена вопроса ~$50) и довольно точное время получать с него
Код:

server 127.127.20.0

VladDV 30-09-2012 16:16 1997104

Цитата:

Цитата vadblm
Она сработает в любом случае, независимо от того, в какую сторону убегают часы на обоих машинах. »

Каким образом она сработает? Сервера синхронизируются между собой, что в общем-то достижимо и обычным путем с локальным сервером и клиентом времени. А пиры созданы для резервирования серверов времени, чтобы пулы создавать, разве не?

Цитата:

Цитата vadblm
Ещё можно приобрести недорогой USB NMEA GPS приёмник (цена вопроса ~$50) и довольно точное время получать с него »

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

vadblm 30-09-2012 16:36 1997116

VladDV, Я имел ввиду, что с точки зрения двух машин время на них будет одинаковое, не считая миллисекундного jitter. Если это цель, то больше ничего и не надо.

mrkokoc 01-10-2012 11:33 1997634

VladDV, vadblm, Добрый день, прошу прощения, что не имел возможности ответить сразу.

Ситуация следующая, обе машины не имеют выхода в интернет, находятся в одной сетке, одна - сервер бд, вторая - сервер приложения.

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

Благодарю за все вышеописанное, будем пытаться реализовать!

vadblm 01-10-2012 17:30 1997818

Цитата:

Цитата mrkokoc
Доступа в инет нет и не будет, политика безопасности, поэтому необходимо синхронизировать время на обеих машинах, при этом оно должно соответствовать глобальному. Каждый день проводится аудит пользователей и анализ логов, соответственно время очень важно. »

Тогда вам необходимо брать точное время с референсных часов. Наверно, самый дешёвый и простой способ я уже указал, но есть и другие, с ними можете ознакомиться по ссылке:
http://www.eecis.udel.edu/~mills/ntp/html/refclock.html


Время: 18:00.

Время: 18:00.
© OSzone.net 2001-