Linux Time Synchronization: NTP, Chrony மற்றும் systemd-timesyncd

Linux Time Synchronization: NTP, Chrony மற்றும் systemd-timesyncd
பெரும்பாலான மக்கள் நேரத்தைக் கண்காணிக்கிறார்கள். காலைச் சடங்குகளை முடித்துவிட்டு வேலைக்குச் செல்வது, மதிய உணவு இடைவேளை எடுப்பது, திட்டக் காலக்கெடுவைச் சந்திப்பது, பிறந்தநாள் மற்றும் விடுமுறை நாட்களைக் கொண்டாடுவது, விமானம் ஏறுவது போன்ற பலவற்றைச் செய்ய நாங்கள் சரியான நேரத்தில் எழுந்து செல்கிறோம்.

மேலும்: நம்மில் சிலர் நேரத்தின் மீது வெறி கொண்டவர்கள். எனது கடிகாரம் சூரிய சக்தியால் இயக்கப்படுகிறது மற்றும் தேசிய தரநிலைகள் மற்றும் தொழில்நுட்ப நிறுவனத்திடமிருந்து துல்லியமான நேரத்தைப் பெறுகிறது (என்ஐஎஸ்டி) நீண்ட அலை வானொலி வழியாக ஃபோர்ட் காலின்ஸ், கொலராடோ WWVB. நேர சமிக்ஞைகள் ஃபோர்ட் காலின்ஸிலும் அமைந்துள்ள அணுக் கடிகாரத்துடன் ஒத்திசைக்கப்படுகின்றன. எனது ஃபிட்பிட் எனது தொலைபேசியுடன் ஒத்திசைக்கிறது, இது சர்வருடன் ஒத்திசைக்கப்படுகிறது என்டிபி, இது இறுதியில் அணு கடிகாரத்துடன் ஒத்திசைக்கிறது.

சாதனங்கள் நேரத்தையும் கண்காணிக்கும்

எங்கள் சாதனங்கள் மற்றும் கணினிகளுக்கு துல்லியமான நேரம் தேவைப்படுவதற்கு பல காரணங்கள் உள்ளன. எடுத்துக்காட்டாக, வங்கி, பங்குச் சந்தைகள் மற்றும் பிற நிதி வணிகங்களில், பரிவர்த்தனைகள் சரியான வரிசையில் மேற்கொள்ளப்பட வேண்டும், மேலும் துல்லியமான நேர வரிசைகள் இதற்கு முக்கியமானவை.

எங்கள் தொலைபேசிகள், டேப்லெட்டுகள், கார்கள், ஜிபிஎஸ் அமைப்புகள் மற்றும் கணினிகள் அனைத்திற்கும் துல்லியமான நேரம் மற்றும் தேதி அமைப்புகள் தேவை. எனது கணினியின் டெஸ்க்டாப்பில் உள்ள கடிகாரம் சரியான நேரத்தைக் காட்ட வேண்டும். எனது உள்ளூர் காலெண்டரில் சரியான நேரத்தில் நினைவூட்டல்கள் தோன்ற வேண்டும். கிரான் மற்றும் சிஸ்டம் வேலைகள் சரியான நேரத்தில் இயங்குவதை சரியான நேரம் உறுதி செய்கிறது.

பதிவு செய்வதற்கு தேதியும் நேரமும் முக்கியம், எனவே தேதி மற்றும் நேரத்தின் அடிப்படையில் சில பதிவுகளைக் கண்டறிவது சற்று எளிதானது. எடுத்துக்காட்டாக, நான் ஒருமுறை DevOps இல் பணிபுரிந்தேன் (அப்போது அது அப்படி அழைக்கப்படவில்லை) மற்றும் வட கரோலினா மாநிலத்தில் மின்னஞ்சல் அமைப்பை அமைத்துக் கொண்டிருந்தேன். நாங்கள் ஒரு நாளைக்கு 20 மில்லியனுக்கும் அதிகமான மின்னஞ்சல்களைச் செயலாக்குகிறோம். தொடர்ச்சியான சேவையகங்கள் மூலம் மின்னஞ்சலைக் கண்காணிப்பது அல்லது புவியியல் ரீதியாக சிதறடிக்கப்பட்ட ஹோஸ்ட்களில் பதிவுக் கோப்புகளைப் பயன்படுத்தி நிகழ்வுகளின் சரியான வரிசையைத் தீர்மானிப்பது, அந்தந்த கணினிகள் சரியான நேரத்தில் ஒத்திசைக்கப்பட்டால் மிகவும் எளிதாக இருக்கும்.

