เหตุใดเซิร์ฟเวอร์ EC2 ของฉันถึงหยุดทำงานประมาณ ~ 10 วินาทีทุกวัน


12

ฉันมีสิ่งที่ฉันเชื่อว่าเป็นไฟล์ระบบ/etc/cron.daily/ntpupdateซึ่งทำงาน
ntpdate ntp.ubuntu.comทุกวันเพื่อซิงค์กับเวลาเครือข่าย ทุกวันมันสร้างเอาต์พุตคล้ายกันมากกับสิ่งนี้:

/etc/cron.daily/ntpupdate:
16 Jan 06:30:42 ntpdate[21446]:
step time server 91.189.94.4 offset -12.646804 sec

ฉันไม่91.189.94.4แน่ใจว่า-12.646804 secหมายถึงอะไรแต่ฉันค่อนข้างมั่นใจว่าเซิร์ฟเวอร์ของฉันปิดประมาณ 12 วินาที แต่ฉันไม่รู้ว่าทำไมมันถึงออกมาในปริมาณที่เท่ากันทุกวัน นี่เป็นอินสแตนซ์ Amazon EC2 ที่ใช้งาน Ubuntu

ฉันเดาได้แค่ว่ามันจะสูญเสีย / เพิ่มขึ้น 12 วินาทีต่อวันหรืออย่างอื่นกำลังซิงค์เวลากับนาฬิกาอื่นที่ถูกปิดโดย 12 วินาทีจากนั้นฉันจะซิงค์อีกครั้ง

ฉันควรทำอย่างไรเพื่อลองติดตามสิ่งนี้ต่อไป? ฉันไม่เห็นงาน cron อื่น ๆ ใน/etc/cron.*ไดเรกทอรีหรืองาน cron ของผู้ใช้ ...

UPDATE

แค่คิดว่าฉันจะแบ่งปันว่าฉันเริ่มวิ่งทุกชั่วโมงเพื่อดูว่าจะมีการกระโดดครั้งใหญ่ในบางชั่วโมงหรือไม่ นี่คือสิ่งที่เอาต์พุตรายชั่วโมงคือ:

16 Jan 15:17:04 ntpdate[8346]:
adjust time server 91.189.94.4 offset -0.464418 sec

เห็นได้ชัดว่าทุกชั่วโมงนาฬิกาจะปิดประมาณครึ่งวินาทีดังนั้นจึงสมเหตุสมผลว่าในแต่ละวัน (24 ชั่วโมง) นาฬิกาจะปิดประมาณ 12 วินาที เดาว่านาฬิกากำลังวิ่งเร็ว! ขอบคุณ!


91.189.94.4 คือที่อยู่ IP ของ ntp.ubuntu.com
Michael Mrozek

ตามลิงค์นี้ ปัญหาของคุณจะได้รับการแก้ไข มันช่วยในการแก้ปัญหาdocs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html

คำตอบ:


13

มีหลายปัจจัยที่อาจทำให้นาฬิกาซอฟต์แวร์ทำงานช้าหรือเร็ว นาฬิกาบนเซิร์ฟเวอร์เสมือนมักมีปัญหาเหล่านี้ทั้งชั้น 12 วินาทีต่อวันค่อนข้างแย่จนกว่าคุณจะเจอกล่องเสมือนจริงพร้อมนาฬิกาที่วิ่งด้วยความเร็ว 180–200%! นาฬิกาบนแล็ปท็อปที่ถูกระงับอาจประสบปัญหาในการประหยัดเวลาเช่นกัน

คุณควรพิจารณาลดลงในความโปรดปรานของntupdate ntpdชื่อแพ็คเกจอยู่ntpใน Debian (และน่าจะเป็น Ubuntu ด้วย) NTP daemon รักษาเวลาของคุณในการซิงค์มากกว่างาน cron ซิงค์กับเซิร์ฟเวอร์ NTP อื่น ๆ อย่างน้อยหนึ่งเครื่องและทำให้นาฬิกาของคุณแม่นยำยิ่งขึ้น เป็นการนำไปใช้ของโปรโตคอลเดียวกันอีกการntpdateใช้งานยกเว้นntpdตรวจสอบเวลาอย่างต่อเนื่อง

หากคุณไม่ต้องการค่าใช้จ่าย (เล็กมาก) ntpdคุณอาจลองใช้งานntpdateหนึ่งครั้งต่อชั่วโมง สมมติว่าคุณปิด 0.5s ทุก ๆ ชั่วโมงนั่นน่าจะเพียงพอแล้ว


3
ปัญหาเครื่องเสมือนนั้นสามารถแก้ไขได้โดยการใช้เคอร์เนลที่ไม่มีเครื่องหมาย (CONFIG_NO_HZ) ไม่แน่ใจว่าเป็นไปได้ด้วยเคอร์เนล ubuntu หรือหากคุณต้องสร้างของคุณเอง
แพทริค

1
ฉันเพิ่งตรวจสอบการตั้งค่าเคอร์เนลในการติดตั้ง Ubuntu 11 (3.0.0-14-generic) และได้CONFIG_NO_HZเปิดใช้งานอย่างแน่นอน
Alexios

0

ตอบคำถามของคุณอีกครึ่งหนึ่งว่าทำไมสิ่งนี้จึงเกิดขึ้น: นาฬิกาฮาร์ดแวร์คอมพิวเตอร์ไม่ถูกต้องฉาวโฉ่ดังนั้นในขณะที่เวลา 12 วินาทีต่อวันนั้นผิดปกติมันก็ไม่ใช่เรื่องผิดปกติอะไรเลย

(อาจเป็นเพราะความแพร่หลายของการใช้เวลาเครือข่ายเพื่อให้เวลา 12 วินาทีต่อวันเป็นเรื่องน่ารำคาญเล็กน้อยเมื่อเทียบกับสิ่งที่จะเห็นในนาฬิกา - และทำให้ บริษัท ฮาร์ดแวร์สามารถใช้ชิพนาฬิการาคาถูกได้ ในทางกายภาพสิ่งที่เกิดขึ้นอาจเป็นไปได้ว่าออสซิลเลเตอร์ในนาฬิกาของคุณไม่ได้ทำการสอบเทียบที่ถูกต้องดังนั้นจึงทำงานช้าเล็กน้อย แต่เชื่อถือได้ช้า)


-1

ฉันสงสัยว่า ntp จะไม่อัปเดตเวลาของเซิร์ฟเวอร์ของคุณเพราะความแตกต่างนั้นเล็กเกินไป ฉันมีปัญหาที่คล้ายกันฉันเห็นความล่าช้าเท่าเดิมทุกวันจนกระทั่งพบว่าการแตกต่างเล็กน้อย ntp จะไม่อัปเดตจนกว่าจะถึงขีด จำกัด ที่เฉพาะเจาะจง

ตรวจสอบการกำหนดค่าสำหรับเกณฑ์ขั้นต่ำสำหรับการซิงค์


3
นี่ไม่เป็นความจริง. ในทางตรงกันข้าม NTP พยายามลดความแตกต่างให้มากที่สุดเท่าที่จะทำได้ มีเกณฑ์ในทิศทางอื่น: NTP จะไม่อัปเดตนาฬิกาหากความแตกต่างใหญ่เกินไป (สงสัยว่ามีการกำหนดค่าผิดพลาดเช่นเขตเวลาที่ไม่ถูกต้อง)
Gilles 'ดังนั้นหยุดความชั่วร้าย'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.