Avtoprokat-rzn.ru

Автопрокат Эволюшн
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Мгновенная синхронизация с использованием NTP

Мгновенная синхронизация с использованием NTP

Я работаю с двумя PCs: PC1 (сервер) и PC2 (клиент) и пытаюсь синхронизировать их время с NTP. PC1 не настроен на синхронизацию с каким-либо внешним источником времени. Я просто хочу, чтобы любое время на ПК1, ПК2 было синхронизировано в соответствии с этим. Я сделал следующие изменения-:

Я также изменил настройки брандмауэра с обеих сторон, добавив эти строки-:

Однако я не могу синхронизировать дату PC2 с датой PC1, т. е. когда я изменяю дату в PC1, изменения не сразу отражаются в PC2. Я использую RHEL 6.2 .

Может ли кто-нибудь сказать мне, где я ошибаюсь??

2 ответа

  • Повторная синхронизация Linux с NTP сервером

Мы планируем повторно синхронизировать 2 из наших машин, которые имеют задержку 19 мс от сервера NTP (это включает в себя транзакцию SMS). Эти серверы имеют несоответствие с результатами аналитики, и мы подозреваем, что это одна из причин. Итак, мой вопрос заключается в том, влияет ли служба на.

Мне нужно синхронизировать видео в разных устройствах с телефоном windows. Поэтому я получаю час от NTP-сервера, а затем конвертирую его в миллисекунды. Теперь я думаю, что мне нужно сделать внутренние часы, чтобы отсчитать время запуска видео. У меня есть некоторые трудности, чтобы понять это. Я.

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

Он предназначен для работы в масштабе Интернета, а не в масштабе локальной сети.

Для этого он получает начальное время от сервера NTP, к которому он подключен, и использует его для определения разницы между локальным временем и временем сервера. Затем это превращается в наклон кривой, который используется для настройки локальных часов в соответствии с часами сервера и для их синхронизации друг с другом.

Этот наклон регулируется путем постоянного опроса удаленного сервера. Интервал между опросами удаленного сервера настраивается с использованием интервалов minpoll и maxpoll . Эти интервалы определяются как power-of-two количество секунд между опросами (и имейте в виду, что эти интервалы опроса не являются строгими временами, в них добавлена случайность, чтобы предотвратить наводнения запросов в случае одновременного запуска большого количества серверов). Интервал опроса по умолчанию составляет minpoll = 6 (== 64 секунды), maxpoll = 10 (== 1024 секунды).

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

Если вы настроите часы на сервере, то модель должна быть пересчитана. Это займет некоторое время, так как алгоритм будет учитывать предыдущие временные различия при определении текущей ожидаемой разницы.

Если вы установите minpoll и maxpoll для сервера равными 4, то он будет опрашивать сервер примерно раз в 16 секунд, что ускорит настройку модели часов, но все равно потребуется время, чтобы часы синхронизировались друг с другом. Это полезная настройка для выполнения при работе в среде LAN, где вы опрашиваете относительно близкий сервер.

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

Вы не можете запустить ntpdate во время работы ntpd , если не используете флаг -u , что приводит к тому, что он не использует порт ntp по умолчанию 123 . В противном случае вы получите сообщение the NTP socket is in use, exiting .

  • NTP синхронизация видео WP7

Я ребята:) Я делаю телефонное приложение windows, которое представляет видео, но представляет при синхронизации с сервером ntp. У меня уже есть переменная со временем, но теперь я не знаю, что делать. Я пытаюсь поискать в google, но ничего не нахожу.. Я хочу сделать приложение, чтобы представить.

Я хотел бы синхронизировать два события между двумя (или более) проводными сетевыми машинами Linux. Могу ли я использовать NTP для этого? NTP, похоже, в основном сосредоточен на синхронизации с сервером времени, где мне нужно, чтобы две машины были синхронизированы друг с другом. Здесь есть тонкая.

Ваш вопрос подразумевает, что вы ожидаете, что pc2 быстро определит, что время изменилось на pc1, и соответственно обновит, является ли это поведение, которое вы ищете? Если это так, я не думаю, что ntp сам по себе действительно сделает это, поскольку ntp на самом деле не ожидает, что сервер изменит свое время

Вы также можете попробовать использовать ntpdate-s, чтобы немедленно установить время.

Похожие вопросы:

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

У меня есть пара автономных узлов в кластере. Я хочу, чтобы их время было синхронизировано, поэтому я настроил один из узлов на сервер NTP. Это файл конфигурации моего сервера NTP: # node’s.

Я хочу синхронизировать время с NTP по JavaScript. Клиент может быть обычным ПК или смартфоном или планшетом. Соединение может быть WLAN или 3G и т. д. Я уже нашел эти вопросы и сайты как добраться.

Читайте так же:
Нужно ли регулировать новый редуктор заднего моста

Мы планируем повторно синхронизировать 2 из наших машин, которые имеют задержку 19 мс от сервера NTP (это включает в себя транзакцию SMS). Эти серверы имеют несоответствие с результатами аналитики.

Мне нужно синхронизировать видео в разных устройствах с телефоном windows. Поэтому я получаю час от NTP-сервера, а затем конвертирую его в миллисекунды. Теперь я думаю, что мне нужно сделать.

Я ребята:) Я делаю телефонное приложение windows, которое представляет видео, но представляет при синхронизации с сервером ntp. У меня уже есть переменная со временем, но теперь я не знаю, что.

Я хотел бы синхронизировать два события между двумя (или более) проводными сетевыми машинами Linux. Могу ли я использовать NTP для этого? NTP, похоже, в основном сосредоточен на синхронизации с.

Я пытаюсь интегрировать ios-ntp в свой проект, который я разрабатываю с использованием Xcode 7, swift 2.0 и cocoapods. Я добавляю библиотеку в виде модуля. Но когда я пытаюсь добавить.

У меня есть настройка raspberrypi для синхронизации времени с сервера NTP, так как на нем нет часов HW, однако это обновление происходит не сразу и занимает некоторое время (

15 минут). Есть ли.

WebRTC имеет экспериментальную статистику googCaptureStartNtpTimeMs в отчете ssrc recv о WebRTC статистике. Я полагаю, что он определяется как время NTP, когда поток начался на стороне отправителя в.

Русские Блоги

Прощай, NTP, пора принять Chrony, сервис синхронизации времени нового поколения!

Chrony Многофункциональный NTP (Network Time Protocol) Реализация, класс Unix Система NTP Альтернативы клиентам и серверам. Это может пройти NTP Сервис или аналогичный GPS Эталонные часы на аппаратном уровне приемника тактовых сигналов используются для синхронизации системных часов, что обеспечивает лучшую точность часов и очень полезно для систем с прерывистым подключением к Интернету. Chrony Бесплатно, с открытым исходным кодом и поддерживает GNU/Linux с участием BSD Производные (такие как: FreeBSD 、 NetBSD )、 macOS с участием Solaris Подождите.

Chrony Есть два основных компонента: один chronyd Демон в основном используется для настройки системного времени, запущенного в ядре, для синхронизации с сервером времени. Он определяет скорость, с которой компьютер увеличивает или уменьшает время, а также регулирует и компенсирует это. другой chronyc , Он предоставляет пользовательский интерфейс для мониторинга производительности и разнообразной конфигурации. chronyc допустимый chronyd Работайте на компьютере, управляемом экземпляром, или на другом удаленном компьютере.

Сравнение точности Chrony и NTPD

Мы можем начать с Chrony Вы можете увидеть на официальном сайте NTPD Подробное сравнение каждого измерения:

Судя по результатам тестирования, кажется, что производительность по всем параметрам можно поднять. NTPD . Следовательно Chrony Общая оценка себя относительно высока.

Преимущества Chrony перед услугами NTPD

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

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

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

Это обеспечивает лучшую стабильность при работе с временными асимметричными задержками (например, когда соединение перегружено из-за крупномасштабных загрузок).

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

Установить Chrony

Из Centos 7.x Он предустановлен и открыт в первом минимальном выпуске Chrony . Если он не установлен в вашей системе Chrony , Вы также можете легко установить его, используя следующую команду.

После завершения установки вы можете использовать следующую команду, чтобы проверить chronyd положение дел.

Если вы хотите автоматически включать при загрузке Chrony Демон, вы можете использовать следующие команды для достижения.

Настроить Chrony

Chrony Файл конфигурации по умолчанию: /etc/chrony.conf , Ниже представлены некоторые часто используемые элементы конфигурации.

  1. server hostname [option]

server Директивы используются для определения NTP сервер.

один из них 0.centos.pool.ntp.org Да NTP Адрес сервера, по умолчанию четыре официальных группы NTP сервер. Вы также можете изменить его на собственный сервер времени, например: ntp1.aliyun.com 。

iburst Параметр, обычно используйте этот параметр. Значение этого параметра находится в первых четырех временах NTP Запрос с 2s Или более короткие интервалы вместо minpoll x Указанный минимальный интервал, этот параметр позволяет chronyd При запуске выполняется быстрая синхронизация.

Остальные параметры minpoll x Значение по умолчанию — 6, что означает 64s 。 maxpoll x Значение по умолчанию — 9, что означает 512s 。

  1. driftfile file

Chrony Значение коррекции будет рассчитано в соответствии с фактическим временем, а параметры компенсации будут записаны в файл, указанный в инструкции. driftfile /var/lib/chrony/drift 。

против ntpd Или ntpdate Самая большая разница в том, что Chrony Коррекция является непрерывной, а непрерывная коррекция выполняется путем замедления или ускорения часов. В то время как ntpd Или ntpdate Соответствие Crontab Инструмент калибровки времени предназначен для непосредственной регулировки времени, при этом будут прерывания, и одно и то же время может появиться дважды. Поэтому, пожалуйста, откажитесь от использования ntpd 、 ntpdate Приходя в школу.

  1. makestep threshold limit

Эта инструкция делает Chrony Постепенно исправляйте любой сдвиг времени, ускоряя или замедляя часы по мере необходимости. Например: makestep 1.0 3 , Это означает, что если разница во времени 1.0s , Затем пропустите калибровку времени.

  1. rtcsync

Включите время ядра и RTC Синхронизация времени (автоматически записывается обратно на оборудование).

  1. logdir
Читайте так же:
Где отрегулировать противотуманные фары

Этот параметр используется для указания Chrony Путь к файлу журнала.

  1. stratumweight

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

В основном, есть только несколько часто используемых параметров. Обычно файл конфигурации по умолчанию можно использовать напрямую. Давайте посмотрим на содержимое измененного файла конфигурации.

Используйте клиентскую программу Chrony для управления

  1. Проверьте, действительно ли синхронизирован Chrony

Проверить Chrony Независимо от того, действительно ли синхронизировать, мы будем использовать его программу командной строки chronyc Проверять.

Главное беспокойство здесь Update interval Этот параметр указывает, что временной интервал между двумя последними обновлениями составляет 64.1s . Значения других параметров в приведенных выше результатах:

Цитата ID -Ссылки в настоящее время синхронизируются компьютером ID И имя.

Stratum -Счетчик прыжков компьютера, подключенного к эталонным часам.

Справочник по времени это последнее измерение опорного источника UTC время.

Системное время — задержка системных часов от сервера синхронизации.

Последнее смещение — предполагаемое смещение последнего обновления часов.

RMS Смещение — долгосрочное среднее значение смещения.

Частота-если chronyd Не исправляя это, система показывает неправильную скорость. это ppm (Частей на миллион) при условии.

Остаточный частотно-Остаточная частота представляет собой разность между измеренным значением опорного источника и используемой в данный момент частотой.

Skew — погрешность расчетной частоты.

Задержка корня — сумма задержки сетевого пути к компьютеру уровня, который компьютер синхронизирует.

Состояние перехода — это состояние перехода, которое может иметь одно из следующих значений: нормальное, вставленные секунды, удаленные секунды или рассинхронизация.

  1. Отображение информации обо всех исходных серверах NTP

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

  1. Просмотр онлайн и офлайн статуса сервера NTP
  1. Посмотреть журнал сервиса Chrony
  1. Проверить, доступен ли NTP-доступ для определенного хоста
  1. Эта команда покажет, сколько источников NTP в сети / офлайн.
  1. Вручную добавить новый сервер NTP
  1. Сообщить клиенту о том, что к серверу был доступ
  1. Вручную удалить NTP-сервер или одноранговый сервер
  1. Установить время демона вручную
  1. Сервер времени калибровки, отображение информации о системном времени
  1. Проверить, доступен ли NTP-доступ для определенного хоста
  1. Просмотр источника синхронизации времени
  1. Просмотр статуса источника синхронизации времени

