Який рекомендований спосіб синхронізації часу за допомогою NTP?


18

Це питання неодноразово виникало локалізовано, це питання передбачає кращий / найкращий метод синхронізації синхронізованих годин за допомогою NTP.

Рішення повинно правильно вирішувати кілька питань, таких як:

  1. Виправте час під час швидкого завантаження, коли годинник має великі перекоси.

  2. Надайте конфігурацію, яка охороняє та / або виправляє ситуації, коли годинник іноді може розвинути велике перекос.

  3. Надійне рішення, яке може швидко обробляти та синхронізувати час, коли виникають певні проблеми, такі як: "сервер часу не був доступний під час завантаження" або "Інтернет недоступний під час завантаження".

Ідеальним рішенням буде єдиний файл конфігурації NTP, який здатний обробити все це.

Список літератури

Багато питань, які забезпечать «остаточне» рішення, поширюються на веб-сайті U&L в таких питаннях:

Мають бути й інші, але це ті, що я бачив, які спадають на думку як актуальні.



1
FYI: Планування роботи над всебічною відповіддю на це. Дивіться журнал чату, починаючи з chat.stackexchange.com/transcript/message/11350138#11350138
derobert

# 2 не повинно статися, якщо ntpd працює
dfc

@dfc - це може статися, коли VM призупинено, а потім пізніше відновиться, є й інші ситуації, коли це теж може статися.
slm

@slm "розвивається" означає aone час стрибнути в перекос після перезавантаження VM? Здається, що через пару годин після перезавантаження ntpd повинен перекосити контроль. Однозначно не зробити це гірше. Які ще ситуації?
dfc

Відповіді:


6

Оскільки ви не можете виправити великі відхилення в часі за допомогою ntp (якщо у вас є кілька годин, щоб годинник наздогнав або сповільнив), я роблю це:

послуга ntpd зупинка
ntpdate us.pool.ntp.org
сервіс ntpd start

Я переглядаю це раз на день, щодня. Я також поміщаю ntpdate в сценарій init для запуску до запуску ntp після завантаження, оскільки перезавантаження та цикли живлення - це найбільш вірогідні / часті події, які псуються з системним часом.


Якщо ntpd успішно працює, чому потрібно зупинити його та запустити? Це здається жахливою ідеєю.
dfc

3
ntpdate не працюватиме, якщо ntpd працює.
Grizly

4

Що ви шукаєте - ntpdце --panicgateваріант.

Параметр "паніка" дозволяє першому регулюванню після ntpdзапуску будь-якого розміру. Це саме для випадку, який ви описали, де з'являється машина, і годинник дико неточний. Коли ntpd запускається з увімкненою цією опцією, може знадобитися момент, коли він знайде сервер і встановить синхронізацію з ним.

Цей варіант сам по собі вирішує ваш товар №1.

№2 - ванільний нтпд. Ntpd зберігає файл дрейфу, який відповідає швидкості перекосу годинника.

№3 також те саме, що і №1. --panicgateВаріант не обмежується відразу після Ntpd починається, вона обмежується «першої коригування», всякий раз, коли коригування.


набравши ntpd --panicgate, а потім дата абсолютно нічого не робить
AlxVallejo

Ви змінюєте файли init для передачі -gчи є еквівалентна опція для встановлення ntp.conf?
Jérôme

Я щойно зрозумів -g, що використовується вже за замовчуванням у моїй установці Debian, але я не знаю, в якому файлі init / config це робиться.
Jérôme

2

Використовуйте chronyd / chronyc замість ntp / ntpdate. Це метод за замовчуванням у Fedora і, я думаю, буде в RHEL 7.0, як тільки він буде готовий.

Документацію можна знайти на веб-сайті http://chrony.tuxfamily.org/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.