ஒரு முறை - பல மணி நேரம்

கணினி நேரம் மற்றும் RTC நேரம் இருப்பதை லினக்ஸ் ஹோஸ்ட்கள் கணக்கில் எடுத்துக்கொள்ள வேண்டும். RTC (Real Time Clock) என்பது வன்பொருள் கடிகாரத்திற்கு சற்று வித்தியாசமான மற்றும் மிகவும் துல்லியமான பெயர் அல்ல.

கணினி மதர்போர்டில் உள்ள பேட்டரியைப் பயன்படுத்தி, கணினி அணைக்கப்பட்டிருந்தாலும் வன்பொருள் கடிகாரம் தொடர்ந்து இயங்கும். நேர சேவையகத்திற்கான இணைப்பு கிடைக்காதபோது நேரத்தைச் சேமிப்பதே RTC இன் முக்கிய செயல்பாடு. இன்டர்நெட் மூலம் டைம் சர்வருடன் இணைக்க முடியாத காலத்தில், ஒவ்வொரு கணினியிலும் துல்லியமான உள் கடிகாரம் இருக்க வேண்டும். இயக்க முறைமைகள் துவக்க நேரத்தில் RTC ஐ அணுக வேண்டும், மேலும் அது சரியானதா என்பதை உறுதிசெய்ய பயனர் BIOS வன்பொருள் உள்ளமைவு இடைமுகத்தைப் பயன்படுத்தி கணினி நேரத்தை கைமுறையாக அமைக்க வேண்டும்.

வன்பொருள் கடிகாரங்கள் நேர மண்டலங்களின் கருத்தை புரிந்து கொள்ளவில்லை; RTC நேரத்தை மட்டுமே சேமிக்கிறது, நேர மண்டலம் அல்லது UTC (ஒருங்கிணைந்த யுனிவர்சல் நேரம், GMT அல்லது கிரீன்விச் சராசரி நேரம் என்றும் அழைக்கப்படுகிறது) ஆஃப்செட் அல்ல. இந்த கட்டுரையில் நான் பின்னர் விவரிக்கும் ஒரு கருவியைப் பயன்படுத்தி நீங்கள் RTC ஐ நிறுவலாம்.

கணினி நேரம் என்பது உங்கள் டெஸ்க்டாப்பில் உள்ள GUI கடிகாரத்தில், தேதி கட்டளையின் வெளியீட்டில், பதிவுகளின் நேர முத்திரைகளில் OS காண்பிக்கும் நேரமாகும். கோப்புகள் உருவாக்கப்பட்டு, மாற்றியமைக்கப்படும் மற்றும் திறக்கப்படும்போதும் இது பொருந்தும்.

பக்கத்தில் ஆர்டிசிக்கான மனிதன் RTC மற்றும் கணினி கடிகாரம் பற்றிய முழு விளக்கம் உள்ளது.

என்டிபியில் என்ன இருக்கிறது?

உலகெங்கிலும் உள்ள கணினிகள் NTP சேவையகங்களின் படிநிலையைப் பயன்படுத்தி இணையத்தில் நிலையான குறிப்பு கடிகாரங்களுடன் தங்கள் நேரத்தை ஒத்திசைக்க NTP (நெட்வொர்க் டைம் புரோட்டோகால்) ஐப் பயன்படுத்துகின்றன. முக்கிய நேர சேவையகங்கள் அடுக்கு 1 இல் உள்ளன, மேலும் அவை நேரடியாக செயற்கைக்கோள், ரேடியோ அல்லது மோடம்கள் வழியாக தொலைபேசி இணைப்புகள் வழியாக லேயர் 0 இல் பல்வேறு தேசிய நேர சேவைகளுடன் நேரடியாக இணைக்கப்பட்டுள்ளன. அடுக்கு 0 நேரச் சேவைகள் அணுக் கடிகாரம், அணுக் கடிகாரங்கள் மூலம் அனுப்பப்படும் சிக்னல்களுக்கு ஏற்ற ரேடியோ ரிசீவர் அல்லது ஜிபிஎஸ் செயற்கைக்கோள்களால் அனுப்பப்படும் மிகவும் துல்லியமான கடிகார சமிக்ஞைகளைப் பயன்படுத்தும் ஜிபிஎஸ் ரிசீவர்.

பெரும்பாலான குறிப்பு சேவையகங்களில் பல ஆயிரம் பொது NTP அடுக்கு 2 சேவையகங்கள் பொதுமக்களுக்கு திறக்கப்பட்டுள்ளன. NTP சேவையகம் தேவைப்படும் பல ஹோஸ்ட்களுடன் பல நிறுவனங்கள் மற்றும் பயனர்கள் (என்னையும் சேர்த்து) தங்கள் சொந்த நேர சேவையகங்களை அமைக்க தேர்வு செய்கிறார்கள், எனவே ஒரு உள்ளூர் ஹோஸ்ட் மட்டுமே அடுக்கு 2 அல்லது 3 ஐ அணுகுகிறது. பின்னர் அவர்கள் லோக்கல் பயன்படுத்த பிணையத்தில் மீதமுள்ள முனைகளை உள்ளமைக்கிறார்கள். நேர சேவையகம். எனது வீட்டு நெட்வொர்க்கைப் பொறுத்தவரை, இது அடுக்கு 3 சேவையகம்.

என்டிபியின் பல்வேறு செயலாக்கங்கள்

NTP இன் அசல் செயலாக்கம் ntpd ஆகும். இது chronyd மற்றும் systemd-timesyncd ஆகிய இரண்டு புதியவற்றால் இணைக்கப்பட்டது. மூன்றும் உள்ளூர் ஹோஸ்ட் நேரத்தை NTP நேர சேவையகத்துடன் ஒத்திசைக்கிறது. systemd-timesyncd சேவை chronyd போல நம்பகமானதாக இல்லை, ஆனால் பெரும்பாலான நோக்கங்களுக்காக இது போதுமானது. RTC ஒத்திசைவில்லாமல் இருந்தால், உள்ளூர் கணினி நேரம் சிறிது சிறிதாக மாறும்போது, ​​NTP சேவையகத்துடன் ஒத்திசைக்க கணினி நேரத்தை அது படிப்படியாக சரிசெய்யலாம். systemd-timesync சேவையை நேர சேவையகமாகப் பயன்படுத்த முடியாது.

குரோனி இது இரண்டு நிரல்களைக் கொண்ட NTP இன் செயலாக்கமாகும்: chronyd deemon மற்றும் chronyc எனப்படும் கட்டளை வரி இடைமுகம். க்ரோனி பல சந்தர்ப்பங்களில் இன்றியமையாத சில அம்சங்களைக் கொண்டுள்ளது:

  • Chrony ஆனது பழைய ntpd சேவையை விட மிக வேகமாக நேர சேவையகத்துடன் ஒத்திசைக்க முடியும். எல்லா நேரத்திலும் வேலை செய்யாத மடிக்கணினிகள் அல்லது டெஸ்க்டாப்புகளுக்கு இது நல்லது.
  • ஹோஸ்ட் தூங்கச் செல்லும் போது அல்லது ஸ்லீப் பயன்முறையில் நுழையும் போது அல்லது குறைந்த சுமைகளில் கடிகாரத்தை மெதுவாக்கும் அதிர்வெண் துள்ளல் காரணமாக கடிகாரம் மாறும்போது கடிகார ஏற்ற இறக்கங்களுக்கு இது ஈடுசெய்யும்.
  • இது நிலையற்ற பிணைய இணைப்பு அல்லது பிணைய நெரிசல் தொடர்பான நேரச் சிக்கல்களைத் தீர்க்கிறது.
  • இது பிணைய தாமதங்களை ஒழுங்குபடுத்துகிறது.
  • ஆரம்ப நேர ஒத்திசைவுக்குப் பிறகு, க்ரோனி கடிகாரத்தை நிறுத்தாது. இது பல கணினி சேவைகள் மற்றும் பயன்பாடுகளுக்கு நிலையான மற்றும் நிலையான நேர இடைவெளிகளை வழங்குகிறது.
  • நெட்வொர்க் இணைப்பு இல்லாமல் கூட Chrony வேலை செய்ய முடியும். இந்த வழக்கில், உள்ளூர் ஹோஸ்ட் அல்லது சர்வர் கைமுறையாக புதுப்பிக்கப்படும்.
  • க்ரோனி ஒரு NTP சேவையகமாக செயல்பட முடியும்.

மீண்டும், NTP என்பது க்ரோனி அல்லது systemd-timesyncd ஐப் பயன்படுத்தி லினக்ஸ் ஹோஸ்டில் செயல்படுத்தக்கூடிய ஒரு நெறிமுறையாகும்.

NTP, Chrony மற்றும் systemd-timesyncd RPMகள் நிலையான Fedora களஞ்சியங்களில் கிடைக்கின்றன. systemd-udev RPM என்பது கர்னல் நிகழ்வு மேலாளர் ஆகும், இது ஃபெடோராவில் முன்னிருப்பாக நிறுவப்பட்டது, ஆனால் விருப்பமானது.

நீங்கள் மூன்றையும் நிறுவி அவற்றுக்கிடையே மாறலாம், ஆனால் இது கூடுதல் தலைவலியை உருவாக்கும். எனவே செய்யாமல் இருப்பது நல்லது. Fedora, CentOS மற்றும் RHEL இன் நவீன வெளியீடுகள் இயல்புநிலை செயலாக்கமாக Chrony க்கு நகர்த்தப்பட்டுள்ளன, மேலும் அவை systemd-timesyncd ஐயும் கொண்டுள்ளன. க்ரோனி நன்றாக வேலை செய்வதாகவும், என்டிபி சேவையை விட சிறந்த இடைமுகத்தை வழங்குவதாகவும், அதிக தகவல்களையும் கட்டுப்பாட்டையும் வழங்குவதையும், கணினி நிர்வாகிகள் நிச்சயமாக ரசிப்பதையும் நான் காண்கிறேன்.

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 நேர ஒத்திசைவை வழங்கும் எந்தவொரு சேவையும் ஆரம்ப தொடக்க கட்டத்தில் ஹோஸ்டின் நேரத்தைச் சரிசெய்யும், எனவே தொடக்கம் முடிந்ததும் நேரம் மீண்டும் சரியாகிவிடும்.

நேர மண்டலத்தை அமைத்தல்

வழக்கமாக, நிறுவல் செயல்முறையின் போது நீங்கள் நேர மண்டலத்தைக் குறிப்பிடுகிறீர்கள், பின்னர் அதை மாற்றும் பணி உங்களிடம் இல்லை. இருப்பினும், நீங்கள் நேர மண்டலத்தை மாற்ற வேண்டிய நேரங்கள் உள்ளன. உதவக்கூடிய பல கருவிகள் உள்ளன. ஹோஸ்டின் உள்ளூர் நேர மண்டலத்தைக் கண்டறிய லினக்ஸ் நேர மண்டலக் கோப்புகளைப் பயன்படுத்துகிறது. இந்த கோப்புகள் கோப்பகத்தில் உள்ளன /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>

இப்போது நீங்கள் நேர மண்டலத்தை அமைக்கலாம். மாற்றங்களைச் சரிபார்க்க நான் தேதி கட்டளையைப் பயன்படுத்தினேன், ஆனால் நீங்கள் 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 டீமான், systemd சூழலில் எளிதாக நிர்வகிக்கக்கூடிய NTP செயலாக்கத்தை வழங்குகிறது. இது ஃபெடோரா மற்றும் உபுண்டுவில் முன்னிருப்பாக நிறுவப்பட்டுள்ளது. இருப்பினும், இது உபுண்டுவில் இயல்புநிலையாக மட்டுமே தொடங்குகிறது. மற்ற விநியோகங்களைப் பற்றி எனக்குத் தெரியவில்லை. நீங்களே சரிபார்க்கலாம்:

[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

கருத்துகளைத் தவிர, அதில் உள்ள ஒரே பகுதி [நேரம்]. மற்ற அனைத்து வரிகளும் கருத்துரைக்கப்பட்டுள்ளன. இவை இயல்புநிலை மதிப்புகள் மற்றும் மாற்றப்படக்கூடாது (உங்களுக்கு ஒரு காரணம் இல்லாவிட்டால்). உங்களிடம் 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 கட்டளைக்கு வழி இல்லை. இது கட்டளை வரியில் உள்ளிடப்பட்ட மதிப்பிலிருந்து நேரத்தையும் தேதியையும் மட்டுமே அமைக்க முடியும். hwclock கட்டளையைப் பயன்படுத்தி கணினி நேரத்தின் அதே மதிப்பிற்கு RTC ஐ அமைக்கலாம்:

[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 தேவை?

என்டிபியின் எந்தவொரு செயலாக்கமும் கணினி கடிகாரத்தை தொடக்க நேரத்தில் அமைக்கும். பிறகு ஏன் ஆர்டிசி? இது முற்றிலும் உண்மையல்ல: நேர சேவையகத்துடன் பிணைய இணைப்பு இருந்தால் மட்டுமே இது நடக்கும். இருப்பினும், பல கணினிகளுக்கு எப்போதும் பிணைய இணைப்புக்கான அணுகல் இருக்காது, எனவே கணினி நேரத்தை அமைக்க லினக்ஸுக்கு வன்பொருள் கடிகாரம் பயனுள்ளதாக இருக்கும். இது நிகழ்நேரத்திலிருந்து விலகியிருந்தாலும், கைமுறையாக நேரத்தை அமைப்பதை விட இது சிறந்தது.

முடிவுக்கு

தேதி, நேரம் மற்றும் நேர மண்டலங்களைக் கையாளுவதற்கான சில கருவிகளை இந்தக் கட்டுரை மதிப்பாய்வு செய்துள்ளது. systemd-timesyncd கருவி ஒரு NTP கிளையண்டை வழங்குகிறது, இது உள்ளூர் ஹோஸ்டில் உள்ள நேரத்தை NTP சேவையகத்துடன் ஒத்திசைக்க முடியும். இருப்பினும், systemd-timesyncd சேவையக சேவையை வழங்காது, எனவே உங்கள் பிணையத்தில் NTP சேவையகம் தேவைப்பட்டால், சேவையகமாகச் செயல்பட Chrony போன்ற வேறு ஒன்றைப் பயன்படுத்த வேண்டும்.

எனது நெட்வொர்க்கில் உள்ள எந்த ஒரு சேவைக்கும் ஒரே செயல்படுத்தலை நான் விரும்புகிறேன், அதனால் நான் க்ரோனியைப் பயன்படுத்துகிறேன். உங்களுக்கு உள்ளூர் NTP சேவையகம் தேவையில்லை எனில், அல்லது Chrony ஐ சேவையகமாகவும் systemd-timesyncd ஐ SNTP கிளையண்டாகவும் பயன்படுத்துவதில் உங்களுக்கு விருப்பமில்லை என்றால். எல்லாவற்றிற்கும் மேலாக, systemd-timesyncd இன் செயல்பாட்டில் நீங்கள் திருப்தி அடைந்தால், Chrony இன் கூடுதல் அம்சங்களை கிளையண்டாகப் பயன்படுத்த வேண்டிய அவசியமில்லை.

மற்றொரு குறிப்பு: என்டிபியை செயல்படுத்த நீங்கள் systemd கருவிகளைப் பயன்படுத்தத் தேவையில்லை. நீங்கள் ntpd, Chrony அல்லது மற்றொரு NTP செயலாக்கத்தின் பழைய பதிப்பைப் பயன்படுத்தலாம். எல்லாவற்றிற்கும் மேலாக, systemd அதிக எண்ணிக்கையிலான சேவைகளைக் கொண்டுள்ளது; அவற்றில் பல விருப்பமானவை, எனவே நீங்கள் அவற்றை அணைத்துவிட்டு வேறு ஏதாவது ஒன்றைப் பயன்படுத்தலாம். இது ஒரு பெரிய ஒற்றை அசுரன் அல்ல. நீங்கள் systemd அல்லது அதன் பகுதிகளை விரும்பாமல் இருக்கலாம், ஆனால் நீங்கள் தகவலறிந்த முடிவை எடுக்க வேண்டும்.

என்டிபியை systemd செயல்படுத்துவதை நான் விரும்புகிறேன், ஆனால் இது எனது தேவைகளுக்கு மிகவும் பொருத்தமானது என்பதால் நான் Chrony ஐ விரும்புகிறேன். இது லினக்ஸ், குழந்தை -)

விளம்பரம் உரிமைகள் மீது

VDSina வழங்குகிறது எந்தவொரு பணிக்கும் சேவையகங்கள், தானியங்கி நிறுவலுக்கான இயக்க முறைமைகளின் ஒரு பெரிய தேர்வு, உங்கள் சொந்த OS ஐ நிறுவுவது சாத்தியமாகும் ஐஎஸ்ஓ, வசதியான கட்டுப்பாட்டு குழு சொந்த வளர்ச்சி மற்றும் தினசரி கட்டணம். எங்களிடம் நித்திய சேவையகங்கள் உள்ளன என்பதை நினைவில் கொள்க, அவை நிச்சயமாக காலமற்றவை 😉

Linux Time Synchronization: NTP, Chrony மற்றும் systemd-timesyncd

ஆதாரம்: www.habr.com

கருத்தைச் சேர்