С одним из моих подопечных серверов недавно случилась беда. К стыду признаться, источник проблемы я не выяснил и в ближайшую же субботу просто в два прыжка обновил сервер с 14.04 до 16.04 и сразу же до 18.04. Но сейчас рассказ не об этом, а о том, что пришлось познакомиться с новым игроком - Chrony, который заменил в новых релизах старика NTPd.
Два прыжка к удивлению прошли гладко. Софт обновился без проблем, но случились две оказии. На этом почтовом сервере установлен Postfix и в его третьей версии один из параметров не должен быть теперь пустым. Исправил быстро. А вот вторая оказия случилась со службой NTPd. В релизе 14.04 системой инициализации была Upstart, а в 18.04 - Systemd. Управлять службой ntpd через systemctl было можно, но после контрольной перезагрузки сервера выяснилось, что ntpd не стартует. Сначала хотелось исправить проблему со стартовым юнитом, но потом вспомнил что появился новый игрок. Почему бы не поставить сразу его?
Расхваливать какой он замечательный не буду. У него есть страница сравнений между chrony vs ntp vs openntpd, где он всех победил и является царём горы. Мне, как админу, пофигу кто будет обслуживать вопросы времени. Удалил ntpd и поставил chrony. Лично мне очень понравился инструмент управления chronyc только одним названием , но если серьёзно, то вывод программы - нагляден, информативен, понятен.
chronyc sources -v
210 Number of sources = 2 .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current synced, '+' = combined , '-' = not combined, | / '?' = unreachable, 'x' = time may be in error, '~' = time too variable. || .- xxxx [ yyyy ] +/- zzzz || Reachability register (octal) -. | xxxx = adjusted offset, || Log2(Polling interval) --. | | yyyy = measured offset, || \ | | zzzz = estimated error. || | | \ MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^? 10.0.10.1 0 10 0 - +0ns[ +0ns] +/- 0ns ^* 10.0.10.2 2 10 377 602 +390us[ +400us] +/- 51ms
Какой замечательный пример я вам привёл, так как только сейчас сам понял по знаку ? что сетевой администратор убрал доступ для данного сервера к 10.0.10.1. Пойду разбираться =).
Мне понравился у Chrony стиль работы с ним - команда chronyc и параметры. Маленький пример с ntpd.
Действие | Chrony | NTPd |
---|---|---|
Покажи клиентов | chronyc clients | ntpdc -c monlist |
Покажи источники времени | chronyc sources | ntpq -pn |
Причём в руководстве по ntpdc написано что -c это возможность указать команду.
-c command The following argument is interpreted as an interactive format command and is added to the list of commands to be executed on the specified host(s). Multiple -c options may be given.
Но все доступные команды не описаны в man ntpdc.
Сусолить не буду - мануал хроника полнее и яснее, опции имеют самоговорящие названия. В файле /etc/chrony/chrony.conf поправил pool под свои нужды, добавил allow all, перезапустил службу и проконтролировал что хосты могут взять с данного сервера точное время. Как админ рекомендую всем переходить на Chrony!
Дата последней правки: 2018-10-31 15:44:16