لينڪس ٽائيم هم وقت سازي: NTP، Chrony ۽ systemd-timesyncd

لينڪس ٽائيم هم وقت سازي: NTP، Chrony ۽ systemd-timesyncd
گھڻا ماڻھو وقت جي باخبر رھندا آھن. اسان پنهنجي صبح جي رسمن کي پورو ڪرڻ ۽ ڪم تي وڃڻ لاء وقت تي اٿون ٿا، لنچ برڪ وٺو، منصوبي جي آخري وقت تي پورا ڪريو، سالگره ۽ موڪلون ملهائي، جهاز ۾ سوار ٿي، وغيره.

وڌيڪ: اسان مان ڪجهه وقت سان جنون آهن. منهنجي واچ سولر انرجي سان هلندڙ آهي ۽ نيشنل انسٽيٽيوٽ آف اسٽينڊرڊز اينڊ ٽيڪنالاجي کان صحيح وقت حاصل ڪري ٿي (اينسٽ) فورٽ کولنز، ڪولوراڊو تائين لانگ ويو ريڊيو ذريعي ڊبليو ڊبليو ايف. وقت جا سگنل ايٽمي گھڙي سان هم وقت ساز ٿين ٿا، فورٽ کولنز ۾ پڻ واقع آهن. منهنجو Fitbit منهنجي فون سان هم وقت ٿي رهيو آهي جيڪو سرور سان هم وقت ٿي رهيو آهي اين پي ٽي، جيڪو آخرڪار ايٽمي ڪلاڪ سان هم وقت سازي ڪري ٿو.

ڊوائيس پڻ وقت جي نگراني ڪن ٿا

اهڙا ڪيترائي سبب آهن ڇو ته اسان جي ڊوائيسز ۽ ڪمپيوٽرن کي صحيح وقت جي ضرورت آهي. مثال طور، بئنڪنگ، اسٽاڪ مارڪيٽن، ۽ ٻين مالي ڪاروبارن ۾، ٽرانزيڪشن کي مناسب ترتيب ۾ ٿيڻ گهرجي، ۽ صحيح وقت جي ترتيب هن لاء اهم آهن.

اسان جا فون، ٽيبليٽ، ڪارون، GPS سسٽم ۽ ڪمپيوٽرن سڀني کي درست وقت ۽ تاريخ جي سيٽنگن جي ضرورت آهي. مان چاهيان ٿو ته منهنجي ڪمپيوٽر جي ڊيسڪ ٽاپ تي گھڙي صحيح وقت ڏيکاري. مان چاهيان ٿو ته ياد ڏياريندڙ منهنجي مقامي ڪئلينڊر تي صحيح وقت تي ظاهر ٿين. صحيح وقت پڻ يقيني بڻائي ٿو ته ڪرون ۽ سسٽم جون نوڪريون صحيح وقت تي هلن ٿيون.

لاگنگ لاءِ تاريخ ۽ وقت پڻ اهم آهن، تنهنڪري تاريخ ۽ وقت جي بنياد تي ڪجهه لاگ ڳولڻ آسان آهي. مثال طور، مون هڪ دفعو DevOps ۾ ڪم ڪيو (ان وقت اهو نه سڏيو ويندو هو) ۽ اتر ڪيولينا جي رياست ۾ هڪ اي ميل سسٽم قائم ڪري رهيو هو. اسان روزانو 20 ملين کان وڌيڪ اي ميلون پروسيس ڪندا هئاسين. سرورز جي هڪ سيريز ذريعي اي ميل کي ٽريڪ ڪرڻ، يا جاگرافيائي طور تي منتشر ميزبان تي لاگ فائلن کي استعمال ڪندي واقعن جي صحيح ترتيب کي طئي ڪرڻ، تمام آسان ٿي سگهي ٿو جيڪڏهن لاڳاپيل ڪمپيوٽرن کي وقت ۾ هم وقت سازي ڪئي وڃي.

هڪ ڀيرو - ڪيترائي ڪلاڪ

لينڪس ميزبانن کي لازمي طور تي رکڻ گهرجي ته اتي هڪ سسٽم جو وقت ۽ هڪ RTC وقت آهي. RTC (حقيقي وقت جي گھڙي) ھڪڙو ٿورڙو عجيب ۽ بلڪل صحيح نالو آھي ھڪڙو هارڊويئر گھڙي لاءِ.

