Appletaxi.ru

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

Как настроить синхронизацию времени на Ubuntu

Как настроить синхронизацию времени на Ubuntu 16.04

FavoriteДобавить в избранное

Главное меню » Операционная система Ubuntu » Как настроить синхронизацию времени на Ubuntu 16.04

Как настроить синхронизацию времени на Ubuntu 16.04

Введение

Ubuntu 16.04 имеет синхронизацию времени, построенную и активированную по умолчанию с помощью сервиса timesyncd в Systemd. В этой статье мы рассмотрим некоторые основные команды, связанные со временем, убедитесь, что timesyncd активен, и знаете, как установить альтернативную службу сетевого времени.

Операционные системы GNU/Linux (в том числе Mac OS X) считают, что время в BIOS указано в формате UTC (по Гринвичу). Соответственно, при загрузке Linux для преобразования UTC к локальному времени добавляет (отнимает) смещение текущего часового пояса, который выбрал пользователь. Проще говоря, чтобы получить локальное время для часового пояса Москвы UTC+3, Linux добавит 3 часа.

Windows же считает, что в время в BIOS хранится в формате localtime. Поэтому если вы указали новый часовой пояс или синхронизировали время с внешним источником, система соответственным образом меняет время в BIOS на локальное время.

Linux (Kubuntu 18.04 в моем случае) считает, что время в BIOS указано в формате UTC и дополнительно добавляет смещение часового пояса. Именно поэтому и сбивается время при переключении между Linux и Windows.

Команда для синхронизации времени linux

01 июл 2019, 14:49

Как везде пишут, уже в Ubuntu 18.04, соответственно и в Mint 19, синхронизация времени осуществляется через systemd.

Действительно, при запросе systemctl is-active ntpd выдаётся inactive. То есть, при синхронизации времени система не смотрит на etc/ntp.conf, а должна руководствоваться настройкой timesyncd.

В своём посте systemd-timesyncd в Linux Mint Chocobo уквзывал, что настройка timesyncd осуществляется через файл /etc/systemd/timesyncd.conf Однако все строки моего файла закомментированы:

Возможно, это связано с тем, что dhcp моего роутера вместе с серверами DNS выдаёт клиентам 2 сервера NTP: 62.149.2.62 и 62.149.2.126, соответствующие ntp1.colocall.net и ntp2.colocall.net (при выборах получается, что ответ от ntp2.colocall.net приходит чуть-чуть быстрее и время синхронизируется по нему). Глубинного механизма или conf, в котором бы клиенту компьютера были явно указаны серверы NTP от dhcp мной найдено не было. При этом получаемые от dhcp DNS серверы найдены в /run/systemd/resolve/resolv.conf

Как пишут, ntpq – это инструмент запросов для ntpd. Флаг –p запрашивает данные о серверах NTP, к которым подключается ntpd. Запрос ntpq -p также выдаёт результат, в котором указан сервер NTP, с которым часы компьютера были синхронизированы:

Частные вопросы по синхронизации времени в Linux Mint 19

01 июл 2019, 16:05

Частные вопросы по синхронизации времени в Linux Mint 19

01 июл 2019, 17:19

Читайте так же:
Взрывной клапан с регулировкой

Также NTP сервера могут быть предусмотрены в systemd-networkd конфигурации с опцией NTP= или динамически через DHCP сервер.

  • Приоритетно — с любого интерфейса NTP серверов, полученных из конфигурации systemd-networkd.service(8) или через DHCP.
  • Сервера NTP, указанные в /etc/systemd/timesyncd.conf будут добавлены в список интерфейса после получения ответа от серверов в процессе соединения с ними.
  • Если после выполнения действий выше информация о серверах NTP не будет получена, то будет использоваться имя хоста и IP адреса, указанные в FallbackNTP=.

Изображение

Частные вопросы по синхронизации времени в Linux Mint 19

01 июл 2019, 18:22

Ситуация получилась любопытная.

На запрос timedatectl timesync-status получен ответ Unknown operation timesync-status

На запрос systemctl is-active ntpd получен ответ inactive

На запрос systemctl is-active systemd-timesyncd получен ответ inactive

