Các thông báo của systemd-timesyncd trong file TIN TỨC systemd làm một công việc tốt trong việc giải thích sự khác biệt của công cụ này so với Chrony và các công cụ như nó. (nhấn mạnh của tôi):
Một trình nền "systemd-timesyncd" mới đã được thêm vào để đồng bộ hóa đồng hồ hệ thống trên mạng. Nó thực hiện một máy khách SNTP . Trái ngược với các triển khai NTP như chrony hoặc máy chủ tham chiếu NTP, điều này chỉ thực hiện phía máy khách và không bận tâm đến độ phức tạp NTP đầy đủ, chỉ tập trung vào thời gian truy vấn từ một máy chủ từ xa và đồng bộ hóa đồng hồ cục bộ với nó . Trừ khi bạn có ý định phục vụ NTP cho các máy khách được nối mạng hoặc muốn kết nối với đồng hồ phần cứng cục bộ, máy khách NTP đơn giản này sẽ phù hợp hơn cho hầu hết các cài đặt. [...]
Thiết lập này là trường hợp sử dụng phổ biến cho hầu hết các máy chủ trong một đội máy chủ. Chúng thường sẽ được đồng bộ hóa từ các máy chủ NTP cục bộ, chúng được đồng bộ hóa từ nhiều nguồn, có thể bao gồm cả phần cứng. systemd-timesyncd cố gắng cung cấp một giải pháp dễ sử dụng cho trường hợp sử dụng phổ biến đó.
Cố gắng giải quyết các câu hỏi cụ thể của bạn:
Sự khác biệt trong thế giới thực giữa hai bên về độ chính xác là gì?
Tôi tin rằng bạn có thể có được độ chính xác cao hơn bằng cách lấy dữ liệu đồng bộ hóa từ nhiều nguồn, đặc biệt không phải là trường hợp sử dụng được hỗ trợ cho systemd-timesyncd. Nhưng khi bạn đang sử dụng nó để nhận dữ liệu đồng bộ hóa từ các máy chủ NTP trung tâm được kết nối với mạng nội bộ đáng tin cậy của bạn, việc sử dụng nhiều nguồn không thực sự phù hợp và bạn có được độ chính xác tốt từ một nguồn duy nhất.
Nếu bạn đang đồng bộ hóa máy chủ của mình từ một máy chủ đáng tin cậy trong mạng cục bộ và trong cùng một trung tâm dữ liệu , sự khác biệt về độ chính xác giữa NTP và SNTP sẽ gần như không tồn tại. NTP có thể tính đến RTT và thực hiện thời gian, nhưng điều đó không có lợi khi RTT của bạn thực sự nhỏ, đó là trường hợp của một mạng cục bộ nhanh và một máy gần đó. Bạn cũng không cần nhiều nguồn nếu bạn có thể tin tưởng vào nguồn bạn đang sử dụng.
Sự khác biệt về hiệu quả là gì?
Nhận đồng bộ hóa từ một nguồn đơn giản hơn nhiều so với nhận từ nhiều nguồn, vì bạn không phải đưa ra quyết định về nguồn nào tốt hơn nguồn khác và có thể kết hợp thông tin từ nhiều nguồn. Các thuật toán đơn giản hơn nhiều và sẽ yêu cầu tải CPU ít hơn cho trường hợp đơn giản.
Nhu cầu đồng bộ hóa thời gian "không đơn giản" hay còn gọi là trường hợp sử dụng cho chrony là máy khách NTP là gì?
Điều đó được đề cập trong đoạn trích dẫn ở trên, nhưng trong mọi trường hợp, đây là những trường hợp sử dụng cho Chrony không được bao phủ bởi systemd-timesyncd:
- chạy máy chủ NTP (để các máy chủ khác có thể sử dụng máy chủ này làm nguồn để đồng bộ hóa);
- nhận thông tin đồng bộ hóa NTP từ nhiều nguồn (điều quan trọng đối với các máy chủ nhận thông tin đó từ các máy chủ công cộng trên Internet); và
- nhận thông tin đồng bộ hóa từ đồng hồ cục bộ, thường liên quan đến phần cứng chuyên dụng như thiết bị GPS có thể nhận thông tin thời gian chính xác từ các vệ tinh.
Những trường hợp sử dụng này yêu cầu Chrony hoặc ntpd hoặc tương tự.