ดังนั้นฉันพยายามดีบักการตั้งค่า NTP ปัจจุบันของฉันและพบว่าเขาชดเชยจากเซิร์ฟเวอร์ที่กำหนดค่าเดียวของฉันนานกว่า 3 วินาทีและไม่ปรับ เครื่องหมายดอกจันบน LOCAL (0) ในเอาต์พุต ntpq ดูเหมือนว่าระบบกำลังซิงค์อย่างมีความสุขกับตัวเองมากกว่าเซิร์ฟเวอร์ 10.130.33.201 (ซึ่งเป็นอีกกล่อง linux ในระบบของเราที่เราต้องการให้ทุกอย่างเพื่อซิงค์)
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
10.130.33.201 LOCAL(0) 9 u 49 64 377 0.242 -3742.2 1.049
*LOCAL(0) .LOCL. 10 l 2 64 377 0.000 0.000 0.001
และนี่คือไฟล์ ntp.conf ของฉัน เขียนโดยคนอื่นดังนั้นฉันไม่แน่ใจ 100% ว่าทุกอย่างถูกต้อง
server 10.130.33.201 burst iburst minpoll 4 maxpoll 11
driftfile /mnt/active/etc/ntp.drift
restrict -4 default nomodify nopeer notrap
restrict -6 default ignore
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
ฉันได้อ่านเกี่ยวกับการระเบิดและ iburst และ minpoll / maxpoll ดังนั้นฉันจึงตระหนักว่าสิ่งเหล่านั้นอาจไม่จำเป็น แต่ฉันไม่คิดว่าเกี่ยวข้องกับปัญหาปัจจุบันของฉัน
นอกจากนี้เนื่องจากวิธีการนำไปใช้งานไฟล์กำหนดค่านั้นจะต้องใช้เวลามากในการเปลี่ยนแปลงดังนั้นฉันหวังว่าจะไม่มีการเปลี่ยนแปลงใด ๆ ฉันหวังว่านี่เป็นกรณีของฉันที่ไม่เข้าใจว่า NTP ทำงานอย่างไร
แก้ไข -
ดังนั้นดูเหมือนว่านี่จะเป็นคำถามที่ซ้ำกันแต่ฉันไม่รู้สึกว่าโปสเตอร์ได้คำตอบที่เพียงพอดังนั้นฉันยังอยากรู้ว่าทำไมเวลาท้องถิ่นถึงได้รับความนิยมบนเซิร์ฟเวอร์ นอกจากนี้ตามคำตอบด้านล่างนี้ฉันพยายามใช้prefer
คำหลักในบรรทัดเซิร์ฟเวอร์ของการกำหนดค่าและเริ่มต้นใหม่ แต่ดูเหมือนจะไม่มีผลใด ๆ
หากฉันลบบรรทัด "local" ทั้งหมดใน config ตามคำตอบของคำถามอื่น ๆ ที่แนะนำจะเกิดอะไรขึ้นหากเซิร์ฟเวอร์ไม่สามารถเข้าถึงได้ NTP ตายหรือพยายามต่อไปหรือไม่
การแก้ไขที่สำคัญ -
ตกลงปกติแล้วคือ 10.130.33.201 ("เซิร์ฟเวอร์") ไม่มีการเข้าถึงอินเทอร์เน็ตและไม่มีแหล่งเวลา GPS ที่จะใช้ ส่วนที่สำคัญคืออุปกรณ์ทั้งหมดในระบบมีเวลาเดียวกันกับเซิร์ฟเวอร์โดยไม่คำนึงว่าเวลานั้นถูกต้องจริงเพียงใด
ดังนั้นเพื่อดูว่าจะเกิดอะไรขึ้นฉันเพิ่มหนึ่งในเซิร์ฟเวอร์ NTP พูลลงในไฟล์ปรับแต่งของเซิร์ฟเวอร์ดังนั้นมันจะได้รับเวลาจากที่นั่นแทนที่จะรับเวลาจากท้องถิ่น ตอนนี้ได้รับเวลาอย่างถูกต้องจากเซิร์ฟเวอร์เวลา NTP
หลังจากที่ฉันทำอย่างนั้นตอนนี้ลูกค้าซิงค์กับเซิร์ฟเวอร์มากกว่าที่จะชอบ LOCAL (0)
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.130.33.201 38.229.71.1 3 u 58 64 377 0.216 715621. 1.001
LOCAL(0) .LOCL. 10 l 18 64 377 0.000 0.000 0.001
คำถามใหม่ - เมื่อเซิร์ฟเวอร์ของฉันใช้โลคัล (ตัวอย่างดั้งเดิมที่ให้มา) ดูเหมือนว่าลูกค้ากำลังพูดว่า "โอ้ 10.130.33.201 ใช้ LOCAL (0) อืมฉันมีเซิร์ฟเวอร์ LOCAL (0) - - ฉันจะใช้สิ่งนั้นโดยตรงแทนที่จะได้รับข้อมูลเดียวกันผ่านทาง 10.130.33.201 "
เป็นอย่างนั้นเหรอ? พวกเขาพยายามที่จะ "โดยตรงไปยังแหล่งที่มา" ซึ่งไม่ถูกต้องในท้องถิ่น (0)? ฉันต้องการเซิร์ฟเวอร์ของฉันเพื่อรับเวลาจาก LOCAL (0) และฉันต้องการให้ลูกค้ารับเวลาจากเซิร์ฟเวอร์ ตอนนี้การลบเซิร์ฟเวอร์ "ท้องถิ่น" ออกจากไฟล์ปรับแต่งไคลเอนต์เป็นเพียงตัวเลือกเดียว แต่ฉันอยากจะเข้าใจว่าทำไมถึงเกิดเหตุการณ์นี้ขึ้นและถ้าเป็นไปได้ให้หลีกเลี่ยงการเปลี่ยนการตั้งค่าของพวกเขา สภาพแวดล้อมของเรา...).
นอกจากนี้ดูเหมือนว่าจะซ้ำกันโดยไม่มีคำตอบที่ดี