Chrony Функции клиентской программы очень мощные, намного больше, чем описано выше. Не только поддерживает режим командной строки, но также поддерживает интерактивный режим. Если вы хотите узнать больше Chrony Как пользоваться клиентской программой, вы можете использовать man chronyc Команда для получения дополнительной помощи.

Используйте Chrony в качестве NTP-сервера

Чтобы Chrony как NTP Сервер, метод очень простой.

Во-первых, вам нужно изменить /etc/chrony.conf Файл и добавьте следующую конфигурацию.

Во-вторых, перезапустите Chronyd Сервис для загрузки новой конфигурации.

Chronyd После успешного запуска службы она будет отслеживать следующие два порта.

Порт 123/udp В стандартной комплектации NTP Порт прослушивания, если вы хотите предоставить внешний NTP Server Функция, брандмауэр должен быть включен, а адрес прослушивания должен быть внешним адресом. Если вам нужно изменить, вы можете настроить port Параметры для изменения.

Порт 323/udp Это порт управления по умолчанию. Если вам нужно изменить, вы можете настроить cmdport Параметры для изменения.

Наконец, измените настройки брандмауэра, чтобы разрешить 123/udp Запрос от CentOS 7 из Firewalld Взять, к примеру.

дальнейшее чтение

Доступны некоторые общедоступные службы NTP

Общественные NTP В сети много сервисов, но лучшей в домашних условиях должна быть публичная сеть Alibaba Cloud. NTP служба.

Введение в некоторые концепции, связанные со временем

  1. GMT, UTC, CST, DST время

UTC Вся Земля разделена на двадцать четыре часовых пояса, и каждый часовой пояс имеет свое собственное местное время. В случае международной радиосвязи для унификации используется единое время, называемое универсальным координационным временем ( UTC, Universal Time Coordinated )。

GMT ВРЕМЯ ПО ГРИНВИЧУ ( Greenwich Mean Time ) Относится к стандартному времени Гринвичской королевской обсерватории, расположенной в пригороде Лондона, Англия, поскольку исходный меридиан определяется как проходящая там долгота. ( UTC против GMT Время в основном такое же)

CST Китайское стандартное время ( China Standard Time )

GMT + 8 = UTC + 8 = CST

DST летнее время ( Daylight Saving Time ) Означает, что летом, когда солнце встает раньше, переводите время на один час вперед, чтобы перейти на дневной свет. (Не используется в Китае)

  1. Аппаратное время и системное время

Аппаратное время: RTC (Real-Time Clock) Или CMOS Время, как правило, на материнской плате, зависит от заряда батареи, и сервер продолжит работу после сбоя питания. Сохраняются только значения даты и времени, а настройки часового пояса и летнего времени сохранить нельзя.

Системное время: обычно копируется при запуске сервера RTC Time, затем запускать независимо, сохранять настройки времени, часового пояса и летнего времени.

Некоторые команды для установки часового пояса и времени

  1. Просмотр текущего часового пояса системы
  1. Установить текущий часовой пояс системы

Если ваш текущий часовой пояс неверен, выполните следующие действия, чтобы установить его.

Синхронизация времени в Linux: NTP, Chrony и systemd-timesyncd

Большинство людей следят за временем. Мы встаём вовремя, чтобы выполнить наши утренние ритуалы и отправиться на работу, сделать перерыв на обед, уложиться в сроки проекта, отметить дни рождения и праздники, сесть на самолёт и так далее.

Более того: некоторые из нас одержимы временем. Мои часы питаются от солнечной энергии и получают точное время из Национального института стандартов и технологий (NIST) в Форт-Коллинз (штат Колорадо) через длинноволновую радиостанцию WWVB. Сигналы времени синхронизируются с атомными часами, также расположенными в форте Коллинз. Мой Fitbit синхронизируется с моим телефоном, который синхронизируется с сервером NTP, который в конечном итоге синхронизируется с атомными часами.

Читайте так же:
Настроить синхронизацию времени по локальному серверу

Устройства тоже следят за временем

Есть много причин, по которым нашим устройствам и компьютерам нужно точное время. Например, в банковской сфере, на фондовых рынках и других финансовых предприятиях транзакции должны выполняться в надлежащем порядке, и для этого критически важны точные временные последовательности.