هارڊويئر گھڙي مسلسل هلندي آهي جيتوڻيڪ ڪمپيوٽر بند هجي، سسٽم مدر بورڊ تي بيٽري استعمال ڪندي. RTC جو بنيادي ڪم وقت کي ذخيرو ڪرڻ آهي جڏهن هڪ وقت سرور سان ڪنيڪشن موجود ناهي. انهن ڏينهن ۾ جڏهن انٽرنيٽ تي ٽائم سرور سان ڳنڍڻ ناممڪن هو، هر ڪمپيوٽر کي هڪ درست اندروني ڪلاڪ هجڻ گهرجي. آپريٽنگ سسٽم کي بوٽ وقت تي RTC تائين رسائي حاصل ڪرڻي پوندي هئي ۽ صارف کي دستي طور تي سسٽم جو وقت مقرر ڪرڻو پوندو هو BIOS هارڊويئر ڪنفيگريشن انٽرفيس استعمال ڪندي پڪ ڪرڻ لاءِ ته اهو صحيح هو.

هارڊويئر گھڙيون وقت جي زون جي تصور کي نه سمجھندا آھن؛ RTC صرف وقت کي محفوظ ڪري ٿو، نه ٽائيم زون يا UTC کان آفسيٽ (Coordinated Universal Time، GMT يا Greenwich Mean Time جي نالي سان پڻ سڃاتو وڃي ٿو). توهان هڪ اوزار استعمال ڪندي RTC انسٽال ڪري سگهو ٿا جيڪو آئون هن آرٽيڪل ۾ بعد ۾ ڍڪيندس.

سسٽم جو وقت اهو وقت آهي جيڪو OS ڏيکاري ٿو GUI گھڙي تي توهان جي ڊيسڪ ٽاپ تي، تاريخ جي حڪم جي آئوٽ ۾، لاگز جي ٽائم اسٽيمپ ۾. اهو پڻ لاڳو ٿئي ٿو جڏهن فائلون ٺاهي، تبديل ٿيل، ۽ کوليا وڃن.

پني تي انسان rtc لاء RTC ۽ سسٽم جي گھڙي جي مڪمل وضاحت آھي.

NTP سان ڇا آهي؟

سڄي دنيا جا ڪمپيوٽر NTP (نيٽ ورڪ ٽائم پروٽوڪول) استعمال ڪندا آهن انهن جي وقت کي هم وقت سازي ڪرڻ لاءِ انٽرنيٽ تي معياري حوالن جي گھڙين سان NTP سرورز جي ترتيب وار استعمال ڪندي. مين ٽائم سرورز پرت 1 تي آھن ۽ اھي سڌي طرح مختلف قومي وقت جي خدمتن سان پرت 0 تي سيٽلائيٽ، ريڊيو يا ايستائين جو موڊيم ذريعي ٽيليفون لائنن تي ڳنڍيل آھن. Layer 0 time services ٿي سگھي ٿو ايٽمي گھڙي، ھڪڙو ريڊيو رسيور جيڪو ائٽمي گھڙين جي ذريعي منتقل ٿيل سگنلن تي ٻڌل آھي، يا ھڪڙو GPS رسيور جيڪو GPS سيٽلائيٽ پاران منتقل ٿيل انتهائي درست گھڙي سگنل استعمال ڪري ٿو.

ريفرنس سرورز جي وڏي اڪثريت وٽ ڪيترائي ھزار عوامي NTP اسٽريٽم 2 سرور آھن جيڪي عوام لاءِ کليل آھن. ڪيتريون ئي تنظيمون ۽ استعمال ڪندڙ (پنهنجو پاڻ ۾ شامل آهن) گھڻن ھوسٽن سان جن کي NTP سرور جي ضرورت آھي پنھنجي وقت جي سرور کي سيٽ ڪرڻ لاءِ چونڊيندا آھن صرف ھڪڙو مقامي ھوسٽ اسٽريٽم 2 يا 3 تائين رسائي ڪري ٿو. اھي وري نيٽ ورڪ تي باقي نوڊس کي ترتيب ڏين ٿا مقامي استعمال ڪرڻ لاءِ. وقت سرور. منهنجي گهر نيٽ ورڪ جي صورت ۾، هي هڪ پرت 3 سرور آهي.

NTP جي مختلف نفاذ

NTP جو اصل نفاذ ntpd آهي. ان کان پوءِ ٻه نوان، ڪرونيڊ ۽ سسٽمڊ-ٽائم سي سي ڊي شامل ٿيا. سڀئي ٽي مقامي ميزبان وقت کي اين ٽي پي ٽائم سرور سان هم وقت سازي ڪن ٿا. Systemd-timesyncd خدمت chronyd جيتري قابل اعتماد نه آهي، پر اهو تمام گهڻي مقصدن لاءِ ڪافي آهي. جيڪڏهن RTC هم وقت سازي کان ٻاهر آهي، اهو تدريجي طور تي سسٽم جي وقت کي ترتيب ڏئي سگھي ٿو NTP سرور سان هم وقت سازي ڪرڻ لاءِ جڏهن مقامي سسٽم جو وقت ٿورو وڌي وڃي. systemd-timesync سروس ٽائيم سرور طور استعمال نه ٿي ڪري سگھجي.

ڪرني NTP جو هڪ نفاذ آهي جنهن ۾ ٻه پروگرام شامل آهن: ڪرونيڊ ڊيمون ۽ هڪ ڪمانڊ لائن انٽرفيس جنهن کي ڪرونيڪ سڏيو ويندو آهي. Chrony ڪجھ خاصيتون آھن جيڪي ڪيترن ئي ڪيسن ۾ ناگزير آھن:

  • Chrony هڪ وقت جي سرور سان هم وقت سازي ڪري سگهي ٿو پراڻي ntpd سروس کان گهڻو تيز. هي ليپ ٽاپ يا ڊيسڪ ٽاپ لاءِ سٺو آهي جيڪي هر وقت ڪم نٿا ڪن.
  • اهو گھڙي جي ڦيرڦار لاءِ معاوضو ڏئي سگهي ٿو، جهڙوڪ جڏهن ميزبان ننڊ ۾ وڃي ٿو يا ننڊ جي موڊ ۾ داخل ٿئي ٿو، يا جڏهن گھڙي فريڪوئنسي هٽڻ جي ڪري تبديل ٿئي ٿي، جيڪا گهٽ لوڊ ٿيڻ تي گھڙين کي سست ڪري ٿي.
  • اهو غير مستحڪم نيٽ ورڪ ڪنيڪشن يا نيٽ ورڪ جي گنجائش سان لاڳاپيل وقت جي مسئلن کي حل ڪري ٿو.
  • اهو نيٽ ورڪ جي دير کي منظم ڪري ٿو.
  • شروعاتي وقت جي هم وقت سازي کان پوء، Chrony ڪڏهن به گھڙي کي روڪي نه ٿو. هي ڪيترن ئي سسٽم سروسز ۽ ايپليڪيشنن لاءِ مستحڪم ۽ لاڳيتو ٽائم سلاٽ فراهم ڪري ٿو.
  • Chrony نيٽ ورڪ ڪنيڪشن کان سواءِ به ڪم ڪري سگھي ٿو. انهي حالت ۾، مقامي ميزبان يا سرور دستي طور تي اپڊيٽ ٿي سگهي ٿو.
  • Chrony NTP سرور طور ڪم ڪري سگھي ٿو.

هڪ ڀيرو ٻيهر، اين ٽي پي هڪ پروٽوڪول آهي جيڪو لينڪس ميزبان تي لاڳو ٿي سگهي ٿو Chrony يا systemd-timesyncd استعمال ڪندي.

NTP، Chrony، ۽ systemd-timesyncd RPMs معياري Fedora repositories ۾ موجود آھن. 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 شروع نه ڪيو آهي، timeync-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 timeync daemon هڪ NTP عملدرآمد مهيا ڪري ٿو جيڪو منظم ڪرڻ آسان آهي سسٽم جي حوالي سان. اهو 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

صرف سيڪشن ان تي مشتمل آهي، تبصرن کان سواء، [وقت] آهي. باقي سڀئي سٽون تبصرا آهن. اهي ڊفالٽ قدر آهن ۽ تبديل نه ٿيڻ گهرجن (جيستائين توهان وٽ ڪو سبب نه هجي). جيڪڏهن توهان وٽ نه آهي NTP ٽائم سرور جي وضاحت ڪئي وئي NTP= لائن ۾، Fedora defaults a fallback Fedora time server. آئون عام طور تي منهنجو وقت سرور شامل ڪريان ٿو:

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 سروس ٽائم اسٽيمپ جي بنياد تي سسٽم جو وقت مقرر ڪري ٿو. ٽائم اسٽيمپس ٽائم سنڪ ڊيمن طرفان برقرار رکيا ويندا آهن ۽ هر ڪامياب هم وقت سازي تي ٺاهيا ويندا آهن.

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 جو ڪو به عمل شروع ڪرڻ وقت سسٽم جي گھڙي سيٽ ڪندو. ۽ پوءِ آر ٽي سي ڇو؟ اهو مڪمل طور تي درست ناهي: اهو صرف تڏهن ٿيندو جڏهن توهان وٽ ٽائيم سرور سان نيٽ ورڪ ڪنيڪشن آهي. بهرحال، ڪيترائي سسٽم هميشه نيٽ ورڪ ڪنيڪشن تائين رسائي نٿا رکن، تنهن ڪري هڪ هارڊويئر ڪلاڪ لينڪس لاء سسٽم جي وقت کي سيٽ ڪرڻ لاء استعمال ڪرڻ لاء ڪارائتو آهي. اهو دستي طور تي وقت کي ترتيب ڏيڻ کان بهتر آهي، جيتوڻيڪ اهو حقيقي وقت کان انحراف ٿي سگهي ٿو.

ٿڪل

هن آرٽيڪل ۾ تاريخ، وقت، ۽ وقت جي علائقن کي ترتيب ڏيڻ لاءِ ڪجهه اوزارن جو جائزو ورتو ويو آهي. systemd-timesyncd ٽول هڪ NTP ڪلائنٽ مهيا ڪري ٿو جيڪو مقامي ميزبان تي وقت کي NTP سرور سان هم وقت سازي ڪري سگهي ٿو. بهرحال، systemd-timesyncd هڪ سرور سروس مهيا نه ڪندو آهي، تنهنڪري جيڪڏهن توهان کي پنهنجي نيٽ ورڪ تي هڪ NTP سرور جي ضرورت آهي، توهان کي ڪجهه ٻيو استعمال ڪرڻ گهرجي، جهڙوڪ Chrony، سرور طور ڪم ڪرڻ لاءِ.

مان پنھنجي نيٽ ورڪ تي ڪنھن به خدمت لاءِ ھڪڙي عمل درآمد ڪرڻ کي ترجيح ڏيان ٿو، تنھنڪري مان استعمال ڪريان ٿو Chrony. جيڪڏهن توهان کي مقامي NTP سرور جي ضرورت نه آهي، يا جيڪڏهن توهان Chrony کي سرور طور استعمال ڪرڻ ۽ SNTP ڪلائنٽ طور systemd-timesyncd استعمال ڪرڻ تي اعتراض نٿا ڪريو. آخرڪار، Chrony جي اضافي خاصيتن کي ڪلائنٽ طور استعمال ڪرڻ جي ڪا ضرورت ناهي جيڪڏھن توھان مطمئن آھيو systemd-timesyncd جي ڪارڪردگيءَ سان.

ٻيو نوٽ: توهان کي NTP لاڳو ڪرڻ لاءِ سسٽمڊ اوزار استعمال ڪرڻ جي ضرورت ناهي. توھان استعمال ڪري سگھو ٿا ntpd جو پراڻو ورزن، Chrony، يا ٻيو NTP عمل درآمد. سڀ کان پوء، systemd خدمتن جي هڪ وڏي تعداد تي مشتمل آهي؛ انھن مان گھڻا اختياري آھن، تنھنڪري توھان انھن کي بند ڪري سگھوٿا ۽ ان جي بدران ڪجھ ٻيو استعمال ڪريو. هي هڪ وڏو monolithic دانو نه آهي. توهان شايد سسٽم يا ان جا حصا پسند نه ڪندا، پر توهان کي هڪ باخبر فيصلو ڪرڻ گهرجي.

مون کي پسند آهي سسٽم ڊي جي NTP تي عمل درآمد، پر مان Chrony کي ترجيح ڏيان ٿو ڇاڪاڻ ته اهو منهنجي ضرورتن کي بهتر بڻائي ٿو. اهو لينڪس آهي، ٻار -)

اشتهارن جي حقن تي

VDSina پيش ڪري ٿو ڪنهن به ڪم لاءِ سرور، خودڪار تنصيب لاءِ آپريٽنگ سسٽم جو هڪ وڏو انتخاب، اهو ممڪن آهي ته ڪنهن به او ايس کي انسٽال ڪرڻ لاءِ پنهنجو پاڻ کان او، آرامده ڪنٽرول پينل پنهنجي ترقي ۽ روزاني ادائيگي. ياد رکو ته اسان وٽ ابدي سرور آهن جيڪي يقيناً لازوال آهن 😉

لينڪس ٽائيم هم وقت سازي: NTP، Chrony ۽ systemd-timesyncd

جو ذريعو: www.habr.com

تبصرو شامل ڪريو