วิธีที่แนะนำในการซิงโครไนซ์เวลาโดยใช้ NTP คืออะไร?


18

คำถามนี้เกิดขึ้นหลายครั้งด้วยวิธีการแปลเป็นภาษาท้องถิ่นคำถามนี้มีไว้เพื่อให้วิธีการที่ต้องการ / ดีที่สุดสำหรับการซิงโครไนซ์นาฬิกาของระบบโดยใช้ NTP

วิธีแก้ปัญหาควรจัดการกับปัญหาต่าง ๆ อย่างถูกต้องเช่น:

  1. แก้ไขเวลาในการบูทอย่างรวดเร็วโดยที่นาฬิกามีความเบ้มาก

  2. จัดเตรียมการกำหนดค่าที่ป้องกันและ / หรือแก้ไขสถานการณ์ที่บางครั้งนาฬิกาสามารถพัฒนาเอียงขนาดใหญ่เมื่อเวลาผ่านไป

  3. โซลูชันที่แข็งแกร่งที่สามารถจัดการและซิงค์เวลาได้อย่างรวดเร็วเมื่อเกิดปัญหาบางอย่างเช่น: "เซิร์ฟเวอร์เวลาไม่สามารถเข้าถึงได้ในระหว่างการบูต" หรือ "อินเทอร์เน็ตไม่สามารถเข้าถึงได้ในระหว่างการบู๊ต"

ทางออกที่ดีที่สุดคือไฟล์กำหนดค่า NTP ไฟล์เดียวที่สามารถจัดการได้ทั้งหมด

อ้างอิง

ชิ้นส่วนจำนวนมากที่จะมอบโซลูชัน "ขั้นสุดยอด" จะกระจายไปทั่วไซต์ของ U&L ในคำถามเช่นนี้:

มีผู้อื่นผูกพัน แต่สิ่งเหล่านี้คือสิ่งที่ฉันเคยเห็นว่ามีความเกี่ยวข้อง



1
FYI: การวางแผนการทำงานกับคำตอบที่ครอบคลุมสำหรับเรื่องนี้ ดูบันทึกการสนทนาเริ่มต้นที่chat.stackexchange.com/transcript/message/11350138#11350138
derobert

# 2 ไม่ควรเกิดขึ้นหาก ntpd ทำงานอยู่
dfc

@dfc - สิ่งนี้สามารถเกิดขึ้นได้เมื่อ VM หยุดชั่วคราวและกลับมาทำงานต่อในภายหลังมีสถานการณ์อื่น ๆ ที่สามารถเกิดขึ้นได้เช่นกัน
slm

@slm "พัฒนา" หมายถึงการกระโดดข้ามเวลาในการเอียงหลังจากการรีสตาร์ท VM หรือไม่ ดูเหมือนว่าภายในสองสามชั่วโมงหลังจากรีสตาร์ท ntpd ควรจะเอียงภายใต้การควบคุม ไม่ทำให้แย่ลงอย่างแน่นอน สถานการณ์อื่น ๆ มีอะไรบ้าง
dfc

คำตอบ:


6

เนื่องจากคุณไม่สามารถแก้ไขค่าเบี่ยงเบนขนาดใหญ่ได้ทันเวลาโดยใช้ ntp (เว้นแต่คุณจะมีเวลาสองสามชั่วโมงเพื่อให้นาฬิกาสามารถติดตามหรือทำให้ช้าลง) ฉันทำสิ่งนี้:

บริการหยุด ntpd
ntpdate us.pool.ntp.org
เริ่มบริการ ntpd

ฉัน cron มันวันละครั้งทุกวัน ฉันยังใส่ ntpdate ในสคริปต์ init เพื่อให้ทำงานก่อนที่ ntp จะเริ่มต้นหลังจากการบูตเนื่องจากการรีบูตและวงจรพลังงานเป็นเหตุการณ์ที่มีแนวโน้ม / บ่อยที่สุดที่ยุ่งกับเวลาของระบบ


หาก ntpd ทำงานได้สำเร็จทำไมคุณต้องหยุดและเริ่มมัน? ดูเหมือนว่าเป็นความคิดที่แย่มาก
dfc

3
ntpdate จะไม่ทำงานหาก ntpd กำลังทำงาน
Grizly

4

สิ่งที่คุณกำลังมองหาอยู่ntpdกับ--panicgateตัวเลือก

ตัวเลือก panicgate ช่วยให้สามารถทำการปรับครั้งแรกหลังจากntpdเริ่มเป็นขนาดใดก็ได้ นี่เป็นกรณีการใช้งานที่คุณได้อธิบายว่ามีเครื่องอยู่ตรงไหนและนาฬิกาไม่ถูกต้องอย่างดุเดือด เมื่อ ntpd เริ่มต้นด้วยการเปิดใช้งานตัวเลือกนี้อาจใช้เวลาสักครู่หนึ่งในการหาเซิร์ฟเวอร์และสร้างการซิงโครไนซ์กับมัน

ตัวเลือกนั้นจะแก้ไขรายการของคุณ # 1

# 2 คือวานิลลา ntpd Ntpd เก็บไฟล์ดริฟท์ซึ่งเป็นอัตรานาฬิกาของระบบของคุณ

# 3 ก็เหมือนกับ # 1 --panicgateตัวเลือกที่ไม่ จำกัด เฉพาะการทันทีเมื่อ ntpd เริ่มต้นก็จะถูก จำกัด "การปรับครั้งแรก" เมื่อใดก็ตามที่มีการปรับตัว


พิมพ์ ntpd --panicgate จากนั้นวันที่ไม่ทำอะไรเลยอย่างแน่นอน
AlxVallejo

คุณแก้ไขไฟล์ init เพื่อส่ง-gหรือมีตัวเลือกที่เทียบเท่าในการตั้งค่าntp.confหรือไม่?
Jérôme

ฉันเพิ่งรู้ว่า-gมีการใช้งานเป็นค่าเริ่มต้นในการติดตั้ง Debian ของฉันแล้ว แต่ฉันไม่รู้ว่าไฟล์ init / config ใดที่ทำ
Jérôme

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.