Наши телефоны, планшеты, автомобили, системы GPS и компьютеры требуют точной настройки времени и даты. Я хочу, чтобы часы на рабочем столе моего компьютера показывали правильное время. Я хочу, чтобы в моём локальном календаре напоминания появлялись в нужное время. Правильное время также гарантирует, что задания cron и systemd запускались в нужное время.

Дата и время также важны для ведения журнала, поэтому немного проще найти те или иные логи, ориентируясь по дате и времени. Например, однажды я работал в DevOps (в то время его так не называли) и занимался настройкой системы электронной почты в штате Северная Каролина. Раньше мы обрабатывали более 20 миллионов писем в день. Отслеживание электронной почты через серию серверов или определение точной последовательности событий с использованием файлов журналов на географически разнесенных хостах может быть намного проще, если соответствующие компьютеры синхронизированы по времени.

Время одно — часов много

Хосты Linux должны учитывать, что существует системное время и время RTC. RTC (Real Time Clock — часы реального времени) является немного странным и не особо точным названием для аппаратных часов.

Аппаратные часы работают непрерывно, даже когда компьютер выключен, используя аккумулятор на материнской плате системы. Основная функция RTC — хранить время, когда соединение с сервером времени недоступно. В те времена, когда нельзя было подключиться к серверу времени через интернет каждый компьютер должен был иметь точные внутренние часы. Операционные системы должны были обращаться к RTC во время загрузки, и пользователь должен был вручную установить системное время, используя аппаратный интерфейс конфигурации BIOS, чтобы убедиться, что оно правильное.

Аппаратные часы не понимают концепцию часовых поясов; в RTC хранится только время, а не часовой пояс или смещение от UTC (Всемирное координированное время, которое также известно как GMT или среднее время по Гринвичу). Вы можете установить RTC с помощью инструмента, о котором я расскажу позже в этой статье.

Системное время — это время, которое ОС отображает на часах GUI на вашем рабочем столе, в выходных данных команды date, в метках времени журналов. Это также относится ко времени создания, изменения и открытия файлов.

На странице man для rtc есть полное описание RTC и системных часов.

Что там у NTP?

Компьютеры во всем мире используют NTP (сетевой протокол времени) для синхронизации своего времени со стандартными эталонными часами через интернет с помощью иерархии серверов NTP. Основные серверы времени находятся на уровне 1, и они напрямую подключены к различным национальным службам времени на уровне 0 через спутник, радио или даже модемы по телефонным линиям. Службы времени на уровне 0 могут быть атомными часами, радиоприёмником, который настроен на сигналы, передаваемые атомными часами, или приёмником GPS, использующим высокоточные сигналы часов, передаваемые спутниками GPS.

На подавляющем большинстве эталонных серверов открыто несколько тысяч общедоступных серверов NTP stratum 2, которые доступны для всех. Многие организации и пользователи (включая меня) с большим количеством хостов, которым требуется NTP-сервер, предпочитают устанавливать свои собственные серверы времени, поэтому только один локальный хост обращается к stratum 2 или 3. Затем они настраивают оставшиеся узлы в сети для использования локального сервера времени. В случае моей домашней сети это сервер уровня 3.

Различные реализации NTP

Первоначальная реализация NTP — это ntpd. Затем к ней присоединились две более новых, chronyd и systemd-timesyncd. Все три синхронизируют время локального хоста с сервером времени NTP. Служба systemd-timesyncd не так надёжна, как chronyd, но этого достаточно для большинства целей. Если RTC не синхронизирован, она может постепенно корректировать системное время, чтобы синхронизироваться с NTP-сервером, когда локальное системное время немного смещается. Служба systemd-timesync не может использоваться в качестве сервера времени.

Chrony — это реализация NTP, содержащая две программы: демон chronyd и интерфейс командной строки под названием chronyc. У Chrony есть некоторые функции, которые во многих случаях просто незаменимы:

  • Chrony может синхронизироваться с сервером времени намного быстрее, чем старый сервис ntpd. Это хорошо для ноутбуков или настольных компьютеров, которые не работают постоянно.
  • Он может компенсировать колебания тактовых частот, например, когда хост переключается в спящий режим или входит в спящий режим, или когда тактовая частота изменяется из-за скачкообразного изменения частоты, которое замедляет тактовые частоты при низких нагрузках.
  • Он решает проблемы со временем, связанные с нестабильным сетевым соединением или перегрузкой сети.
  • Он регулирует задержки в сети.
  • После начальной временной синхронизации Chrony никогда не останавливает часы. Это обеспечивает стабильные и согласованные временные интервалы для многих системных служб и приложений.
  • Chrony может работать даже без подключения к сети. В этом случае локальный хост или сервер можно обновить вручную.
  • Chrony может выступать в качестве NTP-сервера.

RPM-пакеты NTP, Chrony и systemd-timesyncd доступны в стандартных репозиториях Fedora. RPM systemd-udev — это менеджер событий ядра, который в Fedora установлен по умолчанию, но не является обязательным для использования.

Вы можете установить все три и переключаться между ними, но это создаст лишнюю головную боль. Так что лучше не стоит. Современные релизы Fedora, CentOS и RHEL перешли на Chrony как стандартную реализацию, и кроме того, у них есть systemd-timesyncd. Я считаю, что Chrony работает хорошо, обеспечивает лучший интерфейс, чем служба NTP, предоставляет гораздо больше информации и повышает контроль, что безусловно понравится системным администраторам.

Читайте так же:
Переменный резистор для регулировки напряжения блока питания

Отключение служб NTP

Возможно, на вашем хосте уже запущена служба NTP. Если это так, вам нужно отключить её перед переключением на что-то другое. У меня был запущен chronyd, поэтому я использовал следующие команды, чтобы остановить и отключить его. Запустите соответствующие команды для любого демона NTP, который вы используете на своем хосте:

Проверьте, что служба остановлена и отключена:

Проверка статуса перед запуском

Статус системной синхронизации часов позволяет определить, запущена ли служба NTP. Поскольку вы ещё не запустили NTP, команда timesync-status намекнёт на это:

Прямой запрос статуса даёт важную информацию. Например, команда timedatectl без аргумента или параметров выполняет подкоманду status по умолчанию:

Так вы получите местное время для вашего хоста, время UTC и время RTC. В данном случае системное время установлено на часовой пояс America / New_York (TZ), RTC установлено на время в местном часовом поясе, а служба NTP не активна. Время RTC начало немного отклоняться от системного времени. Это нормально для систем, часы которых не были синхронизированы. Величина смещения на хосте зависит от времени, прошедшего с момента последней синхронизации системы.

Мы также получили предупреждение об использовании местного времени для RTC — это относится к изменениям часового пояса и настройкам летнего времени. Если компьютер выключен в тот момент, когда необходимо внести изменения, время RTC не изменится. Но для серверов или других хостов, которые работают круглосуточно, это вообще не проблема. Кроме того, любая служба, которая обеспечивает синхронизацию времени NTP, будет корректировать время хоста ещё на начальном этапе запуска, поэтому после завершения запуска время вновь станет правильным.

Установка часового пояса

Обычно вы указываете часовой пояс во время процедуры установки, и у вас нет задачи менять его в дальнейшем. Однако бывают случаи, когда необходимо изменить часовой пояс. Есть несколько инструментов, которые могут помочь. Для определения местного часового пояса хоста Linux использует файлы часовых поясов. Эти файлы находятся в каталоге /usr/share/zoneinfo. По умолчанию для моего часового пояса система прописывает вот это: /etc/ localtime -> ../usr/share/zoneinfo/America/New_York. Но вам не нужно знать такие тонкости, чтобы изменить часовой пояс.

Главное — знать официальное название часового пояса для вашего местоположения и соответствующую команду. Скажем, вы хотите изменить часовой пояс на Лос-Анджелес:

Теперь вы можете установить часовой пояс. Я использовал команду date для проверки изменений, но вы также можете использовать timedatectl:

Теперь вновь можете изменить часовой пояс своего хоста на местное время.

systemd-timesyncd

Демон systemd timesync предоставляет реализацию NTP, которой легко управлять в контексте systemd. Он устанавливается по умолчанию в Fedora и Ubuntu. Однако запускается он по умолчанию только в Ubuntu. Я не уверен насчёт других дистрибутивов. Вы можете проверить у себя сами:

Конфигурирование systemd-timesyncd

Файл конфигурации для systemd-timesyncd — это /etc/systemd/timesyncd.conf. Это простой файл с меньшим количеством включенных опций, чем в старых сервисах NTP и chronyd. Вот содержимое этого файла (без дополнительных изменений) на моей виртуальной машине с Fedora:

Единственный раздел, который он содержит, кроме комментариев, это [Time]. Все остальные строки закомментированы. Это значения по умолчанию, их не нужно менять (если у вас нет для этого причин). Если у вас нет сервера времени NTP, определенного в строке NTP =, по умолчанию в Fedora используется резервный сервер времени Fedora. Я обычно добавляю свой сервер времени:

Запуск timesync

Запустить и сделать systemd-timesyncd активным можно так:

Установка аппаратных часов

Вот как выглядит ситуация после запуска timesyncd:

Изначально разница между RTC и местным временем (EDT) не превышает секунды, и расхождение возрастает ещё на пару секунд в течение следующих нескольких дней. Поскольку в RTC нет понятия часовых поясов, команда timedatectl должна выполнить сравнение, чтобы определить нужный часовой пояс. Если время RTC точно не соответствует местному времени, то значит, оно не соответствует и местному часовому поясу.

В поисках дополнительной информации я проверил состояние systemd-timesync и обнаружил вот что:

Обратите внимание на сообщение журнала, в котором говорится, что системное время не установлено или сброшено назад. Служба Timesync устанавливает системное время на основе временной метки. Метки времени поддерживаются демоном timesync и создаются при каждой успешной синхронизации.

Команда timedatectl не имеет возможности взять значение аппаратных часов из системных часов. Она может установить время и дату только из значения, введённого в командной строке. Вы можете установить RTC на то же значение, что и системное время, используя команду hwclock:

Опция —localtime говорит о том, что аппаратные часы показывают местное время, а не UTC.

Зачем вам вообще RTC?

Любая реализация NTP установит системные часы во время запуска. И зачем тогда RTC? Это не совсем так: это произойдет только в случае, если у вас есть сетевое соединение с сервером времени. Однако многие системы не имеют постоянного доступа к сетевому соединению, поэтому аппаратные часы полезны для того, чтобы Linux мог на их основе установить системное время. Это лучше, чем установка времени вручную, даже если оно может отклоняться от реального времени.

Заключение

В этой статье рассмотрены некоторые инструменты для управления датой, временем и часовыми поясами. Инструмент systemd-timesyncd предоставляет NTP-клиента, который может синхронизировать время на локальном хосте с NTP-сервером. Однако systemd-timesyncd не предоставляет серверную службу, поэтому, если вам нужен NTP-сервер в вашей сети, вы должны использовать что-то ещё — например, Chrony, для работы в качестве сервера.

Читайте так же:
Карбюратор ока регулировка поплавка

Я предпочитаю иметь единственную реализацию для любой служб в моей сети, поэтому использую Chrony. Если вам не нужен локальный NTP-сервер или если вы не против использовать Chrony в качестве сервера и systemd-timesyncd в качестве SNTP-клиента. Ведь нет необходимости использовать дополнительные возможности Chrony как клиента, если вас устраивает функционал systemd-timesyncd.

Еще одно замечание: вы не обязаны использовать инструменты systemd для реализации NTP. Вы можете использовать старую версию ntpd, Chrony или другую реализацию NTP. Ведь systemd состоит из большого количества сервисов; многие из них являются необязательными, поэтому их можно отключить и использовать вместо них что-то ещё. Это не огромный монолитный монстр. Можно не любить systemd или его части, но вы должны принять обоснованное решение.

Мне нравится реализация NTP в systemd, но я предпочитаю Chrony, потому что он лучше отвечает моим потребностям. Это Linux, детка -)

На правах рекламы

VDSina предлагает серверы под любые задачи, огромный выбор операционных систем для автоматической установки, есть возможность установить любую ОС с собственного ISO, удобная панель управления собственной разработки и посуточная оплата. Напомним, у нас есть вечные серверы, которые точно неподвластны времени 😉

Синхронизация времени

Синхронизация времени в Linux возможна про протоколу NTP, описанному в RFC 5905, и протоколу TIME, описанному в RFC 868. В настоящее время, в подавляющем большинстве случаев, используется протокол NTP. Кроме того, в случае выключения компьютера, либо его перезагрузки, важна синхронизация системного времени с аппаратными часами реального времени материнской платы компьютера (RTC). В ALT есть несколько пакетов, обеспечивающих синхронизацию по протоколу NTP. Использовать одновременно несколько способов не следует. Так же существует дистрибутивонезависимое MINI-HOWTO на эту тему [1] .