На запрос timedatectl получен ответ:

На запрос ntpstat получен ответ:

synchronised to NTP server (62.149.2.126) at stratum 3
time correct to within 83 ms
polling server every 1024 s

При вызове System Manager (ПО управления службами через GUI, но на git этого ПО уже нету):

Судя по галочке справа ntp и аналогично крестику в отношении systemd-timesyncd, работает, всё-таки, ntpd.
systemd-timesyncd помечена как активная (галочка слева), но в данный момент не работающая.
ntpd помечена как активная и работающая.

Выходит, что предположение о переводе синхронизации времени в Linux Mint 19 на systemd неверное ?

При переключении на просмотр логов найдено, что ntpd была запущена (через какое-то время после старта системы):

В итоге имеется 2 предположения:

а) имеющийся Linux Mint 19.1 пока находится в «промежуточном» варианте и в будущем синхронизация времени разработчиками может быть переведена на systemd без «телодвижений» со стороны пользователя;

б) картина обусловлена тем, что продолжает использоваться Network Manager. Если бы были осуществлены мероприятия по перенастройке получения адреса через systemd, то это, возможно, «потянуло» бы за собой необходимость и полной перенастройки синхронизации времени через systemd.

Как настроить время вашего сервера

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

Приведенный пример для случая когда аппаратные часы идут по UTC, а сервер настроен на Московский часовой пояс. Особых пояснений требует опция —utc вывод времени производится (формируется) с условием, что аппаратные часы идут по времени UTC. То есть показания должны совпадать с желаемым временем на сервере. Опция же —localtime наоборот показывает время аппаратных часов без всяких поправок.

Несколько полезных команд установки времени аппаратных часов

Устанавливаем время аппаратных часов равное системному:

Устанавливаем время системных часов на основании ЧРВ:

Устанавливаем время равное указанному:

Значение временной зоны

Данные временной зоны для аппаратных часов в Centos хранятся в файле /etc/sysconfig/clock.

Для московской временной зоны в случае когда аппаратные часы идут по UTC он имеет следующее содержимое:

Читайте так же:
Регулировка коробки автомат солярис

Где ZONE — это наш часовой пояс, UTC говорит о том, что аппаратные часы сервера идут по универсальному времени UTC, ARC в значении false — значит используется нормальное значение века (эпохи) UNIX.

Подробнее по конфигурации файла /etc/sysconfig/clock в CentOS можно почитать в официальной документации.

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

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

1. Установка системного времени в Linux

Чтобы установить системное время в Linux, вы можете использовать команду date:

2. Установка аппаратного времени в Linux

Вы можете использовать команду hwclock или clock, чтобы установить аппаратное время. Два в основном одинаковы, требуется только один, за исключением того, что команда clock поддерживает аппаратную систему Alpha в дополнение к аппаратной системе x86.

3. Синхронизация системного и аппаратного времени.

Для синхронизации системного и аппаратного времени вы можете использовать команду hwclock.

4. Синхронизация времени между разными машинами

Чтобы избежать отклонения во времени, вызванного длительной работой хоста, необходимо синхронизировать время (синхронизировать). В системе Linux сервер ntp обычно используется для синхронизации времени разных машин. Одной машиной может быть как ntp-сервер, так и ntp-клиент. В производственных системах для синхронизации времени рекомендуется использовать сервер времени, многоуровневый как DNS-сервер.

Чтобы синхронизировать время между разными машинами, вы можете использовать команду ntpdate или службу ntpd.

4.1 команда ntpdate

Использование ntpdate относительно просто. Формат выглядит следующим образом:

Но такая синхронизация обязательна только для установки системного времени на время сервера ntp. Если есть проблема с CPU Tick, это просто лекарство от симптомов. Следовательно, он обычно координируется с командой cron для выполнения периодических настроек синхронизации. Например, добавьте в crontab:

Таким образом, время будет синхронизироваться в 12 часов каждый день. Сервер ntp — 192.168.0.1.

Или добавьте следующий скрипт в /etc/cron.hourly/, чтобы синхронизация выполнялась каждый час:

4.2 ntpd сервис

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

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

4.3 Настройка службы ntpd

Соответствующие файлы настроек службы ntpd:

(1) /etc/ntp.conf: это основной файл конфигурации демона NTP и единственный файл конфигурации NTP.

(2) / usr / share / zoneinfo /: файлы в этом каталоге фактически определяют файлы установки времени для каждого основного часового пояса. Например, файл установки часового пояса для зоны Пекина находится в / usr / share / zoneinfo / Asia / Shanghai Слишком. Файлы в этом каталоге связаны с двумя файлами, обсуждаемыми ниже (часы и местное время).

(3) / etc / sysconfig / clock: этот файл фактически не включен в демон NTP, поскольку это основной файл настроек часового пояса для Linux. После каждой загрузки Linux будет автоматически читать этот файл, чтобы установить время, которое будет отображаться по умолчанию в вашей системе.

(4) / etc / localtime: этот файл является «файлом конфигурации местного времени». Файл установки времени (ZONE), указанный в файле часов: / usr / share / zoneinfo / Asia / Shanghai, так что это местное время. В настоящее время система Linux сохранит файл Shanghai как Файл / etc / localtime, поэтому наше будущее отображение времени будет основано на файле настроек времени Пекина.

Далее основное внимание уделяется настройкам файла /etc/ntp.conf. Что касается настройки NTP-сервера, рекомендуется не открывать Интернет без ограничений, а пытаться предоставить только клиентский терминал внутри локальной сети для подключения для коррекции времени сети. Кроме того, для NTP-сервера всегда требуется более точный хост в сети, чтобы обновлять свое время, поэтому нам нужно найти ближайший к нам сервер времени, который будет самокорректироваться на нашем NTP-сервере. На самом деле служба NTP также является моделью сервера / клиента.

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

4.4 Запуск и запрос службы ntpd

Перед запуском службы NTP сначала вручную исправьте время хоста, который предоставляет службу (поскольку сервер запущен, порт будет занят сервером, а время не может быть синхронизировано вручную).

Просмотр порта (служба ntpd использует UDP-порт 123):

Как подтвердить, что наш NTP-сервер обновил свое время?

На самом деле это не ошибка. Это связано с тем, что клиенту требуется около 3-5 минут для установления нормального соединения с сервером после перезапуска NTP-сервера каждый раз. Когда клиент подключается к серверу в это время, такая информация будет сообщена. Обычно ждут несколько минут.

Команда "ntpq -p" может перечислить текущий статус нашего NTP и связанных NTP верхнего уровня. Значения вышеприведенных полей следующие:

remote: IP или имя хоста хоста NTP. Обратите внимание на крайний левый символ. Если «+» означает, что в настоящий момент работает NTP верхнего уровня, если это «*», это означает, что есть также онлайн-соединение, но оно используется в качестве вторичного хоста NTP.

refid: адрес узла NTP верхнего уровня
st: stratum stratum
когда: Операция обновления синхронизации времени была выполнена несколько секунд назад
: следующее обновление будет через несколько секунд
досягаемость: количество запросов на обновление с верхнего NTP-сервера.
delay: время задержки часов во время передачи по сети
Смещение : результат временной компенсации
jitter: Разница между системным временем Linux и аппаратным временем BIOS

И последнее замечание: служба ntp по умолчанию синхронизирует только системное время. Если вы хотите, чтобы ntp одновременно синхронизировал аппаратное время, вы можете установить файл / etc / sysconfig / ntpd.

В файле / etc / sysconfig / ntpd добавьте SYNC_HWCLOCK = yes, чтобы можно было синхронизировать аппаратное время с системным временем.

5. Пример синхронизации времени в кластере HPC
5.1 Введение в кластерную среду

Узел управления: 192.168.0.100, 192.168.0.101
Вычислительный узел: 192.168.0.1

192.168.0.50
Узел ввода-вывода: 192.168.0.51

Читайте так же:
Регулировка клапанов двигатель qr20

5.2 Разработка схемы синхронизации времени

