የሊኑክስ ጊዜ ማመሳሰል፡ NTP፣ Chrony እና systemd-timesyncd

የሊኑክስ ጊዜ ማመሳሰል፡ NTP፣ Chrony እና systemd-timesyncd
ብዙ ሰዎች ጊዜን ይከታተላሉ. በሰዓቱ ተነስተን የጠዋት ስርአታችንን ጨርሰን ወደ ስራ እንሄዳለን፣ የምሳ እረፍት ለመውሰድ፣ የፕሮጀክት ቀነ-ገደቦችን ለማሟላት፣ የልደት እና በዓላትን ለማክበር፣ በአውሮፕላን ለመሳፈር ወዘተ.

ከዚህም በላይ፡ አንዳንዶቻችን በጊዜ ተጠምደናል። የእኔ ሰዓት በፀሃይ ሃይል የሚሰራ እና ትክክለኛ ጊዜን ከብሄራዊ ደረጃዎች እና ቴክኖሎጂ ኢንስቲትዩት ያገኛል (NIST) ወደ ፎርት ኮሊንስ፣ ኮሎራዶ በረጅም ሞገድ ሬዲዮ WWVB. የሰዓት ምልክቶች ከአቶሚክ ሰዓት ጋር ይመሳሰላሉ፣ እንዲሁም በፎርት ኮሊንስ ይገኛሉ። My Fitbit ከአገልጋዩ ጋር ከሚያመሳስለው ስልኬ ጋር እያመሳሰለ ነው። የኤን, ይህም በመጨረሻ ከአቶሚክ ሰዓት ጋር ይመሳሰላል.

መሳሪያዎች ጊዜን ይከታተላሉ

መሳሪያዎቻችን እና ኮምፒውተሮቻችን ትክክለኛ ጊዜ የሚያስፈልጋቸው ብዙ ምክንያቶች አሉ። ለምሳሌ በባንክ፣ በስቶክ ገበያዎች እና በሌሎች የፋይናንስ ንግዶች ግብይቶች በተገቢው ቅደም ተከተል መከናወን አለባቸው፣ እና ትክክለኛ የጊዜ ቅደም ተከተሎች ለዚህ ወሳኝ ናቸው።

የእኛ ስልኮች፣ ታብሌቶች፣ መኪናዎች፣ ጂፒኤስ ሲስተሞች እና ኮምፒውተሮቻችን ሁሉም ትክክለኛ የሰዓት እና የቀን መቼት ያስፈልጋቸዋል። በኮምፒውተሬ ዴስክቶፕ ላይ ያለው ሰዓት ትክክለኛውን ሰዓት እንዲያሳይ እፈልጋለሁ። አስታዋሾች በአካባቢዬ የቀን መቁጠሪያ ላይ በትክክለኛው ጊዜ እንዲታዩ እፈልጋለሁ። ትክክለኛው ጊዜ ክሮን እና የስርዓት ስራዎች በትክክለኛው ጊዜ እንዲሰሩ ያረጋግጣል.

ቀን እና ሰዓት ለመመዝገብም አስፈላጊ ናቸው፣ ስለዚህ ቀን እና ሰዓት ላይ ተመስርተው የተወሰኑ ምዝግብ ማስታወሻዎችን ማግኘት ትንሽ ቀላል ነው። ለምሳሌ፣ አንድ ጊዜ በዴቭኦፕስ ውስጥ ሠርቻለሁ (በዚያን ጊዜ ተብሎ አልተጠራም) እና በሰሜን ካሮላይና ግዛት ውስጥ የኢሜይል ስርዓት እያቋቋምኩ ነበር። በቀን ከ20 ሚሊዮን በላይ ኢሜይሎችን እናሰራ ነበር። ኢሜልን በተከታታይ ሰርቨሮች መከታተል ወይም በጂኦግራፊያዊ ሁኔታ በተበተኑ አስተናጋጆች ላይ የምዝግብ ማስታወሻ ፋይሎችን በመጠቀም የክስተቶችን ትክክለኛ ቅደም ተከተል መወሰን ፣የሚመለከታቸው ኮምፒውተሮች በጊዜ ከተመሳሰሉ በጣም ቀላል ይሆናል።

አንድ ጊዜ - ብዙ ሰዓታት

የሊኑክስ አስተናጋጆች የስርዓት ጊዜ እና የRTC ጊዜ እንዳለ ግምት ውስጥ ማስገባት አለባቸው። RTC (Real Time Clock) ለሃርድዌር ሰዓት ትንሽ እንግዳ እና በጣም ትክክለኛ ስም አይደለም።

በሲስተም ማዘርቦርድ ላይ ያለውን ባትሪ በመጠቀም ኮምፒዩተሩ ሲጠፋ የሃርድዌር ሰዓቱ ያለማቋረጥ ይሰራል። የ RTC ዋና ተግባር ከሰዓት አገልጋይ ጋር ግንኙነት በማይኖርበት ጊዜ ጊዜን ማከማቸት ነው. በበይነመረቡ ላይ የጊዜ አገልጋይን ማገናኘት በማይቻልበት ጊዜ እያንዳንዱ ኮምፒዩተር ትክክለኛ የውስጥ ሰዓት ሊኖረው ይገባል። ኦፕሬቲንግ ሲስተሞች RTCን በሚነሳበት ጊዜ መድረስ ነበረባቸው እና ተጠቃሚው ትክክል መሆኑን ለማረጋገጥ የ BIOS ሃርድዌር ውቅረት በይነገጽን በመጠቀም የስርዓት ጊዜውን በእጅ ማዘጋጀት ነበረበት።

የሃርድዌር ሰዓቶች የጊዜ ሰቆች ጽንሰ-ሀሳብ አይረዱም; RTC ሰዓቱን ብቻ ያከማቻል እንጂ የሰዓት ሰቅ ወይም ከUTC (የተቀናጀ ሁለንተናዊ ሰዓት፣ እንዲሁም ጂኤምቲ ወይም የግሪንዊች አማካይ ጊዜ በመባልም ይታወቃል) አይደለም። በዚህ ጽሑፍ ውስጥ በኋላ የምሸፍነውን መሳሪያ በመጠቀም RTCን መጫን ይችላሉ.

የስርዓት ጊዜ ስርዓተ ክወናው በዴስክቶፕዎ ላይ ባለው GUI ሰዓት ላይ ፣ በቀን ትዕዛዝ ውፅዓት ፣ በምዝግብ ማስታወሻዎች የጊዜ ማህተም ላይ የሚያሳየው ጊዜ ነው። ይህ ፋይሎች ሲፈጠሩ፣ ሲሻሻሉ እና ሲከፈቱም ይሠራል።

ገጽ ላይ ሰው ለ rtc የ RTC እና የስርዓቱ ሰዓት ሙሉ መግለጫ አለ።

ከኤንቲፒ ጋር ምን አለ?

በአለም ዙሪያ ያሉ ኮምፒውተሮች የNTP አገልጋዮችን ተዋረድ በመጠቀም ጊዜያቸውን በኢንተርኔት ላይ ከመደበኛ የማጣቀሻ ሰዓቶች ጋር ለማመሳሰል NTP (Network Time Protocol) ይጠቀማሉ። ዋናው የሰዓት ሰርቨሮች በንብርብ 1 ላይ የሚገኙ ሲሆን በንብርብ 0 ላይ ከተለያዩ የሃገር አቀፍ የሰአት አገልግሎቶች ጋር በቀጥታ በሳተላይት፣ በራዲዮ ወይም በሞደምም ጭምር በስልክ መስመር የተገናኙ ናቸው። የንብርብር 0 ጊዜ አገልግሎት አቶሚክ ሰዓት፣ በአቶሚክ ሰዓቶች የሚተላለፉ ምልክቶችን የሚመለከት የራዲዮ ተቀባይ ወይም በጂፒኤስ ሳተላይቶች የሚተላለፉ በጣም ትክክለኛ የሰዓት ምልክቶችን የሚጠቀም ጂፒኤስ ተቀባይ ሊሆን ይችላል።

አብዛኛዎቹ የማመሳከሪያ ሰርቨሮች ለህዝብ ክፍት የሆኑ ብዙ ሺህ የህዝብ NTP stratum 2 አገልጋዮች አሏቸው። ብዙ ድርጅቶች እና ተጠቃሚዎች (እኔ ራሴን ጨምሮ) የኤንቲፒ አገልጋይ የሚያስፈልጋቸው ብዙ አስተናጋጆች የራሳቸውን የሰዓት ሰርቨሮች ማዋቀር ስለሚመርጡ አንድ የሃገር ውስጥ አስተናጋጅ ብቻ stratum 2 ወይም 3 ይደርሳል። ከዚያም በኔትወርኩ ላይ የቀሩትን ኖዶች የአካባቢውን ለመጠቀም ያዋቅራሉ። የጊዜ አገልጋይ . በቤቴ አውታረመረብ ውስጥ ይህ ንብርብር 3 አገልጋይ ነው።

የተለያዩ የNTP አተገባበር

የNTP የመጀመሪያው ትግበራ ntpd ነው። ከዚያም ሁለት አዳዲስ፣ ክሮኒድ እና ሲስተድ-timesyncd ተቀላቅለዋል። ሦስቱም የአካባቢውን አስተናጋጅ ጊዜ ከኤንቲፒ ጊዜ አገልጋይ ጋር ያመሳስላሉ። ሲስተድ-timesyncd አገልግሎት እንደ chronyd አስተማማኝ አይደለም፣ ነገር ግን ለአብዛኛዎቹ ዓላማዎች በቂ ነው። RTC ካልተመሳሰለ፣ የአካባቢው ስርዓት ጊዜ በትንሹ ሲንሳፈፍ ከኤንቲፒ አገልጋይ ጋር ለማመሳሰል የስርዓት ሰዓቱን ቀስ በቀስ ማስተካከል ይችላል። የስርዓትd-timesync አገልግሎት እንደ ጊዜ አገልጋይ መጠቀም አይቻልም።

ሥር የሰደደ ሁለት ፕሮግራሞችን የያዘ የNTP ትግበራ ነው፡ ክሮኒድ ዴሞን እና የትእዛዝ መስመር በይነገጽ ክሮኒክ። Chrony በብዙ ጉዳዮች ላይ አስፈላጊ የሆኑ አንዳንድ ባህሪዎች አሉት።

  • Chrony ከአሮጌው ntpd አገልግሎት በበለጠ ፍጥነት ከጊዜ አገልጋይ ጋር ማመሳሰል ይችላል። ይህ ሁልጊዜ የማይሰሩ ላፕቶፖች ወይም ዴስክቶፖች ጥሩ ነው።
  • የሰዓት መለዋወጥን ለምሳሌ አስተናጋጁ ሲተኛ ወይም ወደ እንቅልፍ ሁነታ ሲገባ፣ ወይም በድግግሞሽ መጨናነቅ ምክንያት ሰዓቱ ሲቀየር፣ ይህም በሰዓቱ ዝቅተኛ ጭነት እንዲቀንስ ያደርጋል።
  • ያልተረጋጋ የአውታረ መረብ ግንኙነት ወይም የአውታረ መረብ መጨናነቅ ጋር የተያያዙ የጊዜ ችግሮችን ይፈታል.
  • የኔትወርክ መዘግየትን ይቆጣጠራል።
  • ከመጀመሪያው ጊዜ ማመሳሰል በኋላ፣ Chrony መቼም ሰዓቱን አያቆምም። ይህ ለብዙ የስርዓት አገልግሎቶች እና አፕሊኬሽኖች የተረጋጋ እና ወጥ የሆነ የጊዜ ገደብ ያቀርባል።
  • Chrony ያለ አውታረ መረብ ግንኙነት እንኳን መስራት ይችላል። በዚህ አጋጣሚ የአካባቢው አስተናጋጅ ወይም አገልጋይ በእጅ ሊዘመን ይችላል።
  • Chrony እንደ NTP አገልጋይ መስራት ይችላል።

አሁንም NTP በሊኑክስ አስተናጋጅ ላይ Chrony ወይም systemd-timesyncd በመጠቀም ሊተገበር የሚችል ፕሮቶኮል ነው።

የNTP፣ Chrony እና በስርዓት የተመሳሰሉ RPMዎች በመደበኛው የFedora ማከማቻዎች ውስጥ ይገኛሉ። systemd-udev RPM በነባሪ Fedora ላይ የተጫነ የከርነል ክስተት አስተዳዳሪ ነው፣ነገር ግን አማራጭ ነው።

ሶስቱንም መጫን እና በመካከላቸው መቀያየር ይችላሉ, ነገር ግን ይህ ተጨማሪ ራስ ምታት ይፈጥራል. ስለዚህ ባይሆን ይሻላል። ዘመናዊ የFedora፣ CentOS እና RHEL ልቀቶች እንደ ነባሪ ትግበራ ወደ Chrony ተንቀሳቅሰዋል፣ እና እነሱም በስርዓት የተደገፈ-timesyncd አላቸው። Chrony በጥሩ ሁኔታ የሚሰራ ፣ ከኤንቲፒ አገልግሎት የተሻለ በይነገጽ የሚያቀርብ ፣ ብዙ ተጨማሪ መረጃ እና ቁጥጥር የሚያደርግ ፣ የስርዓት አስተዳዳሪዎች በእርግጠኝነት የሚደሰቱበት ሆኖ አግኝቼዋለሁ።

የኤንቲፒ አገልግሎቶችን በማሰናከል ላይ

የኤንቲፒ አገልግሎት አስቀድሞ በአስተናጋጅዎ ላይ እየሰራ ሊሆን ይችላል። ከሆነ ወደ ሌላ ነገር ከመቀየርዎ በፊት ማሰናከል ያስፈልግዎታል። ክሮኒድ እየሮጥኩ ነበር ስለዚህ ለማቆም እና ለማሰናከል የሚከተሉትን ትዕዛዞች ተጠቀምኩ። በአስተናጋጅዎ ላይ ለሚሰሩት ማንኛውም የNTP daemon ተገቢውን ትዕዛዞችን ያሂዱ፡-

[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 ~]#

ከመጀመሩ በፊት የሁኔታ ማረጋገጫ

የስርዓት ሰዓት ማመሳሰል ሁኔታ የኤንቲፒ አገልግሎት እየሰራ መሆኑን ለማወቅ ያስችልዎታል። ኤንቲፒን ገና ስላልጀመርክ የ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 ጊዜ እና ለአርቲሲ ጊዜ የአካባቢ ጊዜ ይሰጥዎታል። በዚህ ሁኔታ የስርዓት ጊዜ ወደ አሜሪካ / ኒው ዮርክ (TZ) የሰዓት ሰቅ ተዘጋጅቷል, RTC በአካባቢው የሰዓት ሰቅ ውስጥ ተዘጋጅቷል, እና የ NTP አገልግሎት ንቁ አይደለም. የ RTC ጊዜ ከስርዓቱ ጊዜ ትንሽ ማፈንገጥ ጀምሯል። ይህ ሰዓታቸው ላልተመሳሰለ ስርዓቶች የተለመደ ነው። በአስተናጋጁ ላይ ያለው የማካካሻ መጠን ስርዓቱ ለመጨረሻ ጊዜ ከተመሳሰለ በኋላ ባለው ጊዜ ላይ ይወሰናል.

እንዲሁም የአካባቢ ሰዓትን ለ RTC ስለመጠቀም ማስጠንቀቂያ ደርሰናል - ይህ በሰዓት ሰቅ ለውጦች እና በ DST ቅንብሮች ላይ ይመለከታል። ለውጦች መደረግ ሲፈልጉ ኮምፒዩተሩ ከጠፋ፣ RTC አይቀየርም። ግን ከሰዓት በኋላ ለሚሰሩ አገልጋዮች ወይም ሌሎች አስተናጋጆች ይህ በጭራሽ ችግር አይደለም። በተጨማሪም፣ የNTP ጊዜ ማመሳሰልን የሚያቀርብ ማንኛውም አገልግሎት የአስተናጋጁን ጊዜ በመነሻ ጅምር ምዕራፍ ያስተካክላል፣ ስለዚህ ጅምር ከተጠናቀቀ በኋላ ጊዜው እንደገና ትክክል ይሆናል።

የሰዓት ሰቅ ማቀናበር

ብዙውን ጊዜ, በመትከል ሂደት ውስጥ የሰዓት ሰቅ ይግለጹ እና በኋላ ላይ የመቀየር ተግባር የለዎትም. ሆኖም የሰዓት ዞኑን መቀየር የሚያስፈልግዎ ጊዜዎች አሉ። ሊረዱ የሚችሉ በርካታ መሳሪያዎች አሉ. ሊኑክስ የአስተናጋጁን አካባቢያዊ የሰዓት ሰቅ ለመወሰን የሰዓት ሰቅ ፋይሎችን ይጠቀማል። እነዚህ ፋይሎች በማውጫው ውስጥ ናቸው። /usr/share/zoneinfo. በነባሪ፣ ለኔ የሰዓት ሰቅ፣ ስርዓቱ ይህንን ያዛል፡- /etc/localtime -> ../usr/share/zoneinfo/አሜሪካ/ኒው_ዮርክ. ግን የሰዓት ዞኑን ለመለወጥ እንደዚህ ያሉ ጥቃቅን ነገሮችን ማወቅ አያስፈልግዎትም።

ዋናው ነገር ለአካባቢዎ ኦፊሴላዊ የሰዓት ሰቅ ስም እና ተዛማጅ ትዕዛዝ ማወቅ ነው. የሰዓት ዞኑን ወደ ሎስ አንጀለስ ለመቀየር ይፈልጋሉ እንበል፡-


[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

የስርዓት ጊዜ ማመሳሰል ዴሞን በስርዓት አውድ ውስጥ ለማስተዳደር ቀላል የሆነ የNTP ትግበራን ይሰጣል። በነባሪ በ Fedora እና Ubuntu ላይ ተጭኗል። ሆኖም በነባሪ በኡቡንቱ ብቻ ይጀምራል። ስለ ሌሎች ስርጭቶች እርግጠኛ አይደለሁም። እራስዎን ማረጋገጥ ይችላሉ-

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

በስርዓት የተመሳሰለውን በማዋቀር ላይ

የስርዓትd-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

የጊዜ ማመሳሰልን በማስኬድ ላይ

በስርዓተ-ጊዜ ማመሳሰልን መጀመር እና እንደዚህ ገባሪ ማድረግ ይችላሉ፡-

[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 ~]#

የሃርድዌር ሰዓቱን በማዘጋጀት ላይ

የጊዜ ማመሳሰልን ካካሄዱ በኋላ ሁኔታው ​​​​ይህ ይመስላል

[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 ያስፈልገዎታል?

ማንኛውም የNTP ትግበራ የስርዓት ሰዓቱን በሚነሳበት ጊዜ ያዘጋጃል። እና ለምን ከዚያ RTC? ይህ ሙሉ በሙሉ እውነት አይደለም፡ ይህ የሚሆነው የጊዜ አገልጋዩ የአውታረ መረብ ግንኙነት ካሎት ብቻ ነው። ነገር ግን፣ ብዙ ሲስተሞች የአውታረ መረብ ግንኙነትን ሁልጊዜ ማግኘት አይችሉም፣ ስለዚህ የሃርድዌር ሰዓት ሊኑክስ የስርዓት ጊዜን ለማዘጋጀት ይጠቅማል። ምንም እንኳን ከእውነተኛ ጊዜ ቢያፈነግጥም ይህ ጊዜውን በእጅ ከማስቀመጥ የተሻለ ነው።

መደምደሚያ

ይህ ጽሑፍ የቀን፣ የሰዓት እና የሰዓት ሰቆችን ለመቆጣጠር አንዳንድ መሳሪያዎችን ገምግሟል። የስርዓት-ጊዜ ማመሳሰል መሳሪያ በአካባቢው አስተናጋጅ ላይ ያለውን ጊዜ ከኤንቲፒ አገልጋይ ጋር ማመሳሰል የሚችል የNTP ደንበኛን ይሰጣል። ነገር ግን systemd-timesyncd የአገልጋይ አገልግሎት አይሰጥም፣ስለዚህ በኔትዎርክዎ ላይ የኤንቲፒ አገልጋይ ከፈለጉ እንደ አገልጋይ ለመስራት እንደ Chrony ያለ ሌላ ነገር መጠቀም አለብዎት።

በኔትወርኩ ላይ ላለ ለማንኛውም አገልግሎት አንድ ነጠላ ትግበራ እንዲኖረኝ እመርጣለሁ፣ ስለዚህ Chronyን እጠቀማለሁ። የአካባቢ ኤንቲፒ አገልጋይ ካልፈለግክ ወይም Chronyን እንደ አገልጋይ እና በስርዓት የተደገፈ ጊዜ ማመሳሰልን እንደ SNTP ደንበኛ መጠቀም ካልተቸገርክ። ደግሞም በስርዓተ-ታይም ማመሳሰል ተግባር ከተረኩ የChrony ተጨማሪ ባህሪያትን እንደ ደንበኛ መጠቀም አያስፈልግም።

ሌላ ማስታወሻ፡ ኤንቲፒን ለመተግበር የስርዓት መሳሪያዎችን መጠቀም አያስፈልግም። የቆየ የ ntpd፣ Chrony ወይም ሌላ የNTP ትግበራን መጠቀም ትችላለህ። ከሁሉም በላይ, systemd ብዙ ቁጥር ያላቸውን አገልግሎቶች ያካትታል; ብዙዎቹ አማራጭ ናቸው፣ ስለዚህ እነሱን ማጥፋት እና በምትኩ ሌላ ነገር መጠቀም ይችላሉ። ይህ ግዙፍ አሀዳዊ ጭራቅ አይደለም። ስርዓቱን ወይም ክፍሎቹን ላይወዱት ይችላሉ፣ ግን በመረጃ ላይ የተመሰረተ ውሳኔ ማድረግ አለብዎት።

የNTP systemd ትግበራን እወዳለሁ፣ ግን Chronyን እመርጣለሁ ምክንያቱም ፍላጎቶቼን በተሻለ ስለሚያሟላ። ሊኑክስ ነው፣ ሕፃን -)

በቅጂ መብቶች ላይ

VDSina ያቀርባል ለማንኛውም ተግባር አገልጋዮች, ለራስ-ሰር ጭነት ትልቅ የስርዓተ ክወናዎች ምርጫ, ማንኛውንም ስርዓተ ክወና ከእራስዎ መጫን ይቻላል አይኤስኦ፣ ምቹ የቁጥጥር ፓነል የራሱ ልማት እና ዕለታዊ ክፍያ. በእርግጠኝነት ጊዜ የማይሽራቸው ዘላለማዊ አገልጋዮች እንዳለን እናስታውስ 😉

የሊኑክስ ጊዜ ማመሳሰል፡ NTP፣ Chrony እና systemd-timesyncd

ምንጭ: hab.com

አስተያየት ያክሉ