Бинхронизация Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Linux: NTP, Chrony ΠΈ systemd-timesyncd

Бинхронизация Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² 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-сСрвСра.

Π•Ρ‰Ρ‘ Ρ€Π°Π·: NTP β€” это ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° хостС Linux с использованиСм Chrony ΠΈΠ»ΠΈ systemd-timesyncd.

RPM-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ NTP, Chrony ΠΈ systemd-timesyncd доступны Π² стандартных рСпозиториях Fedora. RPM systemd-udev β€” это ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ событий ядра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Fedora установлСн ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для использования.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС Ρ‚Ρ€ΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, Π½ΠΎ это создаст лишнюю Π³ΠΎΠ»ΠΎΠ²Π½ΡƒΡŽ боль. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ стоит. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π»ΠΈΠ·Ρ‹ Fedora, CentOS ΠΈ RHEL ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π½Π° Chrony ΠΊΠ°ΠΊ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΈ ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ systemd-timesyncd. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ Chrony Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, обСспСчиваСт Π»ΡƒΡ‡ΡˆΠΈΠΉ интСрфСйс, Ρ‡Π΅ΠΌ слуТба NTP, прСдоставляСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ, Ρ‡Ρ‚ΠΎ бСзусловно понравится систСмным администраторам.

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ слуТб NTP

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π° вашСм хостС ΡƒΠΆΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° слуТба NTP. Если это Ρ‚Π°ΠΊ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π£ мСня Π±Ρ‹Π» Π·Π°ΠΏΡƒΡ‰Π΅Π½ chronyd, поэтому я использовал ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. ЗапуститС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для любого Π΄Π΅ΠΌΠΎΠ½Π° NTP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π½Π° своСм хостС:

[root@testvm1 ~]# systemctl disable chronyd ; systemctl stop chronyd
Removed /etc/systemd/system/multi-user.target.wants/chronyd.service.
[root@testvm1 ~]#

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ слуТба остановлСна ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°:

[root@testvm1 ~]# systemctl status chronyd
● chronyd.service - NTP client/server
     Loaded: loaded (/usr/lib/systemd/system/chronyd.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: man:chronyd(8)
             man:chrony.conf(5)
[root@testvm1 ~]#

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса ΠΏΠ΅Ρ€Π΅Π΄ запуском

Бтатус систСмной синхронизации часов позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° Π»ΠΈ слуТба NTP. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ Π΅Ρ‰Ρ‘ Π½Π΅ запустили NTP, ΠΊΠΎΠΌΠ°Π½Π΄Π° timesync-status Π½Π°ΠΌΠ΅ΠΊΠ½Ρ‘Ρ‚ Π½Π° это:

[root@testvm1 ~]# timedatectl timesync-status
Failed to query server: Could not activate remote peer.

ΠŸΡ€ΡΠΌΠΎΠΉ запрос статуса Π΄Π°Ρ‘Ρ‚ Π²Π°ΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. НапримСр, ΠΊΠΎΠΌΠ°Π½Π΄Π° timedatectl Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² выполняСт ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ status ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

[root@testvm1 ~]# timedatectl status
           Local time: Fri 2020-05-15 08:43:10 EDT  
           Universal time: Fri 2020-05-15 12:43:10 UTC  
                 RTC time: Fri 2020-05-15 08:43:08      
                Time zone: America/New_York (EDT, -0400)
System clock synchronized: no                          
              NTP service: inactive                    
          RTC in local TZ: yes                    

Warning: The system is configured to read the RTC time in the local time zone.
         This mode cannot be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.
[root@testvm1 ~]#

Π’Π°ΠΊ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ мСстноС врСмя для вашСго хоста, врСмя UTC ΠΈ врСмя RTC. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС систСмноС врСмя установлСно Π½Π° часовой пояс America / New_York (TZ), RTC установлСно Π½Π° врСмя Π² мСстном часовом поясС, Π° слуТба NTP Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½Π°. ВрСмя RTC Π½Π°Ρ‡Π°Π»ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΡΡ‚ΡŒΡΡ ΠΎΡ‚ систСмного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ для систСм, часы ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±Ρ‹Π»ΠΈ синхронизированы. Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Π° смСщСния Π½Π° хостС зависит ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСй синхронизации систСмы.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ± использовании мСстного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для RTC β€” это относится ΠΊ измСнСниям часового пояса ΠΈ настройкам Π»Π΅Ρ‚Π½Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Если ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ внСсти измСнСния, врСмя RTC Π½Π΅ измСнится. Но для сСрвСров ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… хостов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ круглосуточно, это Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, любая слуТба, которая обСспСчиваСт ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ NTP, Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя хоста Π΅Ρ‰Ρ‘ Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС запуска, поэтому послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ запуска врСмя вновь станСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ.

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

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ часовой пояс Π²ΠΎ врСмя ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ установки, ΠΈ Ρƒ вас Π½Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² дальнСйшСм. Однако Π±Ρ‹Π²Π°ΡŽΡ‚ случаи, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ часовой пояс. Π•ΡΡ‚ΡŒ нСсколько инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ. Для опрСдСлСния мСстного часового пояса хоста Linux ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ часовых поясов. Π­Ρ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ находятся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /usr/share/zoneinfo. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для ΠΌΠΎΠ΅Π³ΠΎ часового пояса систСма прописываСт Π²ΠΎΡ‚ это: /etc/ localtime -> ../usr/share/zoneinfo/America/New_York. Но Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ тонкости, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ часовой пояс.

Π“Π»Π°Π²Π½ΠΎΠ΅ β€” Π·Π½Π°Ρ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ часового пояса для вашСго мСстополоТСния ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ часовой пояс Π½Π° Лос-АндТСлСс:


[root@testvm2 ~]# timedatectl list-timezones | column
<SNIP>
America/La_Paz                  Europe/Budapest
America/Lima                    Europe/Chisinau
America/Los_Angeles             Europe/Copenhagen
America/Maceio                  Europe/Dublin
America/Managua                 Europe/Gibraltar
America/Manaus                  Europe/Helsinki
<SNIP>

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ часовой пояс. Π― использовал ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ date для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½ΠΎ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ timedatectl:

[root@testvm2 ~]# date
Tue 19 May 2020 04:47:49 PM EDT
[root@testvm2 ~]# timedatectl set-timezone America/Los_Angeles
[root@testvm2 ~]# date
Tue 19 May 2020 01:48:23 PM PDT
[root@testvm2 ~]#

Π’Π΅ΠΏΠ΅Ρ€ΡŒ вновь ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ часовой пояс своСго хоста Π½Π° мСстноС врСмя.

systemd-timesyncd

Π”Π΅ΠΌΠΎΠ½ systemd timesync прСдоставляСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ NTP, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅Π³ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π² контСкстС systemd. Он устанавливаСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Fedora ΠΈ Ubuntu. Однако запускаСтся ΠΎΠ½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ubuntu. Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½ насчёт Π΄Ρ€ΡƒΠ³ΠΈΡ… дистрибутивов. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρƒ сСбя сами:

[root@testvm1 ~]# systemctl status systemd-timesyncd

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ systemd-timesyncd

Π€Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для systemd-timesyncd β€” это /etc/systemd/timesyncd.conf. Π­Ρ‚ΠΎ простой Ρ„Π°ΠΉΠ» с мСньшим количСством Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ, Ρ‡Π΅ΠΌ Π² старых сСрвисах NTP ΠΈ chronyd. Π’ΠΎΡ‚ содСрТимоС этого Ρ„Π°ΠΉΠ»Π° (Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) Π½Π° ΠΌΠΎΠ΅ΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС с Fedora:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.

[Time]
#NTP=
#FallbackNTP=0.fedora.pool.ntp.org 1.fedora.pool.ntp.org 2.fedora.pool.ntp.org 3.fedora.pool.ntp.org
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048

ЕдинствСнный Ρ€Π°Π·Π΄Π΅Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ содСрТит, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², это [Time]. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ строки Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. Π­Ρ‚ΠΎ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈΡ… Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ (Ссли Ρƒ вас Π½Π΅Ρ‚ для этого ΠΏΡ€ΠΈΡ‡ΠΈΠ½). Если Ρƒ вас Π½Π΅Ρ‚ сСрвСра Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ NTP, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² строкС NTP =, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Fedora ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ сСрвСр Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Fedora. Π― ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ добавляю свой сСрвСр Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

NTP=myntpserver

Запуск timesync

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ systemd-timesyncd Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

[root@testvm2 ~]# systemctl enable systemd-timesyncd.service
Created symlink /etc/systemd/system/dbus-org.freedesktop.timesync1.service β†’ /usr/lib/systemd/system/systemd-timesyncd.service.
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service β†’ /usr/lib/systemd/system/systemd-timesyncd.service.
[root@testvm2 ~]# systemctl start systemd-timesyncd.service
[root@testvm2 ~]#

Установка Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… часов

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ выглядит ситуация послС запуска timesyncd:

[root@testvm2 systemd]# timedatectl
               Local time: Sat 2020-05-16 14:34:54 EDT  
           Universal time: Sat 2020-05-16 18:34:54 UTC  
                 RTC time: Sat 2020-05-16 14:34:53      
                Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes                          
              NTP service: active                      
          RTC in local TZ: no    

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ RTC ΠΈ мСстным Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ (EDT) Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ сСкунды, ΠΈ расхоТдСниС возрастаСт Π΅Ρ‰Ρ‘ Π½Π° ΠΏΠ°Ρ€Ρƒ сСкунд Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Π½Π΅ΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² RTC Π½Π΅Ρ‚ понятия часовых поясов, ΠΊΠΎΠΌΠ°Π½Π΄Π° timedatectl Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сравнСниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ часовой пояс. Если врСмя RTC Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ соотвСтствуСт мСстному Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΎΠ½ΠΎ Π½Π΅ соотвСтствуСт ΠΈ мСстному часовому поясу.

Π’ поисках Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ я ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» состояниС systemd-timesync ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ:

[root@testvm2 systemd]# systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
     Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: disabled)
     Active: active (running) since Sat 2020-05-16 13:56:53 EDT; 18h ago
       Docs: man:systemd-timesyncd.service(8)
   Main PID: 822 (systemd-timesyn)
     Status: "Initial synchronization to time server 163.237.218.19:123 (2.fedora.pool.ntp.org)."
      Tasks: 2 (limit: 10365)
     Memory: 2.8M
        CPU: 476ms
     CGroup: /system.slice/systemd-timesyncd.service
             └─822 /usr/lib/systemd/systemd-timesyncd

May 16 09:57:24 testvm2.both.org systemd[1]: Starting Network Time Synchronization...
May 16 09:57:24 testvm2.both.org systemd-timesyncd[822]: System clock time unset or jumped backwards, restoring from recorded timestamp: Sat 2020-05-16 13:56:53 EDT
May 16 13:56:53 testvm2.both.org systemd[1]: Started Network Time Synchronization.
May 16 13:57:56 testvm2.both.org systemd-timesyncd[822]: Initial synchronization to time server 163.237.218.19:123 (2.fedora.pool.ntp.org).
[root@testvm2 systemd]#

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° сообщСниС ΠΆΡƒΡ€Π½Π°Π»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ говорится, Ρ‡Ρ‚ΠΎ систСмноС врСмя Π½Π΅ установлСно ΠΈΠ»ΠΈ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½ΠΎ Π½Π°Π·Π°Π΄. Π‘Π»ΡƒΠΆΠ±Π° Timesync устанавливаСт систСмноС врСмя Π½Π° основС Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΈ. ΠœΠ΅Ρ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ timesync ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ синхронизации.

Команда timedatectl Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ возмоТности Π²Π·ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… часов ΠΈΠ· систСмных часов. Она ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ врСмя ΠΈ Π΄Π°Ρ‚Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· значСния, Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ RTC Π½Π° Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ систСмноС врСмя, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ hwclock:

[root@testvm2 ~]# /sbin/hwclock --systohc --localtime
[root@testvm2 ~]# timedatectl
               Local time: Mon 2020-05-18 13:56:46 EDT  
           Universal time: Mon 2020-05-18 17:56:46 UTC  
                 RTC time: Mon 2020-05-18 13:56:46      
                Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes                          
              NTP service: active                      
          RTC in local TZ: yes

ΠžΠΏΡ†ΠΈΡ —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, Chrony ΠΈ systemd-timesyncd

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com