(1) Узел 1 управления служит в качестве основного NTP-сервера и синхронизирует время с NTP-сервером в Интернете, узел 2 управления выступает в качестве резервного NTP-сервера, а также синхронизирует время с NTP-сервером в Интернете. Два узла управления выполняют Heartbeat, задают дрейфующий IP-адрес 192.168.0.103 и обеспечивают высокую доступность службы ntpd;
(2) Кластерный вычислительный узел и узел ввода-вывода синхронизируются с виртуальным IP-адресом узла управления 192.168.0.103 через службу ntpd;
(3) На всех узлах установите аппаратное время, чтобы оно соответствовало системному времени, пока время ntp синхронизировано;
(4) Когда все вычислительные узлы и узлы ввода-вывода включены, синхронизация времени выполняется с 192.168.0.103 по ntpdate, а затем запускается служба ntpd.

Интеллектуальная рекомендация

Michael.W Поговорите о Hyperledger Fabric. Проблема 20 — Подробная индивидуальная сортировка узла с пятью порядками с исходным кодом для чтения.

Michael.W Поговорите о Hyperledger Fabric. Проблема 20 — Подробная индивидуальная сортировка узла с пятью порядками с исходным кодом чтения Fabric Файл исходного кода одиночного режима находится в ord.

Мяу Пасс Матрица SDUT

Мяу Пасс Матрица SDUT Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description Лянцзян получил матрицу, но эта матрица была особенно уродливой, и Лянцзян испытал отвращение. Чт.

Гессенская легкая двоичная структура удаленного вызова

Hessian — это легкая двоичная структура удаленного вызова, официальный адрес документа, в основном он включает протокол удаленного вызова Hessian, протокол сериализации Hessian, прокси-сервер клиента .

TCP Pasket и распаковка и Нетти Solutions

Основные введение TCP является ориентированным на соединение, обеспечивая высокую надежность услуг. На обоих концах (клиенты и терминалы сервера) должны иметь один или более гнезда, так что передающий.

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

НАСТРОЙКА LINUX ДЛЯ РАБОТЫ LOCALTIME

По умолчанию Linux использует формат хранения времени UTC, но если ubuntu 16.04 сбивает время windows, вы можете очень просто заставить систему хранить в аппаратном таймере местное время. Во всех дистрибутивах, использующих Systemd, в том числе в Ubuntu 16.04 для этого достаточно выполнить команду:

sudo timedatectl set-local-rtc 1 —adjust-system-clock

Чтобы посмотреть текущее состояние аппаратных и программных часов выполните:

rtc-localtime-600x242

/losst.ru/wp-content/uploads/2016/10/rtc-localtime-600×242-300×121.jpg» target=»_blank»>https://losst.ru/wp-content/uploads/2016/10/rtc-localtime-600×242-300×121.jpg 300w» width=»600″ />

Готово, теперь вы можете перезапустить компьютер и запустить Windows, чтобы убедиться, что время не сбивается при перезагрузке. В более старых системах Ubuntu, вам нужно отредактировать файл /etc/default/rcS и заменить UTC=yes на UTC=no. Вы можете сделать это командой:

sudo sed -i 's/UTC=yes/UTC=no/' /etc/default/rcS

КАК ВЕРНУТЬ ОБРАТНО?

Опять же, вернуть все как было можно с помощью одной команды:

sudo timedatectl set-local-rtc 0

А в старых дистрибутивах Ubuntu:

sudo sed -i 's/UTC=no/UTC=yes/' /etc/default/rcS

Related Posts

Migrate CentOS 8 to AlmaLinux

Upgrade CentOS 7 to CentOS 8

Install Latest LAMP Stack in Linux

Install Zabbix on Linux

Install SVN in Linux

Secure Apache with Free Let’s Encrypt SSL Certificate on CentOS 8

6 thoughts on “How to Synchronize Time with NTP in Linux”

I have a dual boot W10/Ubuntu PC. When I boot to Ubuntu from W10, the displayed time is correct before the Ubuntu home page comes up, then decreases by 4 hours when the Ubuntu home page is displayed.

When booting back to W10, the time stays in error by 4 hours.

How do I get correct time without having to synchronize after every boot ?

Use ntpdate on machine where you don’t want to run a NTP server. A simple Cron task can automate time synchronization with a upstream NTP server.

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