До основного вмісту

Точний час на сервері: chrony та синхронізація NTP

VDS / VPS сервери · 29.09.2026

Навіщо серверу точний час

Розбіжність системного годинника на пару хвилин ламає речі, які рідко перевіряють вручну: TLS-сертифікати, у яких точка перевірки — точний час випуску та закінчення дії; логи, які стає неможливо зіставити між кількома серверами; завдання cron, що спрацьовують не у той час; реплікацію баз даних та розподілені системи, де важливий порядок подій. На VDS без гіпервізорної синхронізації годинник здатен «спливати» на секунди за добу — за місяць накопичується відчутна похибка.

Синхронізацію часу в сучасних дистрибутивах Linux забезпечує chrony — заміна класичному ntpd та вбудованому systemd-timesyncd.

chrony, systemd-timesyncd та ntpd: різниця

ІнструментОсобливість
chronyшвидко сходиться після перезавантаження, стійкий за нестабільної мережі
systemd-timesyncdмінімальний клієнт, входить у systemd, менш точний
ntpdкласична реалізація NTP, зараз застосовується рідше

Ubuntu 20.04+ та Debian 11+ за замовчуванням застосовують systemd-timesyncd, проте для серверів, де важлива точність (бази даних, платіжні системи, розподілені кластери), варто поставити chrony — він точніший і швидше відновлює синхронізацію після простою віртуальної машини.

Встановлення та перевірка статусу chrony

apt install -y chrony
systemctl enable --now chrony
systemctl status chrony

Працюючий systemd-timesyncd варто вимкнути, щоб два клієнти не конфліктували:

systemctl disable --now systemd-timesyncd

Для CentOS, Rocky Linux та AlmaLinux пакет встановлюється через dnf install -y chrony, а служба зветься так само — chronyd.

Налаштування джерел часу

Конфігурація лежить у /etc/chrony/chrony.conf (Debian/Ubuntu) чи /etc/chrony.conf (RHEL-based). Джерела задаються директивою pool чи server:

pool 2.pool.ntp.org iburst
pool time.cloudflare.com iburst

Прапорець iburst пришвидшує первинну синхронізацію одразу за стартом служби. Після правки конфігурації служба перезапускається:

systemctl restart chrony

За налаштованого файрвола для NTP відкривають вихідний трафік на UDP-порт 123 — жорстку конфігурацію варто перевірити у правилах, описаних у статті про налаштування файрвола UFW.

Перевірка синхронізації часу

Головні діагностичні команди chrony:

chronyc tracking
chronyc sources -v
chronyc sourcestats

chronyc tracking показує поточну розбіжність (System time) і статус синхронізації (Leap status: Normal означає справну роботу). chronyc sources -v виводить перелік джерел часу і позначає зірочкою (*) основне. За розбіжності понад пару сотень мілісекунд тривалий час перевіряють мережеву зв'язність із серверами з пулу.

Часті проблеми із синхронізацією часу

  • Велика розбіжність одразу за старту VDS — зазвичай усувається за хвилину-дві, поки chrony виконує першу синхронізацію з прапорцем iburst.
  • Файрвол блокує UDP-порт 123 — синхронізація не відбувається взагалі, chronyc sources показує джерела зі статусом «недоступний».
  • Часовий пояс заданий неправильно — стосунку до NTP це не має, проте часто плутають: перевіряється командою timedatectl і виправляється через timedatectl set-timezone.
  • На сервері одночасно працюють chrony та systemd-timesyncd — конфлікт за системний годинник усувають вимкненням однієї зі служб.

Для завдань, критичних до часу — резервного копіювання за розкладом чи звітів, — варто пересвідчитись, що chrony синхронізований до спрацювання завдання у планувальнику cron: розбіжність у декілька хвилин зсуває вікно бекапу чи звіту.

Підсумок: чек-лист щодо часу на сервері

  • Встановіть chrony: apt install -y chrony, вимкніть конфліктуючі служби на кшталт systemd-timesyncd.
  • Задайте джерела NTP у /etc/chrony/chrony.conf із прапорцем iburst.
  • Перевіряйте синхронізацію командами chronyc tracking та chronyc sources -v.
  • Відкрийте вихідний UDP-порт 123 у файрволі.
  • Додайте перевірку часу до моніторингу ресурсів VDS, щоб виявити розсинхронізацію раніше, ніж вона зламає бекапи чи сертифікати.
← Назад до бази знань Поставити питання підтримці