Ժամանակի համաժամեցում LinuxNTP, Chrony և systemd-timesyncd

Ժամանակի համաժամեցում LinuxNTP, 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:

RPM փաթեթները NTP-ի, Chrony-ի և systemd-timesyncd-ի համար հասանելի են ստանդարտ 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-ի համար տեղական ժամանակն օգտագործելու մասին. սա վերաբերում է ժամային գոտու փոփոխություններին և ամառային ժամանակի կարգավորումներին: Եթե ​​համակարգիչը անջատված է, երբ դուք պետք է փոփոխություններ կատարեք, RTC-ի ժամանակը չի փոխվի: Բայց սերվերների կամ այլ հոստերի համար, որոնք աշխատում են 24/7, դա ամենևին էլ խնդիր չէ: Բացի այդ, ցանկացած ծառայություն, որն ապահովում է 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 ծառայությունը սահմանում է համակարգի ժամանակը՝ հիմնվելով ժամանակի վրա: Ժամադրոշմները պահպանվում են ժամանակի համաժամացման դաեմոնի կողմից և ստեղծվում են յուրաքանչյուր հաջող համաժամացման արդյունքում:

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-ի ֆունկցիոնալությունից։

Մեկ այլ նշում. NTP-ն իրականացնելու համար ձեզանից չի պահանջվում օգտագործել systemd գործիքներ: Դուք կարող եք օգտագործել ntpd-ի, Chrony-ի կամ մեկ այլ NTP ներդրման ավելի հին տարբերակը: Ի վերջո, systemd-ը բաղկացած է մեծ թվով ծառայություններից. Դրանցից շատերը կամընտիր են, այնպես որ կարող եք դրանք անջատել և փոխարենը օգտագործել այլ բան: Դա հսկայական միաձույլ հրեշ չէ: Դուք կարող եք չսիրել systemd-ը կամ դրա մասերը, բայց դուք պետք է տեղեկացված որոշում կայացնեք:

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

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

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

Ժամանակի համաժամեցում LinuxNTP, Chrony և systemd-timesyncd

Source: www.habr.com

Գնեք հուսալի հոստինգ DDoS պաշտպանությամբ կայքերի, VPS VDS սերվերների համար 🔥 Գնեք հուսալի կայքերի հոսթինգ՝ DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster