Linux-ի ժամանակի համաժամացում՝ NTP, Chrony և systemd-timesyncd

Linux-ի ժամանակի համաժամացում՝ NTP, Chrony և systemd-timesyncd
Մարդկանց մեծ մասը հետևում է ժամանակին: Մենք ժամանակին արթնանում ենք մեր առավոտյան ծեսերը ավարտելու և աշխատանքի գնալու, ճաշի ընդմիջման, ծրագրի վերջնաժամկետների պահպանման, ծննդյան և տոների տոնակատարության, ինքնաթիռ նստելու և այլն:

Ավելին՝ մեզանից ոմանք տարված են ժամանակով։ Իմ ժամացույցը սնուցվում է արևային էներգիայով և ճշգրիտ ժամանակը ստանում է Ստանդարտների և տեխնոլոգիաների ազգային ինստիտուտից (NIST) դեպի Ֆորտ Քոլինս, Կոլորադո երկարալիք ռադիոյով WWVB. Ժամանակի ազդանշանները համաժամացվում են ատոմային ժամացույցի հետ, որը նույնպես գտնվում է Ֆորտ Քոլինսում: Իմ Fitbit-ը համաժամացվում է իմ հեռախոսի հետ, որը համաժամացվում է սերվերի հետ ՏԱԾ, որն ի վերջո համաժամացվում է ատոմային ժամացույցի հետ։

Սարքերը նույնպես հետևում են ժամանակին

Կան բազմաթիվ պատճառներ, թե ինչու են մեր սարքերին և համակարգիչներին ճշգրիտ ժամանակի անհրաժեշտություն: Օրինակ, բանկային, ֆոնդային շուկաներում և ֆինանսական այլ բիզնեսներում գործարքները պետք է կատարվեն պատշաճ կարգով, և ճշգրիտ ժամանակային հաջորդականությունը կարևոր է դրա համար:

Մեր հեռախոսները, պլանշետները, մեքենաները, GPS համակարգերը և համակարգիչները պահանջում են ճշգրիտ ժամի և ամսաթվի կարգավորումներ: Ես ուզում եմ, որ իմ համակարգչի աշխատասեղանի ժամացույցը ցույց տա ճիշտ ժամը: Ես ուզում եմ, որ հիշեցումները հայտնվեն իմ տեղական օրացույցում ճիշտ ժամանակին: Ճիշտ ժամանակը նաև ապահովում է, որ cron-ի և systemd-ի աշխատանքները կաշխատեն ճիշտ ժամանակին:

Ամսաթիվը և ժամը նույնպես կարևոր են անտառահատումների համար, ուստի մի փոքր ավելի հեշտ է գտնել որոշակի տեղեկամատյաններ՝ հիմնվելով ամսաթվի և ժամի վրա: Օրինակ, ես մի անգամ աշխատել էի DevOps-ում (այն ժամանակ այդպես չէր կոչվում) և էլփոստի համակարգ էի ստեղծում Հյուսիսային Կարոլինա նահանգում: Մենք օրական ավելի քան 20 միլիոն նամակ էինք մշակում: Էլեկտրոնային փոստին հետևելը մի շարք սերվերների միջոցով կամ իրադարձությունների ճշգրիտ հաջորդականությունը որոշելը, օգտագործելով տեղեկամատյանների ֆայլերը աշխարհագրորեն ցրված հոսթերների վրա, կարող է շատ ավելի հեշտ լինել, եթե համապատասխան համակարգիչները ժամանակին համաժամանակացվեն:

Մեկ անգամ - շատ ժամեր

Linux հոսթները պետք է հաշվի առնեն, որ կա համակարգի ժամանակ և RTC ժամանակ: RTC (Իրական ժամանակի ժամացույց) մի փոքր տարօրինակ և ոչ այնքան ճշգրիտ անուն է ապարատային ժամացույցի համար:

Սարքավորման ժամացույցը շարունակաբար աշխատում է նույնիսկ այն ժամանակ, երբ համակարգիչը անջատված է, օգտագործելով համակարգի մայր տախտակի մարտկոցը: RTC-ի հիմնական գործառույթը ժամանակի պահպանումն է, երբ կապը ժամանակային սերվերին հասանելի չէ: Այն օրերին, երբ ինտերնետի միջոցով անհնար էր միանալ ժամանակի սերվերին, յուրաքանչյուր համակարգիչ պետք է ունենար ճշգրիտ ներքին ժամացույց: Օպերացիոն համակարգերը պետք է մուտք գործեին RTC-ին բեռնման ժամանակ, և օգտագործողը պետք է ձեռքով սահմաներ համակարգի ժամանակը՝ օգտագործելով BIOS-ի ապարատային կազմաձևման միջերեսը՝ համոզվելու համար, որ այն ճիշտ է:

Սարքավորումների ժամացույցները չեն հասկանում ժամային գոտիների հասկացությունը. RTC-ն պահպանում է միայն ժամը, այլ ոչ թե ժամային գոտին կամ UTC-ից (համակարգված համընդհանուր ժամանակ, որը հայտնի է նաև որպես GMT կամ Գրինվիչի միջին ժամանակ): Դուք կարող եք տեղադրել RTC-ն՝ օգտագործելով գործիք, որը ես կանդրադառնամ ավելի ուշ այս հոդվածում:

Համակարգի ժամանակը այն ժամանակն է, որը ՕՀ-ն ցուցադրում է ձեր աշխատասեղանի GUI ժամացույցի վրա, ամսաթիվ հրամանի ելքում, տեղեկամատյանների ժամանակի դրոշմանիշերում: Սա վերաբերում է նաև ֆայլերի ստեղծմանը, փոփոխմանը և բացմանը:

Էջում մարդ rtc-ի համար կա RTC-ի և համակարգի ժամացույցի ամբողջական նկարագրությունը:

Ի՞նչ կա NTP-ի հետ:

Ամբողջ աշխարհում համակարգիչները օգտագործում են NTP (Network Time Protocol)՝ իրենց ժամանակը համաժամեցնելու համար ինտերնետի միջոցով ստանդարտ հղումային ժամացույցների հետ՝ օգտագործելով NTP սերվերների հիերարխիան: Հիմնական ժամանակային սերվերները գտնվում են 1-ին շերտում և դրանք ուղղակիորեն միացված են 0-րդ շերտի ազգային ժամային ծառայությունների հետ արբանյակի, ռադիոյի կամ նույնիսկ մոդեմների միջոցով հեռախոսային գծերի միջոցով: 0-րդ շերտի ժամանակային ծառայությունները կարող են լինել ատոմային ժամացույց, ռադիոընդունիչ, որը կարգավորվում է ատոմային ժամացույցների միջոցով փոխանցվող ազդանշաններին կամ GPS ընդունիչ, որն օգտագործում է GPS արբանյակների կողմից փոխանցվող բարձր ճշգրիտ ժամացույցի ազդանշաններ:

Հղման սերվերների ճնշող մեծամասնությունն ունի մի քանի հազար հանրային NTP շերտի 2 սերվերներ, որոնք բաց են հանրության համար: Բազմաթիվ կազմակերպություններ և օգտատերեր (այդ թվում՝ ես), ​​որոնք ունեն NTP սերվերի կարիք ունեցող շատ կազմակերպություններ և օգտատերեր, ընտրում են ստեղծել իրենց ժամանակի սերվերները, այնպես որ միայն մեկ տեղական հոսթ մուտք գործի 2 կամ 3 շերտ: Նրանք այնուհետև կարգավորում են ցանցի մնացած հանգույցները՝ օգտագործելու տեղականը: ժամանակի սերվեր: Իմ տնային ցանցի դեպքում սա 3-րդ շերտի սերվեր է:

NTP-ի տարբեր իրականացումներ

NTP-ի սկզբնական իրականացումը ntpd է: Այնուհետև նրան միացան երկու նորերը՝ chronyd և systemd-timesyncd: Երեքն էլ համաժամացնում են տեղական ընդունման ժամանակը NTP ժամանակի սերվերի հետ: Systemd-timesyncd ծառայությունը այնքան էլ հուսալի չէ, որքան chronyd-ը, բայց այն բավականին լավ է շատ նպատակների համար: Եթե ​​RTC-ը համաժամեցված չէ, այն կարող է աստիճանաբար կարգավորել համակարգի ժամանակը, որպեսզի համաժամեցվի NTP սերվերի հետ, երբ տեղական համակարգի ժամանակը փոքր-ինչ շեղվի: Systemd-timesync ծառայությունը չի կարող օգտագործվել որպես ժամանակի սերվեր:

Քրոնի NTP-ի իրականացում է, որը պարունակում է երկու ծրագիր՝ chronyd daemon և հրամանի տող ինտերֆեյս, որը կոչվում է chronyc: Chrony-ն ունի որոշ առանձնահատկություններ, որոնք շատ դեպքերում անփոխարինելի են.

  • Chrony-ն կարող է համաժամանակացնել ժամանակային սերվերի հետ շատ ավելի արագ, քան հին ntpd ծառայությունը: Սա լավ է նոութբուքերի կամ աշխատասեղանների համար, որոնք անընդհատ չեն աշխատում:
  • Այն կարող է փոխհատուցել ժամացույցի տատանումները, օրինակ, երբ հյուրընկալողը գնում է քնելու կամ մտնում է քնի ռեժիմ, կամ երբ ժամացույցը փոխվում է հաճախականության թռիչքի պատճառով, ինչը դանդաղեցնում է ժամացույցները ցածր բեռների դեպքում:
  • Այն լուծում է ժամանակի խնդիրները՝ կապված անկայուն ցանցային կապի կամ ցանցի գերբեռնվածության հետ:
  • Այն կարգավորում է ցանցի հետաձգումները:
  • Ժամանակի սկզբնական համաժամացումից հետո Chrony-ն երբեք չի դադարեցնում ժամացույցը: Սա ապահովում է կայուն և հետևողական ժամանակացույց շատ համակարգային ծառայությունների և հավելվածների համար:
  • Chrony-ն կարող է աշխատել նույնիսկ առանց ցանցային կապի: Այս դեպքում տեղական հոսթը կամ սերվերը կարող են ձեռքով թարմացվել:
  • Chrony-ն կարող է գործել որպես NTP սերվեր:

Կրկին, NTP-ն արձանագրություն է, որը կարող է իրականացվել Linux հոսթի վրա՝ օգտագործելով Chrony կամ systemd-timesyncd:

NTP, Chrony և systemd-timesyncd RPM-ները հասանելի են ստանդարտ Fedora-ի պահոցներում: Systemd-udev RPM-ը միջուկի իրադարձությունների կառավարիչ է, որը լռելյայն տեղադրվում է 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 հրամանը առանց արգումենտի կամ ընտրանքների կատարում է կարգավիճակի ենթահրամանը լռելյայն.

[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 ժամանակի համար: Այս դեպքում համակարգի ժամանակը սահմանվում է Ամերիկա / Նյու Յորք (TZ) ժամային գոտում, RTC-ն սահմանվում է տեղական ժամային գոտու ժամին, իսկ NTP ծառայությունը ակտիվ չէ: RTC-ի ժամանակը սկսել է մի փոքր շեղվել համակարգի ժամանակից: Սա նորմալ է համակարգերի համար, որոնց ժամացույցները չեն համաժամանակացվել: Հոսթի վրա օֆսեթի չափը կախված է համակարգի վերջին համաժամացման պահից անցած ժամանակից:

Մենք նաև նախազգուշացում ստացանք RTC-ի համար տեղական ժամանակն օգտագործելու մասին. սա վերաբերում է ժամային գոտու փոփոխություններին և DST կարգավորումներին: Եթե ​​համակարգիչը անջատված է, երբ անհրաժեշտ է փոփոխություններ կատարել, 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 VM-ում.

#  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

Գործող ժամանակի համաժամացում

Դուք կարող եք սկսել և ակտիվացնել 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-ը կամ դրա մասերը, բայց դուք պետք է տեղեկացված որոշում կայացնեք:

Ինձ դուր է գալիս systemd-ի NTP-ի ներդրումը, բայց ես նախընտրում եմ Chrony-ն, քանի որ այն ավելի լավ է համապատասխանում իմ կարիքներին: Դա Linux է, փոքրիկս -)

Գովազդի իրավունքների մասին

VDSina-ն առաջարկում է սերվերներ ցանկացած առաջադրանքի համար, օպերացիոն համակարգերի հսկայական ընտրություն ավտոմատ տեղադրման համար, հնարավոր է տեղադրել ցանկացած ՕՀ ձեր սեփականից ISO, հարմարավետ կառավարման վահանակ սեփական զարգացում և ամենօրյա վճարում: Հիշեցնենք, որ մենք ունենք հավերժական սերվերներ, որոնք միանշանակ անժամկետ են 😉

Linux-ի ժամանակի համաժամացում՝ NTP, Chrony և systemd-timesyncd

Source: www.habr.com

Добавить комментарий