Содержание

tzdata [ править ]

Пакет содержит множество описаний временны́х зон, нужная из которых копируется в /etc/localtime (либо это может быть символическая ссылка на соответствующий файл). Только этот файл определяет системную временну́ю зону. Для дистрибутивов ALT с sysvinit копирование может быть выполнено командой

Сама зона, в этом случае, определяется по значению переменной ZONE из /etc/sysconfig/clock.

NTP [ править ]

пакет openntpd [ править ]

Используется по-умолчанию в большинстве дистрибутивов ALT. Отличается высокой безопасностью и как следствие — некоторыми недостатками, самый неприятный из которых — это медленный старт, доходящий в некоторых случаях до суток. Сам демон имеет название ntpd, как и аналогичный из пакета ntp, однако не является совместимым с ним ни по параметрам запуска, ни по средствам контроля, ни по конфигурационному файлу.

пакет ntp [ править ]

Пакет является эталонной реализацией протокола ntp и имеет долгую историю. Считается не очень безопасным ввиду лидерства по количеству закрытых за историю CVE. В ALT пакет состоит из нескольких подпакетов. Непосредственно к синхронизации имеют отношение два, а третий полезен для контроля состояния ntpd.

ntpd [ править ]

Собственно сам демон, который может работать как в качестве клиента, так и в качестве сервера.

ntpdate [ править ]

Утилита, позволяющая однократно посмотреть время на каком-либо NTP-сервере (не обязательно ntpd) и/или синхронизировать с ним системное время. Если запущен ntpd, требуется использовать ключ -u при запуске.

ntpq [ править ]

Утилита, позволяющая посмотреть статус работающего ntpd, как локального, так и удалённого.

пакет chrony [ править ]

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

пакет systemd-timesyncd [ править ]

Является клиентом SNTP, не может быть сервером NTP.

TIME 868 [ править ]

пакет xinetd [ править ]

Встроенный сервер TIME 868 имеет демон xinetd. Чтобы служба заработала, надо в /etc/xinetd.d/time-tcp и /etc/xinetd.d/time-udp заменить «disable = yes» на «disable = no». Так же, не следует забывать про основной /etc/xinetd.conf, в котором, по-умолчанию, присутствует параметр «only_from = 127.0.0.1».

пакет rdate [ править ]

TIME 868 клиент

пакет netdate [ править ]

TIME 868 клиент

DAYTIME 867 [ править ]

Упоминается в контексте Samba. надо понять и дописать, для чего

Синхронизация системного времени с RTC [ править ]

Linux kernel [ править ]

При наличии синхронизации с NTP-сервером ядро каждые 11 минут обновляет время в RTC. Начиная с 3.10, из ядра выпилили код, который пытался обновлять в RTC только минуты и секунды, чтобы обновление работало независимо от часового пояса (но в этом случае не могло быть исправлено расхождение более чем на 15 минут) [2] . В результате, при использовании синхронизаторов, умеющих сообщать ядру о наличии синхронизации, ядро получило возможность выставить значение RTC в UTC в соответствии с текущим значением времени, что внесло некоторую путаницу.

Проверить, что функция синхронизации может быть активирована, можно посредством команды

пакет hwclock [ править ]

При запуске однократно синхронизирует RTC с системными часами, либо наоборот. В зависимости от параметров в RTC может быть установлено время в UTC, либо локальное. В момент исполнения hwclock создаёт файл /etc/adjtime, в котором записано отклонение RTC от системного времени и какое время (локальное, либо UTC) записано в RTC. При загрузке системное время выставляется относительно RTC по данными из adjtime. Несоответствие значения временной зоны в RTC и в файле adjtime (UTC/LOCAL) приводит к сдвигу системного времени при загрузке. В некоторых случаях (например, при использовании ntpd) можно просто обнулить содержимое /etc/adjtime после использования ( >/etc/adjtime ).

другие ОС [ править ]

Другие ОС тоже могут корректировать значение времени в RTC. Если на компьютере установлено более одной ОС, необходимо производить настройки таким образом, чтобы все ОС корректировали время в RTC одинаковым образом.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector