[sisyphus] openntpd <> ntpd (Was: Re: OpenVZ + ntpd = ?)

Andrei Bulava =?iso-8859-1?q?abulava_=CE=C1_altlinux=2Eru?=
Вт Сен 19 15:37:55 MSD 2006


Andrei Bulava wrote:
> Dmitry V. Levin wrote:
>> On Mon, Sep 18, 2006 at 07:19:49PM +0400, Alexey I. Froloff wrote:
>>> * Alexey I. Froloff <raorn@> [060918 19:10]:
>>>> glibc сборки i686, если это важно...
>>> Как выяснилось неважно.
>>>
>>> Темплейт дать?
>> ntpd меня не очень интересует.
> 
> Заранее приношу извинения за агрессивный стиль.
> 
> Вы всерьёз считаете, что openntpd - заменитель ntpd?!! Извините за
> метафору, но это - слабое подобие левой руки.

Итак, я перезагрузился и прочёл ntpd(8) из openntpd. "Это многое
объясняет" (c):

ntpd uses the adjtime(2) system call to correct the local system time
without causing time jumps.

Конечно, это прекраснодушная идея, однако на моём компьютере это
выливается в

Sep 19 13:15:58 cairo ntpd[7283]: adjusting local clock by -0.365247s
Sep 19 13:20:49 cairo ntpd[7283]: adjusting local clock by -1.266613s
Sep 19 13:25:11 cairo ntpd[7283]: adjusting local clock by -1.443334s
Sep 19 13:28:23 cairo ntpd[7283]: adjusting local clock by -1.569920s
Sep 19 13:31:41 cairo ntpd[7283]: adjusting local clock by -1.547381s
Sep 19 13:33:43 cairo ntpd[7283]: adjusting local clock by -1.562077s
Sep 19 13:35:51 cairo ntpd[7283]: adjusting local clock by -1.594013s
Sep 19 13:39:30 cairo ntpd[7283]: adjusting local clock by -1.573016s
Sep 19 13:43:18 cairo ntpd[7283]: adjusting local clock by -1.580324s
Sep 19 13:47:02 cairo ntpd[7283]: adjusting local clock by -1.561351s
Sep 19 13:51:18 cairo ntpd[7283]: adjusting local clock by -1.560765s
Sep 19 13:52:18 cairo ntpd[7283]: adjusting local clock by -1.549341s
Sep 19 13:56:06 cairo ntpd[7283]: adjusting local clock by -1.506323s
Sep 19 13:58:12 cairo ntpd[7283]: adjusting local clock by -1.562798s
Sep 19 14:02:03 cairo ntpd[7283]: adjusting local clock by -1.541538s
Sep 19 14:06:17 cairo ntpd[7283]: adjusting local clock by -1.567111s
Sep 19 14:07:23 cairo ntpd[7283]: adjusting local clock by -1.538526s
Sep 19 14:08:27 cairo ntpd[7283]: adjusting local clock by -1.502800s
Sep 19 14:12:12 cairo ntpd[7283]: adjusting local clock by -1.463533s
Sep 19 14:15:49 cairo ntpd[7283]: adjusting local clock by -1.483042s

Подозреваю, что всё это по той простой причине - openntpd не использует
adjtimex(2):

Linux uses David L. Mills' clock adjustment algorithm (see RFC 1305).
The system call adjtimex() reads and optionally sets adjustment
parameters for this algorithm.

Я уж не знаю, может в OpenBSD нет adjtimex(2) (и, соответственно, ядро
OpenBSD не является precision time kernel -
http://www.ece.udel.edu/~mills/ntp/html/kern.html ), но факт есть факт:
под управлением openntpd на моём компе - сто тыщ мильёнов подкручиваний
времени, тогда как ntpd манипулирует ядром через adjtimex для
компенсации систематического дрейфа часов.

Раз уж openntpd был взят из соображений безопасности: как насчёт того,
что в логах сервера под "управлением" openntpd будет ересь вместо
точного времени? Стоит просто проанализировать вышеуказанный лог
коррекции времени, чтоб понять: точное время на cairo с openntpd стало
заоблачной мечтой :-\

-- 
// AB1002-UANIC




Подробная информация о списке рассылки Sisyphus