ntpd बनाम systemd-timesyncd - विश्वसनीय NTP सिंकिंग कैसे प्राप्त करें?


31

जब मैं ntpdc -c sysinfoनिम्न आउटपुट प्राप्त करने के साथ NTP डेमन की स्थिति को क्वेरी करता हूं:

system peer:          0.0.0.0
system peer mode:     unspec
leap indicator:       11
stratum:              16
precision:            -20
root distance:        0.00000 s
root dispersion:      12.77106 s
reference ID:         [73.78.73.84]
reference time:       00000000.00000000  Thu, Feb  7 2036  7:28:16.000
system flags:         auth monitor ntp kernel stats
jitter:               0.000000 s
stability:            0.000 ppm
broadcastdelay:       0.000000 s
authdelay:            0.000000 s

यह इंगित करता है कि NTP समन्वयन विफल हुआ। हालाँकि प्रणाली का समय 1 सेकंड की सटीकता के भीतर सटीक है। जब मैंने अपने सिस्टम को बिना नेटवर्क कनेक्शन के उसी अवधि के लिए चलाया, जैसा कि मैंने किया था, तो सिस्टम का समय ~ 10s से कम हो जाएगा।

यह व्यवहार बताता है कि सिस्टम में समय को सिंक्रनाइज़ करने का एक और तरीका है। मैंने महसूस किया कि वहाँ भी है systemd-timesyncd.service(विन्यास फाइल के साथ /etc/systemd/timesyncd.conf) और timedatectl statusमुझे सही समय देता है:

      Local time: Thu 2016-08-25 10:55:23 CEST
  Universal time: Thu 2016-08-25 08:55:23 UTC
        RTC time: Thu 2016-08-25 08:55:22
       Time zone: Europe/Berlin (CEST, +0200)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2016-03-27 01:59:59 CET
                  Sun 2016-03-27 03:00:00 CEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2016-10-30 02:59:59 CEST
                  Sun 2016-10-30 02:00:00 CET

तो मेरा प्रश्न यह है कि दोनों तंत्रों में क्या अंतर है? उनमें से एक पदावनत है? क्या उनका उपयोग समानांतर में किया जा सकता है? जब मैं एनटीपी सिंक स्थिति को क्वेरी करना चाहता हूं तो मुझे किस पर भरोसा करना चाहिए?

(ध्यान दें कि मेरे पास एक अलग प्रणाली है (एक अलग नेटवर्क में) जिसके लिए दोनों विधियाँ सफलता का संकेत देती हैं और सही समय देती हैं।)


2
मैं ने पाया है कि फेडोरा वास्तव में उपयोग करता chrony : कॉन्फ़िगर एनटीपी chrony सुइट का उपयोग करना
डेविड Tonhofer

जवाबों:


19

systemd-timesyncd मूल रूप से एक छोटा ग्राहक-मात्र NTP है जो कमोबेश नए सिस्टमड रिलीज़ के साथ बंडल करता है। यह पूर्ण ntpd से अधिक हल्का है, लेकिन केवल समय सिंक का समर्थन करता है - अर्थात यह अन्य मशीनों के लिए NTP सर्वर के रूप में कार्य नहीं कर सकता है। यह ग्राहकों के लिए ntpd को बदलने का इरादा है।

आपको समानांतर में दोनों का उपयोग नहीं करना चाहिए, क्योंकि सिद्धांत रूप में वे अलग-अलग समयरेखा ले सकते हैं जो उनके बीच थोड़ी देरी होती है, जिससे आपके सिस्टम की घड़ी समय-समय पर "उछल" जाती है।

स्थिति प्राप्त करने के लिए, आपको दुर्भाग्य से उपयोग करने की आवश्यकता है ntpdcयदि आप ntpd का उपयोग करते हैं और timedatectlयदि आप timesyncd का उपयोग करते हैं, तो मुझे कोई उपयोगिता नहीं है जो दोनों को पढ़ सके।


फिर यह कैसे संभव है कि एक सिस्टम पर ntpd का सिंक असफल हो रहा है जबकि दूसरे पर यह सफल है (दोनों समानांतर में systemd-timesyncd चला रहे हैं)। मैं काफी निश्चित हूं कि यह एक फ़ायरवॉल समस्या से संबंधित नहीं है क्योंकि मैंने संबंधित सेटिंग्स की जाँच की है। अभी मुझे दो परिणामों के साथ छोड़ दिया गया है और मैं सफल पर भरोसा करने के लिए परीक्षा में हूं लेकिन मुझे संदेह है क्योंकि दोनों ग्राहक एक ही NTP प्रोटोकॉल को लागू करते हैं लेकिन एक विफल हो रहा है। वास्तव में मुझे उम्मीद है कि दोनों काम करेंगे।
a_guest

1
ntpd और timesyncd विभिन्न सेटिंग्स का उपयोग करते हैं। क्या आपने दोनों के लिए एक ही समय निर्धारित किया है?
अधिकतम

क्या आप ntp जैसे GPS के साथ टाइम सिंक करने के लिए timesyncd का उपयोग कर सकते हैं?
बकलोलो

Systemd-timesyncd एक SNTP क्लाइंट है जो NTP से कम सटीक है। पाठकों को यह सोचकर गुमराह नहीं किया जाना चाहिए कि systemd-timesyncd एक हल्का वजन वाला NTP ग्राहक है।
फिलिप कपलिंग

14

systemd-timesyncd कोई घड़ी अनुशासन नहीं करता है: घड़ी को प्रशिक्षित या मुआवजा नहीं दिया जाता है, और समय के साथ आंतरिक घड़ी का बहाव कम नहीं होता है। पोल अंतराल को समायोजित करने के लिए इसके पास अल्पविकसित तर्क है लेकिन मेजबान को अनुशासित किए बिना असमान समय के साथ हमेशा के लिए समाप्त हो जाएगा क्योंकि सिस्टमड-टाइमसेंडीक्स जो भी अंतराल पर सोचता है या खींचता है वह निकट-अवधि के बहाव की आवश्यकता है। यह दूरस्थ समय स्रोत की गुणवत्ता का भी आकलन नहीं कर सकता है। आपको सटीकता 100 मी से अधिक होने की संभावना नहीं है। यह लैपटॉप जैसे सरल अंत उपयोगकर्ता उपकरणों के लिए पर्याप्त है, लेकिन यह निश्चित रूप से वितरित सिस्टम के लिए समस्या पैदा कर सकता है जो अधिक से अधिक समय सटीक चाहते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.