การประกาศ systemd-timesyncd ในไฟล์ systemd NEWSทำงานได้ดีในการอธิบายความแตกต่างของเครื่องมือนี้เมื่อเปรียบเทียบกับ Chrony และเครื่องมือที่ชอบ (เน้นที่เหมือง):
ใหม่"systemd-timesyncd"ภูตได้รับการเพิ่มสำหรับการอัพเดทนาฬิกาของระบบเครือข่าย จะดำเนินลูกค้า SNTP ในทางตรงกันข้ามกับการใช้งาน NTP เช่นchronyหรือเซิร์ฟเวอร์ NTP อ้างอิงเท่านั้นนี้การดำเนินการด้านลูกค้าและไม่รำคาญกับความซับซ้อน NTP เต็มเน้นเฉพาะในการสอบถามเวลาจากเซิร์ฟเวอร์ระยะไกลและตรงกันนาฬิกาท้องถิ่นเพื่อมัน ถ้าคุณไม่ต้องการให้บริการ NTP ไปยังไคลเอนต์เครือข่ายหรือต้องการเชื่อมต่อกับนาฬิกาฮาร์ดแวร์ภายในเครื่องไคลเอนต์ NTP แบบง่ายนี้ควรมากกว่าเหมาะสมสำหรับการติดตั้งส่วนใหญ่ [ ... ]
การตั้งค่านี้เป็นกรณีการใช้งานทั่วไปสำหรับโฮสต์ส่วนใหญ่ในกลุ่มเซิร์ฟเวอร์ พวกเขามักจะได้รับการซิงโครไนซ์จากเซิร์ฟเวอร์ NTP ท้องถิ่นซึ่งตัวเองได้รับการซิงโครไนซ์จากหลายแหล่งอาจรวมถึงฮาร์ดแวร์ systemd-timesyncd พยายามจัดหาโซลูชันที่ใช้งานง่ายสำหรับกรณีการใช้งานทั่วไปนั้น
พยายามตอบคำถามเฉพาะของคุณ:
อะไรคือความแตกต่างของโลกแห่งความเป็นจริงระหว่างสองสิ่งนี้ในแง่ของความแม่นยำ?
ฉันเชื่อว่าคุณสามารถได้รับความแม่นยำสูงขึ้นโดยรับข้อมูลการซิงโครไนซ์จากหลาย ๆ แหล่งซึ่งไม่ใช่กรณีการใช้งานที่รองรับสำหรับ systemd-timesyncd แต่เมื่อคุณใช้เพื่อรับข้อมูลการซิงโครไนซ์จากเซิร์ฟเวอร์ NTP ส่วนกลางที่เชื่อมต่อกับเครือข่ายภายในที่เชื่อถือได้ของคุณการใช้หลาย ๆ แหล่งไม่ได้เกี่ยวข้องกันมากนักและคุณจะได้รับความแม่นยำที่ดีจากแหล่งเดียว
หากคุณกำลังซิงโครไนซ์เซิร์ฟเวอร์ของคุณจากเซิร์ฟเวอร์ที่เชื่อถือได้ในเครือข่ายท้องถิ่นและในดาต้าเซ็นเตอร์เดียวกันความแตกต่างของความแม่นยำระหว่าง NTP และ SNTP จะไม่มีอยู่จริง NTP สามารถนำ RTT มาพิจารณาและทำเช่นนั้นได้ แต่นั่นก็ไม่เป็นประโยชน์เมื่อ RTT ของคุณมีขนาดเล็กมากซึ่งเป็นกรณีของเครือข่ายท้องถิ่นที่รวดเร็วและเครื่องใกล้เคียง คุณไม่จำเป็นต้องใช้หลายแหล่งหากคุณสามารถเชื่อถือแหล่งที่คุณใช้
ประสิทธิภาพต่างกันอย่างไร
การซิงโครไนซ์จากแหล่งเดียวนั้นง่ายกว่าการรับจากหลายแหล่งเนื่องจากคุณไม่จำเป็นต้องตัดสินใจว่าแหล่งใดดีกว่าแหล่งอื่นและอาจรวมข้อมูลจากแหล่งต่าง ๆ อัลกอริทึมนั้นง่ายกว่ามากและจะต้องใช้โหลด CPU น้อยลงสำหรับเคสแบบง่าย
การซิงค์เวลาแบบ "ไม่ง่าย" อะไรที่ต้องใช้ในกรณีของการใช้ chrony เป็นไคลเอนต์ NTP
ที่ระบุไว้ในใบเสนอราคาข้างต้น แต่ในกรณีใด ๆ สิ่งเหล่านี้เป็นกรณีการใช้งานสำหรับ Chrony ที่ไม่ครอบคลุมโดย systemd-timesyncd:
- ใช้เซิร์ฟเวอร์ NTP (เพื่อให้โฮสต์อื่นสามารถใช้โฮสต์นี้เป็นแหล่งที่มาสำหรับการซิงโครไนซ์);
- รับข้อมูลการซิงโครไนซ์ NTP จากหลายแหล่ง (ซึ่งเป็นสิ่งสำคัญสำหรับโฮสต์ที่รับข้อมูลจากเซิร์ฟเวอร์สาธารณะบนอินเทอร์เน็ต); และ
- การรับข้อมูลการซิงโครไนซ์จากนาฬิกาท้องถิ่นซึ่งโดยปกติจะเกี่ยวข้องกับฮาร์ดแวร์พิเศษเช่นอุปกรณ์ GPS ซึ่งสามารถรับข้อมูลเวลาที่แม่นยำจากดาวเทียม
กรณีใช้งานเหล่านี้ต้องการ Chrony หรือ ntpd หรือคล้ายกัน