systemd NEWS 파일에서 systemd-timesyncd 의 발표는 Chrony 및 이와 유사한 도구와 비교하여이 도구의 차이점을 잘 설명합니다. (강조 광산) :
네트워크에서 시스템 시계를 동기화하기 위해 새로운 "systemd-timesyncd" 데몬이 추가되었습니다. SNTP 클라이언트를 구현합니다 . chrony 또는 NTP 참조 서버 와 같은 NTP 구현과 달리 이것은 클라이언트 측만 구현하며 하나의 원격 서버에서 시간을 쿼리하고 로컬 클럭을 동기화하는 데에만 집중 하여 완전한 NTP 복잡성을 방해하지 않습니다 . 네트워크 클라이언트에 NTP를 제공하거나 로컬 하드웨어 시계에 연결하려는 경우가 아니면이 간단한 NTP 클라이언트는 대부분의 설치에 적합해야합니다. [...]
이 설정은 서버 집합에있는 대부분의 호스트에 대한 일반적인 사용 사례입니다. 일반적으로 로컬 NTP 서버에서 동기화되며,이 서버는 하드웨어를 포함하여 여러 소스에서 동기화됩니다. systemd-timesyncd는 일반적인 사용 사례에 사용하기 쉬운 솔루션을 제공하려고합니다.
특정 질문을 해결하려고합니다.
정확도 측면에서이 둘의 실제 차이점은 무엇입니까?
여러 소스에서 동기화 데이터를 가져 와서 정확도를 높일 수 있다고 생각합니다. 특히 systemd-timesyncd의 지원되는 사용 사례가 아닙니다. 그러나 신뢰할 수있는 내부 네트워크에 연결된 중앙 NTP 서버에서 동기화 데이터를 얻는 데 사용하는 경우 여러 소스를 사용하는 것이 실제로 그다지 적합하지 않으며 단일 소스에서 좋은 정확도를 얻습니다.
로컬 네트워크와 동일한 데이터 센터에있는 신뢰할 수있는 서버에서 서버를 동기화하는 경우 NTP와 SNTP의 정확도 차이는 거의 없습니다. NTP는 RTT를 고려하여 시간 측정을 수행 할 수 있지만 RTT가 매우 작은 경우에는 그다지 도움이되지 않습니다. 즉, 빠른 로컬 네트워크와 가까운 시스템의 경우입니다. 사용중인 소스를 신뢰할 수있는 경우 여러 소스가 필요하지 않습니다.
효율성의 차이는 무엇입니까?
어떤 소스가 다른 소스보다 더 나은지 결정하지 않고 여러 소스의 정보를 결합 할 수 있으므로 단일 소스에서 동기화를 얻는 것이 여러 소스에서 얻는 것보다 훨씬 간단합니다. 알고리즘은 훨씬 단순하며 간단한 경우 CPU로드가 덜 필요합니다.
NTP 클라이언트로 사용하기위한 "단순하지 않은"시간 동기화 요구 사항은 무엇입니까?
위의 인용문에서 다루었지만, 어떤 경우에는 systemd-timesyncd가 다루지 않는 Chrony의 유스 케이스입니다.
- NTP 서버 실행 (다른 호스트가이 호스트를 동기화를위한 소스로 사용할 수 있도록)
- 여러 소스에서 NTP 동기화 정보 얻기 (인터넷의 공용 서버에서 해당 정보를받는 호스트에게 중요) 과
- 위성으로부터 정확한 시간 정보를 얻을 수있는 GPS 장치와 같은 특수 하드웨어를 포함하는 로컬 클록으로부터 동기화 정보를 얻는 것.
이러한 사용 사례에는 Chrony 또는 ntpd 또는 이와 유사한 것이 필요합니다.